弱数学要求的数字图像处理教学
2014-07-25张庆丰
张庆丰
[摘要]数字图像处理是一门重要的专业课程,该课程涉及较多的数学知识,如何面向数学基础不足的学生教好这门课是一个重要的问题。作者提出适当减少教学中使用的数学、使用课堂定制的演示软件、增强项目开发环节的教学等措施,来提高数字图像处理课程的教学效果。实践表明这些措施确实有效。
[关键词]教学方法数字图像处理数学基础项目教学
[中图分类号]G642.423[文献标识码]A[文章编号]2095-3437(2014)02-0075-03
数字图像处理课程是一门重要的计算机专业选修课,和数学的联系非常紧密,要求也比较高,从传统的教材中就可以看到这一点。但是选修该课程的学生很多,有相当一部分学生来自于非计算机专业。另外作者所在学校有不少的外招生,他们对这个课程也比较感兴趣,愿意选修。从整体看,一班学生中数学基础不够好的人数超过一半。
课程之初的调查还发现七成以上的学生不愿意涉及深入的数学公式,同时,多数学生愿意在这个课程中学习关于图像处理的程序开发技术。基于这样的基础背景和兴趣取向,作者在该课程的教学中除了采用一些常规教学方法之外,还注意了以下三个方面的工作:第一,课程中减少数学的使用,尽量不用高深的数学知识,使用简单的数学来解释数字图像处理中的问题。第二,在教学中定制开发了一些演示软件,增强学生对算法的理解和感性认识。第三,增强项目开发环节的教学,培养学生的动手能力。
下面详细谈谈如何在这三个方面加强教学引导,促进学生对知识的学习。
一、课程中尽量减少复杂数学公式的使用
众所周知,数字图像处理和数学关系密切,需要用到不少高深的数学知识。如果将涉及深入数学知识的内容全部删减,则大大减少了数字图像处理课程的内容,降低了课程的专业价值。如何使用较简单的数学知识来讲授课程,同时保持课程的专业价值,这是一个需要认真考虑的问题。
首先,要对讲授的知识内容进行认真规划,原则是减少数学知识的使用,同时也让同学领略数字图像处理的专业含义。规划后的主要教学内容包括:数字图像处理中的一些基本概念、灰度变换、图像的频域变换、空域滤波、频域滤波、腐蚀与膨胀、图像恢复、图像编码、边缘检测、色彩表达等知识点。应该说上面的内容和一般的数字图像处理课程内容并无很大的不同。主要的不同在于减少了一些需要较多数学基础的内容,如:KL变换、小波变换、维纳滤波的原理、信息熵的原理等内容。一般来说,这些内容的数学推导是困难的,因此,课程进行了削减。但是对于傅里叶变换、离散余弦变换、逆滤波、Hough变换、算术编码等内容,还是保留了下来,这些内容虽然数学偏难,但是专业意味浓厚,因此,需要讲授。
其次,则是很重要的一点:在教学中减少高深数学知识的使用,用简单直观的方法来说明数学算式的原因和含义。下面以傅里叶变换和边缘检测为例子来说明如何减少数学知识的使用。
(一)利用少量的数学来解释傅里叶变换
在数字图像处理中,傅里叶变换是数学公式较多,学起来最难的内容之一。考虑到傅里叶变换的重要性,课程必须讲解。针对此内容,作者按照下面的教学顺序来进行。
1.简单的傅里叶变换的背景知识介绍,以引起学生的兴趣。傅里叶是一位法国数学家和物理学家(1768-1830),他对热传递很感兴趣,于1807年在法国科学学会上发表了一篇论文,应用正弦曲线来描述温度分布,论文里有个在当时有争议的说法:任何连续周期信号可以由一组适当的正弦曲线组合而成。当时论文审查者中有两位著名的数学家拉格朗日(1736-1813)和拉普拉斯(1749-1827),当拉普拉斯和其他审查者投票通过,并要发表这个论文时,拉格朗日坚决反对,他认为傅里叶的方法无法表示带有棱角的信号。法国科学学会屈服于拉格朗日的威望,拒绝了傅里叶的工作。直到拉格朗日死后15年这个论文才被发表出来。
2.写出一维傅里叶级数。即明确告诉学生,任何周期函数可以被一系列三角函数表达出来,给出相关公式,并给出一个简单的例子。
3.这个思想被直接扩展到两维。也就是说,一个图像可以被认为是一个二维函数,它应该可以用一系列褶皱函数来表达出来,例如类似图1的一系列褶皱函数。
■
图1一个二维褶皱函数的例子
4.每个褶皱函数可以用三个参数来定义:每个褶皱水平方向的距离、垂直方向的距离以及褶皱的高度。
5.如果规定每个皱褶之间的水平距离和垂直距离是1/i和1/j。也就是说褶皱随着i和j的变化而变化,i、j越大,褶皱越窄。这样褶皱的类型和数目都是固定的,只要给出这些褶皱的高度,就完全固定了这些褶皱。
6.所有这些褶皱叠加在一起可以逼近一个真实的图像的灰度,当然叠加褶皱的参数应适当地给出。
通过这种类比,我们直接给出图像的傅里叶变换表达,以及逆变换的表达式。
上面的讲解,没有从数学的角度严谨地证明或者说明傅里叶变换,但是形象地给出了傅里叶变换的一种解释。这种解释学生容易接受、理解,同时没有大的偏差。避开了繁琐的数学推导和证明。
当然对于数学基础较好的同学,我们也给出了详尽的资料,让同学们课下研读。
(二)边缘检测中用直观替代数学,逐步引导学生创新思考
在边缘检测中少不了要用到一阶偏微分、二阶偏微分这样的表达,并以此来讲授像素点和边缘关系的判断,有些学生觉得不直观。在讲课中,作者直接用直观的例子来讲述如何判断边缘的像素点,避开了数学表达。
图2介绍边缘检测方法的例子。(a)表达了某一行图像在x方向的灰度变化情况,(b)反映了像素灰度在该方向的一阶差分值,(c)表达了像素灰度在该方向的二阶差分值。
为了介绍边缘检测的方法是怎么样的,作者使用了如图2所示的例子。如图2(a)所示,某一行图像在x方向的一些像素点,它们的灰度分别是30、30、30、30、30、30、120、210、210、210、210。作者利用这张图首先给学生介绍了差分的概念,其计算非常简单,就是像素灰度之间的差值。
这样对每个像素点在x方向做一阶差分,就可以得到0、0、0、0、0、90、90、0、0、0、0,即如图2(b)所示。然后在此基础之上,再做一阶差分,可以得到各个像素的二阶差分值为:0、0、0、0、90、0、90、0、0、0,即如图2(c)所示。
从图2(b)中可以看边缘处的像素在一阶差分处取极值。在非边缘处趋向于0。因此,可以直观得到一个简单的结论:一阶差分为极值的像素点就是边缘的点,或者接近边缘的点。
从图2(c)中也可以看出圈起来的圆点对应的就是边缘像素。因此,直观得到结果,二阶差分的零点就是图像的边缘,同时两边的像素的差分符号有改变。
利用上面的图2(b)和图2(c)很容易理解如何通过一阶差分或者二阶差分来判断边界像素。
实际计算中可能是两方面的差分都要进行计算,这种计算一般使用线性滤波器来实现,由此可以给学生引出梯度算子的滤波模板。
事实上,在这里还可以让学生注意观察图2(b),引导学生得出一阶差分能起到增强边缘显示的效应,而其它区域的图像像素的一阶差分趋向于0,这些像素被弱化。
基于这个结论,可以让学生进一步讨论,能否利用这种特点对图像进行灰度增强处理?该如何做才合适?
学生比较容易想到将边缘增强的效果叠加到原图上就有可能在原图效果的基础上突出边缘显示。经过讨论和完善,可以得到下面的图像增强方法。如果原图是F,边缘图是E,那么增强的图则为:F+E/k。其中k是标量系数,适当选取则可以增强图像效果。
通过上面的例子,一方面直观介绍边缘像素的检测方法,还启发了学生进一步思考图像增强的方法。
二、借助定制软件增强学生理论的掌握
在数字图像处理的教学中,通过定制的教学软件能够增强学生对理论的把握和处理效果的理解。这一点为不少教师认同。本课程教学中作者也开发了一些定制软件来动态地展示图像处理的效果。
以频域滤波为例,课堂上使用了如图3所示的一个演示软件。这个软件演示几种主要的低通滤波、高通滤波和带通滤波的图像处理效果。这种演示软件相比于静态图像展示更有利于学生的直观体验和动态对比处理效果。
比如:在讲巴特沃斯带通滤波的时候,学生可以任意选择要处理的图像,然后拖动图3中的滑动条来动态调整带通滤波的上下截止频率以及巴特沃斯滤波的阶数,处理后的图像也同时跟随变化,动态显示出来。这样学生对参数如何影响处理结果就有了动态的对比和感受。这一点是静止图像的展示所无法达到的,这也是定制软件演示所具有的优势。另外需要说明的是,因为定制软件是利用Matlab开发的,所以其过程并不很复杂,相对容易。
■
图3 频域滤波算法的演示软件
该软件提供了各种常用频域滤波的效果演示,同时对各算法的参数可以进行动态调整,及时显示调整的效果。给学生带来动态对比的效果体验。
三、增加项目开发的教学环节
数字图像处理课程是一个实践性很强的课程,不少教师对项目开发在教学中的使用进行了有益的探索。本课程中也引入了项目开发的教学环节,让学生在Matlab环境中对给定的项目进行了开发。在整个项目开发的实施中,除了常见的措施外,我们还注意了以下两点:
(一)项目题目的精选和设计
首先,项目的设计要有综合性,能覆盖大多数的教学内容;其次,项目不能太多,否则学生时间不足。因此,在整个学期中只设计了了两个项目让学生来完成。一个是车牌识别系统的开发,一个是图像压缩系统的开发。之所以使用这两个项目由同学来练习,是因为这两个项目基本覆盖了图像处理课程中的所有技术,同时它们的规模适中,学生可以不用太多的时间完成。
(二)加强项目开发中的检查和督促
传统的小组项目开发模式有许多优点,但是也存在一个问题:部分同学不积极参与,工作由小组内他人代劳。为了调动同学积极性,对每个项目进行一次课堂上的书面考查,这种考查非常简短,只要20分钟。考查内容主要包括项目计划、进展情况、相关技术、完成情况、个人所发挥的作用等。这种考查可以督促每个同学在项目中发挥作用。
以上两个方面的细致处理,增强了项目开发教学环节的效能,促进了学生动手能力的培养,收到了良好的效果。
四、总结
数字图像处理是一门数学要求较高,实践要求较强的课程,面对弱数学基础的学生,数学上需要降低难度,编程上需要着重锻炼。作者在教学中采用了用直观替代数学,用动态演示增强直观体验,用项目开发引领学生编程实践的培养等措施,这些方法和措施的使用确实为弱基础的同学带来较好的教学效果。我们采用这些措施已有四年的历史,教学实践表明,这种措施是合理有效的,增强了同学们的兴趣和信心,提高了同学的图像处理编程能力,同时较好地掌握了图像处理知识。
[参考文献]
[1] 章毓晋.图像工程(上册):图像处理[M].北京:清华大学出版社,2005.
[2] Gonzalez.R.C.,Woods.R.E..数字图像处理(第二版)(英文版)[M].北京:电子工业出版社,2007.
[3]姚锦绣,郑胜林,潘宝昌.MATLAB应用在图像处理教学中的探讨[J].广东工业大学学报(社会科学版),2004,(4).
[4]张国琴,吴周桥.MATLAB在数字图像处理教学中的应用[J].武汉科技学院学报,2005,18(10).
[5]吴娱,平子良.独立学院的数字图像处理教学改革的探索[J].大学教育,2013,(2).
[6]金炜,周亚训.“数字图像处理”课程项目驱动教学模式的实践[J].中国电力教育,2010,(7).
[7]郭艳光,赵希武.在高等计算机基础教学中实施项目教学法的探索[J].计算机教育,2008,(6).
[责任编辑:左芸]