作者简介:吴庆岗(1984—),男,河南濮阳人,博士,讲师,主要从事农业遥感图像处理研究。E-mail: wuqinggang323@126.com
为实现自然环境中被枝叶或其他果实遮挡的苹果目标定位,提出一种基于图像边缘信息的梯度Hough变换的目标定位方法。该方法首先在Lab空间中利用K-means聚类算法对自然环境下苹果图像进行分割,然后对分割结果进行形态学操作以去除小区域,接着采用Sobel算子提取苹果目标的边缘,最后利用梯度Hough变换获取苹果目标的圆心及半径,实现遮挡苹果目标定位。实验结果表明,该方法能够有效定位遮挡苹果,定位重合度高达93.17%。
In order to accurately locate the apples occluded by branches or other apples in natural environment, a method based on gradient Hough transform was proposed in the present study. Firstly, K-means clustering algorithm was used in Lab space to segment apples in natural environment. Secondly, morphological operations were made based on the segmented results to remove the influence of small area. Then, Sobel operator was adopted to extract the edge of apples. Finally, gradient Hough transform was applied to estimate the center and radius of target apples. Thus, the occluded apples could be automatically located. Experimental results showed that the method could effectively locate the occluded apples with the precision as high as 93.17%.
随着农业现代化的发展, 在自然环境下对果实进行机器采摘已经成为一种趋势。在采摘机器人的视觉系统中, 果实的自动定位是关键环节, 受到越来越多研究者的关注。在自然环境下, 由于苹果受枝叶和其他果实的遮挡, 会导致采摘机器人对目标定位不准确, 严重影响采摘效率; 因此, 破解机器采摘过程中目标定位难题是现代农业采摘机器人发展中亟须解决的问题。
国内外学者针对机器人采摘过程中对果实目标的定位问题进行了大量研究, 其中, Hough变换作为一种经典的形状检测算法, 在果实检测和定位研究中受到国内外众多学者的重视。在国内, 2007年谢志勇等[1]利用草莓的轮廓信息进行Hough变换, 为了减少运算量, 在Hough变换之前, 先进行了区域标记, 由于Hough变换是在各个区域中进行的, 这大大压缩了参数空间, 相应地减少了运算量; 2008年蔡健荣等[2]尝试采用圆形Hough变换检测有遮挡和重叠的水果, 提取水果相关特征, 但是运算量大, 耗时长, 无法适应机器人对成熟果实实时采摘的要求; 2010年谢忠红等[3]采用改进的圆形随机Hough变换(RHT)计算出类圆果实的圆心坐标和半径; 2012年赵文旻等[4]利用圆形Hough变换以苹果果实的最小外接矩形的边长设置累加器、搜索范围和圆心距, 实现对多个粘连苹果果实的定位, 结果表明, 该算法对缺失面积不大于50%的成熟苹果果实识别效果较好; 2016年麦春艳等[5]用BPNN的苹果颜色分割方法并结合Log和Hough变换, 建立苹果目标识别算法, 该方法能有效克服果实遮挡、重叠和颜色变异等问题, 平均识别率可达91.6%。在国外, 1988年Illingworth等[6]运用圆形Hough变换(CHT)检测图像中西红柿轮廓的弧度, 但需要人工设定阈值, 在光线亮度发生变化时效果欠佳; 2012年Hussin等[7]利用Hough变换检测自然环境下芒果的位置及数量, 当果实间存在严重遮挡时, 该方法效果并不理想; 2014年Nanaa等[8]利用芒果的边缘图像, 采用随机Hough变换定位果实目标, 该方法检测率高达96.26%, 但在重叠严重的情况下检测率有所降低; 2015年Rizon等[9]综合运用纹理分析、形态学膨胀和腐蚀等算法进行目标识别, 并采用随机Hough变换对图像中被遮挡和重叠的杧果目标进行椭圆拟合, 然后利用拟合椭圆的中心定位杧果目标。
综上所述, Hough变换在遮挡果实目标定位方面应用广泛, 国内外学者在提高算法精度和减少算法运行时间方面做了大量研究。但是, 广泛采用的圆形Hough变换(CHT)和随机Hough变换(RHT)的参数空间是三维空间, 需要大量的内存, 运行速度慢。苹果在图像中具有比较稳定的形状特征(一般呈圆形或椭圆形), 本研究拟在Lab空间中利用K-means聚类算法对自然环境下的苹果图像进行分割, 并在此基础上, 利用类圆图像的边缘信息, 采用梯度Hough变换对存在遮挡的果实目标进行定位, 以降低算法计算量, 同时进一步提高定位重合度。结果也可为其他果实的目标定位提供参考。
Lab颜色空间中, a分量的变化范围为红色到绿色, 值域为-128~+127(-128表示绿色, +127表示红色)。根据自然环境下苹果图像的颜色特征(以红色为主的目标和以绿色为主的背景), 在Lab颜色空间中选择a分量进行K-means分割[10], 在Lab空间提取a分量后, 其在直方图上呈现出明显的双峰。为了兼顾分割效率和准确性, 只需将图像分为目标和背景, 因此在K-means算法中设定聚类数目为2。分割后的效果如图1-B所示, 可以看出, 在a分量上对图像采用K-means分割后可以很好地提取目标图像, 而对一些小的区域只需要进行形态学膨胀和腐蚀运算便可去除。本文采用8× 8的结构元素对分割后的图像进行形态学开操作, 然后对操作后的图像结构重建并进行填充, 处理后结果如图1-C所示。因为梯度Hough变换是在图像的边缘信息上进行运算, 所以采用Sobel算子提取图像的边缘, 边缘图像如图1-D所示。
Hough变换实现的是一种从图像空间到参数空间的映射关系[11]。对圆形目标来说, 即将轮廓方程
利用公式(1)计算目标图像中像素强度的梯度场[15]:
Ñ I
式(1)中:
1.2.1 圆心的求取
自然环境下苹果图像经K-means分割后, 并不是严格意义上的圆, 而是类圆图像(如图1-B所示)。利用Sobel算子提取的边缘图像, 其梯度场中的非零梯度向量指向类圆中心, 利用该特征定义变换, 以将梯度场转换为累加数组(累加数组通常选择与梯度场相同的维度)。其中图像边缘每个像素的梯度强度值决定了圆心的概率, 累加图像中最大强度值代表类圆苹果图像的圆心。累加数组的构造通过如下的投票过程来完成:对于梯度场中的每个非零梯度向量Ñ I
对于包含多个苹果的图像中, 对应的累加数组也将具有多个峰值。累加数组中的峰值通过以下过程进行检测:首先, 用高斯拉普拉斯(LoG)滤波器对累加数组进行滤波, 可以用负值或零填充局部峰值之间的过渡区域, 这样更容易在连续区域中分离峰值; 然后, 累加数组采用的阈值设置为LoG滤波之后强度最大值的25%, 累加数组中的局部峰值以及它们的8邻域被标记为1, 其余部分被标记为0, 使得局部峰值相互隔离; 最后, 通过区域生长算法检测具有局部峰值的孤立区域, 孤立区域的加权质心作为其所包围的局部峰值的位置。
累加数组中的每个局部峰值对应于图像中的苹果, 将计算出的局部峰值的坐标转换为图像中的坐标, 将其作为检测到的苹果图像的圆心坐标。累加后圆心检测结果如图2所示, 从图2-B累加数组的3D视图可以明显看出, 对累加数组经过滤波等处理后出现2个明显的峰值, 说明原图(图2-A)中存在2个类圆的苹果图像, 从图2-D可以看出, 由图2-C的2D视图投票后的圆心位置与图2-A的苹果原图叠加后圆心位置对应较好。
1.2.2 半径的求取
为了从图像中找到圆的半径, 在图像的梯度场上定义离散的特征曲线f
假设
其中所有像素
式(3)中Δ r是相邻r值之间的间隔。
图2-A左边苹果在选取不同r值时相应的特征曲线如图3-A所示, 把特征曲线中超出给定半径范围的曲线删除, 并对半径曲线进行平滑处理, 得到如图3-B所示的特征曲线。对平滑处理后的特征曲线进行一阶求导, 并将特征曲线中的上升沿标记为1, 下降沿标记为0, 以找到特征曲线中的最大值, 最大值所对应的半径即为圆的半径。
为验证基于梯度Hough变换苹果定位算法的有效性, 采用不同条件下的苹果图像, 在定位效果、定位重合度和运行时间等方面, 与圆形Hough变换实验结果进行比较。实验所采用图像为利用佳能EOS 80D相机在自然环境下采集到的80幅苹果图像, 其中包括20幅无遮挡、20幅树枝遮挡、20幅树叶遮挡和20幅苹果自身遮挡的苹果图像。为了便于运行时间的比较, 图4所给出的4幅图像大小全部为293× 193像素。实验平台为Inter(R) Core(TM) i5-3470CPU @3.20GHz, 4GB RAM, 测试环境为MATLAB R2014a。关键参数设置如下:半径取值范围设置为15~70, 相邻r值之间的间隔Δ r=1, 累加数组采用的阈值设置为LoG滤波之后强度最大值的25%。
![]() | 图4 不同Hough变换定位苹果结果比较Fig.4 Comparisons for apple location between different Hough transform algorithms |
图4给出了4幅具有代表性的苹果图像的实验结果。为方便分析讨论, 每个苹果目标被标记不同编号。从第一列苹果原图可以看出, 无遮挡苹果有8个(苹果2、4、8、9、12、13、14和16)、树枝遮挡1个(苹果15)、树叶遮挡4个(苹果6、7、10和11)、苹果自身遮挡3个(苹果1、3、5), 其中编号7和编号10的2个苹果同时被树叶和苹果自身遮挡, 编号15的苹果同时被树枝和苹果自身遮挡。第二列为利用圆形Hough变换进行苹果定位的结果, 第三列为利用梯度Hough变换进行苹果定位结果。由实验结果可以看出:在苹果目标没有任何遮挡的情况下, 圆形Hough变换和梯度Hough变换定位效果都非常理想; 在树叶遮挡的情况下, 如苹果6, 由于遮挡范围较小, 对苹果的定位效果影响不是太大; 对树枝遮挡的目标, 如苹果15, 梯度Hough变换明显优于圆形Hough变换; 对于苹果自身遮挡的苹果, 如苹果5、7和10等, 梯度Hough变换也要优于圆形Hough变换。
为进一步定量评价梯度Hough变换算法定位苹果目标的性能, 对上述4幅图像中16个苹果依次计算其定位重合度。首先, 随机选取10人对原始图像中的苹果目标进行手动标注, 然后累计苹果目标的像素个数, 并计算10人标注结果的平均值, 获得每个苹果图像的位置坐标和实际面积A。不同Hough变换算法定位苹果后检测到圆的面积为B, 苹果检测结果和实际苹果目标重合的面积C=A∩ B, 根据公式P=
![]() | 表1 不同Hough变换苹果定位重合度比较 Table 1 Comparisons of overlapping degree for apple location between different Hough transform algorithms |
从表1中可以看出, 由于苹果图像是类圆图像, 而不是严格意义上的圆, 所以2种Hough变换定位出的苹果目标的重合度都会存在一定的误差。对于树枝和树叶遮挡不太严重的苹果目标(如7、10和15等), 由于边缘信息缺失不是太多, 定位重合度相对比较理想。特别是对于苹果15, 虽然下部分苹果重叠, 但左右各检测出一部分边缘信息, 在投票过程中对圆心投票所占比重较高, 所以重合度较高。对于苹果目标存在严重遮挡的情况如苹果5, 虽然可以根据苹果所在边缘定位出圆, 但是重合度会有所降低, 一方面是由于检测到的边缘点少, 导致投票结果不准确; 另一方面是由于分割面积小, 导致计算误差增加。而对于存在苹果自身遮挡的目标如苹果9, 由于苹果9的右半部分和苹果10的左半部分重合, 使得在分割过程中相互毗连而被当作一个整体处理, 从而丢失了部分边缘信息, 进而导致苹果定位重合度有所降低。整体来说, 自然环境下梯度Hough变换定位苹果后的平均重合度高达93.17%。
为衡量梯度Hough变换算法运行效率, 表2给出了上述4幅苹果图像的定位时间。由于不同苹果图像所检测到的边缘像素点数目不同, 导致同样大小的苹果图像, 梯度Hough变换所需运行时间有所差异。但是和圆形Hough变换相比, 梯度Hough变换对自然环境下苹果图像的定位时间有很大优势, 可以满足机器采摘过程中对苹果目标定位实时处理的需要。
![]() | 表2 不同Hough变换苹果定位时间比较 Table 2 Comparisons of time for locating apples between different Hough transform algorithms |
本研究提出一种基于梯度Hough变换的自然环境下苹果图像定位算法。结合苹果图像的颜色特征, 首先在Lab空间对自然环境下苹果图像进行分割, 然后对苹果目标进行形态学膨胀或腐蚀处理以消除小区域的影响, 接着采用Sobel算子提取苹果目标的边缘, 最后利用梯度Hough变换估计苹果目标的圆心及半径。通过利用苹果目标边缘点的梯度信息, 减少了Hough变换在构建累加数组过程中的无效累加, 提高了算法运行效率, 可以满足采摘机器人实时工作的需要。通过对大量自然环境下无遮挡、树枝遮挡、树叶遮挡和苹果自身遮挡的苹果图像的定位测试, 结果表明, 平均重合度高达93.17%, 具有较好的实用性。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|