刘义亭,吴清政,陆宇豪,李佩娟
(1.南京工程学院 自动化学院,南京 2 111671;2.东南大学 信息科学与工程学院,南京 210096;3.南京工程学院 研究生院,南京 211167)
农业智能机器人技术需要满足减轻人工负担和农作物种植的需求[1,2]。目前,现场实时导航的主要方式有全球定位系统(Global Positioning System,GPS)、视觉导航、惯性导航、地磁导航以及激光雷达导航等[3,4,5]。近些年来,因视觉信息丰富[6],国内外研究者开始着重研究视觉导航在农业环境中的应用。Josiah Radcliffe[7]研究了桃园路面导航系统,通过提取图像中的G 值,区分果园中的树冠和背景,拟合树行中心线为导航线,系统在桃园中的行进,误差均方根为2.13 cm。刁智华等人[8]运用2G-R-B 灰度化算法和随机Hough 变换检测玉米中心线,通过像素信息与世界坐标转换,提取位置偏差信息。孟庆宽[9,10]采用与光照无关的Cg 分量对彩色图像灰度化处理,利用线性相关系数约束法提取作物中心线,对横向偏差的检测平均误差小于33 mm,但是基于线性相关系数约束法的图像处理占用大量算法,耗时较长。李天华等人[11]针对大棚运输车导航问题,提出了基于HSV 色彩空间对大棚路径图像进行处理,以道路尽头横向为中心点作为导航标定点,导航线横向平均误差为2.4 cm。Garc´ıa-Santillá 等[12]利用超绿颜色空间进行二值化分割,再通过基于微感知指数对水平带沿垂直方向检测候选特征点。TOJO S 等[13]以田埂路面为研究对象,其判断地头位置的依据为水田内外的边缘纹理特征差异不同,最终同样采取最小二乘法获取了水田地头的分界线。Liming Zhao 等人[14,15]以农田内外的亮度或者颜色的区别作为判定依据,通过跳变行确定农田边界线位置,获得农田边界线呈水平的直线。综上所述,光照条件不均和环境噪声会影响图像预处理和图像分割效果,导致后续的农田导航线出现误提取,因此要求图像处理算法具有实时性和鲁棒性,从而保证农田导航的精度。
为了提高农田导航线提取的实时性和鲁棒性,本文提出了利用农作物行间距统一的环境特性辅助单目相机实现田间导航。首先针对复杂的田间环境中光照易出现的过强或过暗的问题,提出一种亮度矫正方法,将图像转换到YCrCb 色彩空间,通过均衡颜色空间的亮度值Y,克服光照过强和过弱的情况对图像处理的影响;其次,针对图像分割速度慢和准确度差的缺陷,设计基于最绿特征因子图像灰度化方法,通过减少OTSU 法(最大类间方法,大律算法)灰度级的计算,利用遗传退火算法提高OTSU 的迭代速度,提高图像分割速度;最后,利用骨架检测算法结合Hough 直线变换进行导航线的提取。
图像预处理是将非标准图像标准化,可以减少光照对后续图像处理的影响。本文将RGB 格式图像采用线性变换转换成YCrCb 格式,其中Y值表示图像亮度,通过对YCrCb 色彩空间中亮度分量Y进行差值运算,可以有效地抑制光照对图像处理的影响。
正常光照下农田图像的灰度直方图分布情况要比强光或者弱光环境分布更加均匀,峰值亮度一般在150 左右,灰度曲线呈中间高,两边低,但是在光照较强或者较弱的时候,图像的亮度分量Y大多分布在较高或者较低两端。为解决亮度过强或过弱对后续图像处理出现图像失真、颜色特征不明显的问题,本文提出一种亮度矫正方法,具体步骤如下:
(1)将RGB 图像转换到YCrCb 色彩空间,并对光照分量Y进行扫描检测,统计图像Y值分量。
(2)对亮度分量Y值进行直方图均衡化处理,将灰度级分布不均匀的图像处理成灰度级均匀分布的图像,凸显图像的细节。
(3)将灰度均衡化后的Y值降序排列为Y0,由于无论在哪种光照强度下,天空以及其他干扰点的亮度较大,因此选取Y0的前10%作为图像的亮点和均衡后图像的Y分量的最大值Ymax,Y0的后10%作为均衡化后图像Y分量的最小值Ymin。
(4)对亮度过大或者过小的像素点进行截断处理,令所有的Y分量大于Ymax的像素点Y=Ymax;同理,所有小于Ymin的像素点,Y=Ymin,如式(1):
(5)最后将中间未处理的像素点亮度进行量化,量化过程如式(2):
式中:Y0为原图像Y分量的亮度值;g0为经过重新量化后的亮度。
本文的图像主要分类对象是农作物和土壤,根据两者之间的差别,提出一种基于超绿特征因子和OTSU 法相结合的农作物图像二值化分割算法:
(1)使用5 × 5滑动窗口的高斯模糊减少噪声,忽略道路上的石块以及其余不重要的细节,提高需要处理色彩在图像中的占比。
(2)利用农田环境色彩单一的特点,农作物多呈现为绿色,与土壤的棕色、灰色差别较大,结合试验 环境,本文采用改进过的超绿特征因子,计算方法为:
式中:f(x,y)为灰度化后的图像灰度值,R、G、B分别表示红色分量、绿色分量和蓝色分量。以样本图中为例,超绿特征因子的转换时间约为11 ms。确定OTSU 法分割前景和后景的最佳分割阈值分布在150-220 区间。农田灰度直方图如图1 所示,其中cdf曲线表示灰度的累计分布概率曲线,在150-200 间斜率最大表示在此段灰度值在直方图中占比高。
图1 图像灰度直方图Fig.1 Image gray histogram
(3)计算图像所有元素的灰度均值α,α作为搜索分割阈值的下限,并将全部像素灰度值按升序排列,灰度值中的在95%的值作为搜索阈值的上限,计算步骤为:
设图像大小为M×N,图像中的像素灰度值小于分割阈值k的像素个数为N0,大于k的像素个数记作N1,ω0、ω1分别是前景和背景像素点在全景中的占比,μ0、μ1分别是前景和背景的平均灰度,μT为图像的平均灰度,g为类间方差,因此有:
类间方差如式(7)所示。
化简得:
其中μT<k<Gray[0.95 ×(N0+N1)]遍历计算后的灰度级,计算出使得式(7)的类间方差最大的k。
相较于原始的OTSU 算法,通过缩小k值取值范围,优化后算法的前景最佳分割阈值相同,同时由于阈值的搜索范围缩小了50%-60%,所以在计算耗时方面下降了50%左右。
针对OTSU 法遍历图像的灰度值会消耗大量时间,本文提出使用遗传算法加速优化遍历灰度的迭代过程。将阈值设置为适应函数,通过随机值组成的种群进行交叉和变异得到新的种群。每次迭代过程都比上一代得到适应度更好的种群,在最后的一代种群中选择最优个体后进行反向编码,最终的结果就是最优解。
遗传算法虽然能够加快最大类间方差的阈值求解速度,但是遗传算法容易算出局部最优值。因此本文提出模拟退火法弥补遗传算法的缺陷,具体算法过程:
(1)随机生成初代种群,但长度、规模、概率都是预设好的。
(2)在种群中进行选择、交叉、变异,并在新的种群中找到适应值最高的个体B。
(3)最优个体B发生小幅度波动从而产生新的个体N。
(4)根据式(3)计算两者的适应度值,并计算新个体N与最优个体B适应值之间的差值,即σb(N)-σb(B)。
(5)若σb(N)-σb(B) ≥ 0,则N代替前最优个体B;若σb(N)-σb(B) < 0,对比参考概率和0~ 1的随机数做比较,决定是否替换值,其中概率为:,C为退火温度。
退火温度C的变化导致概率的变化,退火算法通过概率来选择新个体和最优个体中的最优值,进而弥补遗传算法导致的局部最优解现象。计算流程如图2所示。
图2 遗传退火算法流程图Fig.2 Flow chart of genetic annealing algorithm
针对作物由于根系生长不均匀和作物间的空隙造成OTSU 二值化的作物区域包含许多空隙的问题,本文提出对图像使用闭运算用于填充间隙,平滑图像中的轮廓。考虑到农业机器人在自动导航时,需要满足导航系统的实时性与鲁棒性,本文选用骨架检测结合Hough 直线拟合。农田骨架检测图与导航线模型识别图分布如图3-4 所示。
图3 骨架检测图Fig.3 Skeleton inspection diagram
图4 导航线识别模型Fig.4 Navigation line recognition model
Hough 变换的原理利用图像全局特性,通过投票的方法,在参数空间中取局部最大值获取对象候选值,并将其作为Hough 变换的结果。本文利用Hough 直线检测抗干扰能力强和对共存的非直线结构不敏感的特点求解检测出的骨架的直线走势,农田导航线的提取流程如图5 所示。
图5 导航线提取流程图Fig.5 Navigation line extraction flow chart
在理想情况下,农业机器人能够很好地检测出导航直线,实现农作行间导航。但是在自动导航过程中,农田中会存在农作物缺株,坏死等情况,导致在拟合导航线的时候出现缺失、错漏。本文提出一种新的改进算法,该算法利用农作物行栽种平行,间距大小相近的特点,限制拟合出的导航线间距,具体实现方法:
(1)当栽种的农作物其中某一行缺少植株时,根据另一边农作物行,结合行间距和图像中点拟合出的直线虚拟出一个的导航线。
(2)若两边都没有农作物,本文以图像底边中点为导航线中点,按照农作物行间距,虚拟出田间导航直线,可用于农业机器人的短时间田间导航。
为了验证本文算法的有效性和适应能力,分别选取了中午12 点与下午6:30 的室外草地图像,图像为png 格式。通过将本文光照平衡算法与常用的直方图均衡法和伽马矫正(Gamma Correction)等常用的光照平衡算法进行比较。图像光照平衡算法处理结果如图6-7 所示。通过对比EPI(边缘保持指数)来衡量农田图像的预处理效果,EPI 值越接近1,图像边缘越完整,算法的边缘保持能力越强。不同的算法下的EPI值以及平均处理时间如表1 所示。
图6 光照平衡算法光照过强时实验结果Fig.6 Light balance algorithm experimental results when the light is too strong
从图6-7 中能看出,本文算法能在光照较强的情况下降低亮度值,在弱光情况下提高亮度,降低光照对后续图像处理的影响。从表1 中,本文算法EPI 值相较于直方图均衡法提升23%,说明本算法有较强的图像边缘保持能力;对于农田导航要求的实时性,本文算法对于光照平衡的平均处理时间相较于直方图均衡法提升25.7%,比伽马矫正提升49.4%,满足导航条件。
图8 为样本图分别使用加权灰度法、G分量灰度法和超绿特征因子灰度法处理后的灰度图。图9 为三种灰度法的对比的灰度直方图。从图9 中可看出超绿特征因子灰度直方图存在更明显的波峰和波谷,更容易计算分割阈值,同时从图像中明显看出暗处的土壤部分与作物进行明显的区分。因此超绿特征因子更好地满足农田场景下的图像灰度处理,具有较强的适用性和准确性。
为了验证本文优化OTSU 算法的可行性和实时性,将样本图像进行不同算法下的分割实验,同时引用平均误差ME和像素精度PA用于衡量图像分割性能,ME值为背景或前景像素被误分的概率,值越小,分割效果越好;PA计算了分割正确像素的占比。ME、PA计算公式如下:
部分实验对比结果如图10 所示,ME与PA值如表2 所示。
表2 不同算法下的ME、PA 值与平均耗时比较Tab.2 Comparison of ME,PA values and average time consumption under different algorithms
图10 图像分割对比结果Fig.10 Image segmentation comparison results
从表2 中可以看出,优化OTSU 法的ME平均值比 ExG+OTSU 法少 0.0215,提升 22.7%,比RGB+OTSU 法少2.76,提升76.7%,PA平均值比ExG+OTSU 法多0.035,提升了约4%,比RGB+OTSU法多0.252,提升了约34.5%。综上本文算法的前景和背景分割错误概率更小,分割正确像素占比更高,农田作物分割效果更好。同时优化OTSU 法在耗时上也要分别比ExG+OTSU 法和RGB+OTSU 法提升31.5%和26.5%。从图10 中也能看出本文算法的边缘特征也更加完整,噪点更少。
为验证利用作物行平行和间距相近的特点从而虚拟出缺株少植的情况下的导航线的可行性。本文在三种不同情况下进行了试验,试验结果如图11。
图11 导航线提取图Fig.11 Navigation line extraction map
表3 算法性能对比Tab.3 Algorithm performance comparison
图11 中可以看出,即使在单边缺少植株甚至双边都缺少植株的情况,都可以以图像底边中点为导航线中点,按照作物预设宽度,虚拟出一条可供农业机器人短时间导航的导航线。
为判断导航线提取的准确性,取人工拟合的两行作物的中心直线为衡量标准,当人工拟合的导航基线与本文算法提取的导航线基准夹角范围内,判定为有效导航线,否则判定为错误导航线。为验证算法的实时性和可靠性,选取三种不同情况下的图像利用上述方法进行可靠性试验,试验不同农田图结果分析,处理一帧480×640 大小的正常图像平均耗时74 ms,单边缺株的情况68 ms,双边缺植64 ms,能够满足农田各种情况下的实时性导航要求;三种情况下的导航线提取准确率皆在85%以上,正常的情况下,导航线提取准确率在94%,单边缺少植物和双边缺少植物准确率皆在89%和85%。综上,导航线提取准确率能够满足导航要求。对导航线提取失败原因的进行分析,导航线偏移过多皆出现在杂草过多的情况下,导致作物位置检测阶段出现问题,从而出现导航线的误拟合。
本文针对种植期的农田作业,提出一种视觉导航路径检测算法实现农作物行间的自主导航,能够支持精准农业和作物监测任务。针对农田中光照过弱或过强导致后续图像处理效果不佳的问题,提出均衡像素灰度直方图的方法,减少光照的影响。针对传统OTSU法实时性差的问题,采用超绿特征因子提高农作物灰度在灰度图中的占比,缩小OTSU 法的取值范围,并采用遗传退火算法提高迭代速度。利用作物行平行且宽度近似的特点,当缺少视觉信息时,规划虚拟导航线,在短时间内为农业机器人提供导航路径。