复杂环境下的农机视觉导航技术研究

2022-12-25 12:22王红君张翔淼岳有军
重庆理工大学学报(自然科学) 2022年11期
关键词:灰度分量农田

王红君,张翔淼,赵 辉,2,岳有军

(1.天津理工大学 电气工程与自动化学院天津市复杂系统控制理论与应用重点实验室, 天津 300384;2.天津农学院工程技术学院, 天津 300392)

0 引言

当前,常见的农业机器人视觉导航技术方法有GPS定位技术、激光导航技术和机器视觉技术等。室外非结构化农田环境复杂多变,杂草、缺株等因素使得基于卫星定位技术的导航系统稳定性降低。对比激光导航和卫星导航技术,机器视觉技术由于开发成本低、抗扰能力强等优点,近年来成为农机导航技术研究的热点之一。白云龙等[1]针对光照因素导致的图像分割不准确问题采用灰度化处理、直方图均衡化和中值滤波对图像进行预处理,提出了一种基于标记分水岭算法对图像进行分割,最后采集导航路径特征点,使用最小二乘法将特征点拟合成导航路径。梁习卉子等[2]针对玉米田中的阴影和杂草问题通过增强G分量,弱化R分量与B分量来提高图像分割的精度。陈继清等[3]针对果园路面易受杂草和人为干扰的问题提出一种根据噪声和园林道路的几何差异快速检测出道路边缘的算法,然后根据边缘点计算道路的均值拟合出边界线。Sabeethan等[4]首先利用超绿因子对图像进行分割,再通过基于微感知指数对水平带沿垂直方向检测候选特征点,通过最小二乘法拟合直线与曲线作物行。Wang等[5]采用阈值分割和形态学操作提取作物行,生成导航线。Sogaard等[6]根据农作物按列种植的特点,提出利用垂直投影法来提取特征点,特征点的数目可随图像高度变化而变化。张雄楚等[7]在处理区域内通过逐行扫描,将像素值为0的像素点坐标平均值作为候补点,然后利用过已知点的Hough变换拟合直线;彭顺正等[8]提出了一种“行阈值分割”法提取导航基准线;针对农田图像分割时数据量较大且易受环境影响的问题,陈晓倩等[10]提出了一种利用SLIC获取农田图像的超像素模块对图像进行分割的方法。Guijarro等[11]提出了离散小波变换法对绿色植物进行分割。Han等[12]提出了采用支持向量机方法对农田图像进行分割研究。

主流的视觉导航系统多是针对单一农作物场景或是温室大棚设计的,对环境复杂的非结构化农田或果园的适应性不强,环境多变造成算法失效或精确度降低;传统的直线拟合算法对噪声点比较敏感,奇点的存在容易造成导航路径偏差。基于此,提出了一种基于YCrCb空间的图像预处理方法,根据农田图像的颜色特征进行了分割;利用垂直投影法获取农作物列信息并采用随机抽样的方式拟合出最终的导航直线,进一步克服噪声点的干扰,提升了导航系统的适应能力和实时性。

1 算法设计

农作物图像采集过程中受环境因素影响较大,本文首先将采集得到RGB农作物图像转换为YCrCb颜色空间,对光照分量Y进行扫描检测,获取白点作为参照点,对其他像素点的亮度进行矫正,经过以上步骤可以得到质量较好的农作物图像;然后采用OTSU阈值分割得到较为粗糙的农作物分割图像,这时分割后的图像可能存在一些杂草和土壤等像素的干扰,采用形态学操作进一步精细化处理,从而得到背景和农作物分离的二值图。基于二值化图像,采用垂直投影法提取农作物的列特征,再利用这些列特征拟合出导航路径,图1表示了本文算法流程。

图1 本文算法流程框图

1.1 农作物图像预处理

对采集到的原始图像进行预处理的目的是提高图像质量并减少干扰信息,处理步骤主要分为亮度均衡化、灰度化处理3部分。

农作物图像在拍摄过程中受光照影响较大,导致采集的农作物图像亮度不够均匀,这会导致后续对农作物和背景的分割出现偏差。本文首先对不同光照强度下图像在YCrCb空间中的Y分量的直方图进行分析,结果如表1所示,正常光照下图像的灰度直方图分布情况比强光或弱光环境分布更加均匀,而分布在50以下和200以上的像素数较少。可见造成图像光照不均匀的主要原因为图像亮度分量Y集中在较大区和较小区,因此需要重新对亮度进行量化处理。

表1 不同光照下图像的Y分量均值

为消除亮度问题的影响,将RGB彩色图像转换到YCrCb色彩空间,并对光照分量Y进行扫描检测,获取白点作为参照点,从而对其他像素点的亮度进行矫正,具体过程为:

