APP下载

基于高速CMOS传感器的智能线阵相机设计

2017-11-22

传感器世界 2017年12期
关键词:图像处理灰度像素

湖南镭目科技有限公司,湖南长沙 410100

一、引言

智能线阵相机(Smart Line Scan Camera)是一种高度集成化的微小型机器视觉系统,具有易学、易用、易维护、安装方便等特点,可在短期内构建起可靠而有效的机器视觉系统。

在钢铁行业中,基于线阵相机的钢材表面质量检测系统已经得到了较为广泛的应用。传统的表面质量检测系统需要配备相机、工控机电脑和图像处理软件,整个系统成本高、维护量大。随着超大规模集成电路技术的发展,DSP和FPGA芯片性能的快速提高,智能相机的功能越来越丰富,可满足多种机器视觉的应用需求。目前国内工业应用图像检测领域,以采用进口智能相机为主,存在设备价格高,二次开发周期长等问题。

因此,本公司采用DSP和FPGA开发出一款工业智能线阵相机,用于高速运动的轧钢、玻璃、铝板等表面的检测,不仅能够满足检测系统性能要求,而且能够有效降低设备成本和维护量,缩短系统研发周期,现已在国内多家大型钢铁企业得到了成功应用。

二、硬件结构设计

智能相机从工作逻辑功能上主要分为图像采集、图像数据提取转换、图像处理和图像传输[1]。

本文所论述的智能相机硬件结构由图像传感器、FPGA芯片、DSP芯片、电源模块以及其他外设单元组成,如图1所示。

图像传感器负责图像采集,把通过镜头后的物体光学成像数据转换成电信号,以LVDS形式输出到下级。我们使用Anafocus公司的高速CMOS线阵传感器。它集成了两个像素行:1行是4096像素的7μm像素行,另外一行是2048像素的14μm像素行,同时它的SOC架构提供了像素阵列,数据输出和高速A/D采样、传感器控制、光学校准等功能,在7μm的4K像素模式下,行频可以高达18180 lps,非常适合高速运动物体的拍摄。

FPGA芯片采用的是Xilinx公司的spartan6系列芯片,它价格便宜而且内置资源丰富,同时提供多种开发工具软件。

DSP芯片使用的是TI的C64x芯片,其主频最高可达1.2GHz,提供了丰富的外设接口,具有高速、灵活、可靠、可编程、低功耗等特点[2-3]。

图像传感器输出LVDS把图像数据发送到FPGA逻辑芯片中,FPGA利用严格的时序逻辑对LVDS进行捕获采样,转换成8/12bit的灰度图像数据。同时FPGA还利用标准的SPI核产生SPI串行信号对传感器进行控制和寄存器配置。FPGA同时还与DSP的EMIFA接口连接,因此它还需要适配EMIFA的时序逻辑。FPGA的EMIFA接口采用32bit的同步模式与DSP通信,时钟速率可达62.5MHz,通信速率非常高。FPGA收到从传感器过来的灰度图像数据先缓存到内部的RAM空间,当数据量达到一帧图像后,通过连接到DSP的GPIO引脚的控制线发送中断,通知DSP读取EMIFA接口,读取图像数据。在DSP中,收到FPGA的GPIO中断通知后,使用DMA从接口读取图像数据,不用CPU参与。DSP数据收到数据后再进行图像处理和分析,最后通过千兆以太网发送到外部,同时通过以太网还可以接收外部命令和参数,对相机内部进行控制和图像参数调整。

三、软件结构设计

1、主体设计

在智能相机中,软件设计是很重要的一部分。软件包括DSP图像处理模块、与PC上位机的通信协议、以及与FPGA通信等,共同构成一个系统整体[4]。在TI C6000系列DSP上,开发软件主要有以下几个层次,每一层TI都有提供相关的库或者类似的代码。软件整体层次如图2所示。

从FPGA过来的图像数据,通过EMIFA接口与DSP连接,在DSP中映射为内存CE4地址段。每次数据到来,FPGA通过中断通知DSP。在DSP中断程序中,启动DSP的EDMA搬移到数据到程序内部数组RAM空间。

在本过程中,为保证FPGA连续到来的数据不丢失,设计了一个ping-pang缓存的功能,如图3所示。使用两个数组,EDMA交替搬移数据到两个数组中,其中一个在EDMA搬移数据占用时,另外一个数组的数据用来进行图像处理,保证两者不产生竞争导致数据错误,同时也不影响FPGA中断效率。

智能相机与上位机通信的软件模块是采用socket的TCP/IP协议,根据上位机发送过来的指令和参数选择合适的算法进行图像处理,然后把处理后的结果图片发送到上位机。

2、FPGA逻辑设计

根据上面描述的硬件结构,FPGA逻辑是在Spartan6芯片中的逻辑功能。它的功能主要包括:

(1)LVDS差分信号采集核

