APP下载

基于分区域特征点聚类的秧苗行中心线提取

2019-12-06尹俊楠朱德泉

农业机械学报 2019年11期
关键词:二值中心线像素点

廖 娟 汪 鹞 尹俊楠 张 顺 刘 路 朱德泉

(安徽农业大学工学院, 合肥 230036)

0 引言

作为智能农业机械的重要组成部分,农业机械自动导航技术备受人们关注,并已广泛应用于农作物种植、植保、收获等方面[1-3]。为适应现代化农业的发展需求,水稻插秧机的自主行走成为农业机械智能化的重要研究内容,在水稻插秧机自主行走技术中,自动导航技术是其重要组成部分[4-5]。目前,农业机械自动导航领域的研究主要集中在机器视觉技术和卫星定位(GPS)技术两种方式上[6],其中视觉导航具有成本低、范围广、适应性强等特点,已成为农业机械导航的研究热点。

根据我国水稻按照近似直线的行种植特点,插秧机视觉导航可通过提取秧苗行中心线,为确定插秧机的相对位置提供依据[7]。关于作物行中心线的提取,国内外学者提出了多种方法,其中应用较多的是基于Hough变换的作物行中心线检测方法,该方法结合色彩特征分割出图像中的作物或垄沟像素,通过Hough变换拟合这些像素,以提取作物行中心线[8-10]。但标准的Hough算法往往存在峰值检测难、计算复杂度高等缺点,难以满足农田作业实时处理的要求,且农田环境中光照、杂草等因素会直接影响作物绿色特征的识别[11],这给准确提取作物行中心线带了一定困难。

近年来,研究者开始关注改进Hough变换的应用。文献[12]提取秧苗特征点,用近邻聚类法对特征点进行聚类,并采用基于已知点的Hough变换[13]提取秧苗行中心线。文献[14]结合过绿特征和中值滤波算法分割作物行像素,通过随机Hough变换[15]拟合出作物行中心线。尽管改进的Hough算法在一定程度上降低了内存消耗,提高了线提取速度,但在噪声大的农田场景下,作物行中心线检测的准确性和实时性仍有待提高。

除Hough及其相应的改进算法,最小二乘法也常用于作物行检测[16-17]。相比于Hough变换,最小二乘法实时性好,但其准确性易受噪声影响,作物行中心线的鲁棒性不佳。针对最小二乘法对噪声敏感等问题,文献[18-19]基于颜色特征分割出绿色像素,利用线性回归算法提取作物行,克服了传统Hough变换的不足,但该方法需已知作物行间距。文献[20]假设作物行间距相等,采用多窗口移动方法对特征点进行聚类,获取代表作物行的特征点,拟合特征点提取作物行中心线,该方法能有效去除杂草噪声的影响,但行间距相等的限定使其适用范围受限。文献[21]采用垂直投影法提取水稻稻田图像秧苗行定位点,利用定位点的邻近关系对定位点分类,拟合定位点获取秧苗行中心线,但垂直投影法定位性较差,如不对定位点进行筛选,少量误差较大的定位点便会对最终的直线拟合效果产生较大的影响。

针对上述问题,为提高秧苗行中心线提取算法的实时性和精度,本文提出一种基于分区域特征点聚类的秧苗行中心线提取方法。在对图像进行预处理后,基于分区域的思想获取秧苗行候选特征点,并结合垂直投影方法确定秧苗行数以及起始点,利用特征点的邻近关系对特征点聚类,根据秧苗行的特征点分布,确定秧苗行的趋势线,通过趋势线与特征点的位置关系,筛选特征点,去除噪声点,并用最小二乘法拟合,获取秧苗行中心线。

1 秧苗行像素点分析

传统的作物行中心线提取方法,多是基于作物像素的颜色、亮度等特征将作物从土壤背景中提取出来,采用Hough变换、最小二乘法等方法对分割后的二值图像进行直线拟合。但分割出的一系列作物像素点还包含许多噪声和冗余的像素点,会对行中心线的识别造成干扰,降低算法的运行速度。

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