1) 将采集到的图像从RGB空间转化到YCrCb空间,再对Y分量进行直方图均衡化处理,直方图均衡化通过统计像素在不同区间出现的概率,将原始图像的直方图变为均衡分布的的形式,将非均匀灰度概率密度分布图像,变成灰度级均匀分布的图像,增强图像的对比度,使图像的细节清晰。

2) 将均衡化后的分量重新由大到小排列为Y0,由于无论在哪种光照强度下,一些天空或干扰点的亮度都较大,因此选取Y0的前10%的亮度作为图像的亮点,将其设置为均衡化后图像Y分量的最大值Vmax;将Y0的后10%的亮度作为图像均衡化后图像Y分量的最小值Vmin。

3) 对亮度过大或过小的像素点进行截断处理,令所有Y分量大于Vmax的像素点Y=Vmax,对所有Y分量小于Vmin的像素点,Y=Vmin。

4) 重新将中间像素点的亮度进行量化,计算过程为:

(1)

式中:Y0为原图像Y分量的亮度值;g0为经过重新量化后的亮度。

针对农田图像,RGB颜色空间相较于YCrCb空间,可以更有效地区分农作物区域。因此将亮度均衡化后的图像转换到RGB空间中并用超绿灰度法表示,并进行归一化进一步消除噪声的干扰,表达式为:

f(x)=1.8G-0.9B-0.9R

(2)

(3)

式中:f(x)为超绿灰度表示下的图像灰度值;f0(x)为归一化后的像素灰度;fmin(x)和fman(x)为归一化前像素灰度的最小值和最大值。

1.2 农作物图像分割

传统的OTSU算法通过遍历计算以所有像素值为分割阈值的类间方差值大小,使得两个类别之间的方差达到最大值的像素值就是OUST中的最佳分割阈值,经实验测试,固定阈值法平均计算时间为6 ms,传统OTSU平均计算时间为80 ms,难以满足农机导航系统的实时性。为此,改进OTSU算法的阈值扫描范围,具体步骤如下:

由于绿色具有较大的灰度值计算所有元素的平均灰度值ɑ,故将ɑ作为搜索阈值的下限。大部分绿色前景元素的灰度值在200~220,灰度值在220以上的灰度值点一般为白色的奇点或较亮的天空。因此,采用全部像素值从小到大排列后的95%分位数为β作为搜索阈值的下限。

中值滤波器、均值滤波器等线性滤波器对图像的边缘信息和细节信息保留不完整,去噪效果不理想且会造成图像细节缺失,因此采用开运算的方式对二值化图像进行去噪,修补了一些杂草造成的孔洞同时保留二值图像的边缘信息,同时确保农田轮廓大小不变。

1.3 垂直投影法获取农作物列信息

设图像的大小为W*H,则s(j)为第j列图像的垂直投影,其计算式为:

(4)

农田图像的垂直投影中的峰值区域反映了二值化图像前景元素比较集中的区域,图2为样本图像的垂直投影效果,如图中虚线所示,垄沟处区域由于黑色像素突出,因此在垂直投影中出现了峰值结构。

图2 二值化图片的垂直投影效果

垂直投影的波峰代表了原二值化图像处垄沟位置,但由于农作物存在一定倾斜,采用整张图像垂直投影会降低结果的准确性。而农作物在较小的一段区间上倾斜度不高,同时为了降低数据的计算量,排除较远处天空的干扰,本算法取原二值化图像的靠近摄像机的前70%进行处理,并将它们水平分成15条图像段,最后对分割后的水平图像段做垂直投影图,计算式为:

(5)

式中:W、H、S分别为每个图像段宽度、高度、面积;f(i,j)为分割后的像素值;s(j)为每个水平像素条的高度。

根据图像段垂直投影获取特征点的步骤如下:

步骤1当含有杂草或植株不连续时,会导致投影中断或杂草产生的投影段影响特征点提取的准确性。因此首先利用大小为5像素的方形高斯滤波模板对垂直投影曲线进行平滑处理。

步骤2为消除植株缺失对算法效果的影响,使得整个投影条更加连贯,选取阈值T1=0.05W,对长度小于T1的白色条带予以忽略。对宽度小于T1的黑色条带予以滤除。

经过步骤1和2的处理,根据二值化图像得到农作物和垄沟的基本位置,如图3所示,不同颜色的虚线代表农作物或垄沟在的位置。

图3 获取垄沟位置

步骤3随着农田与相机距离拉长,农机中央的垄沟长度也会逐渐变窄,整个导航路径呈现略微倾斜状态,但当距离较短时,两垄沟之间的差距不大,因此将距离农机最近处的投影条的中心点作为第一次特征搜索的起始点,由起始点依次向左右两端搜索最近的黑色投影带的边缘点,然后获取投影带的中点作为该投影条特征点,再将该投影条对应的特征点的横坐标记录并作为下一次搜索的起始点,该步骤的示意图如图4所示。

