基于ZYNQ的流水线食品外观检测系统设计
王明全,胡芯畅,关欣然,李根旺
(东北大学计算机科学与工程学院,辽宁 沈阳 110819)
摘要:针对图像处理技术在食品加工领域的应用,提出了一种基于ZYNQ平台的流水线食品外观辨别检测系统设计方案。该系统采用FPGA+ARM架构的ZYNQ-7000平台实现,利用单目OV5640摄像头进行图像采集,并将采集后的视频图像进行预处理以及VDMA视频图像显示,之后采用对射式光电开关达到流水线上食品目标的检测目的,最后通过图像测量方法提取食品特征。该系统解决了流水线上不规则食品外观检测辨别问题,可应用于食品加工质量检测领域。
关键词:ZYNQ;食品外观检测;计算机视觉;特征提取;OV5640
0 引言
随着人们物质生活水平的提高,对食品质量要求也越来越高,而国家经济的快速发展促进食品生产速度随之提升,因此,如何在流水线上保证生产速度的同时检测食品质量已逐渐成为研究问题。
目前,市面上存在的图像传感器中,大多以模板匹配的方法对特定规格的产品进行检测,如车牌、饼干、门窗等,而对于许多不规则的食品如凤爪、鸭翅、虾仁等却无法对其包括产品尺寸、传送方向等进行有效检测。本设计采用具有双核的ARM-Cortex TM -A9处理系统(PS)和Artix-7可编程逻辑(PL)的ZYNQ作为主控制和算法处理单元,通过图像测量方法提取不规则食品外观共同特征,是进一步检测食品传送方向是否与流水线方向一致,以及食品缺损问题的关键。
从我国食品发展行业趋势来看,市场上需要能够应用在流水线上的高精度、针对无特定性状食品检测处理的图像传感器,因此其具有十分广阔的市场前景。
1 系统的总体结构
整个系统由图像采集模块OV5640、图像处理模块、VGA显示模块、机械执行模块以及光电开关组成。如图1所示。
图像处理模块是整个系统的控制核心。图像采集单元通过单目摄像头OV5640对食品生产线上的食品成品进行采集,由光电开关检测当前图像采集区域是否有完整食品传入,将触发信号传送给ZYNQ平台对实时采集到的图像数据进行灰度化、阈值分割、图像膨胀、特征提取,以实现运动食品的检测,并对当前检测食品传送方向是否正确以及是否存在缺损作出判断。通过控制分拣开关,将次品与合格品分类集中,方便下一步的产品生产包装工艺。
视频图像显示单元是在FPGA控制下对处理前后的视频图像进行显示 [1] 。其中图像测量算法是基于背景颜色的图像分割算法,它是本文在灰度阈值分割算法基础上提出的一种适合本系统的算法。
2 图像采集及显示系统设计
图像采集系统平台的设计主要包括以下几个部分:单目OV5640摄像头模组,用来实现图像的采集;ZNYQ-7000系列开发板用来实现摄像头采集、数据存储与传递以及完成图像处理算法;VGA显示器用来显示摄像头实时采集的图像以及经ZYNQ开发板处理后的结果。
2.1 OV5640摄像头模块
本模块设计中采用美国OmniVision公司的CMOS图像传感器OV5640。OV5640拥有2590×1944的感光阵列,能够以15帧的500万像素的分辨率记录图像,并且可对输出数据格式、图像分辨率、输出帧率以及图像特性等进行配置,满足许多应用需求 [2] 。其摄像头模组通过DVP接口和FPGA连接实现图像的传输,具体参数及主要特性如下:
(1)具有标准的SCCB接口;
(2)支持多种视频输出格式:RAW RGB、RGB565/555/444、YCbCr422等;
(3)支持VGA、QVGA以及1080P分辨率输出;
(4)支持数字视频端口(DVP)并行输出接口和双车道MIPI输出接口。
OV5640图像数据采集模块是整个系统的输入模块,它主要负责将摄像头采集到的图像数据传送到FPGA例化的存储器中,使用DVP传输视频时,PCLK为像素时钟,HREF为行同步信号,VSYNC为场同步信号,数据线为8 bit,在FPGA中配置RGB565输出。
OV5640芯片采集的数据通过FPGA软核VDMA0、VDMA1分别用作视频的输入,将数据写入与PS端相连的DDR中,以及视频的输出。ARM核完成对存储数据的图像处理及分析算法。使能的VDMA在DDR中读取相应的数据,数据经过图像测量算法提取特征后再输出。VDMA获取的数据均为符合AXI4协议的32位数据,经过32位数据转24位RGB 888格式数据后,根据VGA输出协议,在相应的时序控制下,依次转换为DVI数据输出到VGA显示器中 [3] 。
2.2 VDMA配置模块
VDMA是针对视频图像处理的一个特殊的DMA。在ZYNQ-7000的PS中,包含处理器和DDR存储器控制器;而在PL中,实现AXI DMA和AXI数据FIFO。通过AXI-Lite总线,处理器与AXI DMA通信,用于建立、初始化和监控数据传输。VDMA有一个AXI4 MemoryMap接口,用于对存储器进行读写视频数据,AXI4-Lite接口用于读取VDMA状态以及配置VDMA的参数;AXI4-Stream接口用于视频的输入和输出。VDMA系统结构原理如图2所示。
在该设计中,AXI_MM2S和AXI_S2MM是存储器映射的AXI4总线,提供了对DDR存储器的访问。AXIS_MM2S和AXIS_2MM是AXI4 Stream总线,它可以连续的传输数据,而不需要提供地址信息 [4] 。
2.3 VGA显示设计
VGA显示模块分为:上电等待模块、寄存器配置模块、摄像头采集模块、SDRAM控制模块以及系统控制模块。其中FIFO控制模块原理机制如图3所示。
由于视频图像数据通过ZYNQ系统的高速AXI_HP0口输出,系统使用AXI_VDMA IP核来通过AXI_interconnect连接ZYNQ系统的HP0口,AXI_subset_converter来进行数据格式的转换,转换为24位的视频图像数据,V_axi4s_vid_out IP将视频流装换成RGB888的视频格式信号。最后视频图像通过自定义IP核(rgb2dvi)转换成TMDS信号驱动VGA显示器显示图像。构架好的系统如图4所示。
2.4 光电开关检测设计
为减少图像数据处理量,并较准确确定视频图像流中哪一帧中食品进入到单目摄像头图像采集区域内,系统设计中采用对射式光电开关来检测目标,并将触发信号传送到ZYNQ中,在间隔一定时间后处理当前帧图像,确保其采集食品图像的完整性。
采用对射式的光电开关可分辨不透明的反光物体,有效距离大,不易受干扰,灵敏度高,并且响应时间快,可将触发信号传送给ZYNQ平台的I/O口作为进行图像测量的起始信号。
3 系统软件设计
图像处理部分包括:图像预处理、图像膨胀及基于图像测量的特征提取。软件设计流程如图6。
3.1 图像预处理设计
针对不规则食品外观的检测,首先要对图像进行预处理,再进一步用图像测量算法提取图像特征。本文提取的特征是基于灰度图像的,需将采集到的24位真彩色图转换为灰度图
由于光源和实际拍摄的情况,采集到的图像可能含有噪声,为排除噪声的影响,先对图像进行去噪的处理。根据项目需要,采用中值滤波的方法。这种非线性的图像平滑法对脉冲干扰级的椒盐噪声抑制效果较好,能保护边缘少受模糊的影响。
3.2 图像形态学处理
为了更加明显区分背景与目标,需将灰度图进行二值化处理来区分凤爪与传送带。采用阈值分割的方法,根据阈值将图像中灰度级大于阈值的像素点和小于像素值的像素点分开,从而实现图像分割 [5] 。
其中,T为预设的阈值,从0~255中取值,具体大小由工业流水线实际环境决定,根据多次试验可选取150作阈值分割,是目标为黑色,背景为白色。
根 据 图像 特 征 提 取算 法 识 别 的要 求 , 需 通过遍历像素值所在区域通过黑白像素值边界的跳跃次数来区分爪趾的数目及食品被放置方向与传送带方向是否一致,因此需要保证目标的连通性要完整,将得到的二值化图像进行一轮腐蚀膨胀,以消除噪声点,使不连续的地方连接起来,为下一步的图像识别及特征提取做基础。
本系统中以凤爪为例,对二值化后的目标凤爪进行图像膨胀,采用15×15大小的方阵集合做膨胀的结构元素。关键源代码如下(定义flag为记录结构元素区域内各像素值与运算后的结果):
for(j=0;j<height;j++){
for(i=0;i<width;i++){ //对二值图遍历
flag=1; //赋初值
//采用15×15大小结构元素作掩膜处理
for(m=j-1;m<j+15;m++){
for(n=i-1;n<i+15;n++){
if(image_in[j][i]==0||image_in[m][n]==0)
{flag=0;break;}
else{flag=1;}}
if(flag==0){break;}}
//根据flag值来输出膨胀后结果
if(flag==0){image_out[j][i]=0;}
else{image_out[j][i]=255;}}}}
通过图像膨胀后的结果如图7所示:可去除二值化结果中的不连续的噪声点及食品本身瑕疵的影响。
3.3 图像测量算法设计
机器视觉定位的最终目的是利用工业相机采集运动食品的图像,再通过算法确定运动目标的特征点与特征边缘,以方便进行机械分拣 [6] 。对于在高速流水线上采集到的视频图像流进行处理,首先,通过光电开关的触发信号在视频流中确定食品目标已全部进入图像采集区域,对该帧图像作图像识别,并在确定帧图像后,识别目标送入方向是否正确及是否存在残缺。
对于阈值化并经过图像膨胀处理后,目标区域是完整的连通区域,可通过遍历查询提取该不规则图像边缘特征。从凤爪这个研究对象的特点来看具有以下特性:
(1)从形状上看,凤爪共有4个指头,其中一端较短,其余三个指头较长,中间者为最长。骨干部分占整个长度的一半左右。
(2)从颜色上看,凤爪色泽绛红,深浅程度基本一致,掌心部分偏暗红。
以上分析,作为待识别的凤爪,虽然是不规则形状,但无论从颜色还是形状上,都能保持一个较稳定的特性,因此在编写算法程序中,可通过数组记录图像的每行像素值黑白边界跳跃次数,以此提取流水线上加工食品特征,并根据不同食品特征要求通过遍历特征数组及测量算法作判别,按照判别结果启动分拣开关将食品归入不同的箱中。
4 结论
本文针对食品流水线上的图像外观辨别问题进行了分析与解决方案的提出,利用图像测量的方法对不规则食品进行特征提取,并采用ARM+FPGA结构的实时图像处理平台以及光电开关的结合,使系统小型化,利于后期进一步开发、成本降低,便于针对特定应用定制等优势、具有较高的工程应用参考价值,流水线食品辨别系统拥有广阔的应用空间。
参考文献
[1].杜文略,刘建梁,沈三民等.基于FPGA的运动目标检测系统设计[J].电子技术应用,2014,40(11):36-42.
[2].张震.基于FPGA的USB3.0高速图像采集系统设计与图像特征提取算法研究[D].西安电子科技大学开发板的摄像头采集与处理系统实验设计与实现[J].计算机教育,2018(4):23-26.
[3].何宾,张艳辉.Xilinx Zynq-7000嵌入式系统设计与实现[M].北京:电子工业出版社.2016.
[4].吴长冶.食品(虾仁)分拣系统中的图像处理算法的研究[D].南京理工大学.2012.
[5].李明.运动食品机器视觉的识别与定位技术的研究[D].哈尔滨商业大学.2014.
[6].胡健.基于Zynq的智能相机图像处理流水线程序优化与实现[J].通信设计与应用.2017(10):3-4.
作者简介
王明全(1973-),男,博士,讲师,主要研究方向:信号与信息处理.
本文来源于科技期刊必威娱乐平台 2019年第6期第41页,欢迎您写论文时引用,并注明出处
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码