基于梯度Hough变换的遮挡苹果目标定位
吴庆岗1, 张卫国1, 常化文1, 金保华1, 刘朝霞2
1.郑州轻工业学院 计算机与通信工程学院,河南 郑州 450001
2.大连外国语大学 软件学院,辽宁 大连 116044

作者简介:吴庆岗(1984—),男,河南濮阳人,博士,讲师,主要从事农业遥感图像处理研究。E-mail: wuqinggang323@126.com

摘要

为实现自然环境中被枝叶或其他果实遮挡的苹果目标定位,提出一种基于图像边缘信息的梯度Hough变换的目标定位方法。该方法首先在Lab空间中利用K-means聚类算法对自然环境下苹果图像进行分割,然后对分割结果进行形态学操作以去除小区域,接着采用Sobel算子提取苹果目标的边缘,最后利用梯度Hough变换获取苹果目标的圆心及半径,实现遮挡苹果目标定位。实验结果表明,该方法能够有效定位遮挡苹果,定位重合度高达93.17%。

关键词: 梯度Hough变换; 自然环境; 目标定位; 苹果图像; K-means算法; 形态学
中图分类号:TP391.41 文献标志码:A 文章编号:1004-1524(2017)06-1009-08 doi: 10.3969/j.issn.1004-1524.2017.06.22
Location of occluded apples based on gradient Hough transform
WU Qinggang1, ZHANG Weiguo1, CHANG Huawen1, JIN Baohua1, LIU Zhaoxia2
1. School of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou 450001, China
2. School of Software, Dalian University of Foreign Languages, Dalian 116044, China
Abstract

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%.

Keyword: gradient Hough transform; natural environment; target location; apple images; K-means clustering algorithm; morphology

随着农业现代化的发展, 在自然环境下对果实进行机器采摘已经成为一种趋势。在采摘机器人的视觉系统中, 果实的自动定位是关键环节, 受到越来越多研究者的关注。在自然环境下, 由于苹果受枝叶和其他果实的遮挡, 会导致采摘机器人对目标定位不准确, 严重影响采摘效率; 因此, 破解机器采摘过程中目标定位难题是现代农业采摘机器人发展中亟须解决的问题。

国内外学者针对机器人采摘过程中对果实目标的定位问题进行了大量研究, 其中, 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变换对存在遮挡的果实目标进行定位, 以降低算法计算量, 同时进一步提高定位重合度。结果也可为其他果实的目标定位提供参考。

1 材料与方法
1.1 基于Lab空间的K-means聚类分割

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所示。

图1 图像分割结果
A, 原始图像; B, 分割结果; C, 形态学处理结果; D, 边缘提取结果
Fig.1 Image segmentation results
A, Original image; B, Segmentation result; C, Morphological operation result; D, Edge extraction

1.2 基于梯度Hough变换的苹果定位

Hough变换实现的是一种从图像空间到参数空间的映射关系[11]。对圆形目标来说, 即将轮廓方程 x-a2+ y-b2=r2转换为以 a, b, r为参数的方程 a-x2+ b-y2=r2, 然后进行Hough变换[12]。但是, 传统的圆形Hough变换有以下缺陷[13]:计算量大, 占用内存大, 易受参数空间量化间隔的制约。针对以上缺点, 本研究提出一种基于梯度信息的Hough变换, 利用梯度的方向信息减少检测过程的无效累加, 降低内存占用[14]

利用公式(1)计算目标图像中像素强度的梯度场[15]:

Ñ I i, j= Vx, Vyi, j=[I i, j-I i, j-1, I i, j-I i-1, j]。(1)

式(1)中: i, j是像素索引; Ñ I(i, j)是像素 i, j处的梯度向量, 由xy分量组成; I i, j是图像中边缘像素 i, j处的图像强度。

1.2.1 圆心的求取

