重叠苹果果实的分离识别方法

2019-09-10 01:52车金庆王帆吕继东马正华
江苏农业学报 2019年2期
关键词:目标识别图像处理苹果

车金庆 王帆 吕继东 马正华

摘要:针对苹果采摘机器人重叠果实识别误差较大的问题,设计了一种分离识别方法。首先在苹果图像分割获取其二值果实区域的基础上,基于横、纵投影图实现重叠形态果实的判别,而后基于边缘曲线通过SUSAN算法检测果实轮廓_上的角点,再通过迭代腐蚀和瓶颈准则挑选重叠果实的分离点,并采用Bresenham算法连接分离点实现重叠果实的分离。提取分离果实边缘曲线的有效轮廓后,通过改进的随机Hough算法拟合果实圆心及半径。最后选择15幅重叠果实区域二值图像,通过不同角点检测计算结果的比较,验证了SUSAN算法相比于其他角点检测方法更为有效;通过改进的随机Hough算法识别11幅图像中的21个果实,其圆心相对误差平均值、半径相对误差平均值和相对偏差平均值分别为6.90%、4.12%和6.07%,比传统Hough算法分别低4.03、2.75、1.14个百分点,说明改进的随机Hough算法得到的拟合圆更接近实际苹果果实区域。

关键词:苹果;重叠果实;目标识别;图像处理

中图分类号:TP391.4

文献标识码:A

文章编号:1000-4440(2019)02-0469-07

自然生长条件下果实通常会存在重叠遮挡现象,此类果实的识别是采摘机器人实用化的关键问题[1]。重叠遮挡生长形态的果实识别方法不同于无遮挡形态果实以及其他生长形态的果实,在识别之前应對其形态进行判别确认,而后进行识别。尹建军等[2]提出了基于形态重建的受控标记分水岭算法搜索靠拢或重叠生长状态的番茄分界线的方法,实现了不同生长状态下多目标番茄图像的自动分割。但由于环境的非结构性,分水岭算法会出现标记失效,且没有相关量化试验数据验证其分割效果。谢忠红等[3]以重叠形态的桃果实为研究对象,提出了一种基于凹点搜索的快速定位和检测重叠果实目标的方法,在剔除误识别和识别丢失后其定位误差低于7%。徐越等[4]、王丹丹等[5]在去除遮挡苹果果实的非真实轮廓段以及非光滑轮廓段后,利用保留下来的真实果实轮廓进行目标参数的估计及其定位,而后综合利用K-means算法、数学形态学和Spline样条插值技术,将重叠苹果果实区域的凹点检测转换为凹区域的凸点检测问题,简化了凹点检测的复杂度,平均定位误差14.15%;同时他们还通过融合K-means与Ncut算法研究了遮挡双重叠苹果目标的分割与重建,提高了分割目标与真实目标的重合度,但计算较为复杂。李立君等[6]则提出了一种基于改进凸壳理论的遮挡油茶果定位检测算法,对于枝叶遮挡重叠油茶果的分割误差为8.71%。罗陆锋等[7]提出了一种双串叠贴葡萄目标识别方法,识别精准度为87.63%~96.12%。本研究在以往相关研究的基础上,针对红、黄、绿3种颜色重叠苹果果实,首先对其重叠形态进行判定,而后通过角点检测、分离点匹配连接实现重叠果实的分离,再基于分离后果实的有效轮廓通过改进的随机Hough变换实现重叠苹果果实的识别。

1 材料与方法

图像采集与试验

试验图像从江苏省徐州市丰县苹果种植示范区自然环境下拍摄,数码相机型号为CanonDIGITALIXUS 200 IS,苹果品种为红富士、金元帅、王林。采集的图像包括不同光线下果实图像,图像原分辨率为4000x3000像素。从中抽选15幅图像进行角点检测算法性能对比,基于11幅图像中21个果实的定位误差指标评判识别效果。图像试验在MatlabR2013a软件平台上进行。平台计算机硬件配置为:处理器Intel(R)Core(TM)2 Duo CPU@ 2.40 GHz,内存2G。

1.2 图像分割

从所采集的图像中基于分割算法获取果实区域。由于红色苹果果实以及枝叶与其背景之间具有较大的颜色差别,为此选择基于颜色特征的果实区域获取方法。通过研究比较发现采用基于R-G色差因子的OTSU动态阈值分割方法[8]可获得较好的分割效果。而对于黄色、绿色苹果图像,采用多区域提取而后合并的图像分割方法[9]获取果实区域。