图1所示为秧苗图像经二值化后对应的垂直投影曲线,其中,秧苗行线所在位置出现投影值变化的峰值,从土壤背景到秧苗行,垂直投影值向上跃变,从秧苗行到土壤背景,垂直投影值向下跃变。但在秧苗图像中由于透视投影作用,相邻两条平行的秧苗行会交于图像内部或外部一点,造成部分秧苗行像素出现跨行显示,如图1中红线标记的区域。第1行中的部分秧苗像素点出现在第2行,会被误检为第2行的秧苗像素点,同时,田间场景常伴有天气、光线变化等,这些干扰因素给秧苗分割带来困难,产生误分割,从而影响秧苗行中心线的正确提取。此外,二值图像中包含大量秧苗像素点,如果直接对整幅图像进行行中心线提取,会增加算法的计算开销。

从图1的二值图像中随机提取部分秧苗像素点来表示秧苗行特征信息,如图2所示。图中红点为随机提取的特征点,统计图中每行白色像素点和红色特征点的个数,结果如表1所示。采用运算简单的最小二乘法分别对二值图像和随机特征点进行秧苗行中心线提取,得到拟合直线的耗时分别为0.379、0.295 s,行中心线提取结果如图3所示。由处理结果可以看出,基于秧苗行特征点提取秧苗行中心线可消除冗余的秧苗像素点对检测精度的影响,又可提高检测速度,但秧苗行特征点选取准确与否直接影响提取秧苗行中心线准确性。基于此, 本文提出一种基于分区域特征点聚类的秧苗行中心线提取方法。

图2 随机选取的特征点图Fig.2 Random selection of feature points

图4 图像预处理Fig.4 Image preprocessing

图3 秧苗行中心线提取结果Fig.3 Seedling row lines extraction

2 秧苗行中心线提取

本文提出的基于分区域特征点聚类的秧苗行中心线提取方法主要包括图像预处理、秧苗行特征点获取以及秧苗行中心线拟合,首先,对采集的秧苗图像进行预处理,获取秧苗的二值图像;然后,对二值图像进行分区域特征点聚类,提取每一秧苗行的特征点,并利用最小二乘法拟合秧苗行的特征点,获取秧苗行中心线。

2.1 图像预处理

图像预处理包括秧苗图像灰度化和图像二值化处理。秧苗图像中秧苗与非秧苗背景的绿色分量差别较大,基于此,采用超绿特征提取方法[22]进行秧苗图像灰度化,超绿特征提取公式为

I=2G-R-B

(1)

式中R、G、B——彩色图像中红色、绿色、蓝色分量

I——转换后灰度图像的亮度值

将图4a所示原始图像转换为灰度图像,如图4b所示,有效提高绿色秧苗和非绿色背景的对比度,有利于非绿色背景的去除。

彩色图像经超绿特征法转换为灰度图像后,仍不能直接提取图像中秧苗像素坐标,因此需要对图像进行二值化处理,分割出秧苗像素和背景像素。对图4b所示灰度图像进行最大类间方差法(简称Otsu)分割[23],获得二值图像,如图4c所示,图像中白色像素点为分割的秧苗像素点,黑色为背景。

2.2 候选特征点提取

为减小后期图像处理的计算量,聚类前先在二值图像中分区域提取秧苗行特征点,具体步骤如下:

(1)将图4c所示二值图像等分为上下两部分,对于上半部分再次等分为n份,下半部分等分为m份,根据相机成像原理,实际获取到的图像往往存在远小近大的特性,因此,取n>m。

(2)将m+n个水平子带竖直等分为h份,形成如图5所示若干个矩形块,其中图像的宽为W,高为H,所得的矩形宽皆为W/h,上半部分矩形(图5中矩形a)的高为H/(2n), 下半部分矩形(图5中矩形b)的高为H/(2m)。

