技术文章
机器视觉系统设计过程及关键技术
机器视觉系统是综合现代计算机、光学、电子技术的高科技系统。机器视觉技术通过计算机对系统摄取的图像进行处理,分析其中的信息,并做出相应的判断,进而发出对设备的控制指令。机器视觉系统的具体应用需求千差万别,视觉系统本身也可能有多种不同的形式,但都包括以下过程:
图像采集 利用光源照射被观察的物体或环境,通过光学成像系统采集图像,通过相机和图像采集卡将光学图像转换为数字图像,这是机器视觉系统的前端和信息来源。
图像处理和分析 计算机通过图像处理软件对图像进行处理,分析获取其中的有用信息。如PCB板的图像中是否存在线路断路、纺织品的图像中是否存在疵点、文档图像中存在哪些文字等。这是整个机器视觉系统的核心。
判断和控制 图像处理获得的信息最终用于对对象(被测物体、环境)的判断,并形成对应的控制指令,发送给相应的机构。如摄取的零件图像中,计算零件的尺寸是否与标准一致,不一致则发出报警,做出标记或进行剔除。
在整个过程中,被测对象的信息反映为图像信息,进而经过分析,从中得到特征描述信息,最后根据获得的特征进行判断和动作。最典型的机器视觉系统一般包括: 光源、光学成像系统、相机、图像采集卡、图像处理硬件平台、图像和视觉信息处理软件、通信模块。
总体上,一个成功的机器视觉系统需要重点解决图像采集(包括光源、光学成像、数字图像获取与传输)、图像处理分析几个环节的关键技术。
照明设计
照明是机器视觉系统中极其重要而又容易为人忽视的环节。其设计是机器视觉系统设计的重要步骤,直接关系着系统的成败和性能。因为照明直接作用于系统的原始输入,对输入数据质量的好坏有直接的影响。光源决不仅仅是为了照亮物体,通过有效的光源设计可以令需要检测的特征突出,同时抑制不需要的干扰特征,给后端的图像处理带来极大的便利。而不恰当的照明方案会造成图像亮度不均匀,干扰增加,有效特征与背景难以区分,令图像处理变得极其困难,甚至成为不可能完成的任务。
照明设计主要包括三个方面: 光源、目标和环境的光反射和传送特性、光源的结构。由于被测对象、环境和检测要求千差万别,因而不存在通用的机器视觉照明设备,需要针对每个具体的案例来设计照明的方案,要考虑物体和特征的光学特性、距离、背景,根据检测要求具体选择光的强度、颜色和光谱组成、均匀性、光源的形状、照射方式等。
照明设计是一项非常复杂的工作,不仅需要理论知识和分析能力,也常常需要反复的试验和调整。“光源是基准,打光是艺术”,这句话道出了照明设计在机器视觉系统中的重要地位。由此也催生了一批以生产光源著称的厂商,如CCS、Moritex、东冠科技。国内如凌云公司等系统集成商也开始开发自主的光源产品。
光学成像系统与相机
机器视觉系统中,镜头相当于人的眼睛,其主要作用是将目标的光学图像聚焦在图像传感器(相机)的光敏面阵上。视觉系统处理的所有图像信息均通过镜头得到,镜头的质量直接影响到视觉系统的整体性能。一旦信息在成像系统有严重损失,在后面的环节中试图恢复是非常困难的。合理选择镜头、设计成像光路是视觉系统的关键技术之一。
镜头成像或多或少会存在畸变。较大的畸变会给视觉系统带来很大困扰,在成像设计时应对此有详细的考虑,包括选用畸变小的镜头,有效视场只取畸变较小的中心视场等。镜头另一个特性是其光谱特性,主要受镜头镀膜的干涉特性和材料的吸收特性影响。要求尽量做到镜头最高分辨率的光线应与照明波长、CCD器件接受波长相匹配,并使光学镜头对该波长的光线透过率尽可能提高。在成像系统中选用适当的滤光片可以达到一些特殊的效果。另外,成像光路的设计还需要重视各种杂散光的影响。
相机是一个光电转换器件,它将光学成像系统所形成的光学图像转变成视频/数字电信号。相机通常由核心的光电转换器件、外围电路、输出/控制接口组成。目前最常用的光电转换器件为CCD,其特点是以电荷为信号,而不像其他器件输出电流或者电压信号。上世纪90年代,一种新的图像传感器开始兴起,这种相机称为CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)相机。
对相机除了考察其光电转换器件外,还应考虑系统速度、检测的视野范围、系统所要达到的精度等因素。
相机输出的模拟视频信号并不能为计算机直接识别,图像采集卡通过对模拟视频信号的量化处理将模拟视频信号数字化,形成计算机能直接处理的数字图像,并提供与计算机的高速接口。图像采集卡需要实时完成高速、大数据量的图像数据采集,必须与相机协调工作,才能完成特定的任务。除A/D转换外,图像采集卡还具备其他一些功能,包括:
● 接收来自数字相机的高速数据流,并通过计算机高速总线传输至系统存储器;
● 对多通道图像接收、处理和重构;
● 对相机及系统其他模块进行功能控制。
图像和视觉信息处理
上述机器视觉系统的前端环节,包括光源、镜头、相机等,都是为图像和视觉信息处理模块准备素材。这一模块才是机器视觉系统的关键和核心,它通过对图像的处理、分析和识别实现对特定目标和特征的检测。这一模块包括机器视觉处理软件和处理硬件平台两个部分,其中视觉处理软件可以分为图像预处理和特征分析理解两个层次。图像预处理包括图像增强、数据编码、平滑、锐化、分割、去噪、恢复等过程,用于改善图像质量。图像特征分析理解是对目标图像进行检测和各种物理量的计算,以获得对目标图像的客观描述,主要包括图像分割、特征提取(几何形状、边界描述、纹理特性)等。
机器视觉中常用的算法包括: 搜索、边缘(Edge)、Blob分析、卡尺工具(Caliper Tool)、光学字符识别、色彩分析。
目前,机器视觉软件的竞争已经从追求功能转变为算法的准确性和效率的竞争。已有专门提供视觉软件或者开发包的厂商。因为常规的机器视觉软件开发包尽管均能提供上述功能,但其检测效果和运算效率却有很大差别。优秀的机器视觉软件可对图像中目标特征进行快速而准确的检测,对图像的适应性强; 而不好的软件则存在速度慢、结果不准确、鲁棒性差的缺点。
从硬件平台的角度说,计算机在CPU和内存方面的改进给视觉系统提供了很好的支撑,多核CPU配合多线程的软件可以成倍提高速度。伴随DSP、FPGA技术的发展,嵌入式处理模块以其强大的数据处理能力、集成性、模块化和无需复杂操作系统支持等优点而得到越来越多的重视。
总体而言,机器视觉是一个光机电计算机高度综合的系统,其性能并不仅仅由某一个环节决定。每一个环节都很完美,也未必意味着最终性能的满意。系统分析和设计是机器视觉系统开发的难点和基础,也是许多开发商所不擅长的,急需加强。
另外,在现场环境应用中,振动、粉尘、电磁干扰会严重影响系统的工作,这些问题都是设计和开发时应注意的。
目前,以智能相机为代表的嵌入式系统因其有许多独特的优点而为许多专家所看好,高度模块化、价格低廉的视觉传感器组成的分布式网络给我们展示了一个令人激动的画面。
然而,在机器视觉产业链条中最令人担忧的是,一些基础性的技术和器件,如相机的图像传感器芯片、高级镜头,仍全部依赖外国的产品,国内的机器视觉厂商仍基本处于应用层面开发,十分不利于该技术在我国的普及推广。