面向计算机视觉课程的综合性实验平台

2017-05-31 13:41张林沈莹
计算机教育 2017年5期
关键词:计算机视觉深度学习

张林+沈莹

摘 要:针对计算机视觉课程的特点,提出建立面向课程的综合性实验平台,具体介绍全景拼接实验、生物特征识别实验、三维模型检索实验和深度学习实验4个实验平台的特点,结合同济大学计算机视觉课程的实际教学,介绍此实验平台的建设方案和经验。

关键词:计算机视觉;全景拼接;生物特征识别;三维模型检索;深度学习

文章编号:1672-5913(2017)05-0136-04

中图分类号:G642

1 背 景

计算机视觉是最近20年发展起来的一门新兴学科[1],是一门研究如何使机器“看”的科学;更进一步说,是利用计算机对传感器如图像传感器、深度信息传感器、声音传感器等采集的信号进行分析,从而达到对客观世界进行理解的目的。作为一门科学学科,计算机视觉试图建立能够从图像或者多维数据中获取“信息”的人工智能系统,因此计算机视觉也可以看作研究如何使人工系统从图像或多维数据中“感知”的科学。

近5年,随着人工智能领域技术如深度学习技术的飞速发展,计算机视觉学科在很多问题上,如人脸识别、目标检测与跟踪、像素级分割、场景理解、三维重建等,也取得突破性的进展,其应用范围也变得日益广阔。在这种大背景下,全球各大高校陆续开设了计算机视觉课程,比较有代表性的课程包括斯坦福大学李飞飞教授开设的Computer Vision: Foundations and Applications课程[2]、华盛顿大学Ali Farhadi教授开设的Computer Vision课程[3]等。同济大学软件学院的计算机视觉课程[4]开设于2010年秋季学期,是全国范围内较早在本科阶段开设此课程的院系。

2 教学难点与应对策略

计算机视觉是一门理论性和实践性都很强的课程,学生较难掌握。学习本门课程需要综合运用多门课程的知识,如微积分、线性代数、概率论、高等几何、数字图像处理、机器学习等,这对教师和学生都有很高的要求。同时,由于该学科是一门新兴学科,学科理论与方法目前仍处于快速发展阶段,因此,如何把当前该领域最新的思想和方法融入教学环节中,一直是任课教师所面临的巨大挑战。

为了加深学生对课上讲授理论内容的理解和认识,任课教师对大部分关键理论和算法都给出代码实现并配以验证性实验,学生可以利用上机课时对代码内容进行学习。虽然这种方式非常有利于学生对课堂理论内容的理解和掌握,但是在教学实践过程中,这种教学形式还存在一些不足之处,主要体现在两个方面。

(1)目前,课程的代码实现都是针对独立的算法,注重培养学生对关键算法的理解能力,而代码和知识点都较为分散,没有形成针对一个大型任务的整体实验平台,不利于培养学生解决整体复杂问题的能力。

(2)目前,课程的上机实验都是验证性实验,教师不仅给出所有的代码实现,还配置好运行环境,准备好实验数据,而上机的主要目的是让学生通过阅读和调试代码对课上所学理论内容加以理解和消化;但是我们发现,部分学习自制力较差的学生不仅在上机时间没有按照要求参与实验,而且也没有认真阅读和调试实验程序。我们分析认为,产生这种情况的部分原因是教师没有给学生明确分配需要完成的任务,导致其参与度降低。

为了解决上述问题,我们建议打造4个面向计算机视觉课程的综合性实验平台,覆盖课程大约90%的知识点。总体的思路是:所有实验都根据课程进度划分为若干个相对独立的模块,实验的整体性框架代码和模块的框架性代码都由教师提供,模块的一些关键部分则空出来,留给学生完成;每次上机前,由教师描述本次上机的目的和需要学生完成的具体任务,学生可以在上机时段根据课堂内容对模块空缺的关键部分进行完善;当各综合性实验结束时,实验程序可以处理一个相对完整和复杂的问题。这样不仅有利于培养学生解决整体复杂问题的能力,还能提升学生对上机课的参与程度,培养学生的学习兴趣。具体来说,根据目前的教学内容,我们可以建设4个综合性实验平台,包括全景拼接实验平台、生物特征识别实验平台、三维模型检索实验平台和深度学习实验平台。

