APP下载

基于轮廓曲率和距离分析的重叠柑橘分割与重建

2020-03-15刘妤刘洒杨长辉王卓熊龙烨

中国农业科技导报 2020年8期
关键词:曲率像素点轮廓

刘妤, 刘洒, 杨长辉,2, 王卓, 熊龙烨

(1.重庆理工大学机械工程学院, 重庆 400054;2.西安交通大学机械工程学院, 西安 710049)

柑橘是我国广泛种植的水果之一,也是世界贸易量较大的一种水果。目前,柑橘采摘主要以人工为主,存在季节性突出、劳动强度大、成本高等问题。据不完全统计,人工采摘成本约占柑橘种植总成本的30%~40%[1]。采摘机器人可有效减轻人工作业强度、降低生产成本,但是,自然环境中,往往存在果实被树叶遮挡或果实间相互遮挡的情况。如何精准识别被遮挡的果实是农业采摘机器人面临的难题之一[2]。

国内外学者针对重叠果实分割和轮廓重建开展了大量研究。Feng等[3]通过链码差异的变化规律,采用局部最优原则寻求有效凹点实现了无遮挡重叠苹果的分割,准确率约为91.2%。Zhou等[4]利用R-B与G-R色差提取苹果目标,实现了单果计数及产量预测。Silwal等[5]利用Blob分析识别了被遮挡的苹果,同时,针对一个苹果目标被分为多个部分的情况,采用基于欧式距离原则的聚类算法将其融合,单个苹果目标的识别率达90%。Niu等[6]在提取遮挡苹果目标的真实轮廓段后,基于Shape Context算法实现了轮廓段匹配,提取了苹果目标的对称轴,进而定位了被遮挡的苹果。苗中华等[7]提出了一种自然环境下重叠果实的图像识别与边界分割的组合优化算法,该方法对无遮挡的目标识别效果较好。彭辉等[8]为保留重叠部分未被遮挡苹果的轮廓信息,提出了基于视差图像的重叠果实分割算法,实现了无遮挡果实的目标识别。荀一等[9]通过建立三层BP神经网络实现了苹果图像的分割,并对被遮挡苹果进行圆拟合,实现了目标定位,该方法对被遮挡单果的识别率超过80%。陈玉等[10]通过计算遮挡因子确定枝叶对苹果的遮挡区域,并利用格子波尔兹曼方法求解各向异性扩散方程,估计丢失信息,进而实现了对苹果目标遮挡区域的修复。Lv等[11]利用边缘检测和随机Hough变换算法实现了被枝叶严重遮挡的苹果目标的识别与重建,识别率为86.0%。陈振羽等[12]通过测量目标和景物轮廓的局部极大张角,从含有遮挡目标的景物图像中识别出单个目标。姚立健等[13]利用广义Hough变换理论对部分遮挡的茄子目标进行了识别,并通过试验验证了该方法对于被部分遮挡的目标具有良好的识响较大。蔡健荣等[2]利用优化的Hough变换提取了目标的形心坐标及半径,在此基础上恢复了遮挡果形,识别率超过95%。上述研究虽然在果实识别中取得了一些进展,但针对果实位置、遮挡和重叠等复杂的生长现状无法兼顾,需要开发重叠目标的分割方法,提高识别精度。

综上所述,对于重叠率较高的多果分割,现有分割方法过程复杂且鲁棒性不强,分割和重建效果与所添加的特征有关,且定位效果有待提高。为此,本文针对成熟的重叠柑橘开展重叠分割与轮廓重建研究,以期实现自然环境下此类重叠柑橘的精准分割与识别,进而提高柑橘采摘机器人的采摘成功率和效率。

1 材料与方法

1.1 重叠柑橘图像获取及预处理

本文重叠柑橘图像于2018年12月在学校的柑橘种植基地通过机器人视觉平台(图1)采集。该平台主要由相机(Bumblebee2)、1394数据采集卡、计算机等组成,其中,计算机操作系统采用Win7,图像处理软件采用OpenCV3.10。

