APP下载

基于机器视觉的玉米行导航线提取方法

2021-01-12王祥祥宫金良张彦斐

关键词:实时性灰度投影

王祥祥,宫金良,张彦斐

(1. 山东理工大学 机械工程学院, 山东 淄博 255049;2. 山东理工大学 农业工程与食品科学学院,山东 淄博 255049)

农业机械自主导航技术是精准农业的一个重要组成部分,能够有效提高大田作业的精准度,同时减少人工的使用数量、降低作业成本。农业机械自主导航技术最早在20世纪20年代被提出,从最早的预埋电缆导航发展到现在的机器视觉导航、GPS导航、惯性导航和激光雷达导航等[1]。其中,机器视觉导航主要利用作物行呈直线或曲线规律性分布的特性,结合机器视觉技术检测出局部分段直线,最终拟合成导航基准线。机器视觉导航相比于其他几种导航方式具有实时性好、成本低、适用范围广的优点,已经成为精准农业的一项重要技术[2]。

目前,条播作物检测提取导航线的方法主要有垂直投影法[3]、逆透视映射法[4](inverse perspective mapping, IPM)和Hough变换法[5]。其中,垂直投影法是将图像按行分割为多个扫描区域,对每个扫描区域按列累加获得累加曲线,根据作物行分布规律,从累加曲线提取目标点。垂直投影法将从图像中提取目标点转为从累加曲线中提取目标点,具有计算量小和实时性好的优点;但是,目标点提取和分类需要设置固定距离阈值,根据‘小孔成像’原理,设定固定距离阈值不能同时满足距离相机远和距离相机近的作物,难以提取准确的目标点。IPM法是在已知俯仰角、偏航角和相机高度等参数的前提下,将具有透视形变的图像映射为无透视形变的鸟瞰视图[6]。IPM法能够去除图像的透视效果影响,消除图像几何失真;但是,农业机械在凹凸不平的地面上行驶时会产生振动,俯仰角和偏航角会随之产生摆动,相机高度也发生变化,这会导致映射后的作物行与真实作物行不匹配,并且在映射过程中,某些数值需要利用插值算法估计给出,因此会影响目标点检测的准确率[7]。Hough变换法是将平面坐标系映射到参数坐标系,在参数坐标系中根据累加计数器的值来提取直线;但由于图像的数据量庞大,坐标系映射过程中计算量大,导致Hough变换耗时较长,实时性较差。

针对以上问题,为了解决垂直投影法提取和分类目标点需要设置距离阈值的不足,提出一种自动提取导航线的方法,用来提高导航线提取的鲁棒性和准确性。

1 导航线提取算法

1.1 图像预处理

图1 原始图像Fig.1 Original image

以四轮独立驱动的移动机器人作为采集平台,相机安装在移动机器人正前方,地面高度1 100 mm,俯仰角30°~50°,采集的图像分辨率为640×480,原始图像如图1所示,通过图像分割可以将绿色植物与土壤、干草、石块等背景分离开。孟庆宽等[8]提出的YCgCr颜色空间适合处理存在光照变化的图像,其中Y表示明亮度,Cr表示R分量与光照强度的差异,Cg表示G分量与光照强度的差异。绿色植物含有的G分量比重较高,利用Cg分量可以排除光照强度的干扰进而灰度化图像,图2为对应的Cg灰度图像。RGB颜色空间转为YCgCr颜色空间的转换公式[9]为

(1)

图2 Cg灰度图像Fig.2 Cg grayscale image

利用Otsu法自动计算图像阈值,将绿色植物划分为一类,背景划分为一类,使得绿色植物与背景两类之间的灰度方差最大化。将Cg灰度图像中灰度值高于阈值的像素点置为0,灰度值低于阈值的灰度置为255,得到二值化图像如图3所示。

图3 二值化处理图像Fig.3 Binarization of the image

二值化图像中含有噪声以及小面积像素区域,对二值化图像进行形态学处理,能够消除图像的椒盐噪声和一些小面积像素,同时可以平滑较大物体的边界。利用半径为5像素的圆形结构元素先对图像进行膨胀处理,然后对图像进行腐蚀处理。图4为形态学处理图像,图像中的部分小面积像素被消除,玉米茎的边缘变得更加平滑。

图4 形态学处理后的图像Fig.4 Morphologically processed image

形态学处理后的图像中还存在一些小面积不规则区域,利用八邻域算子跟踪图像中各个区域的边缘,记录每个区域的像素面积,将面积小于150的区域删除。图5是利用该方法处理后的图像,图像中的不规则噪声区域明显被剔除。

图5 八邻域去噪图像Fig.5 Eight neighborhood denoised image

1.2 导航线提取

垂直投影法是提取导航线常用的图像处理方法,具有计算量小、运行速度快的优点。本文首先利用垂直投影法提取目标点,然后将目标点归类,最后拟合同一类的目标点得到导航线。

