基于RANSAC算法的植保机器人导航路径检测

2020-10-10 07:06李秀智彭小彬方会敏牛萌萌康建明荐世春
农业机械学报 2020年9期
关键词:离群植保阈值

李秀智 彭小彬 方会敏 牛萌萌 康建明 荐世春

(1.北京工业大学信息学部, 北京 100124; 2.山东省农业机械科学研究院, 济南 250100)

0 引言

为适应智能农业的发展需求,具有自动导航功能的农业机器人成为近年研究的热点,在植保、采摘、种植等领域[1-3]具有广阔的应用前景。其中,植保机器人的自主导航方式有机器视觉导航[4]、激光导航[5]和GPS导航[6]等。相比于激光导航和GPS导航,机器视觉导航具有更丰富的细节信息、更精准的局部定位和高性价比等优点。导航路径的自动检测是实现植保机器人导航的前提[7-10]。

对于田间作业,作物垄行检测能够提供结构化的导航信息[11-13]。早期的植保机器人导航多采用Hough变换方法[14-15],在杂草干扰和断垄的农田环境下,检测的正确率及效率难以满足实际需要。在提取特征点的基础上,最小二乘法也被广泛用于垄线检测[16-17],其准确性对噪声特征点依然敏感。文献[18]将一幅图像分割成若干与原图等宽的子图像,采用垂直投影法获取垄行特征点,继而根据其坐标邻近进行聚类、拟合及检测,但该方法容易受到作物行断行干扰及定位点归类困难。文献[19]假设作物行间隔距离相等,采用滑动窗口的方法提取代表垄行的特征点,并通过移动距离对特征点进行聚类,该方法可以有效地去除杂草噪声的影响,但滑动窗口尺寸难以确定,且行间距相等的前提使其适用范围受限。随机采样一致性算法(Random sample consensus, RANSAC)在对数据排异和提高模型估计精度方面应用广泛[20-21]。

为了提高路径检测的精度和可靠性,本文提出一种基于RANSAC算法的植保机器人导航路径检测方法。在图像预处理后,对垄行区域进行划分和降噪,在垄行边缘图中提取特征点并进行聚类,基于估计残差最小的准则,结合RANSAC算法,以期得到更高的检测精度和更好的检测性能。

1 图像预处理

本文植保机器人的导航路径视觉检测方法流程框图如图1所示(图中Si为轮廓面积,Tarea为面积阈值,yi为特征点纵坐标,Himg为图像高度)。在植保机器人的工作环境中,需要对采集图像进行预处理,使作物垄行部分增强突出。

图2 图像分割结果Fig.2 Image segmentation results

图1 植保机器人导航路径检测流程图Fig.1 Flow chart of navigation path detection for plant protection robot

1.1 图像分割

实验统计结果表明,农作物RGB图像中G颜色分量占比明显大于R和B分量。根据这一特征在图像灰度化中增大G分量从而增大农作物与背景的可分离性。超绿色灰度化法(Excess green, ExG)[22]能有效抑制阴影、枯草和土壤,使农作物部分更为突出。其公式为

(1)

式中I——灰度图像的亮度

G、R、B——绿、红、蓝通道像素值

二值图直观表达了目标与背景区域的分割。灰度化后,采用最大类间方差法[23](Otsu)自适应地生成阈值,对实时图像进行二值分割,图2为图像分割结果图。

1.2 垄行区域划分

在特征点提取前,首先需要对垄行进行区域划分。植保机器人上相机安装方向为倾斜向地面,如图3所示,其中OwXwYwZw为世界坐标系,相机坐标系OcXcYcZc为相对于世界坐标沿Yw轴向上平移H个单位长度,并绕Xw轴顺时针旋转Φ而得到。Zc正方向为相机的光心方向,并指向地面,植保机器人行驶方向为Zw正方向。根据小麦、玉米等作物近似平行直线的行种植特点,通过调整Φ,使得采集到的垄行在图像中呈现平行分布,由垂直投影法可划分垄行区域。

图4为相机采集到的玉米苗图像经过二值化处理后对应的垂直投影曲线。从垂直投影曲线可以看出,玉米苗行所在的位置出现投影值变化的峰值,从玉米苗到土壤背景,垂直投影值向下跃变,从土壤背景到玉米苗,垂直投影值向上跃变。所以在垄行与垄行之间,垂直投影曲线会呈现波谷状态,由此根据波谷可对作物垄行区域划分。

