张楠
摘要:本文针对近期众多专业新开设的工业视觉相关课程教学工作进行分析与研究。该门课被争相开设正是由于我国《中国制造2025》的提出,智能制造成为必然趋势,而制造业关键工序智能化、关键岗位机器人以至智能化管理替代等都离不开机器视觉系统的构建。首先,学习机器视觉知识的前提是掌握编程逻辑思维能力,所以本文结合编程课程讨论了程序算法的教学方法。考虑到该课程独有的特点,软硬件皆涉及,对各部分所占学时合理分配。必要硬件的介绍,但重点会集中在程序编写方面。只对经典算法进行适当的讲解,重点放在各种常见类型应用解决方案相关的编程教学上。在此基础上,细致分析工业生产场景中机器视觉教学的整个过程,从理论知识到动手实践,考虑细节仔细研究,给出可行教学方法。相信按照本文研究的教学方法变通灵活教学,能够使得学生在该门课程上受益匪浅。
关键词:机器视觉;理论;实验;实训;教学研究
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)27-0101-02
2016年,《中国制造2025》由文件编制进入全面实施新阶段。目标到2025年,制造业重点领域全面实现智能化。作为智能制造工程涉及的环节,关键工序智能化、关键岗位机器人以至智能化管理替代等都离不开机器视觉。《中国制造2025》离不开智能制造,智能制造离不开机器视觉。
当今各学科不断打破学科边界,学科间相互渗透交叉。机器视觉就是学科融合的新兴产物,甚至对于这个概念并没有官方的定义。机器视觉可以说是涉及应用光学、机械设计、计算机网络、计算机软件、自动控制和传感器等不同学科的融合。和计算机视觉相比,机器视觉更强调是工业自动化中的真实应用。于是工业视觉技术及应用课程纷纷被学校开设。由于工业视觉为多学科融合的一门课,所以在不同学院(系别)虽然都开设了该门课,侧重点有所不同。我校高职本科部将编程语言定为C语言,虽然视觉软件并不一定使用这种高级编程语言编写程序,甚至不用编写代码,但不可或缺的是编程的逻辑思维能力,学习C语言就是锻炼学生逻辑思维能力的较好方式之一。想要学生在后期为视觉系统编写程序时,具有足够的逻辑思维能力,在编程语言教学过程中,教师要加强基础编程方法的传输和训练,学生只有打好坚实的编程基础,才能够将其应用于工业视觉的学习中。
1硬件系统
机器视觉可以说还处于初级阶段,可谓朝阳产业,更值得通过课堂将相关知识传授给学生,启发学生将来在工业视觉方面有创新性的成果。现在的工业视觉系统特点或者说最大软肋就是对于不同的处理对象必须选用对应硬件和定制解决方案。
工业视觉方面的许多问题可以通过硬件或软件两种途径解决。但由于生产过程对速度的要求极高,一般能够使用适当的硬件解决的问题都不会选择更复杂的算法。也就是说,硬件的选择视觉系统的构建是非常重要的。
课程首先应介绍相机、镜头、光源、传感器、图像采集卡、PC平台等视觉系统硬件。国内外相关硬件厂家及厂家旗下不同型号繁多,是不可能在有限的课程中介绍的。一般来说都是以较为常用的某品牌某型号为例,引导学生了解各类硬件。各类型的硬件都是什么作用,如何搭配形成一个完整的视觉系统。此处,安排学生动手组合各硬件搭建视觉系统,完成最简单并有反馈的操作,必然激发他们学习的兴趣,留下深刻的印象。这样学生碰到不同厂家不同类型的硬件也能触类旁通。这些硬件都有为数不少的参数,这些参数值都会是选择硬件的依据。但是生硬的介绍这些参数是非常枯燥的,老师也无法使之生动。不妨结合具体产品举例,例如要检测生产线上大小,5mm的零件,装配精度0.1mm,生产率:10个/秒,观测距离为300mm,相机类型、像素个数、曝光方式、触发类型和镜头焦距等参数如何选择,根据某品牌产品手册,继而决定相机和镜头的型号。硬件选择的不同采集到的图像也会存在很多有趣的现象,很适合在教学中展示给学生观察。这样,学生在介绍、计算和查表过程中掌握了硬件的选择。虽然现在国内做相关硬件的企业已经为数不少,但与国外产品相比能从价格上看出性能的差异。如果开设这门课程的专业偏硬件的话,可以在硬件性能上着重介绍。
2软件
2.1理论教学
视觉方面的理论知识主要是各类经典的图像处理算子。对于高职本科的学生而言,主要掌握常用算子的作用,了解相关参数对图像处理效果的影响,在教学上会适当讲授算子的内在原理,为学生进一步创新研究打下坚实基础,毕竟仅仅会用还是无法超越视觉系统的现状。理论介绍结合实验现象,避免纸上谈兵,并且还规划了两种不同用途的软件来展示实验结果,一个是偏科研的软件,例如MATLAB,另一个是偏工程应用的软件,例如HALCON。作者相信工业视觉正处在起步阶段,视觉系统主流还是按照图像处理结合特征提取的方式去解决问题,但未来视觉系统在软件上可能会颠覆这种模式,深度学习模型已被应用到数家知名视觉软件中。而深度学习源自神经网络,这种处理方式已经完全不同于传统模式,而是模仿人类的思维模式。
2.2实验教学
实验教学与理论教学有着同等的教学地位,工业视觉实验的前提就是熟练掌握编程逻辑思维能力了。实验阶段采用MATLAB软件,学生已具有C语言等高级编程语言能力前提下,在实验期间,教师带领学生熟悉新的编程环境。提供图像和要求,由学生充分利用网络资源,自行搜索理论学习中提到的算子在该软件中的函数名及参数。处理好细节加上编程基础,通过例题练习迅速掌握MATLAB程序。在以前的教学过程中,发现不论是专科或本科学生都存在缺少自主学习能力的问题。寻找有特殊效果的图像处理案例,诱导学生追寻该结果,积极讨论,教师参与讨论,适时提出疑问,让学生考虑自己的解题思路是否存在问题,分析为何和预期的处理效果有出入。不断修正思路过程中,培养学生积极思考和讨论的习惯,营造好学求知的课堂气氛,不因为一时受挫就放弃寻找正确的答案。手机一度被认为是课堂上的大忌,但只要教师能够合理运用,手机是一个很好的教學工具。视觉相关课程就可以由学生拍摄图像,上传到机房电脑中,进行图像处理的实验。例如车牌识别,就可以拍摄车牌的图像进行实验,程序中的语句语法和算子使用都会影响到运行的结果,识别车牌号的正确率与设计的程序紧密相关。这样一来,调动起学生的积极性,没有工业相机等硬件,当学生课上未完成实验或有设计实验的需求时,也可以利用自己的手机和电脑进行各种图像处理的实验。视觉编程需要熟练的编程逻辑和一定的经验累积,只有多思考和多动手才能得心应手。考核成绩的时候,该课程应以随堂测试为主,笔试为辅。而且随堂测试不能只关注程序运行结果是否正确,视觉实验结果有时是无法用肉眼判断差异的,必须查看各参数的值,同时教师应随机提出疑问,由学生解答,以此了解该学生的思路,对视觉系统根据不同对象进行图像处理从而提取特征的真实掌握程度。
2.3实训教学
进一步的实训教学很有必要,相当于是更接近真实工业生产环境的教学。所以教学中会选用工业视觉软件HALCON,该软件除了各种经典算子甚至还囊括了深度学习的相关模型,并不断在更新中。实训搭配相关相机、镜头、光源、传感器、图像采集卡、PC平台等视觉系统硬件。由教师设计多套项目方案,学生从硬件选型开始,只要通过前面的编程实验教学,就能较快上手使用工业视觉软件HALCON,搭建完整的视觉系统。从利用工业相机镜头采集图像开始,编写程序处理图像,最后得到决策信息。整个软硬件系统构建下来,必然能够锻炼学生的实际动手能力。由于工业视觉处于蓬勃发展的初级阶段,视觉软硬件的更新换代比较快,教学、实验以及实训的内容都需要不断修改,例如视觉软件的版本、实验题目和实训项目的选择。设计的实训内容尽量源自企业实际问题,使得学生在毕业后走入社会时,已经累积一定的经验。
在我国市场上,工业视觉系统现阶段还处于代理国外软件,再进行二次开发的状态。如果企业需求应用面较窄,就意味着开发代价较大,导致此类企业智能制造进程被迫过缓。因此,拥有自主创新的视觉软件才能实现关键工序智能化,进一步支撑中国制造的实现。从另一个角度理解的话,学生今后从事该朝阳行业会有很大的发展空间。
3结论
工业机器视觉系统技术日新月异,作为教师一定要做到不停下学习的脚步。总之,在工业机器视觉的教学中,夯实机器视觉理论知识基础,了解当下流行算法,辅以相关实验,最后利用实训项目锻炼学生实现整个视觉系统的能力。为了培养学生的综合素质,我们要不断总结教学经验,不断探索,分析自身的优势和劣势,根据不同学生不同特质不断改进,因材施教,从而激发学生的实践能力和创新能力,培养高素质的应用型人才。