时间:2024-05-21
牟丽莎++彭莉娟
摘要:针对农田中农业机械的自主导航问题,提出一种基于视觉图像处理的导航方案。首先,通过安装在机械顶端的摄像机获取农田图像,基于图像水平线检测来校正圖像,并将其转换成俯视图。然后,在俯视图中,通过对图像强度函数的积分来估计机械前进方向相对于农作物行的偏转角。最后,通过模板匹配来估计机械的横向偏移,根据偏转角和横向偏移来导航农业机械。另外,融入了非农田区域的检测,避免机械走出农田范围。结果表明,该方案能够精确地引导农业机械跟踪农作物行前进。
关键词:农业机械;自主导航;视觉图像处理;偏转角;横向偏移
中图分类号: S126;TP391.4文献标志码: A
文章编号:1002-1302(2017)04-0159-04
机械自动化能够有效提高农业机械的生产力。对于一些农业机械作业,例如喷洒、播种和收割等,若能使其自动精确地沿农作物行(或垄沟)前进,则将显著提高其自动化程度[1]。目前,最常见的解决方案是使用精密的全球导航卫星系统(global navigation satellite system,GNSS)[2]。然而,该方案无法获得农田的实际情况,在行进开始和到达农田末端时还须要人工进行调整。
在一些广袤的农场中,农作物通常以近似直线的方式种植,这就为基于图像技术来导航农业机械提供了依据[3]。随着图像处理技术的发展,可以通过识别农作物行来引导农业机械行进。现有大多数基于图像处理的农作物行跟踪技术,都依赖于深色土壤中的绿色植物行[4]。该技术利用颜色信息从土壤中分割出农作物,然后转换成二进制图像并拟合农作物行曲线[5]。然而,许多农田作业场景中没有颜色对比鲜明的农作物,比如在仅有农作物秸秆的田地中进行耕地作业[6]。在这些农田场景中,基于分割的农作物行跟踪算法将变得不可行。
[JP2]因此,本研究提出了1种基于单目视觉的导航方法,通过图像处理技术来检测农田俯视图中的并行平面纹理,从而实现对农作物行的实时跟踪并估计横向偏移。提出的方法不需要执行植物与土壤的二进制分割,也不需要对植物外观(如行距、周期性、颜色等条件)进行明确假设,适用于外观不同的大片农田。[JP]
1提出的方法框架
本研究将农作物田地建模为平面并行纹理模型,使其能够提取出特定农作物的细节,例如颜色、间距和周期性,并提出1种新颖的方法,从俯视角度的平行纹理图中提取方向,用来跟踪车辆的横向偏移;还估计了摄像机的姿态,以确保正确且稳定的俯视角度,从而使所拍摄的图像相对水平较宽,避免出现“模糊”行。
提出的跟踪农作物行方法的总体结构见图1,具体步骤如下:(1)对图像进行预处理,基于图像地平线检测来估计车辆的侧倾和俯仰;(2)基于估计的侧倾和俯仰来校正图像使其水平,并将其转换为俯视图;(3)对俯视图像中主导并行纹理方向进行估计,从而获得车辆相对于农作物行的前进方向;(4)根据估计的前进方向来倾斜图像,以此校正俯视图中的前进方向;(5)对倾斜图像的列求和生成帧模板;(6)将帧模板与农作物模板进行比较,以此估计机械相对于农作物行的横向偏移量。最终,根据估计的偏转角和横向偏移量来控制机械调整路线,使其沿着农作物行前进。
2方法步骤
将农业机械的作业面构建成1个局部坐标系,坐标系以作业开始时机械的位置为中心,并以农作物行为y轴方向。坐标系内摄像机姿态Pc定义为
[JZ(]Pc=[xc,yc,hc,θc,c,γc]。[JZ)][JY](1)
式中:xc和yc为摄像机坐标系,hc为摄像机高度(常量),θc、c为摄像机侧倾、俯仰度,γc表示摄像机相对于农作物行的偏转角,即机械前进方向的偏转角。本研究不需要农作物行方向(yc)上的行进距离,但须要估计其余的摄像机姿态变量(xc、θc、c和γc)。因此,采用一维卡尔曼滤波来跟踪状态θc、c和γc,以提高抵御噪声和丢失数据的能力。
2.1地平线检测
假设农田广阔且平坦,则可基于地平线的检测来估计车辆的侧倾和俯仰[7]。通过RGB空间的拟合平面(即与图像的顶部和底部RGB中位数等距离的30%图像),将图像中的像素归类为“天空”或“大地”,并转换成二进制图像,再利用RANSAC算法[8]拟合分界线形成地平线。
2.2生成俯视图
接下来构建农田的模拟俯视图,使农作物行平行。对未失真的灰度图像进行旋转和裁剪,使图像的顶部为地平线。然后使用逆投影变换将感兴趣的矩形区域变形为俯视图[9]。因为水平线位置现已固定,定义逆投影变换的单应矩阵也固定,所以该俯视图变形过程实际上为一个像素映射过程。
2.3估计机械前进方向的偏转角
提出的方法是基于寻找俯视图像中农作物行方向来测量农业机械前进方向相对于农作物行的偏转角γc。首先,以不同的变换角度来倾斜俯视图像,然后沿着列汇总倾斜的图像,并计算所得向量的方差。导致最大方差的倾斜角就是本研究所要估计的偏转角γc。具体步骤如下描述。
近似农田为一个水平平面,农作物行由一维农作物模板函数S(x)表示,S(x)是摄像机图像沿农作物行方向到平面的投影。由图2可知,一个摄像机以姿态Pc观察由强度函数I(x,y)表示的平面,平面上任意点的强度定义为
[JZ(]I(x,y)=S(x)+ε(x,y)。[JZ)][JY](2)
式中:ε(x,y)项为未知噪声函数,表示农作物外观不符合线性并行模型(例如缺少部分农作物、存在杂草等),将ε(x,y)建模为零均值的随机变量。沿着行方向对强度函数I(x,y)求积分可获得农作物模板S(x),表达式为
[JZ(]S(x)=lim[DD(]y0→∞[DD)][JB([][SX(]1y0[SX)]∫y00I(x,y)dy[JB)]]。[JZ)][JY](3)
为对俯视图像执行积分从中恢复农作物模板函数S(x),须先估计出相对于农作物行的机械前进方向。定义1个n列m行的灰度俯视图像O(i,j),用来表示機械前进方向与农作物行成γc角度时,强度函数I(x,y)平面的旋转和缩放俯视图像。因此,可以通过在农作物行方向上对俯视图像求积分,来恢复农作物模板S(x)的一个“缩放版本”(i):
[JZ(](i)≈[SX(]1m[SX)]∫m[KG-1*2]0O[i-jtan(γc),j]dj。[JZ)][JY](4)
然而γc是未知的,若此时将前进方向偏差Δγ带入式(4),将得到一个偏差的农作物模板:
差方向来积分图像。这意味着,农作物模板e(i)是真实农作物模板(i)的“平滑”版本,见图3。由图3-a可知,在农作物行方向(偏转角为γc)上积分俯视图O(i,j)获得农作物模板(i);由图3-b可知,在偏差Δγ方向(偏转角为γc+Δγ)上积分O(i,j)获得偏差模板e(i),由此得出e(i)是(i)的平滑版本并具有较低的方差。
式(5)可描述为一个具有宽度k和高度1/k的矩形窗的卷积过程,即箱式低通滤波器。当前进方向偏差Δγ接近于0时,该滤波器将通过所有的频率。因此,可以通过最大化偏差模板e(i)的方差来估计γc值。这是因为当真实模板(i)的所有频率衰减时,e(i)的方差将最大化,即
[JZ(]γc=arg max[DD(]γ[DD)](var(e))。[JZ)][JY](7)
2.4估计机械的横向偏移
“2.3”节估计了机械的前进方向,并从俯视图像中恢复出农作物模板函数(i)。这里,直接跟踪(i),以估计机械中心在农作物行的垂直方向上的横向偏移,即机械位置离农作物行的距离。
这里将第1帧图像中恢复的向量(i)作为农作物模板,后续帧中的模板作为帧模板。使用零均值归一化互相关(zero-mean normalized cross correlation,ZNCC)[10]技术将帧模板与农作物模板进行匹配。当匹配的ZNCC系数低于阈值时,则将当前帧模板作为农作物模板,并继续执行检测。在摄像机前方地面某一点的像素上执行偏移估计,若机械(摄像机)的高度和感兴趣区域的坐标已知,则这个点的位置和估计的偏移可转换成距离度量,从而获得机械的横向偏移,使其能够控制机械调整位置。
2.5非农田区域检测
在农业机械作业过程中,会遇到一些没有农作物行的地面,例如农田的末端或没有农作物的地块。本研究根据前进方向的输出值,通过式(7)来检测这些情况。以1°为增量,对于在±30°之间的各种γ值,计算帧模板的方差v(γ)。如果在俯视图像中没有明显的方向性纹理,则所有v(γ)值都相似。如果在俯视图像中存在强方向性纹理(即明显存在农作物行),则对于特定的γ值,v(γ)存在峰值。所以,可通过最大v(γ)值与平均v(γ)值的比例来检测是否存在有效的农作物行。当该比值大于阈值时,则将该图像视为具有有效行纹理的图像。通过试验验证,当阈值thresh设定为2时效果最佳。
[HS3][JZ(]valid=[JB({]1,thresh<[SX(]max[v(γ)]mean[v(γ)][SX)]0,otherwise[JB)]。[JZ)][JY](8)
如果在某一图像帧中没有检测到有效农作物行,则前进方向测量值将不会传递到卡尔曼滤波器中。如果多个连续图像帧中都检测失败,则表示进入了无农田地块,此时控制车辆停止。
3试验及分析
3.1试验场景
试验中所使用的农机平台是1台喷药除草机。使用了2种不同的摄像机——Microsoft的LifeCam网络摄像机和IDS uEye工业相机来拍摄农田,其中LifeCam摄像机视角较广,而IDS uEye摄像机视角较窄。另外,农作物行导航算法由OpenCV的C++语言编译实现,同时利用精确的GPS/INS测量系统[11]来验证结果,试验平台见图4。在本地的一个广袤农场中的3种不同农作物田地上进行试验,分别为场景a:小麦地;场景b:收割后的高粱地;场景c:马铃薯地(图5)。其中场景a和b由IDS uEye摄像机拍摄,场景c由LifeCam摄像机拍摄。
3.2试验结果
在上述3种不同农作物的田地中进行试验。试验中,喷药除草机在250 m长的田间沿农作物行方向进行,通过摄像机采集图像,然后对图像数据进行处理,并输出机械前进方向的偏转角和横向偏移,以此导航机械前进。图6给出3种不同农作物田地上的试验结果。其中,第1列为各种田地场景图像转变后的俯视图举例,图中的红线表示农作物模板曲线,白线表示当前帧模板曲线。第2列为机械行进过程中的不同位置点处,本研究方法所估计的横向偏移与GPS系统测量的偏移的对比。由图6可知,每种场景有着显著不同的外观,但提出的方法能够很好地追踪农作物行,且所估计的偏移与实际测量值都非常接近。为了更好地描述方法性能,计算整个行进过程中的偏移估计值与实际测量值之间的均方根误差(root mean square error,RMSE)。
4结论
农田中经常存在农作物和土地之间无显著对比的情况,使基于图像分割技术检测农作物行的导航方法无法使用。因此,本研究提出了1种新颖的导航方法。通过水平线检测来稳定图像并将其转换为俯视图,在俯视图上估计机械相对于农作物行的偏转角,并通过帧模板与农作物模板的比较来估计机械的横向偏移量。在不同场景的田地中进行试验,结果表明提出的方法能够精确地估计所需参数,且对机械的倾斜和俯仰具有一定鲁棒性。
在未来的工作中,将研究更加高效的农作物行跟踪算法,并与其他导航信息源(例如GPS和光学测距)相融合,进一步提高机械的自主导航能力。
参考文献:
[1]姬长英,周俊. 农业机械导航技术发展分析[J]. 农业机械学报,2014,45(9):102-103.[HJ1.73mm]
[2]Rovira-Ms F,Chatterjee I,Siz-Rubio V. The role of GNSS in the navigation strategies of cost-effective agricultural robots[J]. Computers and Electronics in Agriculture,2015,112:172-183.
[3]杨青. 基于农业视觉图像的高效滤波处理方法[J]. 江苏农业科学,2014,42(4):361-363.
[4]Hiremath S,van Evert F K,ter Braak C,et al. Image-based particle filtering for navigation in a semi-structured agricultural environment[J]. Biosystems Engineering,2014,121(2):85-95.
[5]劉阳,高国琴. 农业机械视觉导航基准线识别研究进展[J]. 农机化研究,2015,37(5):7-13.
[6]Hu J T,Li T C. Cascaded navigation control for agricultural vehicles tracking straight paths[J]. International Journal of Agricultural and Biological Engineering,2014,7(1):36-44.
[7]付丙岛,王广彪,丁文锐,等. 用于飞行器视觉导航的地平线检测算法[J]. 北京航空航天大学学报,2011,37(7):849-854.
[8]杨海燕,罗文超,刘国栋. 基于SURF算法和SC-RANSAC算法的图像配准[J]. 计算机应用研究,2013,30(5):1586-1588.
[9]常嘉义,秦瑞,李庆,等. 基于全景鸟瞰视图的障碍物检测方法研究[J]. 计算机科学,2014,41(2):78-82.
[10]Qadir A,Neubert J,Semke W,et al. On-board visual tracking with unmanned aircraft system[J]. Computer Science,2012,25(6):142-149.
[11]熊剑,郭杭,熊智,等. GPS/INS组合导航系统中的高斯粒子滤波混和算法[J].
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!