图3 图像采集示意图Fig.3 Illustration of image acquisition

图4 二值图垂直投影曲线Fig.4 Vertical projection curves of binary image

1.3 图像降噪处理

通过二值化分割后,图像中存在许多噪声区域,形态学运算可消除噪声对垄行检测的影响,增强同一垄行区域的连通性。对于存在大量孔洞或者垄行连续情况不好的图像,单纯的一次形态学闭运算处理并不能达到很好的效果,本文采用多次形态学闭运算处理。

对于垄间存在杂草的区域,通过形态学操作难以起到很好的降噪效果。由于噪声区域面积通常小于垄行轮廓区域的面积,本文提出一种动态面积阈值降噪的方法实现降噪处理。在保留垄行整体轮廓的基础上,根据每个轮廓区域的面积,去除面积较小的杂草区域完成降噪处理。该降噪算法流程为

输入为垄行边缘图,面积阈值Tarea。

输出为面积阈值降噪后的掩码图。

计算所有边缘轮廓的面积

i←0,sum←所有轮廓的总数

fori=0→sum-1 do

Si←第i个轮廓区域的面积

ifSi>Tareathen

将第i个轮廓区域保留在掩码图中

else

第i个轮廓区域不保留在掩码图中

end if

i←i+1

end for

在动态阈值Tarea设置中,取轮廓面积排序在第30%的为Tarea。由于不同帧图像的噪声面积不一,如果Tarea设置过大,可能会滤除垄行主体部分,在本文中取排序在第30%的面积值为Tarea既可以保留垄行的主体部分,又可以滤除一部分噪声。对于不同的作物生长状况和杂草密度,可调整面积阈值,使其达到最佳滤波效果。

图5是通过动态面积阈值法滤波后垄行的轮廓图,对于形态学运算难以去除的噪声部分可以很好地剔除,且能完整地保留垄行的轮廓信息。

图5 图像降噪处理结果Fig.5 Image denoising results

2 特征点提取与离群点剔除

经过图像预处理后,图像中仅剩白色边缘为轮廓的农作物区域和背景区域,特征点提取是垄行检测的必要前提。

2.1 特征点提取

在垄行区域,以白色边缘与基准线交点的横坐标平均值为特征点的横坐标x、纵坐标y由间隔距离h和提取次序k决定,特征点提取原理示意图如图6所示,计算公式为

(2)

图6 特征点提取原理示意图Fig.6 Sketch map of feature point extraction

式中N——边缘图与基准线交点个数

xi——边缘图与基准线交点的横坐标

[]——取整运算符

通过均值法可获得每条垄行待拟合的特征点(x,y)。考虑到对一幅640像素×480像素的图像遍历每一行,在实时垄行检测中会造成时间和内存上开销较大,降低垄行检测的实时性。在每隔h(本文h=10)个单位像素长度提取一次特征点,即每条基准线之间的距离为h个单位像素,在精确度不受影响的前提下保障了检测的实时性。

2.2 基于RANSAC算法的离群点剔除

在农田的实际环境中,由于作物叶片较大,且存在杂草等因素,导致相邻垄行之间提取的特征点相互干扰,提取的特征点会含有部分离群点,直接影响垄行检测的精度。

本文采用RANSAC算法剔除离群点。首先,通过随机采样从测试点集中选取一个子集进行参数估计。然后,运用所有测试数据集对该估计模型进行检验,根据测试样本集中数据对模型的支持度,确定该模型估计的正确性。通过不断建立假设与检验的迭代,以期获取一个具有全局最优的模型参数,即获得最优垄行直线拟合。本文RANSAC算法流程图如图7所示。

图7 随机采样一致性排异算法流程图Fig.7 Flow chart of random sample consensus algorithm for rejecting outliers

3 实验结果与分析

实验图像采集装置示意图如图3所示。图像分辨率为640像素×480像素,通过USB 3.0接口传输到计算机。所采用的处理器为Intel(R) Core(TM) i5,主频2.4 GHz,内存8 GB,操作系统为Linux Ubuntu 16.04.6LTS,导航路径检测程序基于CMake编译器和OpenCV 3.3开发。