(3)从下到上、从左到右扫描每一矩形块并统计矩形内白色秧苗像素数,以图5中矩形b为例,若矩形内秧苗像素点数大于预先设置的阈值Th,计算所有秧苗像素点坐标pb(xj,yj)平均值pavg_b(x,y),计算公式为

(2)

式中xj、yj——矩形b中第j个秧苗像素点坐标

N——矩形b中秧苗像素点总数

将pavg_b(x,y)作为候选特征点坐标,存入候选特征点集Q中;否则,跳至下一矩形块进行相关判断,提取的候选秧苗特征点如图6所示。

图5 区域分割矩形示意图Fig.5 Schematic of area division

图6 候选特征点图Fig.6 Initial feature points image

2.3 特征点聚类

秧苗行中心线提取可以看作是对秧苗行特征点进行直线拟合,为确定秧苗行的精确位置,需判断当前图像中有效的秧苗行数,并利用每行秧苗特征点间的邻近关系对特征点进行准确聚类。具体如下:

(1)对图5中图像顶端首条水平子带进行垂直投影,计算出该水平子带的每一列中白色像素点数s(j),并求出子带的平均白色像素数savg。

(2)根据s(j)与savg的关系,确定升降点位置[24]。如果s(j-1)savg>s(j+1),记点j为下降点pd。

(3)计算升降点pu和pd之间的横向距离d(k)和距离平均值davg,若d(k)

(4)设第i行起始点的坐标为pri(x,y),在图7中定义以pri(x,y)为圆心,R为半径的圆CR(pri(x,y)),如图7a所示,图中黑色实心圆点代表候选特征点集Q中特征点,如果pi(xj,yj)在圆CR(ai(xj,yj))内,则表明点pi(xj,yj)属于pri(x,y)所在的秧苗行,将pi(xj,yj)点作为当前点并把该点坐标存入特征点子集Qi中,以pi(xj,yj)为圆心构建上述圆,继续扫描其他特征点。

(5)采用步骤(4)中方法扫描该行所有特征点,直至当前圆内除圆心外不存在其他特征点时,结束该行特征点扫描,输出该行特征点子集Qi。

(6)重复步骤(4)、(5),将候选特征点集Q中所有特征点均归类,图6中候选秧苗行特征点的聚类结果如图7b所示,不同颜色代表不同秧苗行的特征点聚类结果。

图7 特征点聚类Fig.7 Feature points clustering

2.4 中心线提取

秧苗行特征点选取准确与否直接影响提取秧苗行中心线准确性,但候选特征点会因田间环境复杂而存在噪声点,且远离秧苗行中心线的噪声点对检测结果影响较大。由于秧苗为行种植模式,每行有条趋势线[25],通过趋势线与特征点的位置关系,设置合适的距离阈值,对已聚类的各行秧苗行特征点进行筛选,去除离趋势线远的特征点。

图8 特征点筛选示意图Fig.8 Schematic of feature point filtering

基于趋势线筛选特征点的示意图如图8所示,其中趋势线方程为y=ax+b,设置合适的距离阈值c,可以确定两条与趋势线平行的直线,两直线构成的条形区域以外的特征点为远距离点,如图8中红色标记的特征点,将被移出特征点集,从而获取最终的秧苗行特征点集,具体算法流程如下:

(1)连接第i行秧苗特征点集Qi中起点与终点,得到第i行秧苗的趋势线Li,趋势线方程为y=aix+bi。

(2)统计第i行特征点集Qi中特征点的总数t,计算特征点集Qi中每一个特征点到趋势线Li的距离和距离阈值ci。

(3)

式中i——秧苗行数

j——Qi的第j个特征点

di,j——第i行第j个特征点到趋势线的距离

(3)逐点扫描第i行特征点,若di,j>ci,则将该特征点从Qi中去除,反之不处理,直至该行所有特征点扫描完毕。

(4)重复步骤(1)~(3)直至图像中所有行特征点筛选完毕,输出最终的特征点集Qi。