分割后的图像中常有孤立的小点、毛刺和小孔洞。为了减少这些噪声对后续工作的影响,以邻域标记法对图像中的连通区域进行标记并统计总数,将小于最大连通区域1/12的小区域去除,通过漫水填充算法填补分割区域中的孔洞。最后将图像划分为果实和背景2个部分。图1为经过上述操作获取的苹果果实区域二值图像。

1.3 重叠果实形态判定

果实形态的判定主要是对重叠形态果实区域的判定,以便后续针对此生长形态的果实进行进一步处理。首先对上述分割获得的果实区域以水平最小外接矩形框定,然后计算各个框定区域内果实图像的欧式距离图(图2);基于对图像连通果实区域生成的距离图进行横向和纵向投影,获取横、纵向投影图(图3);最后基于横、纵向投影图中的峰点数量判别是否为重叠形态果实。只要任一投影图中的最大峰点数量多于2,即可认为该区域果实为重叠形态果实。从图3中可以看出,投影图最大峰点数为2,由此可以判定图像中的果实为重叠形态的果实。

1.4 重叠区域角点检测

由于生长状态、光照度不同,分割出的果实区域形状不规则。这时如果直接对边缘曲线上的点进行两两匹配寻找分离点,计算量大且不稳定。为此首先根据重叠果实区域的边界曲线寻找角点作为后续分离点匹配的预选点组。通过Canny算子获取边界曲线。Canny算子相对于其他算子,例如Roberts算子、Sobel算子和Prewitt算子等,检测出来的边缘线较细,边缘连接程度较佳,且目标细节表现明晰、完整,更容易检测出真正的弱边缘[10]。

采用SUSAN角点检测算法在获得的边缘轮廓上寻找角点。SUSAN算法根据像素灰度,运用一个圆形模型检测与像素点相关的局部区域,该局部区域被定义为USAN区域,是指圆形模板中与中心像素亮度相同或相似的像素所组成的区域。SUSAN角点检测就是根据不同位置时USAN区域面积判断当前像素点是否为区域角点。具体过程如下:用5x5圆形模板扫描检测区域。为了避免检测结果受亮度影响,采用式(1)计算模板内像素点响应的相似度值。

公式

式中,c是相似度函数,(x,y)为模板内任意像素点的坐标f(x,y)为相应的灰度值,(xo,y,)为模板中心像素点的坐标,f(xo,yo)为中心像素点的灰度值。计算相应USAN区域的面积。USAN区域的面积,就是模板内所有像素点对应的相似度值的总和,可以表示为:

公式

设置固定阈值g,采用USAN区域面积与固定阈值比较,根据式(3)获得初始角点R。式(3)中,g为3/4模板的像元数量。

公式

去除伪角点。计算USAN区域重心与模板中心之间的距离,如果距离较小则该模板中心是伪角点。若模板中心与USAN区域重心之间的连线所经过的像素点全部属于该USAN区域,则该模板中心即为符合要求的角点(图4)。

1.5 分离点匹配

分离点匹配即找出能够作为分离重叠果实的角点,而能够作为分离点的角点必须在果实区域中轴线两端,且所在局部曲线的曲率变化较大。通过迭代腐蚀的方法,获取重叠果实区域里每个果实的中心,连接之后构成中轴线,然后将检测的角点基于瓶颈准则进行两两匹配。迭代腐蚀法是将迭代算法与腐蚀算法结合对图像进行形态学处理的组合方法。具体是指每次操作都将二值图像腐蚀1层,每次迭代用1次4邻域结构元和1次8邻域结构元腐蚀上一次迭代腐蚀操作后得到的连通区域,直到再经过一次迭代腐蚀操作连通区域个数为0,也就是只保留最中间的区域。在上述过程中考虑到迭代腐蚀算法可能会造成连通区域的减少,需要每次迭代腐蚀结束后恢复消失的连通区域并且重新标记连通区域。

采用SUSAN算法保留了局部曲率变化较大的点作为预选角点,使瓶颈点定位效率提高,准确性更高,减少了计算量。用A和B表示重叠区域边缘曲线上的角点,瓶颈准则可用式(4)表示:

公式

式(4)中,dist(A,B)表示A、B两点间欧式距离,length表示边缘曲线的距离。由于边缘曲线闭合,根据顺、逆时针方向计算,会有2个不同的值,即length(A,B)和length(B,A),瓶颈准则公式中选取较小的曲线距离。选择E(A,B)值最小时的A°、B*点作为瓶颈点。

图5a中0,、0203分别表示迭代腐蚀得到的3个白色区域的质心,002、0203即为所作中轴线,A、A、B、B、B、C是SUSAN算法检测出的角点。基于瓶颈准则选定的分离点见图5b,去除了一些无效角点。

1.6 分离点连接