为定量分析垄行检测的准确性,以人工绘制的垄行直线作为参考标准。本文实际检测的垄行直线与人工绘制的垄行直线之间的夹角为垄行检测的误差角,当误差角大于5°,此时检测的路径一般难以满足植保机器人准确导航要求,得到的垄行为无效结果,以此衡量算法的检测率。

实验中,2.2节RANSAC算法主要参数设置如下:内点阈值T=3,置信度α一般设置在[0.95,0.99]范围内,对于迭代次数K如果设置过大会导致算法消耗时间增加,设置过小会导致准确率下降。最佳迭代次数可由公式推导得到,用α表示迭代过程中从所有点随机选取出的点均为内点的概率,设定w表示每次从数据集中选取一个内点的概率(w为内点个数除以点的总个数),根据概率推导可得

α=1-(1-wn)K

(3)

1-α=(1-wn)K

(4)

两边取对数为

lg(1-α)=Klg(1-wn)

(5)

由式(5)得迭代次数

K=lg(1-α)/lg(1-wn)

(6)

3.1 基于Hough变换的导航路径检测结果

传统导航路径检测主要采用 Hough 变换、统计特性分析、模型匹配等方法。其中,Hough变换由于抗干扰能力强而被广泛用于直线检测[24]。

图8a是采集的4种不同的农作物田间图像,分别对应为小麦、花生、玉米和带薄膜覆盖的土豆苗;图8b是通过前文方法处理后获得的特征点;图8c是未剔除离群点采用Hough变换的垄行检测结果;图8d是通过2.2节中RANSAC算法剔除离群点后,再通过Hough变换的垄行检测结果。实验表明,RANSAC算法明显改善了Hough变换的检测效果。

同时注意到,由于Hough变换方法检测离散点簇的直线特征更加关注局部特征点的一致共线性,导致垄行中部分区域点单独成线,难以检测出一条完整直线,检测结果是由多条直线叠加而成的,不利于植保机器人导航参数的提取。

图8 霍夫变换垄行检测结果Fig.8 Detection results of crop rows by Hough transformation

3.2 基于最小二乘法的导航路径检测结果

与Hough变换相比,最小二乘法能够解决上述线条检测不完整的问题。而且,基于估计残差最小准则,在理论上保证了检测精度。

图9a是未剔除离群点采用最小二乘法直接检测的结果,与垄行中心线的误差较为明显;图9b是通过RANSAC算法剔除离群点后,再用最小二乘法拟合的垄行检测结果。能够直观地看出,RANSAC算法排异后再采用最小二乘法检测垄行具有更高的精度,导航路径的检测率可达93.8%。

图9 最小二乘法垄行检测结果 Fig.9 Detection results of crop rows by least square algorithm

实验表明,通过RANSAC算法优化待拟合的特征点集后采用最小二乘法拟合垄行直线,虽然算法处理时间有所增加,但算法仍具有实时性,垄行检测的精度明显提高。由表1可知,均方根误差为3.85°,导航路径检测率可达93.8%,与未使用RANSAC算法相比,均方根误差降低了5.82°,检测率提高了18.8个百分点。

4 结论

(1)以超绿色法和Otsu法对图像进行预处理,通过垂直投影划分垄行所在区域,形态学滤波与动态面积阈值滤波算法相结合的图像降噪处理,能降低杂草等其他因素的干扰,提高了本文方法的鲁棒性。对多种作物的实验表明,本文方法也具有较好的普适性。

表1 使用RANSAC算法垄行检测对比结果Tab.1 Comparison of crop rows detection with RANSAC

(2)在垄行边缘图上,通过均值法提取待拟合的特征点,算法简单、方便,在RANSAC排异算法剔除离群点后,采用最小二乘法拟合垄行直线,通过定量分析,均方根误差为3.85°、导航路径的检测率可达93.8%,与未使用RANSAC算法相比,均方根误差降低了5.82°,检测率提高了18.8个百分点。说明本文方法能够较为准确地检测植保机器人的导航路径。

猜你喜欢
离群植保阈值
一种基于邻域粒度熵的离群点检测算法
土石坝坝体失稳破坏降水阈值的确定方法
壶关县:开展2021年植保无人机操作手培训
全力以赴“虫口夺粮”保丰收,天津植保在行动
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
植保机
无怨无悔四十载 植保战线展芳华——访山西省太原市植保植检站副站长何淑青
近荷独坐
从数学的角度初步看离群点检测算法
候鸟