图9 特征点筛选结果Fig.9 Result of feature point filtering

图9是基于趋势线与特征点位置筛选后秧苗行特征点图,对比图7b,可见远距离的特征点被有效去除。最小二乘法通过最小化误差的平方和寻找数据的最佳函数匹配,尤其对数据量较少时,拟合精度高、速度快。因此,本文采用最小二乘法对图9中每一行特征点进行直线拟合,拟合结果如图10所示,图中红色的直线即为提取的秧苗行中心线。综上所述,基于分区域特征点聚类的秧苗行中心线提取方法流程如图11所示。

图10 秧苗行中心线检测结果Fig.10 Result of seedling rows detection

图11 基于分区域特征点聚类的秧苗行中心线提取流程图Fig.11 Flow chart of seedling row centerlines detection based on sub-regional feature points clustering

3 实验结果与分析

为判断秧苗行中心线提取的准确性,人工拟合出秧苗行中心线作为衡量基准,以判断算法提取出的秧苗行中心线的准确率。人工拟合是在实验图像上通过手工绘制秧苗行直线并取其平均值作为秧苗行的参考直线,人工拟合的秧苗行中心线与实际提取的秧苗行中心线之间的夹角为误差角,该误差角用来衡量算法获取行线的准确率,为满足农机农艺要求,当误差角大于5°,则视提取的秧苗行线无效,以此计算识别率。

于2018年6月在安徽农业大学郭河实验基地采集秧苗图像,图像自动采集装置如图12所示,主要包括便携式计算机、带有USB接口的MV-CA050-20UM/C型相机和插秧机移动平台,相机安装在插秧机移动平台的前方,距离地面高度为1.5 m,相机中心线相对移动平台纵轴中心线向下倾斜15°,获得的图像通过USB线传输到计算机,并保存为2 560像素×1 920像素JPG格式的24位彩色图像。为减小图像处理的计算量,实验中图像分辨率缩小为320像素×237像素,所用计算机的CPU为Intel Core i7-7700HQ,主频为2.8 GHz,内存8 GB,操作系统为Windows 10 64位系统,图像处理所用的软件是Microsoft Visual Studio 2017和OpenCV 3.0。

图12 图像采集装置Fig.12 Equipment of image acquisition1.便携式计算机 2.工业相机

共采集了3种不同天气下若干数量的图像,实验中以300幅图像进行秧苗行中心线检测测试,其中晴天天气下秧苗图像120幅,多云天气下秧苗图像90幅,阴天天气下秧苗图像90幅。将本文算法分别与标准Hough变换和随机Hough变换进行比较和分析,标准Hough变换和随机Hough变换拟合秧苗行中心线的大致步骤如下: 采用2G-R-B提取秧苗超绿特征图像,并进行 Otsu二值分割,以及膨胀、腐蚀等形态学操作,将秧苗从土壤背景中分割出来,采用Hough变换或随机Hough变换对分割后的秧苗二值图像进行直线拟合。其中,标准Hough变换算法中参数θ∈[-90°,90°]、ρ∈[-398,398], 且θ的量化精度为1°;随机Hough变换算法中最短直线的投票阈值为3,本文算法中参数m=10、n=20、h=50、Th=25、R=20。表2为3种算法的识别率、准确率和耗时数据。

表2 不同算法的识别率、准确率和耗时的比较Tab.2 Comparison of recognition rate, accuracy rate and time-consuming

由于标准Hough变换是对全局的二值图像进行参数空间的映射,图像信息量大,降低了检测速度,且向外分散生长的秧苗叶片和噪声像素被检测为秧苗像素,导致秧苗行中心线检测存在偏差。相比标准Hough,随机Hough变换采用多对一的映射,降低了运算量,提高了检测精度,但在处理复杂图像时随机采样会引入无效采样,从而降低算法的性能。而本文算法在二值图像的基础上通过识别、聚类秧苗行特征点来对秧苗行进行定位,克服了最小二乘法受干扰点影响的不足,又充分利用了最小二乘法耗时低于Hough变换的优势,通过表2可知,该算法可以成功检测出300幅秧苗图像中所有秧苗行线,识别率达95.2%,且具有耗时少、准确率高的优势。