自然环境下苹果图像经K-means分割后, 并不是严格意义上的圆, 而是类圆图像(如图1-B所示)。利用Sobel算子提取的边缘图像, 其梯度场中的非零梯度向量指向类圆中心, 利用该特征定义变换, 以将梯度场转换为累加数组(累加数组通常选择与梯度场相同的维度)。其中图像边缘每个像素的梯度强度值决定了圆心的概率, 累加图像中最大强度值代表类圆苹果图像的圆心。累加数组的构造通过如下的投票过程来完成:对于梯度场中的每个非零梯度向量Ñ I i, j, 将权重值添加到位于向量Ñ I i, j定义的线段上的累加数组的元素中, Ñ I i, j的大小被用作权重值。对于图2-A所示的苹果图像, 将边缘像素强度值添加到累加数组中, 如图2-B所示, 累加数组的峰值越高, 说明此处是圆心的概率越大。按照这个投票过程处理后, 从所有非零梯度向量中收集投票以构建累加数组。

图2 梯度Hough变换求取圆心的结果
A, 原始图像; B, 累加数组的3D视图; C, 累加数组的2D视图; D, 原图与2D视图叠加
Fig.2 Circle center obtained by gradient Hough transform
A, Original image; B, 3D view for accumulated array; C, 2D view for accumulated array; D, 2D views superimposed on original image