分离点匹配后,要将重叠果实分离,还需要作出分离线。采用Bresenham算法[11]连接所匹配的分离点。Bresenham算法是计算机图形学领域使用最广泛的直线生成方法,不仅速度快、效果好,而且理论上证明它是目前同类各种算法中最优的。通过该算法作出分离线后,将分离线像素取反,与果实区域的二值图像进行与运算,即可将重叠果实区域分离(图6)。

1.7 果实识别

由于果实目标区域的特殊性,分割得到的果实区域不是完整规则的圆形,采用传统拟合方法则会导致拟合圆的区域相对于实际果实目标区域过大或过小,为果实的识别定位带来较大的误差,不利于机器人采摘。为此先提取各个分离果实区域的有效圆弧轮廓,然后基于所提取的有效圆弧轮廓,采用改进的随机Hough变换方法重建圆形轮廓和圆心。

有效轮廓是指果实区域边缘上曲率相同的圓弧曲线。由于分割的果实区域边缘曲线较复杂,直接从边缘曲线上提取有效轮廓的计算量较大。为了减少计算量,通过果实的凸壳图像来提取有效轮廓。有效圆弧轮廓的相邻凸壳顶点形成的直线斜率变化较小,接近拟合圆的圆弧;无效轮廓上相邻凸壳顶点形成的直线斜率存在突变或者有较大间距[12]。提取果实区域有效轮廓的方法如下:(1)以逆时针方向跟踪凸壳顶点,按照检测顺序排序并确定各个顶点的位置。(2)根据序号大小计算相邻顶点间距(D)和所有顶点间距的平均值(T)。若T<D,则认为两顶点间线段为无效轮廓并去除;反之则该线段作为预选有效轮廓。(3)计算预选有效轮廓的线段斜率(h),并计算相邻预选有效轮廓线段斜率的绝对差值(S)和所有斜率绝对差值的均值(T)。(4)若相邻预选有效轮廓线段的绝对差值(S)符合0<S<T,则该相邻的两段线段为有效轮廓,否则为无效轮廓,并去除。图7b即为在图7a凸壳图基础Hough变换是图像特征检测和识别中常用的一种方法,其主要优点是对图像中的噪声点不敏感,可有效地滤除噪声以提高检测结果的可信度。主要缺点是存储空间大,运算时间长[13,14]随机Hough方法在图像空间随机选取不共线的3个特征点映射成参数空间的1个点,是多到1的映射,从而避免了传统Hough变换1到多映射的庞大计算量。本研究基于上述提取的有效轮廓,采用改进的随机Hough变换拟合果实区域。具体方法如下:将单个果实的有效轮郭等分成E份,按逆时针方向从各等份有效轮廓中任选一点作为特征点,确定特征点的位置,并按逆时针方向排序。按照序号以步长S提取相应的特征点,每3个点作为一组,设为P(x,y1)、P2(x2,y2)P3(x3,y3)。利用式(5)计算出每组特征点相应的圆心坐标0(x,y),同时该圆心坐标对应的累加器A(x,y)加1。

公式

式中,k、kz分别是弦PP2、P2P3的斜率。

若S<E/3,则步长S加1,并重复步骤(2),否则继续步骤(4)。当A(x,y)值大于设定阈值T,时,求出A(x,y)对应的所有圆心坐标的平均值0。(xa,y。),即为拟合圆圆心坐标。利用拟合圆圆心坐标和相应的特征点组,用式(6)计算各个特征点组相应的半径r,同时将r对应的累加器B(r)加1。

公式

式中,x;y;分别是有效轮廓上的第i个点的横纵坐标。

当B(r)的值大于设定阈值T,时,求出B(r)对应的所有预选半径的平均值[B。(r。)],即为拟合圆的半径。图8a为提取的有效轮廓以及在此基础上的拟合圆,图8b则是拟合圆在果实图像中实际区域的效果图。

2 结果与分析

为了说明SUSAN角点检测算法的有效性,选择15幅图像中的重叠果实区域二值图像,分别使用CSS曲率尺度空间角点检测、Harris角点检测、SUSAN角点检测算法进行计算。从表1中可知,相比于CSS算法和Harris算法,SUSAN算法检测得到的正确角点数较多,丢失角点个数和伪角点个数较少。

机器人采摘果实时,其采摘质量不仅与果实形状有关,也与果实形状的中心和果实的大小有关。为了验证所设计方法的有效性,用相对偏差(v)[13]圆心相对误差(CRE)和半径相对误差(RRE)作为评价识别效果的指标。

公式

式中,L是果实形状的中心与拟合圆圆心的距离,S,是果实实际区域的面积。

公式

式(8)、(9)中,L是果实形状的中心与拟合圆圆心的距离,RealR是果实图像的半径,CalR是拟合圆的半径。3个误差值越小,表示拟合圆越接近果实实际区域。