图13a为选取的3幅不同光照条件下水稻秧苗图像,从左至右分别为晴天天气下水稻秧苗图像、多云天气下水稻秧苗图像、阴天天气下水稻秧苗图像。图13b为经过2.1节和2.2节中算法处理后提取候选特征点图像,由图可以看出,提取出的特征点可以很好地代表秧苗行的趋势。用本文提出的算法及标准Hough变换算法、随机Hough变换算法对图13b所示的特征点图进行秧苗行中心线检测。

图13c为采用标准Hough变换算法对图13b中特征点图像进行秧苗行中心线检测的结果,红色直线是实际检测的行中心线,蓝色直线是人工拟合的参考线。由图中实验检测结果与参考直线的夹角可以看出,在秧苗行周围背景噪声较少时,标准Hough变换可以成功检测出秧苗行,但是当秧苗行周围背景噪声过多和光照不均时,特征点较为分散,此时标准Hough的检测结果将出现较大偏差,甚至会出现秧苗行的漏检测和误检测现象,其平均角度偏差为2.847°。

图13d为基于特征点图像采用随机Hough变换进行秧苗行中心线提取的结果,由图中实验检测结果与参考直线的夹角可以看出,随机Hough变换算法在漏检测和误检测方面较Hough变换有很大改善,但当秧苗行周围泥土过多和光照不均时,检测结果依然存在较大偏差,其平均角度偏差为1.803°。

针对以上2种算法对于特征点分散的图像检测结果不够准确的问题,本文对候选特征点进行进一步筛选,如图13e所示,筛选后的特征点更好地描述了秧苗行中心线的位置。图13f显示了本文算法的秧苗行中心线检测结果,其平均角度偏差为0.794°,对于秧苗行周围有明显土壤杂物,以及光照不均的图像,本文算法仍然可以成功检测出秧苗行中心线。

图13 不同算法检测结果的比较Fig.13 Comparisons of detection lines by different algorithms

综合上述秧苗行中心线检测效果分析,所提算法的准确性和检测速度高于标准Hough变换算法和随机Hough变换算法。但本文选取的实验对象是水田秧苗,没有验证算法的作物行检测的适应性,且本文算法处理一幅320像素×237像素的彩色图像平均耗时为0.467 s,不能满足实际摄像机帧率为25 f/s的需要。因此在后续的研究中需要开展算法对不同类型农作物和作物不同生长阶段的适应性研究,并改进、优化算法,提高算法的适应性和运算速度。

4 结论

(1)采用2G-R-B特征因子和Otsu法对彩色图像进行预处理,基于秧苗像素点的位置分布,进行分区域的秧苗行特征点提取和聚类,通过最小二乘法拟合秧苗行中心线,可以有效解决秧苗行周围背景噪声过多和光照不均的问题,具有较好的鲁棒性。

(2)通过对不同天气下的300幅图像进行测试,利用本文算法提取秧苗行中心线的准确率为95.6%、识别率为95.2%,高于标准Hough变换和随机Hough变换算法,同时,算法处理速率也有明显提升。

(3)采用各算法对随机选取的不同天气下3幅秧苗图像提取秧苗行中心线,并与人工拟合秧苗行中心线对比,结果显示,标准Hough变换、随机Hough变换和本文算法的平均偏差角度分别为2.847°、1.803°和0.794°,表明本文算法能够准确提取秧苗行中心线,可靠性较高。

猜你喜欢

二值中心线像素点
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
浅析某船重要设备底座与基准平台偏差的纠正措施
树叶竞技场
基于像素点筛选的舰船湍流尾迹检测算法
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
基于canvas的前端数据加密
基于稀疏表示的二值图像超分辨率重建算法
停机后汽缸温差大原因分析及处理