对于包含多个苹果的图像中, 对应的累加数组也将具有多个峰值。累加数组中的峰值通过以下过程进行检测:首先, 用高斯拉普拉斯(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 r, 其中r是圆心附近像素到圆心的距离, f r是梯度矢量和径向矢量的平均点积。该定义的数学描述如下。

假设 ic, jc为圆心坐标, 对于 ic, jc附近的像素 i, j, 设V i, j为像素 i, j处的梯度向量, q i, j为圆心坐标 ic, jci, j中心的向量。选择1个像素的固定间隔离散r值序列, 表示到圆心 ic, jc的距离。针对不同r值, 定义特征曲线f r如下:

其中所有像素 i, j满足下式:

qi, j-r< Δr2。 (3)

式(3)中Δ r是相邻r值之间的间隔。

图2-A左边苹果在选取不同r值时相应的特征曲线如图3-A所示, 把特征曲线中超出给定半径范围的曲线删除, 并对半径曲线进行平滑处理, 得到如图3-B所示的特征曲线。对平滑处理后的特征曲线进行一阶求导, 并将特征曲线中的上升沿标记为1, 下降沿标记为0, 以找到特征曲线中的最大值, 最大值所对应的半径即为圆的半径。

图3 特征曲线
A, 不同半径下特征曲线; B, 平滑后特征曲线
Fig.3 Signature curve
A, Signature curve with different radius; B, Signature curve after smoothness

2 结果与分析

为验证基于梯度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= CA× 100%计算定位后的重合度。上述4幅图像中16个苹果目标提取后真实面积、重合面积及重合度如表1所示。

表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
3 小结

本研究提出一种基于梯度Hough变换的自然环境下苹果图像定位算法。结合苹果图像的颜色特征, 首先在Lab空间对自然环境下苹果图像进行分割, 然后对苹果目标进行形态学膨胀或腐蚀处理以消除小区域的影响, 接着采用Sobel算子提取苹果目标的边缘, 最后利用梯度Hough变换估计苹果目标的圆心及半径。通过利用苹果目标边缘点的梯度信息, 减少了Hough变换在构建累加数组过程中的无效累加, 提高了算法运行效率, 可以满足采摘机器人实时工作的需要。通过对大量自然环境下无遮挡、树枝遮挡、树叶遮挡和苹果自身遮挡的苹果图像的定位测试, 结果表明, 平均重合度高达93.17%, 具有较好的实用性。

The authors have declared that no competing interests exist.

参考文献
[1] 谢志勇, 张铁中, 赵金英. 基于Hough变换的成熟草莓识别技术[J]. 农业机械学报, 2007, 38(3): 106-109.
XIE Z Y, ZHANG T Z, ZHAO J Y. Ripened strawberry recognition based on Hough transform[J]. Transactions of the Chinese Society for Agricultural Machinery, 2007, 38(3): 106-109. (in Chinese with English abstract) [本文引用:1]
[2] 蔡健荣, 周小军, 李玉良, . 基于机器视觉自然场景下成熟柑橘识别[J]. 农业工程学报, 2008, 24(1): 175-178.
CAI J R, ZHOU X J, LI Y L, et al. Recognition of mature oranges in natural scene based on machine vision[J]. Transactions of the CSAE, 2008, 24(1): 175-178. (in Chinese with English abstract) [本文引用:1]
[3] 谢忠红, 姬长英, 郭小清, . 基于改进Hough变换的类圆果实目标检测[J]. 农业工程学报, 2010, 26(7): 157-162.
XIE Z H, JI C Y, GUO X Q, et al. An object detection method for quasi-circular fruits based on improved Hough transform[J]. Transactions of the CSAE, 2010, 26(7): 157-162. (in Chinese with English abstract) [本文引用:1]
[4] 赵文旻, 姬长英, 李莹莹. 自然场景下成熟苹果的图像识别研究[J]. 科学技术与工程, 2012, 12(27): 6889-6891.
ZHAO W M, JI C Y, LI Y Y. Recognition of ripe apples images in natural growth conditions[J]. Science Technology and Engineering, 2012, 12(27): 6889-6891. (in Chinese with English abstract) [本文引用:1]
[5] 麦春艳, 郑立华, 肖昌一, . 自然光照条件下苹果识别方法对比研究[J]. 中国农业大学学报, 2016, 21(11): 43-50.
MAI C Y, ZHENG L H, XIAO C Y, et al. Comparison of apple recognition methods under natural light[J]. Journal of China Agricultural University, 2016, 21(11): 43-50. (in Chinese with English abstract) [本文引用:1]
[6] ILLINGWORTH J, KITTLER J. A survey of the Hough transform[J]. Computer Vision Graphics & Image Processing, 1988, 43(2): 280. [本文引用:1]
[7] HUSSIN R, JUHARI M R, KANG N W, et al. Digital image processing techniques for object detection from complex background image[J]. Procedia Engineering, 2012, 41: 340-344. [本文引用:1]
[8] NANAA K, RIZON M, ABD RAHMAN M N, et al. Detecting mango fruits by using rand omized Hough transform and backpropagation neural network[C]// International Conference on Information Visualisation, 2014: 388-391. [本文引用:1]
[9] RIZON M, YUSRI N A N, KADIR M F A, et al. Determination of mango fruit from binary image using rand omized Hough transform[C]// International Conference on Machine Vision, 2015. [本文引用:1]
[10] 李冠林, 马占鸿, 黄冲, . 基于K_means硬聚类算法的葡萄病害彩色图像分割方法[J]. 农业工程学报, 2010, 26(增刊2): 32-37.
LI G L, MA Z H, HUANG C, et al. Segmentation of color images of grape diseases using K_means clustering algorithm[J]. Transactions of the CSAE, 2010, 26(Supp. 2): 32-37. (in Chinese with English abstract) [本文引用:1]
[11] 瞿钧, 甘岚. 梯度Hough变换在圆检测中的应用[J]. 华东交通大学学报, 2007, 24(1): 101-104.
QU J, GAN L. The application of grads Hough transformation in circle detection[J]. Journal of East China Jiaotong University, 2007, 24(1): 101-104. (in Chinese with English abstract) [本文引用:1]
[12] 张红民, 张玉坚. 基于广义Hough变换的圆心坐标快速提取方法[J]. 江汉石油学院学报, 2000, 22(2): 64-66.
ZHANG H M, ZHANG Y J. Fast extracting the coordinates of center of circle based on generalized Hough transform[J]. Journal of Jianghan Petroleum Institute, 2000, 22(2): 64-66. (in Chinese with English abstract) [本文引用:1]
[13] 陈小艳, 王强, 李柏林. 改进的Hough变换检测圆方法[J]. 计算机系统应用, 2015, 24(8): 197-201.
CHEN X Y, WANG Q, LI B L. Improved Hough algorithm for circle detection[J]. Computer Systems & Applications, 2015, 24(8): 197-201. (in Chinese with English abstract) [本文引用:1]
[14] 宋寅卯, 赵明珍, 刁智华, . 基于Hough变换的机器视觉目标检测技术研究[J]. 中国农机化学报, 2015, 36(4): 225-231.
SONG Y M, ZHAO M Z, DIAO Z H, et al. Research of technology in machine vision detection based on Hough transform[J]. Journal of Chinese Agricultural Mechanization, 2015, 36(4): 225-231. (in Chinese with English abstract) [本文引用:1]
[15] PENG T, BALIJEPALLI A, GUPTA S K, et al. Algorithms for on-line monitoring of micro spheres in an optical tweezers-based assembly cell[J]. Journal of Computing & Information Science in Engineering, 2007, 7(4): 330-338. [本文引用:1]