

基于去雾模型的数字图像处理课程综合实验设计及实施
作者: 王文成 吴小进 吴萍 何为凯 谷善茂 李东锋[摘 要]人工智能相关产业的发展对新工科建设改革提出了新的要求,传统的数字图像处理课程基础实验教学已难以满足学生创新能力培养的需要。文章在分析当前该课程实践教学所存在问题的基础上,阐述图像去雾模型的相关理论和将其用于实验设计的可行性,并以去雾模型为教学案例提出实验设计的总体思路和准则,从兴趣引导、文献检索、理论辅导、建模仿真、报告撰写和效果评价几个环节介绍综合性实验设计的过程性框架,同时提供通用的实验平台界面设计方案。多年的教学效果评价表明,该实验设计不但可以增强学生的实践能力,还可以引导学生主动了解科技前沿,初步培养学生的科研兴趣,为将其培养为有创新能力的应用型人才奠定基础。
[关键词]数字图像处理;图像去雾;实验平台;综合实验
[中图分类号]G642.0 [文献标识码]A [文章编号]2095-3437(2024)07-0060-05
新一代图像信息处理技术作为当前人工智能和机器人技术发展的关键一环,已经逐渐延伸到工农业生产和人类生活的各个领域,为当今社会科技发展和人民生活质量提升带来革命性的变化。如何结合产业背景和人才需求提高大学生的创新能力,成为各高校在新工科建设过程中面临的现实问题[1-3]。数字图像处理课程作为机器视觉感知技术的基础,已成为各高校电子信息类、自动化类相关专业的必修课程。该课程教学内容涉及面广、理论性较强,学生不仅要在课堂上掌握基本概念和不同图像处理方法的工作原理,还需要在实验室完成独立的基础实验,如图像增强、图像运算、图像滤波、图像变换等[4-5]。该课程兼具理论性和实用性,其理论基础直接到影响到图像处理算法的框架设计和实际应用。然而,在传统的实验教学中,学生通常只会利用一些软件库调用函数进行验证性实验,这种先理论后实验的教学方式很容易使得理论和实践分割开来,导致部分学生在完成实验后只学会了函数的调用,而对算法的实现思路无法理解,实践能力提高有限[6-7]。因此,只有在教学内容中添加既能深化理论知识又能提高实践能力的综合性实验,才能够使学生在实验过程中对理论方法融会贯通,切实提高实践创新能力。而如何设计出能锻炼学生综合应用与创新能力的实验,成为当前新工科改革发展和教学的当务之急。
针对以上问题,结合当前国内外研究人员关注的单幅图像去雾这个研究热点,潍坊学院(以下简称我校)对数字图像处理课程的创新型实验进行了深入探索和全新设计。本文将以图像去雾实验设计和教学应用为例,将当前国内外图像处理的研究热点问题引入实践,通过构建创新型实验项目的框架,以期为理实一体化综合性实验的设计提供参考,从而达到提高学生的理论水平和实践能力的目的。
一、图像去雾的实验原理
近几年来,国内外学者对单幅图像的去雾理论和模型进行了深入研究,特别是基于大气散射机理提出了许多雾霾图像清晰化方法,取得了丰硕的成果。目前,该问题属于数字图像处理应用领域中常见的研究内容,引入其经典理论和算法便于将课程内容由图像复原向人工智能领域进行拓展。本课题组基于前期的研究成果以及我院对数字图像处理课程理论学习内容和实验环节的课时安排,采用最具代表性的方法进行实验设计。
根据大气散射理论,景物在雾天环境中的成像模型主要包含物体表面的发射光到达摄像机的衰减过程和大气光到达摄像机的衰减过程两部分。这是雾天图像模糊降质的理论基础,也是研究者建立图像衰减模型和求解还原雾霾图像的重要依据。图1是大气散射模型的示意图,其中带箭头的虚线为大气光。
因此,在机器视觉和数字图像处理领域中,用来描述雾霾图像的散射模型表示为:
[I(x)=J(x)t(x)+A(1-t(x))] (1)
式中, [x]为空间坐标, [I(x)]为雾霾图像,[J(x)]为复原后的图像,[A]为整体大气光值,[t(x)]为大气介质的传输率。图像去雾的目的就是从[I(x)]中复原[J(x)],得到清晰的图像。
香港中文大学的何凯明等人在分析晴天图像的像素分布规律的基础上[8],将该规律与导致图像退化的大气粒子散射理论相结合,提出了暗原色先验模型(Dark Channel Prior,DCP)。即对于晴天环境下拍摄的无雾图像,除去天空等高亮度区域,还存在灰度值很低的点,使得[Jdark(x)]趋近于0。其可用公式表示为:
[Jdark(x)=minc∈{r,g,b}(miny∈Ω(x)(Jc(y)))→0] (2)
式中,[Jc]是[J]的颜色通道,[Ω(x)]是以[x]为中心的局部邻域,[Jdark]为计算后的暗原色图像。
在大气光[A]已知的条件下,假设[Ω(x)]内的透射率恒定不变,则对(1)式两边同时除以[Ac]后进行[minc∈{r,g,b}(miny∈Ω(x)())]变换,便可根据(2)式得到估计后的透射率[t~(x)]:
[t~(x)=1-minc∈{r,g,b}(miny∈Ω(x)(Ic(y)Ac))] (3)
在实际应用中,为了保留一部分残雾,使图像具有真实感,引入修正系数[ω(0<ω≤1)],则(3) 式可以变换为:
[t~(x)=1-ωminc∈{r,g,b}(miny∈Ω(x)(Ic(y)Ac))] (4)
为了避免透射率图中可能存在的方块效应,可采用软抠图方法或者引导滤波算法得到平滑的投射率图[t(x)][8]。
根据大气散射模型,一旦求出透射率[t(x)]和大气光[A],则根据公式(1) 即可复原图像:
[J(x)=I(x)-Amax(t(x),t0)+A] (5)
基于DCP的去雾方法是图像去雾领域的标志性成果,为该领域的研究人员提供了一个全新的思路。
二、教学过程总体设计
为了使学生能够掌握算法的设计策略,提高其创新性和趣味性,本实验以实践驱动为主线,紧扣教学目标,设置了基本模块和拓展模块,充分发挥了教师的指导作用和学生的主体作用。实验过程分课前、课中和课后三个阶段,其中课前、课中由学生独立完成,课后拓展阶段由小组合作完成,学生以2~3人为一组,具体设计思路见图2。
(一)课前预习
首先,学生根据实验教程完成色彩空间相关理论的学习,了解色彩空间的原理;然后,复习Matlab软件和Image Processing Toolbox工具箱的使用方法;学习在线课程,利用Matlab基本绘图指令实现数据的显示;进行雾霾图像数据的采集和整理;分析设计任务,完成各模块任务的方案设计,学习融入课程思政元素的知识点。
(二)课中实操
首先,教师进行实验预习情况检查、任务分解与知识点讲解,让学生理解去雾模型,并进行数字化描述,设计代码;其次,让学生完成系统整体算法的编程、链接和调试,并利用真实雾霾图像进行实验,调节参数以获得不同的结果,记录数据;最后,鼓励学生利用不同的方案完成实施,进行效果演示,并进行简单的提问及答辩。
(三)课后拓展
指导学生开展个人实践反思,总结实验过程中的注意事项;鼓励学生个性化选择拓展创新任务;要求学生撰写设计总结报告,通过分组展演答辩方式进行交流与互评,鼓励学生开通线上通道上传优秀作品。
三、创新实验实施过程
我校的大部分学生经过专业课学习,已经掌握了部分图像处理的基础理论、C语言和Matlab编程软件的基础操作技能,具备了开展综合性实验的可行性。虽然对初学者而言,该部分内容具有一定的挑战性,但只要进行科学的教学环节设计,相信每个学生都可以在教师的指导下通过查阅资料和编程仿真来完成。具体的实验设计过程见图3,其中教师主导兴趣引导和理论辅导环节,学生主导资料查阅、建模仿真和报告撰写环节,教师和学生共同主导成绩评议环节[9-10]。
(一)兴趣引导
综合性实验相比常规实验难度较大,学生在初始阶段容易产生畏难情绪,认为自己不可能完成,这就需要教师对其进行信心鼓励和引导。首先,教师将本课题组所发表的图像去雾方面的科研论文和相关图片展示给学生,让学生体会到能够完成这些科研成果的教师就在身边,实验的开展有教师的指导作保障,从而提高信心;其次,教师将演示程序展示给学生,通过修改参数展示不同的去雾效果,并且与当前学生上课所学的方法进行比较,让学生明白最新研究成果与课本所学知识的差距,激发学生的学习兴趣;最后,结合课程思政内容,讲述当前我国在相关领域的突出地位,引导学生组建小组或团队开展相关活动,激发学生参与教学活动的积极性和主动性。
(二)资料查阅
我校部分学生的资料查阅能力仅仅体现为利用百度搜索引擎进行资料搜索或者登陆一些技术论坛进行交流等,对于利用专业的学术数据库进行文献检索的能力不足,因此需要通过文本资料指导学生锻炼利用专业数据库进行文献检索的能力。教学所用的中文数据库主要是中国知网(www.cnki.net),所用的英文数据库主要是IEEE数据库(https://ieeexplore.ieee.org/)。对于数据库的使用,课题组多年来已经形成了一个图文并茂的操作指导书,里面详细描述了如何利用不同的关键词查阅不同的文献、如何筛选文献、如何下载和整理文献,使得学生仅通过该指导书便能够迅速掌握相关数据库的使用方法。
(三)理论辅导
为了更好地理解图像去雾的理论,课题组除了为学生提供论文“Single Image Haze Removal Using Dark Channel Prior”和“Guided Image Filtering”的英文原文,还提供了中文翻译版,让学生在课下相互讨论,了解论文内容。在此基础上,教师利用一节课讲解相关的理论知识,让学生充分了解算法研发的动机、算法的工作原理、算法的结构和效果、算法存在的问题,为后面模型的搭建和算法的复现打好理论基础,避免因为理论认识偏差造成的程序错误或实验结果无效。经过多年的教学实践我们发现,上述步骤基本可以让学生掌握基于暗原色先验的图像去雾原理,部分学生甚至能够针对当前算法存在的问题提出有效的改进建议。
(四)建模仿真
建模仿真环节是在理解理论框架的基础上锻炼学生对工具软件的应用能力。在实践中,课题组主要推荐学生使用Visual Studio和Matlab软件进行程序设计。鼓励学生在输出结果达到预期效果的基础上通过调整参数加强对算法的理解。结合学生的知识储备状况,教师可指导学生从以下角度进行改进,例如修改暗原色先验算法中的大气光值、修改滤波器的窗口大小、输入浓度不同的图像替换不同功能的滤波器等。对于每次参数的修改都要求学生进行实验过程记录,并筛选保存实验结果。
在这个过程中,教师仅起辅导作用,详细的优化方案和实施方法都需要学生自行完成,促使学生从模仿学习过渡到主动思考。图4为大气光值调节对去雾效果的影响图,其中(a)为原始图像,(b)-(f)为不同大气光值下的输出结果。学生通过这个环节能够感受到算法和编程的魅力,主动尝试调节参数输出不同的结果。