3 综合性实验平台的建设

根据现行计算机视觉课程的教学内容,我们可以设计4个综合性实验平台。其中,总体框架性代码和模块的框架性代码都由教师提供;随着课堂教学的展开,学生须利用上机课时完成相应模块核心代码的编写工作,且模块核心代码所使用的算法会在理论课上讲授。

3.1 全景拼接实验平台

全景拼接是一种把两张或多张图像根据重合内容拼接成一张大的图像的技术。这些图像需要满足一定的假设条件,即图像所拍摄的景物基本上处于同一个物理平面,两张图像的内容之间需要存在显著的重合。把两张图像拼接成一張图像的示例如图1所示,其中,图1(a)和1(b)是同济大学软件学院正门的有部分区域重叠的两张图像,图1(c)是把1(a)变换到1(b)所在坐标系的结果,图1(d)是利用基于特征点的自动全景拼接算法对1(a)和1(b)进行拼合的最终结果。

本实验主要涉及的知识点包括图像滤波、高斯尺度空间(Gaussian scale space)、Harris角点检测(Harris corner detector)、基于LoG (laplacian of Gaussian)尺度空间的尺度不变点检测、SIFT(scale invariant feature transform)描述子、射影几何(projective geometry)、齐次线性方程组最小二乘法、随机采样一致性(RANdom SAmpling Consensus,RANSAC)模型拟合等。

3.2 生物特征识别实验平台

生物特征识别(biometrics)指的是用人体固有的生理特征或行为特征识别个人身份的技术,在刑侦、安防、银行、社保等领域有着广泛的应用。本实验平台包含两个系统,一个是基于WebCam摄像头的人脸识别系统,另一个是非接触式掌纹掌脉识别系统。endprint

基于WebCam摄像头的人脸识别系统的运行界面如图2(a)所示。由于绝大部分学生有个人电脑并配有WebCam,因此此实验完全可以在学生个人电脑上完成。此实验系统实际上包含两个组成部分:一部分是人脸检测(face detection),需要从视频流中实时检测出人脸所在的区域;另一部分是人脸识别(face recognition),就是把系统检测到的人脸区域和注册人脸数据集进行比对,从而确定系统检测到的人脸的身份信息。本实验涉及的知识点主要包括图像滤波、Viola-Jones人脸检测算法、向量与矩阵的微分法、基于Eigen-Face的人脸识别算法、基于稀疏表示(sparse representation)的人脸识别算法等。

非接触式掌纹掌脉识别系统的外观如图2(b)所示。此采集系统主要包含一个双CCD相机和一个包含可见光以及940nm近红外光LED模组的定制光源,可以同时采集手掌的掌纹信息和静脉信息。学生可以在该硬件平台上完成整个基于掌纹掌脉信息的身份鉴别系统。此实验涉及的知识点主要包括掌纹掌脉采集系统的设计与制造过程、掌纹ROI提取、生物特征图像质量评价、Gabor滤波器、竞争编码(competitive coding)、基于Hamming距离的比对、基于掌脉信息的活体检测等。

3.3 三维模型检索实验平台

随着3D数据采集设备的普及,3D数据也变得越来越丰富。本实验会构造一个三维模型检索系统。2013年,同济大学软件学院数字媒体方向购置了一台型号为Creaform Go Scan 3D的三维扫描仪,如图3(a)所示。在本实验中,教师首先要教授学生3D扫描仪的使用并构建三维物体模型数据库,图3(b)展示了学生扫描的洗发水瓶和空调遥控器的三维模型;然后,学生需要完成一个三维刚体模型检索系统,该系统可以根据一个输入的三维模型从三维数据集合中挑选出与之最相似的三维模型。此实验涉及的知识点主要包括三维扫描仪的使用、三维曲面重采样、基于Fast Marching的测地距离(geodesic distance)的计算、欧氏奇异性消除、基于ICP(iterative closest point)算法的三维模型比对等。