用于根据传感器行有效信号采集LVDS数据,转换成灰度像素数据。传感器使用3组差分数据信号,1组SYNC同步信号和1组LVAL行有效信号输出数据。采集核把数据信号转换为并行8/12bit灰度数据,同时输出对应行有效信号和同步时钟信号,供后续模块使用。

(2)图像数据转换缓存核

用于将前面采集核的数据和时钟以及行有效信号,PING-PANG缓存到RAM空间,然后发送到下一级。

(3)EMIFA时序逻辑功能核

它的作用是适配DSP的EMIF接口。DSP使用EMIFA接口与FPGA连接,所以FPGA需要解析EMIFA接口信号时序,它使用EMIFA同步接口,32根数据线和16根地址线,以及几个CE使能信号。

(4)Micro-blaze核

Micro-blaze核作为FPGA中的CPU,FPGA内部外设所需要的驱动代码都是通过它运行。例如,控制传感器的SPI主设备功能和中断功能。目前FPGA的SPI做主设备与传感器从设备通信,配置参数在Microblaze核中进行运行配置。

3、图像算法设计

内嵌图像处理算法是智能相机区别与传统相机的一个重要方面,也是决定相机性能的关键之一。因此定制化的研发了图像处理算法能够更好的实现轧钢、玻璃、铝板等表面的缺陷检测、分类和定位。

(1)图像预处理

CMOS图像传感器的空间噪声主要来源于两大类噪声:一是暗电流的非均匀性,二是图像的非均匀性响应(Photo Response Non. Uniformity, PRNU),这两类噪声通过增减偏移和增益调节的方法进行校正。

相关双采样法是降低上述几种噪声的有效方法,不仅可以消除了输入信号中的复位噪声,还抑制了1/f噪声和由电源电压带来的低频噪声。CMOS传感器已经集成了处理电路,输出信号已经是数字信号,因此给设计带来了很大的方便。

(2)图像自动校正处理

采用了一种混合的并行校正算法,即将两点法、边缘检测、均值滤波以及图像融合有序地结合在一起进行图像并行的校正与处理。此种方法不仅抑制了CMOS的暂态噪声,而且还增强了图像的边缘信号,使得本相机系统更加有助于工业现场检测的应用。

算法按时间段划分分为三个阶段:第一阶段执行两点法校正;第二阶段执行边缘检测与均值滤波,将两点法校正后的像素同时传给边缘检测模块与均值滤波模块进行处理;第三阶段是图像融合,即把边缘检测后的图像与均值滤波后的图像进行融合,合并为一幅图像。

(3)图像识别与缺陷检测算法

首先使用图像灰度补偿的预处理方法来改善并规范图像的灰度分布,实现优化图像质量的目的。然后将预处理之后的带钢表面图像经过梯度处理和二值化处理,可以将图像的灰度异常变化的区域显示出来,实现缺陷目标快速检测。接着使用数学形态学滤波滤去二值图像中的噪声点,再采用高精度的图像分割方法将缺陷区进行分割。图4为图像检测流程图,图5为钢坯缺陷在线识别效果。

(4)缺陷定位与缺陷分类算法

通过在现场采集的大量缺陷图像的特征提取和分类检测,并将各类缺陷检测结果暂存于缓存区,再对各个缺陷进行定位。把缺陷所在位置的横坐标、纵坐标、帧数,钢坯长度的数据提取出来暂存缓存区,实时发给上位机进行统计;同时根据系统终端的显示和存储要求,将原始图像数据给上位机进行实时图片显示,给用户一个直观的图像动态显示和方便后续数据查找。

四、系统现场测试

采用自主研发的智能相机为核心的表面检测系统在国内某大型钢铁公司得到了成功的应用,图6和图7分别为系统的整体结构和软件界面。本系统的最小缺陷检测尺寸可达到0.5mm×0.5mm;对辊印粘伤、夹杂、氧化物结疤、划痕、空洞等缺陷的检测率〉95%;被测钢板最快速度可达18m/s。通过长期现场使用证明采用本系统后,钢厂提高了产品过程质量控制率,保证成品品质,投诉和客退降低了30%,同时降低了生产成本。

五、结论

本文设计了一种基于DSP和FPGA智能线阵相机。系统充分发挥了FPGA硬件处理速度快,适合做大量、简单、重复运算的特点,创新性地采用FPGA做前端图像预处理,使得FPGA不只是用来实现智能相机所需的控制电路,更能够参与图像处理,分担DSP图像处理任务,大大节省了DSP的资源和图像处理时间,提升了系统的性能和集成度。定制化的图像处理算法能够更好的实现轧钢、玻璃、铝板等表面的缺陷检测、分类和定位。它是一种模块化、高可靠性、易于实现的机器视觉解决方案。

猜你喜欢

图像处理灰度像素
采用改进导重法的拓扑结构灰度单元过滤技术
像素前线之“幻影”2000
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
“像素”仙人掌
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
ÉVOLUTIONDIGAE Style de vie tactile
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算