以图像左上角点为原点,数组An[]用来保存第n个扫描区域中目标点的横坐标值和纵坐标值,记为An[xk,yk],数组中的坐标值按照横坐标从小到大的顺序排列。图像尺寸为M(宽)×N(高),单位为像素。具体步骤如下:

1)对八邻域去噪图像从下到上用高度为40、宽度为M的条形框框选得到目标区域,对目标区域进行垂直投影,垂直投影曲线为Sn(i),其中i∈[1,M]。

2)构造边长为20像素的方形高斯滤波模板对垂直投影曲线Sn(i)进行平滑处理,得到平滑曲线Kn(i),其中i∈[1,M]。

3)从左到右搜索每个扫描区域的曲线Kn(i),如果Kn(i)=0,且Kn(i+1)>0,继续向右搜索,寻找第一个满足Kn(k)>0且Kn(k+1)=0的点,其中k∈[i,M];如果同时存在i点和k点,则i点为左边缘点,k点为右边缘点,将点i和点k对应的横纵坐标存入数组An[]中。

4)如果是第一个目标区域,那么获得的左右边缘点归属为不同的类;如果不是第一个目标区域,判断目标区域的每一组左右目标点与前一个扫描区域中的左右目标点。设点P(xj,yj)和点P′(xj+1,yj+1)是当前目标区域上相邻的一组目标点,点Q(xl,yl)和点Q′(xl+1,yl+1)是前一扫描区域相邻的左右目标点,如果max{xj,xl}≤min{xj+1,xl+1},则两组目标点归为同一类;否则,表示出现了新的一类,将目标点放入新的一类中。

5)将所有目标点类按目标点数量排序,以数量最多的前两位目标点类作为最佳作物行,将同一类目标点中的左、右边缘点取中点作为特征点,利用稳健回归法线性拟合特征点,得到导航线。

图6为检测目标点的过程。其中,图6(a)是第一个目标区域,图6(b)和图6(c) 分别是对应于图6(a)的垂直投影曲线Sn(i)和平滑曲线Kn(i)。图7是特征点和导航线检测结果,图中的点表示提取到的特征点,红色点和蓝色点是数量最多的前两位的目标点类, 兰色线是线性拟合得到的导航线。

图6 目标点检测过程Fig.6 Target point detection process

图7 特征点和导航线检测结果Fig.7 Detection results of feature points and navigation lines

2 试验结果与分析

试验图像采集于山东省淄博市临淄区试验田,采集时间为2018年7月,采集到不同杂草密度的150张图像。图像处理软件为MathWorks公司的Matlab2018b,运行在英特尔Xeon E5-2643 @ 3.30 GHz(×2)、32 GB内存,Windows7(64位)操作系统的计算机上。

为了分析算法提取导航线的准确性,采用人工标记的方法给定最佳导航线,获取最佳导航线在图像上的角度,以此为基准,分析算法提取到的导航线与最佳导航线的角度差,角度差在±5°时认为结果准确。为了验证算法的可行性和实时性,对采集到的150幅样本图像利用本文算法提取导航线。统计结果表明,本文算法处理一副640×480像素的图像耗时约108 ms,导航线提取准确率为92%,可以满足农业机械实时性导航的要求。

为了分析算法提取导航线的稳定性,分别对杂草较多和杂草较少的图像进行处理,试验结果见表1。由表1可知,本算法针对杂草较多的情况具有较强的适应能力,图像处理平均耗时为103 ms,准确率为90%。

部分试验结果如图8所示。图8中,图8(a)和图8(b)表示少量杂草的环境,图8(c)和图8(d)表示杂草较多的环境。可以看出,本文算法提取到的特征点能准确反映玉米植株位置,且能准确划分为不同的类。试验表明,在杂草较多和杂草较少的田间环境下,本文算法都能够准确地提取导航线,具有良好的适应能力和较强的鲁棒性。

表1 不同环境的处理结果Tab.1 Results in different environments

(a)少量杂草,地表干燥 (b)少量杂草,地表湿润

(c)杂草较多,地表湿润 (d)杂草较多,地表干燥图8 不同环境条件的导航线提取结果Fig.8 Navigation line extraction results for different environmental conditions

3 结束语

提出一种基于机器视觉的导航线提取方法,针对垂直投影法提取和分类目标点需要设置距离阈值的不足,提出对垂直投影曲线进行高斯平滑处理,并自动提取和分类目标。试验结果表明,本算法处理一幅640×480像素的图像耗时约108 ms,特征点拟合准确率为92%。与传统方法相比,该算法具有精度高、实时性好的特点,算法在杂草较多的情况仍具有较强的鲁棒性,可满足农业机械实时性导航的需求。

猜你喜欢

实时性灰度投影
航空滤光片阵列多光谱图像条带灰度调整算法
采用改进导重法的拓扑结构灰度单元过滤技术
全息? 全息投影? 傻傻分不清楚
投影向量问题
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
找投影
找投影
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究