图4 根据垂直投影选取特征点

步骤4特征点出现误差的主要原因是垄沟带在计算时被过分扩大或缩小造成了特征点的横向偏移过大。而正常情况下,一个特征点与中心线偏移量应保持在一个稳定的范围内。为进一步矫正横向偏离较大特征点,首先依次计算每个特征点与前一个特征点横坐标之差,若小于最大允许偏差阈值θ,则认为特征点的偏移在正常范围并将该偏差值记录;否则,认为该特征点为噪音点,将其横向偏差值设置为检测该点之前的所有正常点横向偏差值的平均值,该步骤的流程图见图5。

图5 特征点矫正算法流程框图

步骤4利用了农田成排种植,垄沟在一定范围内倾斜角趋于稳定的特点,矫正前后如图6所示。

图6 特征点矫正前后

1.4 导航路径拟合算法

采用一种基于随机抽样和投票机制的已知点检测算法,该算法可以进一步克服干扰点的影响,快速计算直线参数,算法的具体步骤如下:

步骤1创建一个累加器i记录迭代次数,然后在已有的15个特征点中随机抽取两个点将其连接成直线,设其直线方程为:

Y=kX+b

(6)

步骤2创建2个累加器True和False并置零,分别记录除选出的2个特征点外,其他特征点对该直线的评价,True代表接受该直线,False代表拒绝该直线,投票方式为:首先分别计算其他特征点(XP,YP)到该直线的距离,计算式为:

(7)

式中:k、b分别直线的斜率和截距;dp为第p个特征点与该直线的距离。

步骤3令其他特征点对该直线进行投票,若dp≤0.02W,则认为该直线对特征点(XP,YP)满足要求,累加器True+1;否则,该直线不满足要求,False+1,待所有特征点计算完毕后,若所有点接受该条直线,即True=13,那么将该直线的参数作为最终导航路线拟合的结果;否则将累加器i+1,记录迭代次数且重复步骤1。

步骤4因为每张图像涉及15个特征点,因此迭代次数不宜过高。经过实验测试,绝大部分图像通过迭代10次左右就可以出现满足条件的直线,而继续搜索不但无法提升直线的精确度,反而增加了算法的耗时,所以本算法将迭代的最大值设置为20。当i=20时,即代表随机抽取20次后仍没有发现使得所有特征点都接受的直线,这时则采用投票数最高的一组直线参数作为最终的拟合结果。

本算法利用了随机抽样与投票选取的思想既克服了干扰点的影响,也避免了穷尽式搜索对算法实时性的降低,算法流程如图7所示。

图7 直线拟合算法流程框图

2 实验结果分析

2.1 实验环境和数据

实验测试环境:CPU为Intel Core i3-9100f @3.6GHZ,16GB内存,操作系统为64位Windows10。编程环境为Python3.6和opencv3。

选用彩色摄像机,在天津理工大学试验田以及山西省运城市某小麦田中和苹果园中拍摄,分别准备了绿色农田、田间、果园背景下不同时间段拍摄的图像共600张。拍摄高度约1.5 m,拍摄倾角约15°~20°。

2.2 实验结果分析

本文采用的图像光照平衡算法处理结果如图8所示。

图8 图像光照平衡结果

由图8可见,本文算法不仅有效去除了光照因素对图像的干扰,还保留了图像的边缘部分,增强了绿色特征,为导航特征的的选取提供了更有效的信息。

其他常见的光照平衡算法还有直方图均衡化和伽马矫正等。伽马矫正需要进行归一化和反归一化的处理,一般处理时间都在100 ms以上,而直方图均衡化只是将图片整体的灰度进行了均衡化处理,并没有考虑到实际农田环境下图像亮度较大或较小的像素较为集中的情况,因此会造成图像边缘模糊和失真。本文引入图像的边缘保持指数EPI来衡量农田图像的预处理效果,EPI值越接近1,证明算法的边缘保持能力强。不同算法下的图像的ERI值及平均处理时间见表2。

表2 不同算法的EPI值与耗时

图9(a)和(b)为RGB彩色图像的G分量和B分量的灰度图像,图9(c)为采用超绿特征因子下处理结果,引入归一化算法后的图像处理结果如图9(d)。

图9 图像灰度化结果

由图9可见,农作物中B分量较低,但G分量较高,超绿因子法中,农作物和背景对比度差别较高,具有明显区别;使用归一化后灰度趋于均衡,噪声干扰也较小。

图10(a)为超绿特征因子的分割结果,OTSU算法能够自动寻找最佳分割阈值且受噪声影响都很小;二值化分割后,采用大小为3个像素的模板对二值化图像进行形态学处理操作,结果如图10(b)所示。

图10 图像分割与形态学操作结果

