二维傅立叶变换的教学实践

2014-04-26 08:35文,何
电气电子教学学报 2014年2期
关键词:傅立叶图像处理编程

杨 文,何 楚

(武汉大学电子信息学院,湖北武汉 430072)

“数字图像处理”是高校电子信息类专业的选修课。该课程的开设,学生可以藉此掌握图像处理的基本概念,基本性质及基本算法,独立的编写图像处理程序,能提高处理图像、分析图像和理解图像的能力。

文献[1-4]已对“数字图像处理”总体课程乃至具体章节的教学改革与实践进行了有意义的探索。本文针对当前“数字图像处理”课程的教学现状,以二维傅立叶变换章节为例介绍几点教学实践探索和体会,对二维傅立叶变换的内容和重难点进行解析。

1 二维傅立叶变换内容解析

二维傅立叶变换2-Digital Fourier Transform(2DFT)的教学内容分为4部分:背景知识、傅立叶变换及实现、傅立叶谱及应用和最新进展。

笔者在教学实践中具体分为五个步骤:①通过线性系统以及相关发展历史引出傅立叶变换,然后从一维傅立叶变换拓展到二维傅立叶变换;②基于核函数的概念分析和理解图像的傅立叶变换,通过具体实例了解2DFT的计算过程;③探讨傅立叶变换的幅度谱和相位谱,分析和比对仅通过幅度谱或相位谱重建,加深对傅立叶变换的本质含义和各种变化的理解;④介绍2DFT的相关应用,并用相关的程序语言进行演示;⑤介绍傅立叶变换的最新发展:稀疏傅立叶变换及其应用[5]。

我们在讲授过程中对步骤①和④作简要介绍,把重点放在步骤②和③,步骤⑤的内容则让学生先在课外做文献检索调研,然后在课堂上分组汇报。

傅立叶变换是图像处理中最常用的变换,它是进行图像处理和分析的有力工具。通过本节教学要让学生弄清楚傅里叶变换实际上是一个积分变换,因此要研究的数字化信号和图像应该是有限延续和有界的函数。其次,要让学生深入理解图像的频率这个容易造成误解的概念。从物理意义上说,周期的倒数即为频率。而对图像信号来说,频率是指单位长度内亮度做周期性变化的次数。换言之,图像的频率是图像中灰度变化剧烈程度的指标,即灰度在平面空间上的梯度,在噪声点和图像边缘处的频率为高频。对图像做二维傅立叶变换得到频谱图,实际上就是图像的梯度分布图。最后让学生通过Matlab编程动手操作,进一步熟悉2DFT的性质和图像处理应用,亲眼见证用所学的理论知识对图像处理的结果。

2 教学过程中存在的问题

二维傅立叶变换这一章节的理论性和实践性较强,其中涉及大量的数学公式和理论推导,对学生的数学基础要求较高。而学生对枯燥的公式和理论推导一般都缺乏兴趣,很难对抽象的理论形成具体的印象,学习效果较差。具体表现在很多学生课后对图像的频率概念还是很模糊,对傅立叶变换的幅度谱和相位谱的含义也不清楚。同时,该章节还要求学生具备一定的编程能力,能够将理论知识以程序化语言进行描述实现。而在课程设置中,学生仅学习过基础的程序设计语言,而且编程实践较少,将理论知识编程实现的能力较弱,致使教与学脱节。比如要求基于Matlab平台自行设计一个平滑尺度和模板大小均可变的高斯平滑滤波器,很多学生对于这样的问题,不知从何下手。

由于二维傅立叶变换教学具有以上特点,传统以课堂为中心、以教师为中心、以教材为中心的教学模式很难达到预期的效果。下面结合笔者的教学实践介绍几种提高教学效果的方法。

3 提高教学效果的思考与方法

1)基于问题的启发式教学

教师在教学中,要始终注意以学生为中心,采用启发式和提问式教学,开拓学生的发散性思维。因此在教学实践中笔者首先通过引入一些与讲课内容相关的小问题以引出要讲述的内容,比如什么是傅立叶变换?为什么要进行傅立叶变换?图像的傅立叶变换的本质是什么?其有什么样的性质和用途?我们从抽象到具体,逐步引导学生对其中的重点和难点进行分析并获得正确的理解,培养和提高学生分析问题与解决问题的能力。

其次,在课堂上注意启发学生自行发现相关的性质和规律,比如基于Matlab对Lena标准测试图像进行傅立叶变换,让学生仔细观察线、细节、背景或平滑区域对应的空间频率特性,对比发现相应的规律,教师再进行总结归纳。

最后,对于难以理解的知识点采用提问—探索—解答的模式进行讲解。例如提出如下问题:①在傅立叶变换中,为什么f(x)直接与每个频率对应的正余弦函数求相关,而不是将与其他频域正余弦函数表达之后的剩余部分来求相关?(通过这个问题理解正交基底的重要性);②傅立叶变换中,仅通过幅度谱或相位谱信息进行重建会有什么效果?(这个问题理解相位信息的重要性);③为什么在信号或图像处理中通常只对幅度谱进行处理?(籍此问题探究傅立叶变换应用中的实际问题)。

