APP下载

基于DSP和FPGA的图像选别系统设计

2017-11-01赵志衡张懿夫

计算机测量与控制 2017年8期
关键词:像素点轮廓滤波

赵志衡, 宋 欢,马 涌,张懿夫

(哈尔滨工业大学 电气工程及自动化学院,哈尔滨 150001)

基于DSP和FPGA的图像选别系统设计

赵志衡, 宋 欢,马 涌,张懿夫

(哈尔滨工业大学 电气工程及自动化学院,哈尔滨 150001)

色选设备是集光、电、气、机及图像处理为一体的高科技综合技术;基于DSP和FPGA的图像选别系统具有精度高、处理速度快、集成度高、功耗小等优点;首先介绍图像选别系统的硬件组成,然后以破损花生检测为研究对象,通过MATLAB编程研究不同处理算法的优缺点,最后移植到DSP上测试编写的程序,提出破损花生的检测算法,实现了依据破损面积大小对花生的选别;在花生筛选中,除了破损花生检测,还有花生的大小检测,因此在上述基础上进一步提出花生几何参数的计算方法。

机器视觉;图像处理算法;图像选别系统

0 引言

机器视觉是一门交叉学科涉及光学成像,计算机技术,模拟/数字视频技术,图像处理技术,自动控制,模式识别等诸多领域[1-2]。机器视觉系统首先通过工业相机采集被测物体的图像,然后处理分析图像数据,并对有用的信息提取和加以理解,最终实现检测和控制物体的功能。色选机是采用色选技术的一种新型农副产品加工器械[3],它利用农副产品不同的光学特性,在大量的物料中将颜色异常、内部变质或表面有缺陷的疵品和杂质检测出来,并且能够自动的进行分选剔除[4]。

数字图像处理技术包括图像获取和输出、图像编码和压缩、图像增强和复原、图像变换、图像分割、图像识别和检测等技术[5]。在嵌入式技术的不断发展下,嵌入式的新型数字采集系统具有高精度、高处理速度的优点,使实时条件下目标的检测、提取、识别、跟踪技术准确性更高,实时性更强。

本文研究的基于DSP和FPGA的图像选别系统,以花生为研究对象,实现花生破损区域的选别,对于嵌入式图像采集系统在工农业筛选领域的应用具有参考价值。

1 基于DSP和FPGA图像选别系统的硬件

结构图像选别系统的硬件结构如图1所示。其中工业CCD相机采集物料像素信号,将图像数据经Camera Link接口传输至FPGA。FPGA控制数据流时序和视频数据的缓存及显示。

图1 图像系统硬件结构图

DSP图像处理电路接受FPGA传递的视频数据,并通过外扩RAM对一帧视频数据进行存储,然后通过图像处理算法分析得到的图像数据,找到不合格的对象,并发出气枪驱动信号。气枪驱动板则根据输出的气枪驱动信号发出标准的气枪驱动电压波形给气枪,控制气枪动作吹出残次品。

本系统中相机选取DALSA公司的彩色线阵CCD相机,相机的行像素点为2 048个,数据输出速率为40 MHz。FPGA芯片选用了Xilinx公司Spartan-3E系列的XC3S500E,为实现图像数据的采集及显示,在以FPGA为核心的硬件平台上,需经过软件编程实现FPGA与DSP通信接口设计,VGA视频行、场同步信号生成,在FPGA内部建立双口RAM,双口RAM在数据存储过程中输入输出时序如图2所示,双口RAM在图像显示过程中输入输出时序如图3所示。

图2 数据存储时双口RAM输入输出时序图

图3 图像显示时双口RAM输入输出时序图

DSP芯片选用TI公司C6000系列的处理芯片TMS320DM6437,外扩32 M*32位的DDR存储器,工作时钟为135 MHz。DSP的EMIF接口数据总线位宽为8位,系统通过EMIF接口外扩4 MB的Flash,同时DSP与FPGA通过EMIF接口传送图像数据。

2 图像处理算法研究