表2中列出了图像中21个果实的实际面积、形状的中心坐标及半径、改进的随机Hough算法计算的拟合圆心和半径、常规Hough算法计算的拟合圆心和半径。表3是采用改进的随机Hough算法与传统Hough算法以表2中的数据计算得出的圆心误差和圆心距离,以及利用式(7)、(8)、(9)计算得出的圆心相对误差、半径相对误差和相对偏差。试验中圆心距离是指坐标差值对应的直线距离,圆心误差是指拟合圆圆心与果实形状的中心的坐标差值。

从表2、表3可以看出,改进的随机Hough算法得到的圆心与实际圆心的距离较小,因而圆心相对误差较小;改进的随机Hough算法得到的拟合圆半径更接近果实实际半径,因而半径相对误差也较小。改进的随机Hough算法得到的圆心相对误差、半径相对误差和相对偏差平均值分别为6.90%、4.12%和6.07%,常规Hough算法得到的这3个指标的平均值分别为10.93%、6.87%和7.21%。与改进的随机Hough算法误差平均值相比,常规Hough算法的圆心相对误差平均值高4.03个百分点,半径相对误差平均值高2.75个百分点,相对偏差平均值高1.14个百分点,说明改进的随机Hough算法得到的拟合圆更接近果实区域。

3结论

为了苹果采摘机器人能够准确识别重叠状态下的果实目标,本研究设计了重叠苹果果实的分离识别方法。首先研究了重叠形态果实的判别方法;而后通过角点检测、分离点匹配连接,分离重叠形态果实,在提取分离果实的有效圆弧轮廓后,通过改进的随机Hough变换方法识别分离后的果实。最后通过试验验证了本方法的有效性。本方法对于其他重叠果蔬图像的识别也有一定的借鉴意义。

参考文献:

[1]宋怀波,张传栋,潘景朋,等.基于凸壳的重叠苹果目标分割与重建算法[J].农业工程学报,2013,29(3):163-168.

[2]尹建军,毛罕平,王新忠,等.不同生長状态下多目标番茄图像的自动分割方法[J].农业工程学报,2006,22(10):149-153.

[3]谢忠红,姬长英,郭小清,等.基于凹点搜索的重叠果实定位检测算法研究[J].农业机械学报,2011,42(12):191-196.

[4]徐越,李盈慧,宋怀波,等.基于Snake模型与角点检测的双果重叠苹果目标分割方法[J].农业工程学报,2015,31(1):196-203.

[5]王丹丹,徐越,宋怀波,等.融合K-means与Ncut算法的无遮挡双重叠苹果目标分割与重建[J].农业工程学报,2015,31(10):227-234.

[6]李立君,阳涵疆.基于改进凸壳理论的遮挡油茶果定位检测算法[J].农业机械学报,2016,47(12):285-292.

[7]罗陆锋,邹湘军,王成琳,等.基于轮廓分析的双串叠贴葡萄目标识别方法[J].农业机械学报,2017,48(6):15-22.

[8]马正华,申根荣,吕继东.基于极限腐蚀的重叠苹果果实分割方法[J].江苏农业学报,2017,33(6):1372-1378.

[9]王帆,吕继东,申根荣,等.基于CLAHE和开闭运算的绿色苹果图像分割[J].计算机测量与控制,2017,25(2):141-145.

[10]田光兆,姬长英,王海青,等.基于MATLAB的若干苹果边缘检测方法及其特性的对比研究[J].科学技术与工程,2010,10(16):3873-3877.

[11]刘坤,吕晓琪,谷宇,等.快速数字影像重建的2维/3维医学图像配准[J].中国图象图形学报,2016,21(1):69-77.

[12]王鑫,胡洋洋,杨慧中.基于迭代腐蚀的粘连细胞图像分割研究[J].南京理工大学学报,2016,40(3):286-289.

[13]丁幼春,王书茂.基于RHT的多圆检测改进算法[J].中国农业大学学报,2008,13(4):121-125.

[14]冯养杰,林小竹.基于改进Hough变换的指针式仪表自动识别方法研究[J].北京印刷学院学报,2015,23(4):62-66.

猜你喜欢
目标识别图像处理苹果
“课程思政”视域下职业学校《图像处理》课程教学改革实践
构建《Photoshop图像处理》课程思政实践教学路径的探索
基于图像处理与卷积神经网络的零件识别
基于新一代信息技术的Photoshop图像处理课程开发与建设
收获苹果
全自动模拟目标搜救系统的设计与实现
动态场景中的视觉目标识别方法分析
基于PC的视觉解决方案在 Delta机器人抓放中的应用
移动机器人图像目标识别
拿苹果