基于FPGA 的数字喷码识别产品取样系统研究*

2021-07-08 14:19曾令超曹玉华张名业钟小华
南方农机 2021年12期
关键词:数码管电磁阀灰度

曾令超,曹玉华,张名业,钟小华

(1.广东省净菜保鲜包装装备工程研究中心,广东 广州 510450;2.广东白云学院,广东 广州 510450)

0 引言

随着工业自动化的发展和智能制造的广泛应用,通过识别喷涂数字标签对产品进行特定分类,识别产品喷码不良剔除次品,识别产品生产时间进行抽样,是非常重要生产的工序[1]。此工序需要执行设备具有高速的图像处理能力,且处理速度高于产品的生产速度[2],以达到最大化生产效率的目的。

目前,传统数字识别装置的识别算法主要采用机器学习和局部特征匹配两种。机器学习与特征匹配相比,精度较高,适应性较强,但识别速率较低,需要更高的硬件性能支持。西安理工大学研制的显示屏数字识别系统,通过数字边缘灰度轨迹和穿线法,识别速度快且精度较高,但并不能推广至其他样式的数字识别[3];南昌航空大学研制的嵌入式智能视觉数字识别装置,采用字符分割归一化、模板匹配的方法,能适应不同亮度的场景,但识别前需要提前采集模板图片的数据[4];集美大学研制的仪表数字字符识别装置,采用连通域、灰度关联法,通过图像的特征集与提取图像进行比对,实现数字识别,对于不完整和倾斜的数字识别准确率高,但效率较低[5];河北工业大学研制的喷码字符检测系统,采用脉冲耦合神经网络算法进行识别数字,具有鲁棒性和识别精度较高的特点,但仅通过仿真验证,尚未进行实际测试[6]。

针对目前应用的数字识别系统在精度、效率方面存在的不足,基于FPGA 芯片图像数字信号处理高效率的特点,课题组设计了一套新型产品喷码数字识别系统,采用二值化投影分割与特征编码的方法,最终实现对工厂生产线产品喷码编号日期的快速取样识别。

1 系统组成与工作原理

数字喷码识别的产品取样系统由FPGA 控制芯片、电源驱动板LM7812、输入/输出设备组成,系统框架图如图1 所示。输入设备有OV5640 摄像头模块、按键、光电传感器,输出设备有LCD 屏幕、数码管、执行元件电磁阀,使用板载SDRAM 缓存图像。当需要取样时按下按键,FPGA 将记录当前时间,OV5640摄像头开始采集生产线上产品的图像,通过输入行场同步信号对数据线上的图像数据进行解析,然后传递到SDRAM 控制模块中存储。FPGA 通过读取SDRAM 数据进行图像处理模块,实现对图像的实时处理和数字识别,并发送结果显示在LCD 屏幕和数码管上。当识别出喷码上的时间为取样时间时,最后通过电磁阀控制气缸完成取样。

图1 数字喷码识别装置控制系统结构图

2 识别方法

数字识别算法是系统功能实现的关键与核心,本文设计的识别算法流程图如图2所示。

图2 数字识别算法流程图

2.1 平滑卷积

为了降低OV5640采集图像中的高频噪音信号,提高图像信噪比,本文采用高斯平滑卷积算法[6-7]进行降噪,得到平滑图片g(x,y),算法满足:

其中,f(i,j) 代表图像数 据 在x=i,y=j 处的RGB三色组成的向量值,为二元高斯函数,满足:

由于图像数据需要缓存,且顺序要保持不变,系统使用了FIFO来存储图像数据。从相邻的三行中每行都抽出三个数据,再通过使用三个FIFO 读出SDRAM 中的三行相邻图像,分别为fifo_CA1、fifo_CA2、fifo_CA3,由此组成可满足卷积算法的相邻像素区域,如图3所示。

图3 SDRAM 读取数据示意图

进行平滑算法前后得到的结果,如图4所示,可以看出卷积后的图像中噪音水平降低。

图4 平滑卷积结果