3.4 深度学习实验平台

自从2012年Alex Krizhevsky等在NIPS上发表了把深度卷积神经网络(deep convolutional neural network,DCNN)应用于解决大规模图像分类问题的成果以后[5],机器学习和计算机视觉领域掀起了一股研究和应用深度学习技术的热潮,并确实在许多不同领域取得了很大成功。深度学习技术近来的巨大成功一方面得益于大规模带有标记的数据的出现,一方面是由于计算技术的进步,如GPU等。深度学习实际上是一种对数据表示(representation)的学习技术,深度学习模型由多层简单模块叠加形成,每一层都会对输入进行变换,以增加数据表达的选择性和不变性,因此,可以从原始数据中学习到它们的具有不同抽象层次的多层表示。深度学习技术的一个显著特点就是它对数据特征的学习不是手工的,而是用通用的学习策略从数据中自动学习到的。

在计算机视觉课程中,教师介绍深度神经网络的基本知识。在本试验中,要求学生构建一个基于卷积神经网络的人体上半身检测系统,实现从视频流中实时检测出画面中出现的行人的头肩部分。本实验主要涉及的知识点包括图像滤波、Softmax回归(softmax regression)、深度卷积神经网络(deep convolutional neural networks, DCNN)、Pooling策略、非线性激励策略、训练集测试集与验证集、随机梯度下降法(stochastic gradient descent)等。

4 实验平台建设效果评估

从2015年开始,综合性实验平台已在我们的计算机视觉课程中完整地应用了两个周期,获得了同济大学相关专家和学生的好评,并引起强烈的反响。一方面,综合性实验平台的引入客观上提升了学生在计算机视觉课程实践环节中的参与度,从而有助于学生更加深入牢固地掌握课上所讲授的理论内容;另一方面,综合性实验平台极大地提升了学生综合运用所学知识解决实际问题的动手能力,培养了他们对于计算机视觉这门学科的学习兴趣。在课程结束时,不少学生表示希望将来能在相关领域从事开发或者研究工作。

5 结 语

经过6年的探索实践和沉淀积累,同济大学的计算机视觉课程已经形成了较为完善、具有特色的知识点体系,在教学方法上也积累了丰富的实践经验。为了提升计算机视觉课程的教学效果,培养学生综合运用多学科知识解决实际视觉问题的能力,我们建设了4个综合性实验平台。这些实验平台已经应用在我们的教学实践活动中,并初步取得了良好的效果,达到了实验平台建设的目的。在今后的教学实践中,我们将认真听取相关专家和学生的建设性意见和建议,对实验平台不断进行完善,与时俱进,从而持续提升该课程的教学质量。

参考文献:

[1] Sonka M, Hlavac V, Boyle R. Image processing, analysis, and machine vision[M]. Stamford: CENGAGE Learning, 2008: 1-5.

[2] The vison lab. Stanford university CS 131 computer vision: Foundations and applications[EB/OL]. [2016-12-26]. http://vision.stanford.edu/teaching/cs131_fall1617/index.html.

[3] Computer vision[EB/OL]. [2016-12-26]. https://courses.cs.washington.edu/courses/cse576/16sp/.

[4] Zhang L.Computer vision[EB/OL]. [2016-12-26]. http://sse.tongji.edu.cn/linzhang/CV/CV.htm.

[5] Krizhevsky A, Sutskever I, Hinton G E. Image net classification with deep convolutional neural networks[C]∥Proceedings of Neural Information Processing Systems. Cambridge: MIT Press, 2012: 1106-1114.

(編辑:宋文婷)endprint

猜你喜欢
计算机视觉深度学习
基于深度卷积神经网络的物体识别算法
双目摄像头在识别物体大小方面的应用
机器视觉技术发展及其工业应用
危险气体罐车液位计算机视觉监控识别报警系统设计
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现