程 磊CHENG Lei
(黄淮学院机械与能源工程学院,河南 驻马店 463000)
在苹果的生长、运输、贮存过程中,由于受到外界环境以及自身因素等各方面的影响,苹果表面会出现如孔洞、病虫、黑点、压伤、刺伤、裂果等各类缺陷,将会严重影响苹果的质量和后期的经济效果[1-2],仅靠人工在高速运行的生产线上直接进行检测无法满足市场需求。
阈值算法(Threshold Algorithm, TA)是比较简单的智能化苹果检测方法。通过阈值将苹果图像缺陷目标和背景划分为不同部分进行分割[3],但是阈值的选择由于涉及到图像整体灰度以及像素性质,对对比度特别高、特别低的苹果图像检测效果差。数学形态算法(Mathematical Morphology Algorithm, MMA)通过腐蚀运算检测出苹果边缘[4],但对苹果图像中的噪声较敏感,容易把噪声检测为苹果边缘点。Prewitt算法对灰度渐变的苹果图像处理效果较好[5],但对灰度幅值较小的边缘点检测存在断开现象。Roberts算法对边缘的定位比较精确[6],但对灰度阶跃较小的苹果缺陷目标边缘定位较弱。
上述文献表明,通过智能算法可提高缺陷的识别效果。但由于大多缺陷果存在多个缺陷,分割阈值不易选择。粒子群具有实现容易、精度高、收敛快等优点,但在搜索后期很容易陷入早熟状态,对粒子群改进可以避免早熟状态发生。
本研究采用基于改进粒子群算法(Improved Particle swarm optimization,IPSO)对苹果表面缺陷进行检测。通过粒子群体适应值方差判断算法粒子群是否陷入早熟收敛,对粒子权重自适应控制,反余弦策略调整加速因子,然后对缺陷分割阈值进行取优,以获得最佳检测结果。
(1)
式中:
ω——粒子的权重;
c1、c2——粒子的加速因子;
参数r1∈[0,1]、r2∈[0,1]。
在粒子群搜索过程中,粒子在相对稳定状态下搜索速度较慢,全局最优点位置变化很小,这样在搜索后期很容易陷入早熟状态,如果不加以改进,粒子难以逃逸局部极小点。
1.2.1 粒子早熟状态判断机制 适应值函数用来评价粒子个体的好坏[8],引导粒子群算法在解空间的搜索方向,计算公式为:
(2)
式中:
m——缺陷目标像素点周围的参考数,m≤8;
(x,y)——缺陷目标像素点坐标;
(xh,yh)——第h个参考节点坐标。
通过粒子的群体适应值方差σ2判断算法粒子群是否陷入早熟收敛的标志:
(3)
式中:
n——粒子总数目;
fi——第i个粒子的适应值;
favg——粒子当前的平均适应值;
f=max{1,max[|fi-favg|]}。
1.2.2 自适应ω控制ω决定了过去速度对当前速度影响的程度,较大ω能够拓宽粒子搜索范围,提高搜索全局性能,但得到精确解较难;较小ω使得局部搜索能力增强,虽然获得精确解,但是消耗时间较多[9],因此通过自适应ω控制起到兼顾全局和局部搜索的作用。
(4)
对每个粒子当前代中的权重ω更新为ω′:
ω′=κ×ω×ζ。
(5)
当ωt,max=ωt,min,则:
(6)
式中:
xtmax、xtmin——更新边界的极值;
vtmax、vtmin——更新的速度最大值和最小值;
ζ——调整因子;
ω0——粒子i的权重初值;
ω′——粒子i的当前权重;
tmax——最大迭代次数。
这样在粒子进行局部最优搜索时,如果粒子搜索到局部最优值,则对粒子当前位置和速度进行更新,从而促进了粒子对全局最优值搜索的能力,提高了搜索精度。
1.2.3 反余弦策略调整加速因子 加速因子c1影响粒子所记忆最好位置对自身个体飞行的程度,c2影响整个粒子群所记忆最好位置对群体飞行的程度[10]。采用反余弦策略来调整加速因子,在群体迭代前期设置比较小的c1、c2值,让粒子能够以较快速度进入局部搜索,后期通过设置较大的c2值,保持粒子群的多样性,扩大搜索空间,反余弦策略调整加速因子过程为:
(7)
输入苹果图像,中值滤波后,采用形态学腐蚀运算获取苹果缺陷区域[11],结构元素选取3 mm × 3 mm黑点块,腐蚀图像将使物体的边界沿周边减少一个像素,令A为图像,B为结构元素,Bz为B平移z个距离后的结果,B′为B关于图像中心点的对称集合:
B′={-b;b∈B}。
(8)
则腐蚀运算的定义:
AΘB′={Z;Bz⊆A}。
(9)
数学形态学提取边界的算子:
ED(A)=A-(AΘE),
(10)
式中:
E——3 mm×3 mm的结构元素;
ED(A)——图像A的边界。
获取腐蚀图像后再用原图像减去腐蚀图像即可获得缺陷区域。
通过边缘定位获得目标区域的精确位置[12],计算公式:
(11)
式中:
xm、ym——目标质心坐标;
xl、yl——第l个像素的坐标;
m——缺陷边缘周围像素的总数,为计算方便,选取8方向像素点即m=8。
设大小为M×N的图像中像素点(m,n)的灰度级为f(m,n),g(m,n)为8方向邻域的平均灰度级[13]。用(a,s)表示二元对{f(m,n),g(m,n)},a,s=0,1,…,L-1,其中r(a,s)为(a,s)出现的概率,L为图像的灰度级,则f(m,n)和g(m,n)的联合概率为:
(12)
分割前后图像信息的差异通过非对称Tsallis交叉熵Df=[DaDs]表示,Da和Ds分别为分割前后图像在a方向和s方向上的交叉熵,在阈值为t′时的交叉熵分割准则函数:
ξ′(t′)=P0(t′)μ0(t′)logμ0(t′)+P1(t′)μ1(t′)logμ1(t′),
(13)
式中:
P0(t′)、P1(t′)——原图像在阈值为t′时缺陷目标、图像背景的先验概率,
μ0(t′)、μ1(t′)——原图像在阈值为t′时缺陷目标、图像背景的灰度均值。
对于8方向邻域平均图像,在阈值为t″时的交叉熵分割准则函数:
ξ′(t″)=P0(t″)μ0(t″)logμ0(t″)+P1(t″)μ1(t″)logμ1(t″),
(14)
式中:
P0(t″)、P1(t″)——8方向邻域平均图像在阈值为t″时缺陷目标、图像背景的先验概率;
μ0(t″)、μ1(t″)——8方向邻域平均图像在阈值为t″时缺陷目标、图像背景的灰度均值。
(t′,t″)=argmin[Da+Ds],
(15)
其中:0≤a,S≤L-1。
经过分割,原图像变成二值图像,然后对二值图像轮廓提取算法,如果原图中有一点为黑,且它的8个相邻点都是黑色时,判定该点是图像的内部点,将该点标记删除。
算法流程:
① 粒子群随机初始化,设置粒子的位置和速度;
② 进行自适应ω控制和调整加速因子操作,更新粒子的位置和速度,计算新一代的粒子群中每个粒子的适应值;
④ 若达到设定的最大迭代次数或Da与Ds之和达到最小值,则停止迭代,进行步骤⑤,否则跳转到步骤②;
⑤ 将得到的最优解作为最优分割阈值。
采用Matlab仿真,设定初始参数:粒子数为160,ω最大为0.9,最小为0.01,迭代最大次数为100,c1最大为1.5,最小为0.04,c2最大为2,最小为0.5,参数r1=0.9、r2=0.5,调整因子ζ为0.98,以Matlab 7.0为试验仿真平台。
对具有缺陷的苹果进行不同算法对比检测分析,缺陷类型包括:孔洞、病虫、黑点、裂果,算法包括:TA、MMA、Prewitt、Roberts、IPSO,见图1。
从图1的对比试验中可以看出,本研究算法可以很好地识别出孔洞、病虫、黑点、裂果缺陷,检测出的缺陷轮廓较为清晰,缺陷边缘能够得到较好的保护,且不受噪声干扰。其他算法检测效果差,不能正确识别出缺陷轮廓边缘,检测结果受到了噪声的影响,因此会检测出很多噪声点的边缘,没有区分缺陷区域和背景。
3.2.1 漏检率测试 为了评价本系统的检测效果,通过漏检率测试指标进行分析,漏检率按式(16)计算:
(16)
式中:
图1 苹果表面缺陷检测分析Figure 1 Detection and analysis of apple surface defects
η——漏检率,%;
U1——未能正确检出的苹果个数;
U2——总苹果数。
数据样本:孔洞苹果数量为1 086个、病虫苹果数量为1 046个、黑点苹果数量为981个、裂果苹果数量为1 165个,漏检率测试对比仿真试验见图2。
从图2可以看出,本研究算法对孔洞、病虫、黑点、裂果缺陷检测的漏检率最小,有助于缺陷苹果识别率的提高。
3.2.2 检测时间分析 对图2中各种算法能够完成各自漏检率所消耗时间分析,其结果见图3。
图2 漏检率测试对比仿真试验结果Figure 2 Missing rate test contrast simulation results
图3 各种算法能够完成漏检率所消耗时间Figure 3 Complete the time consuming of missing detection rate
从图3可以看出,本算法完成各种漏检率所消耗的时间最少,能够解决苹果检测数据处理量大和检测实时性之间的矛盾。
(1) 针对基于智能算法苹果表面缺陷识别过程中存在的问题,本试验提出一种基于改进粒子群算法的苹果表面缺陷识别方法。通过缺陷区域选择、定位、阈值分割,然后用改进粒子群算法获得最优分割阈值。试验结果表明,能够识别各种缺陷,漏检率较低,说明该方法在缺陷苹果识别中十分有效。
(2) 在苹果表面缺陷的分割图像中,存在多个分割阈值,采用改进粒子群算法能够计算出最优分割阈值,避免了非最优分割阈值的存在,大大地提高了识别结果。
(3) 本试验只是针对苹果表面缺陷进行检测,并未对缺陷作进一步分类,这将是今后研究的一个方向。
[1] 程荣花, 马飞, 石梦. 基于颜色特征的苹果表面质量检测系统设计与实现[J]. 辽宁农业科学, 2014(3): 22-24.
[2] 李丽娜, 赵武奇, 曾祥源. 苹果的质构与感官评定相关性研究[J]. 食品与机械, 2017, 33(6): 37-41.
[3] 项辉宇, 薛真, 冷崇杰, 等. 基于Halcon的苹果品质视觉检测试验研究[J]. 食品与机械, 2016, 32(10): 123-126.
[4] 刘燕妮, 张贵仓, 安静. 基于数学形态学的双直方图均衡化图像增强算法[J]. 计算机工程, 2016, 42(1): 215-219.
[5] 唐伟伟, 陆海林, 葛俊祥. 基于Prewitt算子的抗雷达同频干扰法设计与FPGA实现[J]. 科学技术与工程, 2015, 15(27): 42-47.
[6] 文永革, 何红洲, 李海洋. 一种改进的Roberts和灰色关联分析的边缘检测算法[J]. 图学学报, 2014, 34(4): 637-641.
[7] 陈汉武, 朱建锋, 阮越, 等. 带交叉算子的量子粒子群优化算法[J]. 东南大学学报: 自然科学版, 2016, 46(1): 23-29.
[8] 王飞. 带时间窗车辆调度问题的改进粒子群算法[J]. 计算机工程与应用, 2014, 50(6): 226-229.
[9] 杨进, 高飞, 马良. 基于改进并行粒子群算法的彩色图像匹配[J]. 计算机应用研究, 2015, 33(10): 35-42.
[10] 白晓波, 吉晓民, 胡月. 多工况条件下滚针轴承的改进粒子群优化方法[J]. 计算机辅助设计与图形学学报, 2014, 26(10): 1 900-1 908.
[11] 张聪, 汤伟. 基于粒子群优化算法与形态学的纸病图像检测方法[J]. 造纸科学与技术, 2014, 33(2): 60-64.
[12] 刘慧忠, 汤伟. 基于FPGA的纸病检测预处理算法的实现[J]. 中国造纸学报, 2014, 29(1): 53-57.
[13] 吴一全, 王凯, 曹鹏祥. 蜂群优化的二维非对称Tsallis交叉熵图像阈值选取[J]. 智能系统学报, 2015, 10(1): 103-112.