引入误分率ME值来衡量农田图像分割的性能,该值反映了背景或前景像素被误分到前景或背景区域的百分数,该值越小表明分割效果越好。计算式为:

(8)

式中:| |表示所有像素的的数量;B0和F0表示人工标记的图像的背景和前景;BT和FT表示分割后的背景和前景。

为了证明本文图像分割算法的有效性,将样本图像进行了不同算法的图像分割实验,ME值与平均耗时见表3。

表3 ME值与平均耗时

为验证特征点选取算法对环境的适应能力,选用了边缘检测法、小波分解法、扫描滤波法以及文献[6]中传统垂直投影法引言中所提到的进行了对比实验,实验结果如图11所示。

边缘检测法的误差主要来源于边缘信息不完整或植株缺失导致的边缘扭曲或奇变,虽然计算速度相对较快,但在作物不连续、弯曲种植等环境下准确率较低,不适合复杂环境下的特征点提取;小波分解或基于灰度特征搜索图像边缘的消失点虽然克服了一些由于边缘缺失或噪声和杂草问题带来的影响,但具有计算时间长的缺点;扫描滤波法在田埂路面下表现较好,但在带状农田和果园中缺乏适应性;传统的垂直投影法干扰点偏离较大,会对路径的提取带来很大误差。

经过上文介绍的步骤1—4对特征点的提取及矫正,相比文献提出的垂直投影法更好的提升了算法实时性和抗干扰能力,可以较好的提取出农田的垄沟或田间路径的特征点,样本图像的实验结果如图12所示。

图12 特征点提取结果

表4为本文算法计算出的特征点与扫描滤波法[9]、边缘检测法、小波分解法和传统垂直投影法所计算出的特征点坐标与人工提取的偏差值和算法耗时。

表4 特征点提取偏差与耗时

为验证提出的直线拟合算法的准确性和实时性,选用传统最小二乘法、Hough变换法、经过改进后基于概率的Hough变换法[14]进行对比实验,实验结果见图13。

图13 直线拟合对比实验

最小二乘法的计算结果与实际垄间路径的偏离较大,主要误差来源为算法本身对干扰点较为敏感,导致一些与直线有一定偏差的数据点会对最终参数的结果造成很大干扰。另外,边缘处的一些缺失点也会造成直线的一定偏移,尽管算法耗时短,但经多次测试发现,拟合直线的准确率不高。相比最小二乘法,Hough变换法拟合的直线效果有明显改进,直线更接近人工提取的结果;虽然改进后的Hough变换对算法耗长的缺点有了一定改善,但仍没有克服传统方法大范围扫描特征点和计算过程较复杂的缺点。对于计算机的内存处理能力要求较高,难以搭载到农业机械中实际满足农机实时性的要求。

本文算法具有一定随机性,但计算相对简便,对奇点干扰点的处理更加灵活,对比最小二乘法和Hough变换法都有较好的精准度和实时性。图14为本文算法实验结果,表5为不同算法下的直线偏差率和算法时间。

图14 直线拟合实验结果

表5 直线拟合偏差与耗时

为进一步验证本文所提出路径提取算法的准确性和实时性,分别与:① 边缘检测+改进Hough变换法[14];②K-meas+最小二乘法[15];③ SVM+最小二乘法[16];④ 传统垂直投影法+Hough变换法[6]进行对比。导航系统性能见表6。

表6 导航系统性能

由表6可知,基于K-means或SVM对垄沟两端边缘特征点进行聚类对传统算法效率低下的缺点有一定改进,但算法总体耗时较长,且最小二乘法抗扰能力差;杂草或石块产生的小投影段对传统的垂直投影法干扰较大,且穷尽式搜索降低了系统的实时性。本文改进后算法与其他方法相比,在保持稳定性和准确度的前提下,大幅提高了导航系统的实时性。

3 结论

研究了自然环境下光照不均时的农田图像导航线检测算法,提出了一套基于机器视觉的导航算法,并进行了对比验证和性能检测。实验检测结果表明,本文所采用的算法可适应传统带状农田、田园、果园等环境。基于垂直投影法获取农机行走路径的特征点,不仅压缩了数据的处理量,还矫正了偏离量较大的特征点,通过随机抽样及投票机制克服了传统方法易受干扰点影响和穷尽式搜索的弊端。将实验结果与传统Hough变换、LSM 等算法比较发现,新算法具有精度高、耗时少的优点,在杂草和株数稀疏的情况下均能正确地提取导航线。

猜你喜欢
灰度分量农田
采用改进导重法的拓扑结构灰度单元过滤技术
达尔顿老伯的农田
达尔顿老伯的农田
山西省2020年建成高标准农田16.89万公顷(253.34万亩)
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
画里有话
Arduino小车巡线程序的灰度阈值优化方案
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
论《哈姆雷特》中良心的分量