本系统图像算法研究以识别破损花生为对象,通过仿真软件MATLAB研究不同的图像处理算法,包括滤波算法、形态学算法、轮廓提取算法和几何参数提取算法。根据识别的效果和处理的时间,选取合适的算法,达到计算花生破损区域面积,识别不合格花生的目的。最后根据花生轮廓计算了花生的几何参数,为花生形状识别和分级奠定基础。在破损花生的检测过程中,首先需要根据统计分析人工设定传送带、花生破损区域的RGB数值,正常花生仁的RGB数值以及传送带的RGB数值。色选系统根据设定的颜色识别背景,正常花生和破损区域。然后二值化图像,识别图像中每粒花生的轮廓,计算每粒花生中破损区域的面积,如果面积大于预设数值,则标记不合格的花生,并发送气枪驱动信号。

2.1 花生图像RGB颜色处理

在数字图像处理中,常用的是面向硬件的RGB模型,该模型广泛应用于彩色监视器和视频摄像机中;在RGB模型中,每种颜色由红、绿、蓝三种色彩组合而成。

图4(a)是拍摄的包含表皮破损的花生图片,图片尺寸为2 048×1 800,传送带背景为白色。通过对花生表皮颜色和破损区域的RGB值进行统计分析,可得到破损区域RGB值的范围:R[200,240],G[150,200],B[120,170],根据背景色白色的RGB值,去除图像的背景,并将破损区域标识出来,得到图4(b)。

图4 花生图像RGB颜色处理

2.2 二值化花生图像

二值图像则是指图像中像素点数值只有两种可能的0和1,不是黑就是白。破损花生检测过程中,只需要获取花生外围轮廓,来计算花生的几何参数,而不需要花生内部纹路信息。所以图像处理过程中,先通过RGB数值的统计分析,标识花生图像破损区域。然后去除背景,获得二值化后的花生图像,可以减少数据处理量,加快运算速度。

2.3 改进的中值滤波

在工业相机成像过程中,由于拍摄的环境因素及传感器本身的影响,图像中往往含有各类噪声,图像处理算法的运行效果会受到影响。因此,为了消除图像中噪声的干扰,改善图像的质量,需要通过滤波算法来处理图像。常见的图像噪声有两种,一种是椒盐噪声,另一种是高斯噪声。椒盐噪声是图像传感器,传输信道,解码处理等产生的亮暗点噪声,往往由图像切割引起,以脉冲的形式出现。椒盐噪声分为盐噪声(Salt Noise)和胡椒噪声(Pepper Noise),盐噪声属于高灰度噪声;胡椒噪声属于低灰度噪声,呈现在图像上就是亮暗相间噪点。

常用的图像滤波算法可分为两类,空域方法和频域方法。空域滤波是对目标像素点的邻域内所有像素执行的预定义操作的结果,滤波后的计算值来替代目标像素点。频域滤波则是通过傅里叶变换处理图像数据,并剔除特定的频率分量,实现噪声的滤除。

中值滤波算法是将邻域中的像素点按数值的大小排序,用排序在中间的数值来替代该像素点。中值滤波的算法简单,能够有效的滤除图像中的椒盐噪声,同时不明显改变物体原来的细节特征,计算公式如(1)所示:

g(x,y)=med{f(x-k,y-l),(k,l∈W)}

(1)

其中:f(x,y)、g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为3×3,5×5的区域。

图5 改进中值滤波后的花生图像

本文为了减少计算复杂度,对花生图像先做二值化处理,像素点取值仅有0和1两种可能。在中值滤波的模板中,则不需要排序,通过求和可得到中值。当9个数和小于5时,则中值为0,否则为1。改进的中值滤波的结果如图5所示,在MATLAB软件下的计算时间分别为0.080 s和0.081 s。

2.4 形态学运算

在图像处理时,由于滤波算法的不足,图像中往往含有一些噪点,会影响边缘检测的处理结果。所以需要通过开运算和闭运算处理,来平滑物体轮廓,去除杂点[6]。

