2. 贺州学院 信息与通信工程学院,广西 贺州 542899
2. School of Information and Communication Engineering, Hezhou University, Hezhou 542899, China
人工采摘脐橙存在劳动强度大、效率低、成本高等问题,建立自动化、智能化、现代化的采摘作业体系对保证农产品适时采收、降低采摘作业费、实现农业增收具有非常重要的意义。
机器人实现采摘功能,主要在于其能够在复杂的农业环境中准确识别到水果。基于视觉的水果识别主要通过对颜色模型或者灰度直方图等特征的处理来实现[1]。陈科尹等[2]基于视觉显著性和模糊聚类算法提出了水果图像识别方法。Peng等[3]基于机器视觉和SVM提出了多类水果识别研究方法,利用Otsu分割算法对水果图像进行分割并利用SVM分类器对目标进行分类识别。有研究基于K-means算法对原图像进行聚类分割,实现目标识别[4-5]。另外包含SSD[6-8]、Faster-RCNN[9-10]和AlexNet[11]的深度 学习算法在水果识别中也有广泛应用,但深度学习算法需要较高的硬件配置,不适用于性能受限的移动机器人。针对农业环境特别是光照、遮挡和表皮颜色等多种情况,多数算法存在对脐橙识别率不佳、背景噪声干扰严重的问题。
针对以上不足,本文统计分析农业环境下脐橙图像的特征信息,提出一种基于小波变换与Otsu阈值去噪的脐橙识别方法,通过YCbCr颜色模型分析与处理,采用基于小波变换的图像分割算法,并设计基于Otsu阈值的去噪算法针对已分割区域进行去噪处理,最后确定脐橙在图像中的位置并通过Matlab软件验证算法的有效性。
1 材料与方法 1.1 脐橙图像YCbCr颜色模型的建立对颜色的感知,是基于颜色的饱和度、亮度、显著性、对比度和色调等基本属性的。为更有效地处理图像所包含的信息,需要选择合适的颜色模型。颜色模型通常包括RGB模型、HSV模型[12]、LAB模型[13]和YCbCr模型[14]等。相对其他模型,YCbCr模型有更好的对比度,当采集的脐橙图像亮度发生变化时,YCbCr模型色度的变化范围很小,更有利于农业环境中脐橙图像的后续处理。YCbCr模型中Y指色彩亮度分量,Cb指蓝色分量与亮度值之间的差异,Cr指红色分量与亮度值之间的差异。根据公式(1)将RGB模型转化为YCbCr模型。
$ \begin{split} \left[ {\begin{array}{*{20}{c}} Y \\ {Cb} \\ {Cr} \end{array}} \right] = & \left[ {\begin{array}{*{20}{c}} {\;\;\;0.299}& {\;\;\;0.587}& {\;\;\;0.114} \\ { - 0.169}&{ - 0.331}& {\;\;\;0.500} \\ {\;\;\;0.500}&{ - 0.419}&{ - 0.800} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} R \\ G \\ B \end{array}} \right] + \\ &\left[ {\begin{array}{*{20}{c}} \;\;\;\;\;0 \\ {128} \\ {128} \end{array}} \right], \end{split} \!\!\!\!\!\!\!$ | (1) |
$ Y \in \left[ {0,255} \right],Cb \in \left[ {0,255} \right],Cr \in \left[ {0,255} \right]{\text{,}} $ |
式中,将RGB格式的原始脐橙图像转化为YCbCr模型,并提取各颜色模型的分量。通过对比分析,Cr分量的直方图有明显的波峰和波谷形态,有利于图像分割。图1为基于原始图像的YCbCr模型的分析图。
![]() |
图 1 原始图像的YCbCr模型分析图 Fig. 1 Analysis of the YCbCr model of the original image |
本文利用小波变换提取脐橙的主要特征,参考李月娥等[15]的方法。首先对脐橙原始图像的Cr分量图像进行小波变换得到一系列分辨率逐次降低的子图像,每一级子图像均包含低频子图像和高频子图像,选取最低级的低频子图像并利用模糊C均值聚类算法(Fuzzy C-means algorithm,FCM)进行分割,将低一级的分割结果扩展后应用于上一级图像,一直到最高级图像为止,得到图像的分割结果。
1.2.1 基于小波变换的脐橙特征提取方法小波变换在时域和频域同时拥有多尺度分辨性的分析特性,有利于图像分割[16]。长(M)宽(N)尺寸的脐橙图像
$ {W_L}\left( {j,m,n} \right) = \frac{1}{{\sqrt {MN} }}\sum\limits_{x = 0}^{M - 1} {\sum\limits_{y = 0}^{N - 1} {f\left( {x,y} \right)} } {L_{j,m,n}}\left( {x,y} \right), $ | (2) |
$ {W_H}^{\left( i \right)}\left( {j,m,n} \right) = \frac{1}{{\sqrt {MN} }}\sum\limits_{x = 0}^{M - 1} {\sum\limits_{y = 0}^{N - 1} {f\left( {x,y} \right)} } {H^{\left( i \right)}}_{j,m,n}\left( {x,y} \right), $ | (3) |
式中,i代表水平(H)、垂直(V)和对角线(D)方向;m为水平平移;n为垂直平移;
利用小波变换将低通滤波器和高通滤波器同时作用于脐橙图像水平和垂直2个方向,产生
![]() |
图 2 小波变换结构示意图 Fig. 2 Schematic diagram of wavelet transform structure |
经过小波变换后,选择包含脐橙图像主要特征的低频子图像
FCM算法会计算每个像素点对所有类的隶属度,有效避免背景对目标脐橙的干扰,适合处理存在不确定性特点的图像。试验利用FCM算法将脐橙的低频子图像
$ J\left( { U,V} \right){{ = }}\sum\limits_{k = 1}^n {\sum\limits_{i = 1}^c {u_{ik}^m} } {d_{ik}}\left( {{{ }}{{{x}}_{{k}}},{{{v}}_{{i}}}} \right), $ | (4) |
式中,c为图像的聚类数,c=2;
$ {d_{ik}}\left( {{x_k},{v_i}} \right) = \left| {\left| {{x_k} - {v_i}} \right|} \right|{\text{。}} $ | (5) |
通过拉格朗日乘子法分别计算,并修正聚类中心值
$ {u_{ik}} = {\left[ {\sum\limits_{j = 1}^c {{{\left( {\frac{{d\left( {{x_k},{v_i}} \right)}}{{d\left( {{x_k},{v_j}} \right)}}} \right)}^{\frac{2}{{m - 1}}}}} } \right]^{ - 1}}, $ | (6) |
$ {v_i} = {{\displaystyle\sum\limits_{k = 1}^n {{{\left( {{u_{ik}}} \right)}^m}{x_k}} }}\Bigg/{{\displaystyle\sum\limits_{k = 1}^n {{{\left( {{u_{ik}}} \right)}^m}} }}{\text{。}} $ | (7) |
为分析脐橙与噪声干扰在图像中的信息,本文将原始图像与小波变换区域叠加进行目标区域颜色恢复,并针对小波变换区域设计Otsu阈值算法进行去噪。由于已分割部分以脐橙为主,使得区域中背景干扰与目标更加清晰分明。
提取目标区域的N个像素点并记录其灰度值,构成灰度值一维数组S(s0、s1、···、sn),将其位置记录在对应的数组L[(r1, c1)、(r2, c2)、···、(rn,cn)]中。灰度值为s的像素点在图像中占比
$ P\left( s \right) = {n\left( s \right)}/N, $ | (8) |
式中,
$ {N_1}\left( t \right) = \sum\limits_{s = 0}^t {n\left( s \right)}, $ | (9) |
$ {N_2}\left( t \right) = \sum\limits_{s = t + 1}^S {n\left( s \right)}{\text{。}} $ | (10) |
S1和S2占脐橙图像像素点总数的比例p1(t)和p2(t)如公式(11)、(12)所示。
$ {p_1}\left( t \right) = {{{N_1}\left( t \right)}}/{N}, $ | (11) |
$ {p_2}\left( t \right) = {{{N_2}\left( t \right)}}/{N}{\text{。}} $ | (12) |
S1和S2所有像素点的灰度值总和I1(t)和I2(t)如公式(13)、(14)所示。
$ {I_1}\left( t \right) = \sum\limits_{s = 0}^t {sn\left( s \right)} , $ | (13) |
$ {I_2}\left( t \right) = \sum\limits_{s = t + 1}^S {sn\left( s \right)}{\text{。}} $ | (14) |
S1和S2的均值
$ {\mu _1}\left( t \right) = {{{I_1}\left( t \right)}}/{{{N_1}\left( t \right)}}, $ | (15) |
$ {\mu _2}\left( t \right) = {{{I_2}\left( t \right)}}/{{{N_2}\left( t \right)}}{\text{。}} $ | (16) |
同理,整幅图像的均值(
$ \mu = {{\displaystyle\sum\limits_{s = 0}^S {sn\left( s \right)} }}\Bigg/{{\displaystyle\sum\limits_{s = 0}^S {n\left( s \right)} }}{\text{。}} $ | (17) |
阈值为
$ \sigma _B^2 = {p_1}\left( t \right){\left[ {{\mu _1}\left( t \right) - \mu } \right]^2} + {p_2}\left( t \right){\left[ {{\mu _2}\left( t \right) - \mu } \right]^2}{\text{。}} $ | (18) |
在
$ {T_{\rm{o}}} = {\rm {arg}} \mathop {\rm {max}}\limits_{0 \leqslant t \leqslant S - 1} \sigma _B^2{\text{。}} $ | (19) |
由于每幅图像目标脐橙的颜色均不同,且存在泛青色的情况,不能够确定单一不变的图像阈值(T)。针对这一情况,经过多次试验得出
由于背景噪声与识别目标颜色相近,处理后仍无法完全消除噪声,针对这一现象,拟采用质心补圆法进一步减少背景噪声并确定脐橙所在圆的圆心和半径。
1.4 基于质心补圆法的目标定位算法设计为实现图像中目标脐橙的定位,并解决去噪问题,本文在Otsu阈值去噪算法基础上提出一种质心补圆法( Circle filling method based on the center of mass,CFCM),以去除分割区域遗留的噪声并确定脐橙在图像中的位置。
质心补圆法依据质心确定方程在分割范围内确定脐橙质心位置,并以质心为检测圆的圆心逐步扩大检测半径,最终得到符合像素点占比要求的半径(r)。设定初始检测半径r=2并以2为步进单位进行迭代,当检测圆内脐橙像素点占比达到分割后区域像素点总数的75%时,输出质心坐标
设光学特征点在二值图像上的脐橙质心坐标为
$ \overline x = {{\displaystyle\sum\limits_{i = 1}^n {{x_i}{p_i}} }}\Bigg/{{\displaystyle\sum\limits_{i = 1}^n {{p_i}} }}{\text{,}} $ | (20) |
$ \overline y = {{\displaystyle\sum\limits_{i = 1}^n {{y_i}{p_i}} }}\Bigg/{{\displaystyle\sum\limits_{i = 1}^n {{p_i}} }}{\text{。}} $ | (21) |
确定脐橙质心后计算检测圆半径,设α为检测圆半径内脐橙像素点数百分比,m为二值图像像素点灰度值为255的点的数目,n为二值图像中灰度值为255且与质心距离不大于半径r的像素点数目,α计算如公式(22)所示。
$ \alpha = {n}/{m} \times 100{\text{%}} {\text{。}} $ | (22) |
最后将检测圆圆心与半径绘制到脐橙原始图像中,确定脐橙位置。
脐橙实际形状近似为圆形,但不是标准圆形,所以设定要求算法所确定的圆心在目标中央位置,并且检测圆圈定范围包含95%以上的目标;检测圆的圈定半径不能够超出目标半径的一半。在误差允许范围内,可通过控制操作对目标进行预处理,去除遮挡,以便对脐橙进行更加精确地定位和采摘。
2 结果与分析为验证算法性能,于广西正丰集团水果出口加工中心采集包含脐橙的原始图像共416幅,按照光照条件、遮挡情况和表皮颜色3部分进行数据统计。其中光照情况分为顺光和逆光,分别为284与132幅;遮挡情况分为遮挡和非遮挡,分别为196与220幅;脐橙表皮颜色情况分为泛青色和橙色,分别为124与292幅。所有采集的原始图像像素为4 032×3 024,为符合实际处理要求,统一采用双线性内插法将图像压缩至640×480。试验设备为装有Intel Core i7处理器的联想台式电脑,采用Windows 10系统并搭载Matlab2018b软件。
利用Matlab结合上述算法对不同光照条件、不同遮挡情况和不同表皮颜色状况下的脐橙图像进行目标识别,并选择3种典型情况的脐橙图像进行识别算法分析,分别将脐橙原始图像转化为YCbCr颜色模型,并提取其Cr分量图像进行基于小波变换的分割处理,针对已分割区域采用Otsu阈值算法进行去噪处理,而后确定脐橙位置,具体识别情况见图3。
![]() |
图 3 不同情况下基于小波变换与Otsu阈值去噪的脐橙识别方法分析 Fig. 3 Analysis of navel orange recognition method based on wavelet transform and Otsu threshold denoising under different conditions 图中a表示顺光照射、表皮颜色为橙色且存在遮挡的情况;b表示顺光照射、表皮颜色为泛青色且存在遮挡的情况;c表示逆光照射、表皮颜色为橙色且未遮挡情况 a: Direct light, peel is orange and occluded; b: Direct light, peel is cyan and occluded; c: Backlight, peel is orange and unoccluded |
YCbCr颜色模型下基于小波变换的分割方法的效果分别如图3a2、3b2和3c2所示,在小波分割过程中农业环境的复杂性导致运行基于小波变换的FCM算法平均消耗时间最长,约0.5 s。然后根据原始图像将其进行图像颜色恢复,由于农业环境下脐橙与背景的灰度值相互混叠,算法无法找到合适的阈值对脐橙进行准确分割而存在大量背景噪声干扰,如图3a3、3b3与3c3所示。针对已分割区域设计Otsu阈值去噪方法以减少背景噪声干扰,并依据经验取图像阈值T=0.6t,图像去噪处理如图3a4、3b4与3c4所示,其中去噪过程中运行平均时间约为0.013 s。最后设计质心补圆法在去噪处理的基础上确定脐橙在二维图像中的位置信息,如图3a5、3b5与3c5所示,其中定位过程运行时间约为0.324 s。基于本文算法的脐橙图像识别、去噪和定位处理平均消耗总时间约为0.840 s。
在保证算法运行速度的情况下,不同遮挡情况、光照条件和表皮颜色条件下的脐橙识别率统计数据如表1所示。
![]() |
表 1 脐橙识别率统计结果 Table 1 Statistics of navel orange recognition rate |
由表1可知,算法对顺光照射下的脐橙有较好的识别效果,而在逆光照射情况下脐橙所处环境较暗,而且可能会在图像中形成高亮度光斑导致脐橙识别率相对顺光条件下较低(90.15%),低于顺光情况下的脐橙识别率(92.96%)。脐橙与背景颜色的差异导致表皮颜色不同的脐橙识别结果不同。对于正常橙色,在顺光和逆光条件下脐橙识别率分别达到95.81%和91.09%,不考虑光照影响的情况下脐橙识别率为94.18%;而对于泛青色脐橙,目标脐橙与背景枝叶的颜色相似导致识别率相对较低,在2种光照条件下均为87.10%。仅考虑遮挡和非遮挡情况时,脐橙识别率分别为90.82%和93.18%。试验数据表明,YCbCr颜色模型下的小波变换与Otsu阈值去噪方法总体识别率为92.07%,能有效地去除识别过程中产生的噪声干扰。
3 结论本文针对农业环境中存在的不同遮挡情况、光照条件和表皮颜色条件下的脐橙识别精度不佳的问题,提出一种基于小波变换和Otsu阈值去噪的识别算法,通过小波变换算法对复杂农业环境下的图像进行粗略分割,然后针对已分割区域进行Otsu阈值去噪处理,最后针对图像分割区域设计一种质心补圆法确定脐橙位置,同时消除算法产生的噪声干扰。试验结果表明,基于小波变换与Otsu阈值去噪的脐橙识别算法能有效解决复杂农业环境下的噪声干扰和脐橙识别精度不佳的问题。
[1] |
郭艾侠, 彭明明, 邢仲璟. 机器视觉技术在荔枝识别与定位研究中的应用[J]. 计算机工程与应用, 2017, 53(17): 218-223. DOI:10.3778/j.issn.1002-8331.1603-0155 ( ![]() |
[2] |
陈科尹, 邹湘军, 熊俊涛, 等. 基于视觉显著性改进的水果图像模糊聚类分割算法[J]. 农业工程学报, 2013, 29(6): 157-165. ( ![]() |
[3] |
PENG H, SHAO Y, CHEN K, et al. Research on multi-class fruits recognition based on machine vision and SVM[J]. IFAC PapersOnLine, 2018, 51(17): 817-821. ( ![]() |
[4] |
刘浩洲, 陈礼鹏, 穆龙涛, 等. 基于K-means聚类的猕猴桃花朵识别方法[J]. 农机化研究, 2020, 42(2): 22-26. ( ![]() |
[5] |
WANG D, SONG H, TIE Z, et al. Recognition and localization of occluded apples using K-means clustering algorithm and convex hull theory: A comparison[J]. Multimed Tools Appl, 2016, 75(6): 3177-3198. DOI:10.1007/s11042-014-2429-9 ( ![]() |
[6] |
LIU W, ANGUELOV D, ERHAN D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Berlin: Springer-Verlag, 2016: 21-37.
( ![]() |
[7] |
唐聪, 凌永顺, 郑科栋, 等. 基于深度学习的多视窗SSD目标检测方法[J]. 红外与激光工程, 2018, 47(1): 302-310. ( ![]() |
[8] |
彭红星, 黄博, 邵园园, 等. 自然环境下多类水果采摘目标识别的通用改进SSD模型[J]. 农业工程学报, 2018, 34(16): 155-162. DOI:10.11975/j.issn.1002-6819.2018.16.020 ( ![]() |
[9] |
REN S, HE K, GIRSHICK R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[J]. IEEE J Pattern Anal, 2017, 39(6): 1137-1149.
( ![]() |
[10] |
李林升, 曾平平. 改进深度学习框架Faster-RCNN的苹果目标检测[J]. 机械设计与研究, 2019, 35(5): 24-27. ( ![]() |
[11] |
王佳盛, 陈燕, 曾泽钦, 等. 基于全卷积神经网络的荔枝表皮缺陷提取[J]. 华南农业大学学报, 2018, 39(6): 110-116. ( ![]() |
[12] |
MALIK M H, ZHANG T, LI H, et al. Mature tomato fruit detection algorithm based on improved HSV and watershed algorithm[J]. IFAC PapersOnLine, 2018, 51(17): 431-436. DOI:10.1016/j.ifacol.2018.08.183 ( ![]() |
[13] |
FADHEL M, HATEM A, ALKHALISY M, et al. Recognition of the unripe strawberry by using color segmentation techniques[J]. IJET, 2018, 7(4): 3383-3387. ( ![]() |
[14] |
SOLEIMANIZADEH S, MOHAMAD D, SABA T, et al. Recognition of partially occluded objects based on the three different color spaces (RGB, YCbCr, HSV)[J]. 3D Research, 2015, 6(3): 22. DOI:10.1007/s13319-015-0052-9 ( ![]() |
[15] |
李月娥, 刘青芳. 小波变换在图像分割中的应用研究(英文)[J]. 山西大学学报(自然科学版), 2009, 32(4): 566-571. ( ![]() |
[16] |
朱庆丰, 张瑞, 朱雯青, 等. 基于小波变换与像元对目标的短波红外图像增强算法[J]. 半导体光电, 2019, 40(5): 688-693. ( ![]() |
[17] |
马天兵, 刘健, 杜菲, 等. 基于改进Otsu方法的振动图像分割研究[J]. 电光与控制, 2019, 26(2): 15-19. ( ![]() |