2.2 二值化处理

为了更好地提取图像信息,凸显图像中的数字特征,需先提取图像的明亮度信息。系统采用OV5640 中的RGB转换YCbCr 模块(rgb2ycbcr 模块接口如图5 所示)。YCbCr色彩空间是针对RGB 色彩空间所作的编码[8-9],Y表示明亮度,其数值体现光非线性的浓度,可通过式(3)进行色彩空间转换,得到灰度值Y。

图5 rgb2ycbcr 模块接口

在OV5640 芯片上进行由RGB 格式转换为YCbCr 格式的过程中,需要先将RGB565 转换为RGB888[10]。通过对RGB565格式进行高位填充低位,得到有一定的线性补偿的RGB888格式,其最终结果在精度上不会有太大的丢失。

为了便于数字分割,采用阈值二值化的方法进行图像数据处理。将灰度图像输入的像素的灰度值Y(程序中color)在模块中与阈值t_color 比较后,采用式(4)的算法,将[0,255] 的数据映射到{0,1} 中,最终输出二值化的图像monoc(x,y),如图6 所示。

2.3 二值化处理

2.4 特征编码

3 系统测试及结果分析

在生产中使用的直流电电压为24 V,而在本系统中作为光电传感器和电磁阀两种元件的供电电压,开发板EP4CE10F17C8的供电为直流12 V,而控制信号为5 V,因此直流电电压通过LM7812稳压芯片把外部24 V直流电源降压至12 V,最大输出电流为1.5 A。识别的目标为牛奶饮品包装上的喷码数字,通过FPGA 板上的按键调节阈值t_color,以获取最适合当前环境的分割结果。测试运行时的实际资源占用情况,如表4所示。

表4 FPGA 资源使用情况

识别算法的时间复杂度直接影响识别效率和显示结果的刷新率,通过QuartusⅡ13.1 对识别算法的仿真模拟,得到平滑卷积、二值化处理、投影分割和特征编码函数模块的运行时间占总时间比例,如图9所示。

图9 各识别模块函数占用时间比例图

由于OV5640采集的原始数据量最大,卷积运算涉及二重循环、乘除运算,时间复杂度为O(n2),对算法效率起决定性影响。从图9 中看出,平滑卷积占用的时间达到90%以上。通过Quartus Ⅱ中的实例加载器[12]得到卷积FIFO 缓存过程和卷积FIFO运算过程数字波形图像,如图10、图11所示。缓存过程包括向SDRAM 发送读请求sdram_rd_req,三个卷积FIFO 读取相邻三行像素值,共耗时936 个时钟周期;卷积FIFO 运算过程包括输出端向卷积FIFO 发出请求CA_ACK,FIFO卷积部分运算,FIFO输出到图像输出,共耗时2个时钟周期。

图10 卷积FIFO 缓存过程数字波形图

图11 卷积FIFO 运算过程数字波形图

在图像识别完成后,识别的数字通过数码管显示。数码管模块中输入的24 位以显示识别结果(图12 为生产时间喷码数字识别结果),由于数码管不能显示“:”,最终显示用E代替。

图12 系统测试结果

4 结论

本设计采用Altera公司的Cyclone IV系列的FPGA开发板EP4CE10F17C8,应用OV5640摄像头模块、按键、光电传感器、LCD 屏幕、数码管、执行元件电磁阀,通过对图像的平滑卷积、二值化处理、投影分割和特征编码,实现具备自动化采集图像、数字识别、识别结果显示及声音提醒等功能的数字识别流水线产品取样系统。对饮品喷码的识别测试结果显示,该系统能实现快速自动化喷码识别。

猜你喜欢
数码管电磁阀灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于ANSYS Maxwell的比例电磁阀隔磁环仿真分析与优化
低速机电控喷油器电磁阀换热特性计算
物理项目教学设计,用单片机控制四位数码管显示
基于51单片机的分数计数器设计
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
Arduino编程
MC9S08FL16单片机数码管静态显示分析