注:1—显示器;2—相机;3—数据采集卡;4—三脚架;5—计算机;6—锂电池;7—柑橘树;8—导线。Note: 1—Monitor; 2—Camera; 3—Data acquisition card; 4—Tripod; 5—Computer; 6—Lithium battery; 7—Citrus tree; 8—Wire.图1 柑橘图像采集系统Fig.1 Citrus image acquisition schematic

1.2 图像分割和处理

为减小原始图像中光照等因素的影响,采用图割算法[14]和R-B色差[15]相结合的方法对原始柑橘图像进行分割。

1.3 重叠柑橘轮廓曲率计算

曲率是几何体不平坦程度的一种衡量,曲率越大,表示曲线的弯曲程度越大。柑橘形状为类球体,在两个柑橘果实重叠区域的边缘交界处,曲率会发生突变,而树叶也呈外凸形状,被枝叶遮挡形成的边缘处同样会发生曲率突变。通过寻找这些曲率发生突变的轮廓像素点,可以确定轮廓的分割点。

为了检测曲率突变的轮廓像素点,以图2所示轮廓进行分析,沿轮廓逆时针方向,依次间隔5个像素点取采样点。设当前采样点坐标为pi(xi,yi),前一采样点坐标为pi-1(xi-1,yi-1),后一采样点坐标为pi+1(xi+1,yi+1),θi-1为当前采样点与前一采样点的连线与x轴的夹角,θi为当前采样点与后一采样点的连线与x轴的夹角。记相邻两采样点之间的中间像素点分别为点Ai、Bi(如图2中的菱形方块),过点Ai、Bi分别作与两采样点连线平行的直线lai、lbi。依次遍历柑橘轮廓,根据反正切函数的性质,则两采样点连线与x轴的夹角θi如式(1)[16]所示。

θi=

(1)

图2 柑橘轮廓曲率分析Fig.2 Curvature analysis of citrus contour

设Δθi为柑橘轮廓的切线转过的角度,即由直线lai逆时针转到直线lbi位置时的角度;ΔSi为直线lai、lbi之间包含的弧段长度,即像素点Ai、Bi中间5个像素点构成的轮廓片段长度;整段轮廓的长度为lth,轮廓总的像素点个数为n。根据曲率定义,则轮廓在当前采样点pi(xi,yi)处的曲率Ki为如下。

(2)

1.4 点到柑橘轮廓的距离算法

本文计算像素点到柑橘轮廓距离的算法流程如下。

(1) 获取轮廓上所有像素点坐标(xi,yi),并将轮廓分割为很多无穷小片段Si。

(2) 从所有像素点中找出横坐标值最小的点(当有多个像素点横坐标值相同时,便从中选取纵坐标值最小的点)作为轮廓的起始点Q(x0,y0),并将轮廓点序列方向设定为逆时针方向。

(3) 从起始点Q开始,沿逆时针方向,依次遍历所有轮廓像素点。记相邻两个点的坐标分别为A(xi,yi)、B(xi+1,yi+1),平面上任意点P的坐标为(xP,yP)。

(3)

(4)

A:点P在有向线段的右侧;B:点P在有向线段的延长线上;C:点P在有向线段的左侧。A: Point P is on the right side of the directed segment 图3 点P与有向线段的相对位置关系Fig.3 Relative positional relationship between point P and directed line segment

A:点P在有向线段右侧;B:点P在直线li、li+1的中间;C:点P在有向线段左侧。A: Point P is on the right side of the directed segment B: Point P is between the strait lines of li and li+1; C: Point P is on the left side of the directed segment 图4 点P与两直线的相对位置关系Fig.4 Relative positional relationship between point P and two straight lines

(xi+1-xi)(y-yi)-(yi+1-yi)(x-xi)=0

(5)

di=

(6)

依次遍历所有轮廓片段Si,则点P到整段轮廓的最小距离如下。

dmin=min(di)i=0,1,2…,n-1

(7)