膨胀运算能够使物体的边缘轮廓向外扩张,将轮廓周围的点合并到物体中,使物体的面积增大。它通过固定的结构元素去扫描图像中的每一个像素点,并与图像做或运算,如果都为0,图像该像素点值为0,否则为1。膨胀运算可以消除图像中的孔状噪声,同时由于二值化和滤波可能导致物体被分割为不连通的区域,膨胀运算能连接它们。

腐蚀运算能够使物体的边缘轮廓向内收缩,物体的面积变小。它通过选取合适的结构元素,扫描整个图像。结构元素与图像做与运算,如果结果都为1,图像该像素点值为1,否则为0。腐蚀可以去除噪声面积小于结构元素的物体。在拍摄时如果不同物体相连,图像二值化后两个物体为连通的区域,腐蚀运算能分开两个物体。

开运算首先对图像进过腐蚀运算,之后进行膨胀运算,一次开运算的效果即滤除背景中的噪点并保证花生内部基本不变,其运算结果如图6所示。如图7是对开运算后的花生图像做闭运算处理结果。膨胀运算会消除图像内部的空洞,平滑物体边界并使物体面积变大。最后通过腐蚀运算,能够得到去除大部分噪点,平滑目标对象轮廓边缘,使花生面积缩小到和初始几乎一样。

图6 花生图像开运算结果

图7 花生图像闭运算结果

2.5 图像轮廓跟踪

花生图像经过预处理以后,可以得到滤除噪声的花生二值图像,之后采用8邻域链码来处理图像得到花生仁的轮廓和位置。即从物体的边界上任意选取某个点的坐标开始,采用顺时针检索方向,首先寻找目标左下方第一个轮廓点,以此作为搜索的起点,搜索以它为中心的8个相邻的像素点。定义初始搜索的方向为左上方,如果发现是黑点,则为第二个边界点,如果不是,则顺时针继续搜索。若没有发现黑点,则此点为孤立点。继续采用同样的方法,搜索下一个物体的轮廓,由于整个搜索过程中,始终沿着顺时针方向检测,可确保轮廓检测不进入物体的内部。当搜寻的点返回起始点时,则检测完成,将获得的轮廓坐标放入一个数组中,就可以获得物体的外围轮廓。

经过前面的滤波和形态学处理后,对二值化的花生图像进行边界轮廓提取,得到的结果如图8所示,在Matlab下计算时间为T=0.058 s。

图8 花生仁边界曲线

2.6 连通域检测

经过预处理后的花生二值化图像,花生所在和黑色部分即连通区域。在花生内部区域的破损面积计算时,需要识别花生颗粒并编号。经过前面的滤波和形态学处理后,对二值化的花生图像进行连通域检测,连通区域检测采用Two-Pass算法,只需对扫描两次图像即可得到最终结果,第一次扫描时:访问图中的像素点,当像素点值为1时,判断邻域所有点的像素值,如果都为0则赋予该点一个新标号。如果邻域中有像素点值不为0,则把邻域中最小的标号赋予该点,同时将邻域中的不同的标号视归为同一类。第二次扫描:把同一类的标号值都用其中的最小值代替,从而实现连通域的标记。该算法找到所有的连通区域,并给每个连通域赋予唯一的标识。经过前面的滤波和形态学处理后,对二值化的花生图像进行连通域检测,得到的结果如图9所示,在Matlab下计算时间为T=0.021 s,时间比轮廓检测要短,图中不同的花生通过不同的灰度值标识。

图9 连通域标记算法示意图

3 破损花生检测算法移植和测试

通过前面的分析,根据图像颜色处理、中值滤波、形态学处理和连通域算法,得到了破损区域标识的图像以及识别连通的花生区域,计算每个花生的破损点数,则可得到破损区域的面积。花生破损面积计算的流程图如图10所示。

图10 花生破损区域检测流程图

