机器视觉(Machine Vision)是以机器模仿人类视觉的光学识别系统,他利用摄影机和电脑撷取、分析及解释影像内容,进而下达某些决策。由于机器视觉系统可以快速获取大量信息,而且易于自动处理,也易于同设计信息以及加工控制信息集成,因此,在现代自动化生产过程中,人们将机器视觉系统广泛地用于工况监视、成品检验和质量控制等领域。机器视觉系统的特点是提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。视觉的最大优点是与被观测的对象无接触,因此对观测与被观测者都不会产生任何损伤,十分安全可靠。
1机器视觉系统的构成
机器视觉一般由以下几个部分构成:照明部分;光学系统,包括图像传感器和照相机;图像采集卡/图像数字化仪,扫描仪;可视的多路传输器;工业计算机;控制执行机构。如图1所示。
2传统机器视觉技术中存在的问题
机器内存中的工作由主机CPU来完成。在一些图像数据量大且算法较复杂的情况下,单机的CPU往往无法实时完成运算量。这时需要由若干台计算机组成一个局域网,其中的一台计算机作为服务器,其他计算机进行图像下面以弘达仪器公司开发的铜箔板表面质量在线检测系统为例具体说明。铜箔板表面质量在线检测要求对线上的铜箔板进行非接触在线检测,该种板的尺寸为1240mm×1080mm(宽×长),流水线速率为0.5m/s;自动识别各种瑕疵如划痕、氧化点、垫伤、异物等;检测精度为0.2mm。
由于项目要求检测精度较高,流水线速率较高,导致了图像处理数据量的庞大。基于目前的计算机处理速度,单机是无法完成检测任务的,所以他们采用基于局域网的多机并行处理系统。(如图2所示)每台计算机所连接的摄像机只负责检测钢板的一部分表面(1/4的钢板表面)。
根据系统的要求他们采用了4+1的方案,即4台客户计算机接4只CCD摄像机完成图像数据的实时采集、处理,将数据通过局域网传输到一台服务器,所有客户机的数据在服务器进行整合后,给出检测结果。
铜箔板表面质量在线检测系统的这种解决方案的缺陷显而易见,该套系统总共配置了5台计算机,成本高昂,而且系统比较复杂,可靠性降低了。
2.1改进方案
通过在每块图像采集卡上集成高性能的DSP芯片而构成高速图像处理卡,由DSP替代计算机的CPU进行图像处理。这时DSP相当于上述解决方案中的一台计算机的CPU。进一步通过在一台计算机上插置4块这种高速卡,由主机的PCI总线控制器负责控制协调4块高速图像处理卡对总线的占用。这时主机的CPU 相当于上述解决方案中的服务器。这样就节省了PC机的开销,大幅度降低了成本。图3给出这种高速图像处理卡的硬件原理图。
2.2硬件线路关键部分详解
摄像机将捕捉到的视频信号输入到ADC后,数字化。然后数字视频信号输入到高速FIFO中。一旦FIFO中的数字视频数据快满时,DSP将这些数据读入到内部RAM中,进行数字视频信号的算法处理。图像处理算法对各种瑕疵如划痕、氧化点、垫伤、异物等进行检测,并与标准进行对比,对于超标的,进行纪录。DSP将最后的运算结果输入给PCI总线控制器。 PCI总线控制器以DMA方式将运算结果传到主机的内存中。这时主机的CPU相当于上述方案中的服务器,他只对4片集成高速DSP的视频处理卡处理后的结果进行统计分析,不做图像的算法处理。下面结合具体的芯片,介绍一下集成DSP的高速图像处理卡(芯片的型号与具体应用相关)。
ADC芯片可以选Philips的SAA7114,SAA7114支持NTSC/PAL/SECEM制式,A/D转换精度是9b,并行输出8b视频输出带为27 MHz。每一个时钟周期(1/27MHz)并行输出1个字节,除了输出数字象素外,SAA7114还输出时钟信号以同步。可以通过设置SAA7114的相关寄存器来控制SAA7114输出图像的尺寸。
同步FIFO可以选择TI公司的SN74ACT7881,大小为1024b×18,同步FIFO与SAA7114的接口速度为27MHz,宽度为 8b。FIFO与DSP的接口速度可以配置为81MHz,宽度为16b。当FIFO中快写满数据时,给DSP发出控制信号以使DSP产生中断,取走 FIFO中的数据。
为了和PCI总线控制器接口,DSP需要支持PCI接口。DSP可以选取TI的TMS320C6414。该款DSP除了支持PCI接口外,主频高达到 500MHz,流水线深度为8级,这样峰值运算能力可达到4000 MI/s。FIFO可直接与DSP的外部存储器接口。DSP的外部存储器接口通过EDMA(增强型DMA)将数据传输到DSP的内存中。EDMA的传输由 FIFO的同步信号来触发。6412的内部存储结构为修正哈佛结构,即分为两级存储:L1P/L1D/L2P分别为16kB/16kB/1024kB。通过设置相关的寄存器,可以将L2P分割为不同比例的程序存储器和数据存储器。处理铜箔板表面质量情况的图像处理算法放置在L1P和分割出的L2P中,而通过FIFO输入的数字图像数据就放在L1D和分割出的L1P中。编译好的图像处理算法的二进制文件烧置在外部FLAH中,上电后程序映射到SDRAM中。 FIFO、SDRAM、FLAH都是通过DSP的外部存储器接口局部总线(EMIF)和DSP相接。
6414的PCI接口符合PCI2.2规范:32b,33MHz,传输速度为132MB。PCI总线控制器可选PCI9054。DSP将最后的运算结果传输到PCI9054的FIFO中。一旦9054检测到PCI总线空闲,就将FIFO中的数据发出。由于在PCI 总线上,基本的传输机制是一次成组传输(burst),一次burst通常由一个地址周期和一个或几个数据周期组成。这种线性突发传输方式可以确保总线不断满载数据,能有效地运用总线频率带宽去传输数据,减少无谓的寻址作业。PCI独特的同步操作功能可确保微处理器能与这些总线主控同时操作,一旦PCI总线空闲,高速图像处理卡马上将数据传送到内存中,无需等待CPU操作完成。
3结语
集成DSP的高速视频处理卡可广泛应用到机器视觉所涉及到的技术领域以减少成本,增加可靠性。以产品表面质量监测领域来说,集成DSP的高速视频处理卡就可以应用到钢铁生产过程中的冷轧钢板、镀锌钢板等彩钢板的表面质量检测;造纸生产过程中对纸张表面(包括厚度)质量的检测;塑料生产过程中对表面质量要求较高的塑料制品的表面检测;电子产品生产过程中对表面质量要求较高的器件表面质量检测,如晶圆表面质量检测等。
在一些特殊的工作环境里,对主机的稳定性、可靠性、安全性和体积等有着苛刻的要求(如矿山、超市的监控)。基于PC机的监测系统在这种场合下可能不符合要求,这时可以设计嵌入式的系统:参照图3只需做少许改动即可:即集成DSP的高速图像处理卡的最后端不接PCI总线控制器9054,而是接一个CPU(如 ARM或者PowerPC),在其上移植操作系统如嵌入式的Linux从而构成一个嵌入式的应用系统以满足特殊的要求。