为便于判断点P相对于轮廓的位置,对dmin的符号进行约定:当点P在轮廓内时,dmin取正值;当点P在轮廓外时,dmin取负值;当点P在轮廓上时,dmin取零。记含符号的dmin为d′min。

(8)

1.5 户外实验验证

为了验证本文方法的有效性,在户外果园环境下进行重叠柑橘的分割重建实验。采用Hough变换算法和RANSAC算法对重叠柑橘进行了轮廓重建,并分别获取重叠柑橘图像中未被遮挡的柑橘目标面积S与分割重构后柑橘目标面积Si,通过轮廓重建误差、不重合度和重建时间三个指标评价本文方法、Hough变换算法、RANSAC算法对于成熟的重叠柑橘分割、重构效果及效率。轮廓重建误差e和不重合度u的计算公式分别如式(9)和(10)所示。

(9)

(10)

式中,i用以区分本文方法、Hough变换算法和RANSAC算法的对应参数;S∪Si表示在原始图像柑橘区域或在重构柑橘目标上的像素点个数;S∩Si表示既在原始图像柑橘区域上又在重构柑橘目标上的像素点个数;前后两者像素点个数之差即为不重合柑橘区域的面积Su,不重合度越低说明分割重构效果越好。

2 结果与分析

2.1 重叠柑橘轮廓提取

从图5可以看出,获取的原始柑橘图像经分割后,少数非柑橘区域同时被分割出来。

图5 柑橘轮廓提取Fig.5 Citrus outline extraction

提取原始图像的R-B色差图,可以看出,受阴影及高光等因素的影响,阈值分割后的目标图像往往存在一些孔洞、毛刺及余留的小面积区域,获得二值化图。在此基础上,对重叠柑橘果实进行边缘轮廓提取,获得未平滑轮廓。考虑分割过程中可能产生较多的噪声,因此,采用适用性较广的高斯滤波函数对得到的柑橘轮廓进行平滑处理,最终提取出重叠柑橘轮廓。

2.2 重叠柑橘轮廓分析与重建

2.2.1重叠柑橘轮廓曲率分析 对图5所示的高斯平滑轮廓像素点求取的曲率如图6所示。结果表明,正常的柑橘轮廓像素点曲率范围为[-0.2,0.2],超出该范围的即为异常的轮廓像素点,即柑橘重叠或被树叶遮挡时边缘交叠处的轮廓像素点。

图6 柑橘轮廓像素点曲率Fig.6 Citrus contour pixel curvature

分析图6可知,柑橘轮廓中超过正常轮廓曲率范围[-0.2,0.2],即曲率变化较大的像素点有5个,依次连接相邻两个异常像素点获得五条线段,如图7所示,以便于分析重叠柑橘轮廓的分割点。

图7 柑橘轮廓分割Fig.7 Citrus contour segmentation

2.2.2重叠柑橘轮廓分割点确定 通常情况下,柑橘轮廓是一个外凸的曲线,轮廓上任意两像素点构成的线段一定会在轮廓内部。而对于柑橘被树叶遮挡所产生的轮廓片段,一般呈现内凹形状,该段轮廓上任意两像素点构成的线段大部分会在封闭的柑橘轮廓外面。为了通过寻找异常线段确定因树叶遮挡而产生的轮廓,对图7B中五条线段上的像素点到轮廓上的距离进行分析,结果分别如图8A~E所示。

图8 线段1~5上的像素点到轮廓的距离Fig.8 Distance from the pixel point of line 1~5 to the contour

2.2.3重叠柑橘轮廓分割 分别统计五条线段上到轮廓距离为非负值和负值的像素点数量,结果如表1所示。而大量的实验研究表明,当线段上满足d′min<0的像素点个数nsum大于像素点总数的25%时,该线段为异常线段,其对应的轮廓片段不是柑橘轮廓。

(11)

分析表1可知,线段1、2、3为正常线段,对应的轮廓片段是柑橘轮廓;而线段4和5为异常线段,对应的轮廓片段不是柑橘轮廓。进一步分析4、5两线段相邻,且含有3个曲率异常的轮廓点A、D、E,如图9所示。为了准确分割重叠柑橘轮廓,首先在正常线段相交的点B、C处对柑橘轮廓进行分割。然后在分割后的柑橘轮廓像素点剔除非柑橘轮廓像素点。此时,正常的重叠柑橘轮廓被准确分割。