图像处理的结果如图11所示,此方法计算了图像中每个花生内部的破损区域面积,计算的结果如表1所示,破损区域面积的阈值设置为500个像素点,则编号为2、3、5、6、7的花生都不合格,气枪的动作范围为破损花生的整个区域。同时,花生轮廓检测的实现,也为色选系统今后实现花生几何特征参数的提取,花生分级实验实现奠定了基础。

表1 花生破损区域面积(单位为像素点)

图11 破损面积计算法结果

4 花生几何参数的计算

根据轮廓检测算法获取的图片中花生仁的轮廓,计算花生的几何特征参数,几何参数反应了花生的形状特征,为之后色选系统移植花生分级等算法奠定了基础。常用的几何特征量有:面积、周长、形心、长轴和短轴。

图9的分辨率为2 048×1 800,根据轮廓上所有点的坐标值及上面的算法来计算花生的几何参数。计算的结果如表2和3所示。

表2 花生形心坐标表 像素点

表3 花生几何参数表 像素点

在不同的生产需求中,可依据上表3中花生的几何参数,对其进一步筛选。

5 结论

本文设计了基于DSP和FPGA的图像选别系统,分析了硬件结构和数据传输的过程,采用仿真工具MATLAB研究了有关的图像处理算法。以破损花生检测为试验对象,分析RGB颜色模型,实现了花生破损区域的识别。改进了中值滤波算法。采用形态学运算,消除了图像中的点/孔状噪声,平滑了物体的边界轮廓。采用8邻域链码算法和连通域检测算法,实现了花生边界轮廓的检测,计算了花生内部破损区域的面积。综上提出了破损花生检测的算法并移植到DSP上进行测试。花生筛选时花生级别也是重要的考虑因素,故本文在最后根据花生轮廓曲线,计算出了花生的几何特征参数,为进一步筛选花生奠定了基础。

[1] 章 炜. 机器视觉技术发展及其工业应用[J]. 红外,2006,27(2):11-17.

[2] 张五一,赵强松,王东云. 机器视觉的现状及发展趋势[J]. 中原工学院学报,2008,19(1):9-12,15.

[3] 林茂先. 新型杂粮色选机的应用[J]. 粮食加工, 2014(10):24-27.

[4] 张 麟. 光电色选机及其应用[J]. 农机与食品机械, 1997(5): 24-27.

[5] 张德丰. 数字图像处理[M]. 北京:人民邮电出版社, 2015.

[6] 刘志敏,杨 杰. 基于数学形态学的图像形态滤波[J]. 红外与激光工程, 1999(4):10-15,33.

Design on Image Sorting System Based on DSP and FPGA

Zhao Zhiheng, Song Huan, Ma Yong, Zhang Yifu

(School of Electrical Engineering & Automation, Harbin Institute of Technology, Harbin 150001, China)

Color sorting technology is a highly-synthesized one connected with light, electricity, gas, machine and image processing. Sorting systems based on DSP and FPGA have many advantages such as high precision, high processing rate, high integration level and low power consumption. It first introduces the hardware structure of the image sorting system, and then uses MATLAB simulation tool to research several images processing algorithms. Finally, it tests the programs of the sorting system on DSP and proposes the broken peanuts detection algorithm. In this way, the selection of peanuts according to the size of damaged area is achieved. Except the detection of damaged peanuts, the target of peanuts screening also includes the size of peanuts. Based on the above, it puts forward the calculation method about the geometric parameters of peanuts.

machine vision; image processing; image sorting system

2016-12-08;

2016-12-29。

赵志衡(1971-),男,黑龙江哈尔滨人,教授,博士研究生导师,主要从事高电压强脉冲磁场和嵌入式系统方向的研究。

1671-4598(2017)08-0123-04

10.16526/j.cnki.11-4762/tp.2017.08.032

TP393

A

猜你喜欢

像素点轮廓滤波
基于局部相似性的特征匹配筛选算法
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
基于5×5邻域像素点相关性的划痕修复算法
基于EKF滤波的UWB无人机室内定位研究
基于canvas的前端数据加密
高速公路主动发光轮廓标应用方案设计探讨
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法