基于高通滤波的马铃薯机械损伤机器视觉检测
2017-12-16许伟栋赵忠盖
许伟栋,赵忠盖,刘 飞
(江南大学 轻工过程先进控制教育部重点实验室,江苏 无锡 214122)
基于高通滤波的马铃薯机械损伤机器视觉检测
许伟栋,赵忠盖,刘 飞
(江南大学 轻工过程先进控制教育部重点实验室,江苏 无锡 214122)
马铃薯机械损伤检测是实现马铃薯自动化分级的必要步骤。为了克服人工检测方法低效且易受主观因素影响的缺点,提出了一种基于高通滤波的机器视觉检测方法。首先,根据马铃薯检测的需求,采集图像;然后,利用H分量图像分割算法得到马铃薯灰度图;接着,构造高通滤波器,通过与快速傅立叶变换后的马铃薯灰度图做卷积,得到高频部分;最后,通过Blob分析筛选得到目标区域。实验结果表明:该方法能够较准确识别马铃薯机械损伤缺陷,总识别率达95%。
马铃薯;机械损伤;视觉检测;高通滤波
0 引言
我国是世界上马铃薯产量最大的国家。作为全球第四大重要的粮食作物,马铃薯广泛采用机械化收割,受收割条件的限制,机械损伤不可避免,大大影响了马铃薯的外观品质及其销售价值。据调查,年产值为25 亿美元的马铃薯加工业每年因机械损伤会损失 3 亿美元[1],可见对加工业而言,快速、准确地剔除缺陷马铃薯对提高利润、降低成本具有重要意义。
传统手工检测方法缺乏标准化,而且效率低、误差大,检测结果参差不齐,难以满足日益严格的生产要求。随着科学技术的飞速发展,先进的无损自动检测技术,如超声波技术、近红外技术等陆续被应用到食品缺陷检测中。其中,机器视觉因其速度快、信息量大、功能多等优点,受到了广泛的关注[2]。
孔彦龙等针对马铃薯质量与形状检测分级,利用区域不变矩参数和神经网络成功检测并区分了马铃薯的质量和形状,准确率达96%[3]。郝敏等针对马铃薯薯形分类问题,提出了基于Zernike矩阵的检测方法,畸形与正常马铃薯检测率分别为93%和100%[4]。Gamal ElMasry等提取了马铃薯的8个形状参数,并结合傅里叶变换,分拣了规则和不规则马铃薯[5];但是,三者均未对马铃薯表面缺陷进行检测。张宝超等针对马铃薯绿皮缺陷问题,提出了以颜色特征分析为基础,利用RGB空间特征,结合阈值选取的马铃薯绿皮缺陷检测方法,准确率达93%[6],但并未对马铃薯进行分类。Razmjooy N等根据正常与缺陷马铃薯的像素颜色不同,利用多层感知器对马铃薯缺陷进行了检测[7]。汪成龙等针对马铃薯表面牙眼和凹凸不平对马铃薯机械损伤检测存在影响的问题,利用主成分分析、等距映射和局部线性嵌入3种流形学习算法,并结合支持向量机成功对马铃薯进行了分类[8]。刘韦根据马铃薯R、G、B颜色特征并结合形态学操作成功检测了马铃薯机械损伤[9],但存在准确率不够高的问题。郁志宏则利用hough变换来检测具有直线型机械损伤的缺陷马铃薯[10];但是,马铃薯机械损伤并不都是直线型,该方法对于非直线型的机械损伤检测效果不理想。本文针对马铃薯机械损伤问题,利用H分量图像分割算法得到单个马铃薯区域,然后通过频域处理得到图像高频部分,最后通过Blob分析筛选得到目标区域。实验结果表明:算法实时有效,能检测各类形状的机械损伤,对实现马铃薯缺陷自动化检测具有指导意义。
1 机器视觉系统与实验过程
1.1 硬件部分
本实验的机器视觉系统由步进电机、Basler工业相机(型号为aca1300-30gc)、环形白色光源、光源控制器、腾龙镜头、图像采集箱、研华工控机、显示器(型号为DELL-E7400)、传感器及皮带轮等组成。
图像采集过程:测试马铃薯在传送带上从左向右水平传送,进入采集箱后,光电传感器发出脉冲信号,工控机控制相机拍照。其中,无损伤马铃薯任取一面,缺陷马铃薯选择损伤面作为检测区域;图像分辨率为512×512,存储格式为tiff。
1.2 软件部分
本实验采用Halcon 11.0和Microsoft Visual Studio 2010混合编程,实现对马铃薯机械损伤的缺陷检测。
1.3 实验过程
机器视觉系统简图如图1所示。
1.相机 2.镜头 3.环形光源 4.灯罩箱
考虑到实验系统,设计图像处理流程如图2所示。
图2 实验流程图
马铃薯区域分割的目的是去除皮带轮等背景,得到单一的马铃薯图片;DoG处理中高斯滤波具有较好的平滑性,用来得到图像中的高频部分(即马铃薯机械损伤区域),是本文的关键步骤;Blob分析将去除非损伤区域的高频部分,只留下机械损伤区域;最后,用不同颜色将所得结果可视化。
2 马铃薯区域分割
图像中的皮带轮等背景对后续马铃薯的分割有较大的干扰,为了能更精确地检测缺陷,且使算法更有系统性,提取单个马铃薯区域非常必要。
2.1 算法简介
在图像处理中彩色空间是人为规定的一种描述颜色的规则。RGB模型是一个三维笛卡尔坐标系统。灰度等级沿着黑白连线分布,其他颜色分布在立方体表面或其中,均由RGB三色按一定比例混合得到,该模型适用于颜色生成。HSI模型是色调、饱和度及亮度模型,能更好地适应实际上人解释颜色的习惯。色调是指感知的颜色,饱和度是指相对的纯净度,亮度体现了无色的强度概念。
RGB像素的色调分量为
(1)
其中
(2)
饱和度分量为
(3)
强度分量为
(4)
由于H分量图像前后背景灰度对比度明显,本文采用基于H分量(色调)的分割方法。
2.2 算法步骤
首先,将原图像分解,得到R、G、B3个通道的图像,如图3(a)所示;然后,将RGB各通道图像按式(1)~式(4)转换到HSI彩色空间模型,得到H、S、I等3个通道的图像。其中,H通道图像如图3(b)所示,记为fH(x,y)。接着,进行阈值处理:分析H通道图像的灰度直方图,发现皮带轮背景灰度值主要分布在71~193之间,因此采用双阈值处理分割出背景区域,如图3(c)所示;算法公式如式(5)所示,阈值处理结果如图3(c)所示,记为A(x,y)。
(5)
其中,g[fH(x,y)]为fH(x,y) 的像素值。
分析图3(c)可知:通过形态学补集处理能近似得到单个马铃薯区域,按下式求图3(c)在图3(a)中的补集,近似得到单个马铃薯区域,如图3(d)所示。
(6)
式中 ω—图3(a)中的像素点。
最后,由于颜色不一致,阈值处理中得到的是离散二进制图像,即会有个别图3(d)中的像素点被选中。因此,对图3(d)进行形态学区域填充,最终得到完整马铃薯区域,如图3(e)所示。区域填充算法是基于集合的膨胀、补集和交叉运算[7],该算法在迭代步骤k,当Xk=Xk-1时终止。公式为
Xk=(Xk-1⊕M)∩Nc(k=1,2,3...)
(7)
式中 M—一系列的边界;
N—一个结构元素。
图3 马铃薯区域分割图
3 DoG处理
空域和频域处理是图像处理中的两大方法:空域处理是指直接对原始的像素空间进行计算;而频率处理则把图像变换到频域,再做滤波等相关处理,最后变换回空域。有些在空域处理中无法达到的效果,在频域中会很容易实现。
在实验初期的空域处理中,由于阈值范围选取的局限性及误检区域过多,导致算法无法满足批量马铃薯的检测要求。本文基于频域处理提出一种基于高斯函数差(DoG)与二维离散快速傅里叶变换(FFT)的图像分割算法(简称DoG-FFT分割算法),来得到图像中的高频部分。
3.1 算法简介
图像的频率是表征图像中灰度变化剧烈程度的指标[11]。在图像处理中,常常需要提取灰度变化剧烈或者变化缓慢的地方。图像的细节和轮廓边缘都是灰度突变区域,是频域中的高频分量。
高斯滤波是一种线性低通滤波器,具有很好的平滑性,是图像处理中运用最多的滤波器之一。图像处理中,高斯滤波一般有两种实现方式:一是用离散化窗口滑窗卷积,另一种通过傅里叶变换。其中,傅里叶变换算法计算简单,且易于实现,本文选用后者。
空间域和频率域滤波通过卷积定理相互转换:时域上的卷积等于频域上的乘积。将马铃薯灰度图和滤波器通过FFT变换到频域后,直接将图像相乘,再变回空域即可完成滤波。
由马铃薯图像可知:缺陷区域是灰度突变区域,属于高频部分,因此本文用高斯函数的差构造一个高通滤波器[11]来增强所需要的区域。滤波器公式如式(8)所示,且必须满足A≥B,σ1>σ2。
(8)
式中 D(u,v)—频域矩形中点(u,v)距离矩形中心的距离;
σ—高斯滤波器的带宽,值越大锐化效果越好。
3.2 算法步骤
首先,为了减少算法运行时间,将单个马铃薯图灰度化,得到f(x,y)图4(a)所示。转换公式为
f(x,y)=0.2989·R+0.587·G+0.114·B
(9)
式中 R、G、B—图3(e)中各像素点对应的红、绿、蓝分量像素值。
然后,用FFT将图4(a)转换到频域中,得到F(u,v)。转换公式为
(10)
式中 f(x,y)—大小为M×N(512×512)的马铃薯灰度图像。
接着,根据滤波器公式,将两个以图像形式显示的高斯函数做差,得到滤波器的频域图像H(u,v),如图4(b)所示。做差公式如下,经实验确定滤波器公式中参数σ1为10、σ2为1。
g[H(u,v)]:=(g1-g2)·Mult+Add
(11)
式中 g1、g2—两个高斯函数图像的像素值;
Mult—乘数,取为1;
Add—加数,取为0。
再将F(u,v)与H(u,v)在频域中相乘,即空域中的卷积,得到F′(u,v),如图4(c)所示。乘法公式为
g[F′(u,v)]=g3·g4·Mult+Add
(12)
式中 g3、g4—F(u,v)与H(u,v)的像素值;
Mult—乘数,取为1;
Add—加数,取为0。
最后利用二维离散傅里叶变换将F′(u,v)转回到空域中,得到滤波后的马铃薯图f′(x,y),如图4(d)所示。变换公式为
(13)
图4 频域处理过程
4 Blob分析
Blob分析是图像处理中使用较频繁的一种方法。基本思想是:根据灰度值来识别一幅图像中像素有关联的物体。本文利用Blob分析来去除非损伤区域的高频部分,只留下机械损伤区域。
4.1 算法简介
在图4(d)中,经过滤波后高频部分灰度值较大,通过分析其灰度直方图,选用双阈值分割算法将高频部分筛选出来。此步骤之后,机械损伤区域已经提取出来,但还存在一定的误检区域,可根据目标区域的相关特征进行处理将其余高频区域去除。常用的区域特征有面积、圆度、离心率及完整度等。根据划痕区域与误检区域面积相差较大及马铃薯边界近似圆的特性,选择面积与圆度为特征来进行选。其中,以区域边界点到区域中心点距离的方差来度量圆度。
4.2 算法步骤
首先,对图4(d)采用双阈值处理,得到高频区域,并求取连通域,如图5(c)所示。实验中,由灰度直方图确定阈值为8.28和65.66,算法公式为
(14)
为了去除不需要的区域,根据圆度特征对图5(a)进行区域筛选,得到符合圆度范围的区域,结果如图5(b)所示。根据特征直方图,圆度阈值范围确定为0.34~0.51。
最后,根据面积特征对图5(b)进行筛选。去除一些面积较小的区域,并最终得到机械损伤区域,结果如图5(c)所示。根据特征直方图,面积阈值范围确定为800~20 000。
图5 Blob分析
5 结果与分析
为了检验本文算法的系统性与准确性,共挑选30个正常马铃薯和30个具有代表性的缺陷马铃薯,对马铃薯的正反两面均拍摄图片,累计120张样本图。由于算法系统性的要求,各步骤中所涉及阈值设定完后均未改变。实验检测结果如表1所示。
表1 实验检测结果
由表1可知:正常马铃薯识别率为93.3%,机械损伤马铃薯识别率为96.7%,总识别率为95%。导致误检的原因可归纳如下:
1)一些损伤区域未连通,虽然在阈值处理中筛选出来,但在面积选择中不在阈值范围内,被剔除。
2)一些马铃薯表面携带暗黑色条纹或者凹的沟槽,会被检测为缺陷区域。
3)马铃薯表面薯皮裂开覆盖缺陷区域,将会导致误检。
4)实验中发现:马铃薯存放时间长短会导致缺陷区域颜色的偏差,在一定程度上会影响实验的准确率。
6 结论
本文提出了一种基于高通滤波的马铃薯机械损
伤机器视觉检测方法,实验证明该方法切实可行。由于实验装置的局限,无法获得马铃薯的全局图像,这也是需要改进的不足之处。在下一步的研究中,将进一步提高算法的准确性并提取缺陷的特征参数,为马铃薯的分类做准备。
[1] 康璟,李涛,王蒂,等.马铃薯收获中机械损伤的分析与思考[J].农业机械,2013(10):137-139.
[2] Dacal-Nieto A,Vázquez-Fernández E,Formella A,etal.A genetic algorithm approach for feature selection in potatoes classification by computer vision[C]//Industrial Electronics,2009.IECON'09.35th Annual Conference of IEEE.Portugal:IEEE,2009:1955-1960.
[3] 孔彦龙,高晓阳,李红玲,等.基于机器视觉的马铃薯质量和形状分选方法[J].农业工程学报, 2012,28(17):143-148.
[4] 郝 敏,麻硕士,郝小冬,等.基于Zernike矩的马铃薯薯形检测[J].农业工程学报, 2010,26(2):347-350.
[5] Elmasry G, Cubero S, Moltó E, et al. In-line sorting of irregular potatoes by using automated computer-based machine vision system[J].Journal of Food Engineering, 2012, 112(1-2):60-68.
[6] 张宝超,郁志宏,郝慧灵,等.基于颜色距离算法的绿皮马铃薯检测方法研究[J].农机化研究, 2014,36(5):201-204.
[7] Razmjooy N, Mousavi B S, Soleymani F. A real-time mathematical computer method for potato inspection using machine vision[J].Computers & Mathematics with Applications, 2012,63(1):268-279.
[8] 汪成龙,李小昱,武振中,等.基于流形学习算法的马铃薯机械损伤机器视觉检测方法[J].农业工程学报, 2014(1):245-252.
[9] 刘韦.基于机器视觉的马铃薯表面缺陷检测算法的研究[D].大庆:黑龙江八一农垦大学,2013.
[10] 郁志宏,王福香,张宝超.基于 Hough 变换的马铃薯机械损伤检测研究[J].农机化研究, 2015,37(10):185-188.
[11] 冈萨雷斯(Gonzalez, R.C.),伍兹(Woods).数字图像处理[M].北京:电子工业出版社,2013.Abstract ID:1003-188X(2017)10-0053-EA
Machine Vision Detection of Potato Mechanical Damage Based on High Pass Filter
Xu Weidong, Zhao Zhonggai, Liu Fei
(Key Laboratory of Advanced Control for Light Industry Processes, Ministry of Education,Jiangnan University, Wuxi 214122, China)
Potato mechanical damage detection is a necessary step to realize the automatic classification of potato. In order to overcome the disadvantages of the artificial detection methods which are low efficiency and easy to be subjectively influenced, this paper proposes a novel method of machine vision detection based on high pass filter. First, images are collected according to the requirement of potato detection. Then, the H component image segmentation algorithm is used for the gray map of potatoes. Afterwards, we construct a Gauss high pass filter to obtain high frequency region by performing convolution with the fast Fourier transform of the gray image of the potato. Finally, the target area is obtained through the Blob analysis. Experimental results show that the method can accurately identify the mechanical damage of potato, the total recognition rate may reach 95%.
potato; mechanical damage; vision detection; high pass filter
2016-08-16
国家自然科学基金项目(61573169);江苏省六大人才高峰项目(2014-ZBZZ-010)
许伟栋(1993-),男,江苏无锡人,硕士研究生,(E-mail) 1247621673@qq.com。
赵忠盖(1976-),男,湖北荆州人,副教授,硕士生导师,(E-mail)gaizihao@jiangnan.edu.cn。
S532;TP391.41
A
1003-188X(2017)10-0053-05