表1 像素点统计Table 1 Pixel point statistics

粗略分割后的柑橘轮廓是不完整的。为了真实还原果实目标,对于柑橘这种类球形果实,本文采用基于最小二乘法的椭圆拟合插值算法[17]重构单个柑橘轮廓。

2.3 户外验证结果分析

针对户外果园环境下的5幅重叠柑橘图像利用不同算法进行重建,结果如图10所示。可见,采用本文方法不仅能准确分割重叠柑橘,而且能精准重构重叠部分的轮廓,可以满足自然环境下成熟重叠果实的智能识别需求。

图9 柑橘轮廓分割与筛选Fig.9 Citrus contour segmentation and screening

选取果园环境中20组重叠成熟柑橘进行分割重构,本文方法、Hough变换算法和RANSAC算法实现重叠柑橘的轮廓重建误差、不重合度、重建时间对比如图11所示。

由图11可知,Hough变换算法重建重叠柑橘轮廓的平均重建误差为13.182%,平均不重合度为14.423%,平均重建时间为0.501 s;RANSAC算法重建重叠柑橘轮廓的平均重建误差为5.708%,平均不重合度为6.341%,平均重建时间为0.682 s;而本文方法重建重叠柑橘轮廓的平均重建误差为4.903%,平均不重合度为5.593%,平均重建时间为0.408 s,明显低于Hough变换算法和RANSAC算法,这说明本文所提出的重叠柑橘分割方法是有效的。

3 讨论

现有的重叠果实识别研究多数针对无遮挡果实目标[3,7-8],虽然有些开展了被遮挡果实目标的识别研究,但仅限于单个果实目标,没有充分考虑自然环境中果实生长重叠成簇现象[2,4-6,9-13]。对于重叠果实目标的分割,可以基于局部最优、凸壳变换等通过寻找凹点实现分割[3],但仅限于无遮挡的果实目标,未充分考虑自然环境中果实生长状态的复杂性。而对于被遮挡的果实目标定位,可以运用Hough变换等方法直接重建果实轮廓[2,11,13],但这些方法定位精度不高,且没有对非柑橘轮廓进行剔除,只适用于被遮挡面积较小的场景;也可以通过寻找果实的对称轴实现果实目标定位[6],但这种方法不适用于生长形状不规则的果实目标。为此,本文依托自主搭建的采摘机器人双目立体视觉系统,重点开展了自然环境中重叠成熟柑橘轮廓的分割与重建研究,提出了一种基于轮廓曲率和距离分析的重叠柑橘分割方法,实现了自然环境下重叠果实的有效分割。相比于已有相关方法研究,本文充分考虑了柑橘果实在自然环境中的真实生长状态,并且讨论了重叠柑橘被树叶部分遮挡时的真实果实轮廓筛选与重建,该方法可应用于其他类球形果蔬的重叠目标分割与重建。

对比实验结果表明:利用本文方法所得到的重叠柑橘重建轮廓的平均误差、不重合度和时间分别为4.903%、5.593%、0.408 s,优于Hough变换算法和RANSAC算法,基本能够满足自然环境下成熟重叠柑橘果实的智能识别需求。后续将以此为基础进一步深入研究多种类型障碍物遮挡情况下重叠柑橘的识别与定位,进而增强重叠果实识别方法的鲁棒性,提升采摘机器人的识别准确率和采摘成功率。

猜你喜欢

曲率像素点轮廓
一类具有消失χ 曲率的(α,β)-度量∗
儿童青少年散瞳前后眼压及角膜曲率的变化
图像二值化处理硬件加速引擎的设计
面向复杂曲率变化的智能车路径跟踪控制
基于局部相似性的特征匹配筛选算法
跟踪导练(三)
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
不同曲率牛顿环条纹干涉级次的选取
儿童筒笔画