“新工科”背景下数字摄影测量学教学改革初探
2020-09-10张云生马慧云潘红播
张云生 马慧云 潘红播
[摘 要]近年来,人工智能、大数据、传感器技术的发展开始倒逼传统测绘类专业进行改革升级,尤其是计算机视觉、人工智能领域的研究人员进入摄影测量领域,开发了自动化程度高的摄影测量软件,逐渐形成取代传统摄影测量软件的趋势。而传统的摄影测量实践教学以软件使用为主,无法满足企业高层次开发人才使用的需求,为此,通过探索结合计算视觉领域的开源库,采用个人和团队编写的方式实现数字摄影测量学中的经典算法,让学生更深入理解算法,以期提高学生的编程实践能力。
[关键词]数字摄影测量;教学改革;编程
[基金项目]2017年中南大学新工科研究与实践项目“面向新经济的测绘地理信息类专业转型升级探索与实践”(2017XGK044);2017年中南大学教育教学改革研究项目“工程教育认证背景下测绘工程专业达成度评价改革与实践”(2017jy06)
[作者简介]张云生(1984—),男,湖南怀化人,博士,中南大学地球科学与信息物理学院副教授,主要从事数字摄影测量研究。
[中图分类号] G642[文献标识码] A[文章编号] 1674-9324(2020)32-0194-03[收稿日期] 2020-02-05
一、引言
实践是工程人才培养的关键环节,“卓越工程师教育培养计划”创立了企业与高校进行产学研结合的人才培养协同机制,目的是通过此方式解决工程人才培养过程中校企脱节的问题。为应对新一轮产业变革与科技革命,支撑服务国家创新驱动发展、“中国制造2025”等一系列国家战略,我国2017年启动了“新工科”建设。新工科的“新”包含三方面含义,即“新兴、新型和新生”,其中“新型”指的是对传统的、现有的(旧)学科进行转型、改造和升级,包括对内涵的拓展、培养目标和标准的转变或提高、培养模式的改革和创新等而形成的新学科[1]。当前经济形势下,不断有新兴学科诞生、发展,测绘类专业壁垒降低,BAT(百度、阿里巴巴、腾讯)等大型互联网企业进入测绘类行业。如果传统测绘类专业不谋求转型升级,将面临被侵蚀甚至淘汰的局面。因此传统测绘类专业的建设更应侧重于借鉴人工智能专业、云计算、大数据等方向的发展,对传统专业内涵进行改造升级,拓展课程内容等[2]。
摄影测量学是遥感科学与技术、测绘工程专业的重点课程。摄影测量学是利用像片研究被摄物体的形状、位置、大小、特性及相互位置关系的学科,可以大致概括为三个问题:几何问题、对应问题、解译问题。几何问题是摄影测量基础部分解决的问题,是目前基本解决的问题;对应问题是数字摄影测量的核心;解译问题是遥感等相关课程共同解决的问题。数字摄影测量是应用计算机技术、数字影像处理、模式识别等多学科的理论与方法,提取所摄对象的几何与物理信息。由于摄影测量学与计算机视觉在原理、方法和应用上都有很多相通的地方,尤其是无人机和街景测量车的出现,让摄影测量与计算机视觉领域的学者关注的对象有了更多的交集[3,4]。
随着计算机视觉、人工智能领域的研究人员进入摄影测量领域,当前常用的软件如Pix4Dmapper、Smart3D开发人员皆为计算机视觉领域的人员。这些软件自动化程度高,有逐渐取代传统摄影测量软件的趋势。为了培养更多适应当前生产需求的人才,不少学者开展了相关的教学改革探索。卞玉霞在改革中重在引入计算机视觉与倾斜摄影测量方面的相关知识,增加了计算机视觉中基础矩阵估计、摄像机标定、倾斜摄影和点云建模等内容,扩展了摄影测量的前沿知识[5]。许志华等分析了“数字摄影测量”课程教学中利用VirtuoZo进行实践时存在的主要问题,介绍了一种利用Agisoft PhotoScan与AcrGIS从无人机影像生产数字高程模型、正射影像的实践流程[6],该方案使用的PhotoScan软件起源于计算机视觉领域,软件自动化程度高,被生产单位广泛应用于小型数据生产。王志勇等针对当前数字摄影测量实践教学中存在的与生产实际脱节、学生创新实践能力不强等问题,对数字摄影测量的实践教学进行改革,主要引入Pix4Dmapper、Smart3D等软件对传统VirtuoZo进行补充,在传统4D产品生产基础上,补充倾斜摄影建模实践,并且收集了典型试验数据进行试验,增加了实践的趣味性和工程背景,有利于提高解决实际工程问题的能力[7]。张荣春等则提出结合传统摄影测量学与新技术,通过引入计算机视觉、卫星摄影测量学、激光雷达及相机融合等新课程内容,探讨构建开放式摄影测量试验系统的新思路[8]。徐辛超等则将Matlab引入摄影测量课的教学中,将学生分组利用Matlab实现摄影测量课中典型的特征提取、影像匹配、DEM内插方法,在编程实践方面进行了有意义的尝试[9]。
可见当前的一些实践改革侧重于引入新的软硬件,主要培养软件使用、应用工程师,对于创新能力、编程能力的培养则稍显欠缺。宁津生院士指出“为满足信息化时代的需求,要注重培养计算机编程能力的培养”,他建议“设置少而精的计算机课程,打好所有编程的入门基础,在各专业课程中融入编程作业,不断提升编程能力”[10]。中南大学遥感科学与技术专业设置了计算机程序设计基础(C++)课程,在此基础上,开设了测绘程序设计基础课程,结合测量学和误差理论与平差基础知识进一步提升学生C++的编程能力,但缺乏圖像处理等方面的编程能力培养。因此本文以中南大学地球科学与信息物理学院数字摄影测量学课程教学为例,反思遥感科学与技术专业核心课数字摄影测量学教学模式,探讨新工科背景下课程教学改革新途径。
二、改革内容
当前的工程教育着重以学生为中心,着重学生产出,教学目标应以促进学生学业成功为目标,鼓励学生追求卓越与创新。根据调研、讨论确定的数字摄影测量课程目标为以下三点:
1.掌握数字摄影测量核线纠正、特征提取、匹配、数字高程模型与正射影像的基础理论与算法,了解常用的数字摄影测量软件。
2.具有一定的摄影测量数据处理算法代码实现能力,能发掘现有经典算法的不足,并提出新的方法,培养自主学习能力和创新精神。
3.能够根据4D产品的需求,选择合适的硬件和软件设备,制定顾及社会环境的解决方案。
以上三个课程目标支撑的学生毕业要求,包括以下四点:
1.了解遥感科学与技术专业相应的软硬件的使用原理和方法,并理解其局限性。
2.掌握面向基础测绘、环境监测等复杂遥感工程基本设计、开发方法与技术,并且能了解影响技术方案的各种因素。
3.能够通过文献检索,调研比较当前工艺和方法,分析复杂工程问题,为制定合理解决方案服务。
4.掌握基本的创新方法、具有较强的创新意识和创新能力,具有革新工程工艺流程的意识。
课程的理论教学和实践教学都应以学生课程目标的达成为落脚点,支撑毕业要求的达成,尤其是要注意非技术能力的培养。通过课堂视频辅助、PPT理论讲解,学生可以大致理解算法步骤。但仅通过课堂讲解,学生分析解决问题、创新、表达沟通的能力得不到有效的培养。鉴于此,为了让学生更深入理解数字摄影测量核心算法,结合本专业学生已经开设的C++课程,在实践教学过程中进行了一系列改革。共设计了5次编程试验,内容如表1所示,建议学生采用VS2017完成。个人编写的4次试验由每个同学单独完成,第5次试验分组进行,每组3个同学。个人编写部分,在课外完成后,安排一次课堂试验进行答疑,然后提交报告和源代码,教师根据报告和源代码评价学生达成情况。团队编写部分由教师给定项目题目和提供测试数据,学生组队后根据兴趣、编程基础选择题目,组长安排组员课下查找补充资料、明确分工、设计程序框架、完成代码编写与测试,并撰写多媒体讲稿。在此基础上,每组同学利用多媒体进行交流汇报,教师旁听和提问,并根据汇报答辩情况对学生达成情况进行评价。
以上实验涉及大量的图像读写和图像操作,直接用C++编写这些内容较为复杂,因此本试验引入OpenCV开源库解决这些问题。OpenCV是英特尔开源的跨平台计算机视觉库,易于配置,具备C++、Python接口,对研究和商业用途均免费。最新摄影测量软件如Pix4D等都吸收了OpenCV的开发成果,也被当前很多深度学习开源库作为图像处理的第三方库。通过引入OpenCV进行图像读写、彩色与灰度影像的转换、结果可视化,可以降低编程的难度,让学生侧重于数字摄影测量本身算法的编写。
三、教学效果
通过交流反馈以及阅读学生的试验报告感想部分,发现很多学生都提到了在课堂上以为听懂了公式,但之后通过编程实践才能深入理解算法的核心,建立起公式与影像像素间的联系。学生在算法实现基础上,对一些阈值或者其他参数进行了调整,利用标准影像和不同实际影像进行测试,加深了对参数所表达的意义的理解。通过闭卷考试的纵向对比,也发现核线排列、最小二乘匹配算法整体掌握情况相比往年有所好转。
在团队编写的过程中,部分学生还自行查找文献,搜索相关的国内外研究现状,试图实现超出教材学习的知识内容,比如实现DEM内插时,每个点内插都和周围的点相关,教材上的算法过程只说明了要搜索每个点周围小于给定半径R内的点,但没有说明这些点怎么搜索。因此点少时,直接比较每个点到当前点的距离可以获得半径范围内的点,该算法直观,但点数目较多时,效率低下。针对此搜索问题,有个别同学探索了一种改进方法,即先将所有的点分配到XY平面格网中,然后再采用类似于影像邻域点的方法搜索周围格网,将格网内的点取出后,再比较实际距离获得R内的点。通过格网预处理,可以大幅提高内插的效率。也有一些同学通过搜索文献,发现可以使用KD-树加速K个邻近点的搜索,也发现了不同KD-树实现,大部分学生使用的是OpenCV中实现,这也丰富了学生对高维数据的搜索。后续任课教师在点评该实验时,指出KD-树的建立过程、用处等,鼓励了学生的探索精神,也指出基于格网的搜索方式和四叉树是相似的,建议相关学生了解四叉树。在KD-树探讨时,有个别学生将KD-树和特征匹配联系起来,提出来这个树结构也可以用于SIFT等高维描述子的搜索匹配。
通过引入OpenCV编程,降低了影像读写操作难度,锻炼了学生的编程能力,也为后续学生采用OpenCV进行其他开发打下基础。通过程序的编写,部分学生的创新能力提升明显,课堂内对没有教授的知识通过文献查找、对比分析形成科学解决方案,锻炼了分析解决问题和终身学习的能力。通过利用多媒体进行学习汇报,锻炼了组织、沟通表达能力。
四、总结
本次改革打破了以软件操作、数据生产为主的实践操作,提高了实践的难度,加大了学生学习的难度,得到了学生的积极响应。通过编程实践,学生加深了对知识的理解程度,提高了编程水平,为后续进行研究和开发打下了基础。但在本次探索中,也有一小部分学生不能独立完成要求的内容,往往过多参考基础较好同学的代码或者报告,这给学生成果的评价也带来了一定困难。后续实践中,教师要督促学生留够时间进行编程实践,并且要提供足够的指导,对于考核还需要在安排的实践课时内进行口头询问,以辨别学生是否属于独立掌握。
参考文献
[1]林健.面向未来的中国新工科建设[J].清华大学教育研究, 2017,38(02):26-35.
[2]高井祥,王坚,李增科.智能背景下测绘科技发展的几点思考[J].武汉大学学报(信息科学版),2019,44(01):55-61.
[3]龚健雅,季顺平.从摄影测量到计算机视觉[J].武汉大学学报(信息科学版),2017,42(11):1518-1522+1615.
[4]龚健雅,季顺平.摄影测量与深度学习[J].测绘学报,2018,47 (06):693-704.
[5]卞玉霞,宋宏权,王永前,王小亭.新形势下摄影测量学课程教学改革探讨[J].测绘通报,2019(12):152-155.
[6]许志华,崔希民,杨可明,袁德宝,孙文彬.“数字摄影测量”课程教育思考与基础实习方法探索[J].测绘通报,2019(04):143-147.
[7]王志勇,解斐斐,劉健辰.数字摄影测量实践教学体系及教学资源构建[J].测绘工程,2019,28(05):73-76.
[8]张荣春,衣雪峰,李浩,岳建平,郭献涛.《摄影测量学》教学课程新思路研究与设计[J].现代测绘,2019,42(05):61-64.
[9]徐辛超,徐爱功,郑涛,孙华生.数字摄影测量课程的编程式教学改革探讨[J].测绘与空间地理信息,2017,40(05):5-7.
[10]宁津生.测绘科学与技术转型升级发展战略研究[J].武汉大学学报(信息科学版),2019,44(01):1-9.