

摘要:高速线阵电荷耦合器件(CCD)和数字信号处理器(DSP)为核心的基于机器视觉的工业在线分选机。该系统由硬件和软件两部分组成,硬件部分包括光学成像模块、图像采集模块、数据处理模块及接口模块,软件部分包括各部分的驱动、系统配置程序、图像预处理和数据处理程序。
1概述
工业在线视觉分选秤,是近年来新兴的一种在线检测手段,以机器视觉为基础,利用智能化的图像采集处理系统,对检测目标的表面图像信号进行采集和处理,并输出处理结果。与其他机器视觉设备相比,工业在线检重机最显著的特点是具有较强的实时性,以配合高速生产线。
目前,机器视觉产品主要有两种形式中:
(1)基于PC机的板卡式,利用图像采集卡和图像传感器在PC机上实现。该方式借助了PC机的通用性,开发难度低,但操作难度高和稳定性较差,而且现有操作系统均为非实时系统,实时性难以保证,另外此种系统成本高、体积大、便携性差。
(2)嵌入式,以嵌入式处理器为核心,整体开发包括硬件电路、设备驱动和算法软件等整套系统,因此软硬件可以灵活配置,体积小,利于实现高速数据采集与处理,实时性好,更适合进行在线检测。
目前国际主要机器视觉产品制造商都有各自的嵌入式视觉检测产品。在国内,机器视觉领域由于起步较晚,自主开发的产品几乎全部为板卡式,而嵌入式视觉检测机目前还没有成熟的产品出现。为此,笔者所在的实验室经过一年的攻关,将嵌入式处理器与图像采集系统成功地结合,研制出一套可以满足较高速生产线的基于机器视觉的嵌入式工业在线检重秤。
该输送系统以线阵CCD和DSP为核心,实时采集检测对象图像信号,经数字化后由处理器进行处理,将处理后的结果以图片或信号方式输出。此外,该系统还可通过外部接口实现在线参数配置。
2系统硬件设计
工业在线视觉检测智能相机系统包括以下4个部分。
(1)光学成像模块,为CCD传感器提供有效的光照条件和光学图像,由光源和光学透镜组成。根据检测对象不同,光源可以采用直流、交流或脉冲等方式。若采用非直流方式,则灯光闪烁频率需要与CCD曝光时间同步,以避免频闪影响信号采集。
(2)数据采集模块,由线阵CCD、CCD驱动信号增强电路、CPLD和A/D组成,用于采集图像信号,并将模拟信号数字化,以便DSP处理。本系统采用黑白高速线阵CCD--TH7814A,该CCD为双路输出,有效像素2048,像敏单元尺寸7μm,最高驱动频率50MHz;CCD驱动信号增强电路是为满足该CCD所需的9V高速驱动而设计的;A/D芯片采用两片XRD9856,该芯片最大采样频率27MHz,具有相关双采样功能(CDS),精度为10位;以上器件同步驱动脉冲均由CPLD产生。
(3)数据处理模块,由DSP、随机存储器(RAM)、只读存储器(ROM)组成,完成数据处理和存储、系统启动等功能。DSP采用TI高速多媒体处理器TMS320DM642,工作频率600MHz,最高指令处理速度4800MI/s,数据总线宽度64位,该处理器最大特点在于具有三路视频接口,可以直接输入输出最高达80MHz的BT.656、Y/C视频、原始视频等多种格式的视频信号,本系统采用原始视频模式。RAM采用容量32MB,数据宽度64位的SDRAM;ROM由容量16MB的FLASH和256B的EEPROM构成。
(4)系统接口模块,系统所提供的接口有100Mb/s网络接口(TCP/IP协议)、串行外设接口(SPI)、RS232串行接口,用于发送和接受各种数据及控制信号。
该系统工作流程如下:光源照射到被检测物体,被检测物体经过光学透镜成像于CCD的像敏面上,通过CCD驱动电路产生的驱动信号导出CCD原始图像信号,该信号经后级的AD转换为数字信号后输入DSP。此时两种数据处理方式:
(1)将数据直接进行运算处理,只将处理后所需要的结果从指定的接口输出,如给后级的分捡机构;
(2)将数据保持原始状态或处理后以图片格式输出。
3系统程序设计
3.1系统驱动程序
3.1.1CPLD硬件程序设计
CPLD的作用是产生CCD、A/D及DSP视频端口的同步驱动脉冲。由该CCD及A/D的工作原理!-4可知CCD和A/D的驱动信号时序,并且只有使A/D的SHP和SHD分别采样于CCD输出信号的暗电平和有效电平位置,才能将CCD产生的原始模拟信号准确地采集和转化为数字信号,此外,DSP视频接口也需要CPLD产生的同步脉冲及同步信号来接收数字图像信号,该驱动程序由VHDL编写。
3.1.2DSP硬件驱动程序
DSP硬件驱动程序用来管理硬件各部分工作方式及指定数据流向和组织方式,由以下5部分组成:
(1)视频口配置程序。由于CCD具有双路输出,采用两片A/D,数据为两路10位原始视频数据,因此将视频口配置为双路10位原始视频数据捕获模式,并为每路视频接口设置512B先入先出缓存(FIFO)。系统工作时将捕获的数字视频数据放入FIFO中,待FIFO填满后,将数据通过EDMA通道转移,数据清空后再重新填充。视频接口工作频率与前端CCD驱动频率相同。
(2)数据转移信道配置。图像数据通常都有很大的数据量,因此数据的转移、搬运及组织是重要的环节。本系统中数据转移采用增强型直接存储器访问模式(EDMA)。待FIFO存满后,触发EDMA启动,将数据一次性整体搬运至RAM中,并且保持数据组织形式不变。FIFO清空后再重复进行填充。如此反复,直到接到停止信号为止。该系统中EDMA配置采用块同步的2D到2D模式(blocksynchronized2D-to-2Dtransfers).
(3)接口驱动。100Mb/s网络接口由于速度较快,可以用于传送图像数据,也可以接收控制信号。RS232和SPI接口用于接收系统控制信号或送出处理结果信号。
(4)外部同步信号配置,用于与脉冲光源或后级执行机构同步。
(5)系统自引导程序,程序大小为1KB,存储于FLASH中从0KB~1KB的空间,用于脱机情况下引导系统启动,使之可独立工作。
3.2系统软件设计
3.2.1系统控制软件
该检测机为通用系统,所处环境和检测对象千差万别,因此需要根据具体的环境和检测内容进行相应的配置。通常嵌入式系统的程序调试需要使用仿真器,只能对程序代码进行修改,费时费力,使用不便,故本系统设计了一套可以通过网络接口进行在线配置的程序。这样只需一根普通网络直连线将检重机与电脑相连,利用该程序就可以方便地配置系统参数及实时察看图像情况。配置内容包括相机IP地址及端口号、SPI配置及输出、UART配置、图像高宽及增益等属性、相机曝光时间等参数和相关图像存储等操作与显示该图像等。
3.2.2图像预处理
(1)畸变校正
畸变是像差的一种,由光学器件造成,是轴外点在像面上实际成像高度与理想像高之差。对于线阵CCD系统来说,由光学镜头造成的畸变只存在于图像宽度方向。在对尺寸检测精度要求较为严格的应用场合,这种畸变是不允许存在的,必须进行校正。
目前常用的图像畸变校正方法主要有两种:拟合镜头畸变曲线“和利用标准样板!。前者需要知道光学系统的设计参数,后者只需根据系统畸变特征进行校正,方法简便,故本系统采用后者。
样板标定方法就是利用定制的标准样板,使其通过待校正光学系统成像,记录下其畸变图像,再根据样板理想设计参数和光学系统放大率,计算出样板理想的无失真像,比较与实际像的差别,从而得出该系统畸变函数关系。由于该系统为线扫成像系统,因此采用文献[7]中的方法进行校正。
日前常用的图像畸变校正方法主要有两种:拟合镜头畸变曲线“和利用标准样板!。前者需要知道光学系统的设计参数,后者只需根据系统畸变特征进行校正,方法简便,故本系统采用后者。
样板标定方法就是利用定制的标准样板,使其通过待校正光学系统成像,记录下其畸变图像,再根据样板理想设计参数和光学系统放大率,计算出样板理想的无失真像,比较与实际像的差别,从而得出该系统畸变函数关系。由于该系统为线扫成像系统,因此采用文献中的方法进行校正。实验使用风凰24mm/2.8广角镜头,焦距24mm,视场角28°,视场宽度240mm,分辨率0.2mm。
(1)为拟合方程
(2)灰度校正
工业在线机器视觉检验机通常都工作在较高的频率下,一般为2MHz~20MHz,使得线阵CCD的曝光时间仅为0.1ms~1ms,因此像面照度不一致而导致的成像灰度不均匀也是必须要解决的问题。针对线扫系统一帧图像只有一行的情况,参考文献,并结合系统的实时性要求,采用相对灰度的计算方法,即先采集没有检测对象的背景图像信号,再采集含有目标对象的图像信号,将两幅图像相减即可以得到目标图像的真实灰度。
3.2.3图像检测程序
对工业在线机器视觉称重输送机来说,检测内容是一般都是目标的二维特征四,如颜色、外轮廓形状、特定方向上的尺寸、表面光洁度、表面特征识别、特征点定位等,因此最常用的图像处理主要有图像增强,包括边缘锐化、轮廓提取、直方图处理、傅里叶变换等。
除了采用合适的算法对所采集到的图像进行有效处理外,工业在线分选秤还必须满足实时性的要求,因此需要对算法程序进行优化,以充分发挥DSP的运算能力。DSP是一种具有并行指令执行功能的器件,本系统所采用的DM642可以在一个指令周期内并行执行8条指令。优化的目的就是使程序语句之间的相关性降低,更多地以并行方式被执行,充分发挥DSP的运算能力。除此以外,当系统采用C语言优化设计仍不能满足要求时,需要将运算量大的以循环体为主的核心程序采用线性汇编编程。
为此,本系统的算法采用高级语言与线性汇编语言混合编程,算法程序中主要的运算过程语句采用汇编语言以提高运算速度,而对于数据控制部分采用高级语言以简化程序,同时对高级语言程序也按照DSP运算流程进行0:级别的优化。
4实验结果与分析
为该系统在实验中和实际工作生产线上所采集到的图片。为在药片包装生产线上进行的药片检测,检测内容为查看药片是否被装进包装中和药片是否有破损。该药片包装设备运行速度为2m/s。为米粒检测,在高速下落的米粒流中检测出颜色异常的米粒,并计算百分比。该系统检测速度为3ms。为实验室内进行的相纸缺陷检测,目标移动速度为1.5m/s。该系统可以真实采集到高速生产线上有检测目标图像,而且图像灰度均匀、基本无畸变,细节清晰,完全能够满足图像处理的要求。
在采用优化过FFT程序对系统运算速度进行的测试中,测试对象为1024x1024黑白图像,运行时间为14ms。但这个测试仅是理想情况,在实际的系统中,评估该系统是否能够满足检测的实时性要求除了要考虑程序本身的计算量外,还有一个必须要考虑的因素是每秒钟出现的中断次数。中断的出现会打断处理程序的运算,再加上执行一次中断需要进行一系列保护和恢复当前运算过程的程序,这些都会使得中断处理的效率与运算程序相比低得多。给出了每秒出现中断次数与运算效率之间的关系,可以看出,当中断大量增加时,运算效率会随之大幅降低。
因此在实际使用中,应充分了解检测对象特征及后级执行机构执行方式,以便在满足检测精度的条件下采用最简便算法和应用需要中断次数最少的信号输入输出方式,充分发挥该分选机的效率。
5结束语
该套系统具有成本低、体积小,检测速度快、精度高、配置便捷等优点,非常适合工业生产线的在线检测,而且这是改变目前工业在线机器视觉检测领域主要依靠进口局面的一种有益尝试。今后,为了进一步提高检测速度和精度,可采用速度更高的传感器,将软件算法改为硬件实现,以使该系统更加完善。