1 引言
机器视觉的研究始于20世纪50年代二维图像的模式识别[1],它起初被设计用来代替人眼从事检测识别的工作,可以大大提高检测的工作效率以及降低人眼疲劳带来的检测结果的不一致性。机器视觉检测发展至今,在许多方面已经发展到可以完成人眼难以完成的工作,如高精度的测量以及对特定产品的高速分级,还有利用红外线、紫外线、X射线等检测技术检测人类视觉无法检测到的事物[2]。但机器视觉系统设计的难点在于如何保证其可靠性与稳定性,无论从光源,相机等硬件上还是从图像处理软件上的设计,对机器视觉的稳定性都有重要影响。
2 机器视觉系统组成
典型的机器视觉系统一般由图像的获取、图像的处理和分析、输出或显示三部分组成。按照视觉系统组成结构主要分为两大类:PC或板卡式机器视觉系统(PC-Based Vision System),以及嵌入式机器视觉系统,亦称“智能相机(SmartCamera)。
2.1 PC-Based视觉系统
PC式视觉系统是一种基于个人计算机(PC)的视觉系统,其图像获取设备一般由光源、光学镜头、CCD或CMOS摄像机以及图像采集卡组成,图像处理与分析设备以一台PC机为基础配合图像处理软件,一般以显示器作为图像处理结果的显示输出。
PC-Based视觉系统发展到现在,可以针对不同的工作坏境满足各式需求,如相机的选择可以从分辨率200万到1200万,帧率从0到数百帧每秒甚至更高。同时,其通讯方式非常灵活,可以直接使用USB(USB2.0/USB3.0)接口、千兆网口(GigE)接口或着很方便的扩展使用火线(1394a/1394b)接口以及Camera link等接口的相机,在短距离情况下抗干扰性很强。速度上和精度上,PC-Based系统可以根据需求配置高速、高分辨率相机和高速的处理器,可以达到运动速度快或精度要求高的检测要求。
但同时,基于PC的机器视觉的应用系统尺寸较大,除相机外,还需图像采集卡、工控机、各种连接线缆等,在一些对设备体积限制较严的场合,如生产装置内部、移送装置上就难以满足要求了。同时其结构复杂,多数人认为PC-Based系统包含较多的外部部件,各部件由不同厂家生产,涉及兼容性和连接插件等中间环节,集成度较低,从而导致其稳定性下降。相对于集成度高的智能相机,其开发周期也相对较长。
2.2 嵌入式视觉系统
智能相机主要由图像采集单元、通型信块,图像处理单元(处理软件)三大组成部分,图像采集单元类似于传统的普通相机,将光信号转为模拟信号或数字信号,相当于CCD/CMOS相机和图像采集卡,图像处理单元相当于PC-Based 系统的PC部分,是嵌入式视觉的核心,包括图像处理、存储单元以及相应的处理软件,一般有DSP、FPGA和RISC三种硬件平台用来完成图像处理的运算,软件可由外部写入,但一般成熟的嵌入式机器视觉系统均将通用的图相处里算法封装为固定的模块,开发人员可以根据需要选择调用。通信模块也是智能相机的重要组成部分,主要是将图像处理的结果输出到外部,智能相机一般内置以太网口通信模块,且可支持多种网络和总线协议。
与PC-Based 的视觉系统相比,嵌入式视觉系统存在一些明显的优势,比如由于其图像获取单元与处理单元直接相连接,在像素一致性方面较好,抗干扰能力性较强,且由于智能相机具有较高的集成水平,体积也比PC-Based视觉系统要小很多,可适用于更多恶劣的工作环境。由于智能相机的高度集成性,它的图像采集、处理与通信部件在设计与生产的过程中经过了专业人员的可靠性测试,所以其工作稳定性要明显高于PC-Based系统,由于结构简单,其维护也相对于PC-Based系统要简单的多。软件上,成熟的智能相机基本已经固化了视觉算法模块和通讯模块等,用户只需要简单的调用即可,不需要像PC-Based系统一样进行系统底层的琐碎的开发,所以开发简单,开发周期也短。
但相对于PC-Based视觉系统,嵌入式视觉系统也存在一定劣势,比如在精度和速度上,由于体积和图像处理能力的限制,智能相机很难像PC-Based系统一样,能够很方便的将高速相机或高分辨相机集成到视觉系统中,在目前的技术条件下,通常实现同样分辨率和速度的两种系统,智能相机由于需要更高要求的生产工艺以及电路设计问题,会需要高昂的成本。同时,智能相机高度集成化的特点也给它带来了灵活性不足的问题,它的硬件和软件开发相对固定,可扩展性较PC-Based系统差,在复杂的机器视觉场景下,有时单靠智能相机难以完成系统的功能设计,而PC-Based系统却可根据实际情况选用性能合适、价格便宜的设备,也可以选择不同的第三方软件来完成图像处理等工作。
3 机器视觉检测系统的不稳定性因素
3.1 成像系统简介及不稳定性因素
成像系统主要由相机(CCD/CMOS)、镜头和光源组成,是视觉检测的基础,成像系统的设计目的就是获取合格的原始图像,并且一个好的成像系统要保证系统运行期间图像质量的稳定,稳定的图像抓取是视觉检测稳定性的基本保证。
3.3.1 工业相机对成像稳定性的影响
对视觉系统设计者来说,工业相机的选择主要考虑其传感器类型、分辨率和帧率,其中传感器分CCD与CMOS两种,CMOS图像传感器集成度高,各元件、电路之间距离很近,干扰比较严重,成像噪声高,CCD传感器相机相对于CMOS相机具有灵敏度高、噪声低和响应速度快的特点,在稳定性方面,CCD相机的抗冲击与震动性也较强,一般来说,CCD传感器相机在成像质量上和稳定性方面要优于CCD相机。
影响相机成像质量的另一重要因素就是相机的镜头,镜头除了需要根据具体工作状况选择合适的焦距、景深和光圈等参数外,一个影响系统检测精度的重要因素就是图像的几何畸变误差,它是光学透镜固有的透视失真,受到制作工艺的影响,无法消除,只能弥补,虽然现在许多工业相机通过各种方法弥补镜头畸变产生的误差,但在高精度的检测领域,几何畸变仍然会对检测精度产生影响。
3.1.2 光源对成像稳定性的影响
光源具有放大图像的特征与缺陷、削弱混乱及背景的作用,直接影响输入数据的质量,由于没有通用的照明设备,光源的设计一直是机器视觉系统的难点,通常不仅需要针对每个特定的应用实例来选择光源类型,还要根据具体环境对光源安装、光源的照射方式进行斟酌,以达到最佳效果。不同类型的光源稳定性存在差异,常见的可见光光源有LED光源、卤素灯、日光灯和钠光灯等,可见光最大的缺点是不能持续稳定的输出光能,如日光灯,在使用的第一个100小时内,光能会下降15%左右[4],随着使用时间的增加,光能输出持续下降。除可见光外,在高检测任务的场景下,也常采用X射线和超声波等不可见光作为光源,可以持续稳定的输出光能,但不利于检测系统的操作,且价格昂贵。光源的不均匀性也会对图像质量产生影响,不同方向的发光强度存在差别也会引起噪声。可见光中LED光源的稳定性和寿命相对于卤素灯、日光灯等要好,响应时间短,可自由选择颜色,运行成本也低,得到了广泛的应用。光源的照射方式可分为背向照明、前向照明、结构光照明和频闪照明,其设计要点是以突出图像特征为准则。
3.2 软件稳定性
检测软件稳定性对机器视觉的影响毋庸置疑,视觉系统最终会在计算机上利用软件采用有针对性的算法进行图像滤波,边缘检测和边缘提取等一系列图像处理,不同的图像处理和分析手段以及不同的检测方法与计算公式,都会带来不同的误差,算法优劣决定测量精度的高低。
3.3 环境因素影响
视觉系统工作的测量环境包括温度、光照、电源变化、灰尘、湿度以及电磁干扰等[5],好的环境是视觉系统正常运行的保障。外界光照会影响照射在被测物体上的总光强,增加图像数据输出的噪声,电源电压的变化也会导致光源不稳,产生随时间变化的噪声。温度变化也会对相机的性能产生影响,相机在出厂时都会标志正常工作的温度范围,过热或过冷都会影响相机的正常工作。电磁干扰是工业检测现场不可避免的干扰因素,它对工业相机电路、数据信号传输电路等弱电电路的影响尤为严重,合格的视觉产品会在出厂时经严格的抗干扰测试,极大的降低了外界电磁干扰对硬件电路的影响。
3.3 机械结构定位影响
除成像系统硬件外,相机与物体之间的相对位置关系也会对图像质量的稳定性产生影响,如相机或工件的机械支撑结构如果存在震动,会影响检测精度,且这也是一个难以排查的问题。在动态下检测工件,需要考虑运动模糊对图像精度的影响(模糊像素 = 物体运动速度*相机曝光时间)。 另外,CCD相机与被测零件之间在理性状况下应为相机镜头光轴垂直于零件所在平面,但实际使用中,由于安装误差或相机、工件制造误差等原因不能保证光轴与被测平面完全垂直,存在一定角度偏差,同样对测量精度产生影响。
4 保证稳定性的解决方法
4.1 硬件选择与设计
成像系统的硬件选择尤为重要,通过以上对CCD相机与CMOS相机的分析可知,如果没有特殊的要求,比如摄像速度较高(CMOS具有更快的读出速度),CCD传感器相机是保证图像质量和稳定性的首要选择,其中相机的分辨率和帧率主要根据检测精度和检测速度来选择,通过计算检测物体的视场大小与相机与被测物之间的距离决定合适的分辨率,考虑被测物体的运动速度与检测精度要求选择相机的帧率。
对于镜头,主要需要根据相机的极限分辨率来选取对应的镜头分辨率,选择大于相机极限分辨率的相机即可,还需要根据工作距离与视野计算镜头的焦距,并根据被测物体与相机的距离变化选用合适的景深。在高精度测量下,要保证测量精度,除以上参数的正确选择之外,可以选择几何畸变相对于普通镜头小的远心镜头,远心镜头不仅几何畸变较小,还能减小物体距离变化带来的误差。
如无特殊要求而采用X射线等不可见光光源,对于可见光光源,应优先考虑使用LED光源,在对采集图像质量有决定性影响的光源均匀性上,LED光源明显优于卤素灯、日光灯等其它光源,而且它还具有耗电低、使用寿命长和对环境无污染的优点。同时,为了减小外界光对视觉系统稳定性的影响,可以通过增加光源箱的方式屏蔽外界光源。
4.2 软件设计
4.2.1 标定
相机与镜头由于工艺的原因,总会或多或少地导致获取的原始图像存在几何畸变误差,这种误差不能通过硬件的优化消除,但可以利用标定软件算法来减弱这种误差对测量精度的影响,相机标定的基本原理是通过相机对视场内不同角度标准图像(通常使用标定板)的拍摄来求出相机的内、外参数以及畸变参数,建立三维坐标与图像坐标的映射关系,从而对得到的原始畸变图像进行矫正,通常相机标定在有精度要求的测量和定位中必须使用。
4.2.2 图像处理
硬件采集到的原始图像最终要通过图滤波、边缘检测等算法才能完成检测功能,实现检测结果的输出。其中图像滤波可以抑制采集到图像中存在的噪声,降低光源与灰度值不稳定的问题,提高信噪比,其本质是通过算法保证图像上像素点间最小方差最小。对于高精度测量系统来说,粗边界像素级精度往往难以满足要求,亚像素级边缘定位技术在像素级别位置通过细分算法与拟合方法结合可以使边缘位置达到0.1甚至0.01的亚像素级精度,系统检测精度得到保证。
5 总结
总的来说,机器视觉系统的设计需要考虑多方面的因素,除了根据需求按照常规选型参数选择相应参数的设备之外,还需要考虑光源的稳定性、相机的畸变误差,以及被检测物体与相机之间的相对运动等因素给检测系统带来的稳定性干扰与测量误差。只有综合考虑这些因素进行视觉系统的优化设计,才能建立稳定、合格的机器视觉检测系统。