2)基础理论与编程实践的有机结合

在教学实践中推导公式时,要强调公式背后所体现的物理概念和意义,将方法和原理讲解透彻后,注重让学生掌握其具体实现和工程应用。

二维傅立叶变换章节的研究对象基本上都是直观的图像,算法的作用效果也用图像的形式显示,图像比语言更直观,更容易被学生感知。

例如,以Matlab实例现场运行的方式,对算法的效果用幻灯片进行演示,更容易激发学生的学习兴趣。对于图像变换中的二维傅立叶变换,一般课程中的实例都是数据到数据,而该课程的实例是图像到图像。在讲解变换原理的同时,可以通过对比变换前后的图像实例来进行说明,更直观地表达二维傅立叶变换的作用。

图1给出了Matlab实例课堂现场运行的仅利用图像的傅立叶变换幅度谱信息和相位谱信息的Lena图像重建效果。我们结合理论分析和图象效果比较,可使学生很容易理解:幅度谱决定了一幅图像中含有的各种频率分量的多少,而相位谱决定了每一种频率分量在图像中的位置。只要每一种频率分量保持在图像中的正确位置,那么图像的完整性就能得到地保持。

图1 Lena图像重建实验比较

为使学生进一步理解相关的理论或方法,需要将抽象的数学公式转换为具体的程序语言,在该过程中应为学生梳理图像处理的基本步骤,以提高学生的科学思维能力和编程能力。同时,教师应根据学生的学习进度开设一定的实验课,教师先讲解实验内容,然后让学生尝试设计实验方法和步骤并动手实现。一般会遇到某些问题,导致实验无法顺利进行,这时需要教师观察学生遇到的主要问题,并有针对性地讲解解决这些问题的方法。问题排除后,学生再次修改实验方法和代码继续推进实验进程。我们通过给学生课后布置相关的综合性应用编程实践,编程实践可进一步帮助他们综合利用课程所学的内容建立对二维傅立叶变换的感性认识和本质理解,培养其动手实践能力。

3)学生上讲台汇报

为了提高学生自主学习的能力,笔者将教学步骤⑤的内容仅以提纲形式给出,然后让学生在课外进行检索、调研、备课并分组上讲台汇报,为他们提供充分展示自我的舞台。这部分主要介绍美国由麻省理工学院研究出的稀疏傅里叶变换SFT(Sparse Fourier Transform)及其应用。该算法主要利用了信号的稀疏性,对数据流的处理速度要比快速傅里叶变换高10至100倍,是继20世纪60年代中期提出快速傅里叶变换FFT之后的又一重要突破。

学生在汇报前需通过自学整理相关技术的最新发展,同时也要复习巩固已学过的傅立叶变换的相关知识,并通过自己动手编程对比展示采用最新的稀疏傅立叶变换和传统快速傅立叶变换进行图像和视频处理的效果,汇报完毕后还要回答教师和其他学生的提问。教师可以综合学生课堂汇报和回答问题的情况给学生评分,并就汇报内容和效果进行点评,同时及时补充和修正相关学生汇报不到位的内容,并补充讲解学生不熟悉的其他内容。这样不仅能锻炼学生的自主学习,语言组织与表达能力,而且能使学生根据教师的点评及时地查漏补缺,进而对相关的理论知识有更深刻的理解和把握,同时也提高了学生对新知识和技术的融会贯通和随机应变的能力。

4 结语

本文针对“数字图像处理”课程中二维傅立叶变换章节的教学实践,采用了多种手段来提高教学效果。从网上评教系统的结果来看,学生对教学效果的总评成绩由没采用这些教改方法之前的92分提高到了现在的96.5分,学生普遍反映这些改进措施进一步激发了他们的学习热情和兴趣,有效地提高了课程的教学效果。对于今后的教改工作还需要进一步地深入思考,不断改革和探索。

[1]李树涛.基于理论-设计-实践的数字图像处理研究性教学模式研究[J],兰州:高等理科教育,2009,(5):58-61

[2]魏广芬,王永强,丁昕苗,何爱香.数字图像处理课程教学改革的尝试[J],南京:电气电子教学学报,2009,31(6):24-25

[3]郑慧诚,“数字图像处理”课程教学实践与探讨[J],南京:电气电子教学学报,2012,34(3):71-73

[4]邓继忠,金济,陈羽白.基于PBL模式的数字图像处理实践教学探索[J],上海:实验室研究与探索,2012(9):139-141

[5]H.Hassanieh,P.Indyk,D.Katabi,E.Price.Simple and Practical Algorithm for Sparse Fourier Transform,Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms(SODA),Kyoto,Japan,17-19 January,2012:1183-1194

猜你喜欢
傅立叶图像处理编程
不同坐标系下傅立叶变换性质
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
三角函数的傅立叶变换推导公式
纺织机上诞生的编程
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于傅立叶变换的CT系统参数标定成像方法探究