孙元义,张绍磊,李伟
(中国农业大学工学院,北京:100083)
摘 要:提出了一种基于机器视觉技术的农业机器人导航路径识别的新方法。自然环境下采集的棉田
图像在Lab色彩空间进行处理,把棉株从土壤背景中识别出来。通过最大方差阈值分割法将图像转化为二
值图像,并经过中值滤波去除噪声。根据图像左右垄棉株位置平均得到导航离散点,通过Hough变换得到
导航路径,进而得到导航控制参数。利用坐标系转换关系将图像坐标系中的导航信息转换到世界坐标系,
从而控制机器人行走。对采集的大量连续图像进行分析表明,该方法具有良好的实时性和可靠性。
关键词:农业机器人 机器视觉 自然环境 Hough变换
1.引言
随着精细农业的发展,计算机、传感器技术的广泛应用,农业机器人导航技术研究越来越受到关注[1]
。
目前,农业机器人导航方式主要有三种:信标导航、全球定位系统(GPS)、视觉导航。由于农业作业环境
复杂,视觉导航具有信息探测范围宽、目标信息完整等优势,是目前国内外研究较多的机器人导航方式[2]
。
基于视觉的导航方法有很多。Kise等人研究了双目立体视觉的方法[3]
。该方法对于农田环境较理想情况下
实现较好,但是算法复杂,而且对两个摄像头同步性要求较高。S.Han等人研究了基于单摄像头的方法。
该方法实际采集农田灰度图像,通过K-means聚类算法来进行图像阈值分割,最后利用线性回归来获得导
航基准线[4]
。农业机器人导航首要问题是找到一种适合于大多数自然环境下将作物从土壤中识别出来的方
法。本文提出了一种新的获得导航路行的方法,该方法采用单摄像头,基于自然景观环境下,对获得的农
田彩色图像进行分割,利用Hough变换获得导航路径。并给出了对实时图像进行试验分析、验证的结果。
2 棉田图像分割
2.1 色彩空间选择
在图像处理中常用的色彩空间有RGB空间、HIS色彩空间等。本文采用了Lab色彩空间进行图像分
割。Lab色彩空间是国际照明委员会(CIE)于1976年推荐的设计成符合孟塞尔彩色系统的表色系。其三度
空间的L为光亮度,a为空间的红-绿色轴,b为空间的蓝-黄色轴。
图像分割时在RGB、HIS、Lab色彩空间进行了比较。表1是对近200副动态棉田图像分别用2G-R-B、2H、
Lab中a灰度化的比较结果。其中识别率指把棉株信息正确从图像中识别出来的百分率,误识率是指
把非棉株信息识别成棉株信息的百分率。实验表明Lab中对a进行灰度化效果较好。
图1 a是棉田图像(俯视45°),图1 b是在Lab色彩空间对a分量灰度化图像。
识别率 误识率
<50% 50%~90%>90% <50% 50%~90% >90%
2G-B-R /% 7 21 72 70 26 4
2H /% 12 24 64 71 19 10
Lab /% 3 6 91 86 12 2
表1 2G-B-R、2H、Lab灰度化比较
- 1 - http://www.paper.edu.cn
(a)棉田图像 (b)对a分量灰度化图像
图1 棉田灰度化图像
2.2 棉田图像阈值分割
阈值分割是图像分割中应用最多的一种方法,该方法先确定需要的分割阈值,然后将该
阈值与像素值比较以划分像素区域[5]
。阈值分割的方法有直方图法、自动阈值法、变量阈值
法、双阈值法等。本文采用了最大方差的自动阈值分割法[6]
。最大方差阈值分割法是在判别
与最小二乘法原理的基础上推导出来的。它的原理是:把图像的直方图在某一阈值处分为两
类,当被分成的两类间的方差为最大时,决定阈值。
对在Lab空间灰度化的棉田图像进行分析,统计各灰度值的概率,然后用阈值k
将灰度
值分为两组C
={0~k}和C
={k
+1~j},分别求出各组的概率和平均值:
010ω
、
1ω
、
0μ
、
1μ
。
最后利用公式求出两组间的方差。其中,2
01012
112
002
)()()()(μμωωμμωμμωσ
−=−+−=k
μ
是整幅图像的灰度平
均值,选择最佳阈值T满足。 )()(22
kMaxTσσ
=
最后利用获得的阈值T对图像进行二值化,设一幅原始图像f(x,y)取单阈值T
分割后
的图像定义为:
g(x,y) =
⎩⎨⎧
01
)),(()),((
TyxfTyxf
≤>
这样g(x,y)为一幅二值图像,T为最大方差法获得的阈值。在对实际采集的图像处理过程
中阈值一般在T=100~150之间,图2 a是利用上述方法获得的黑白二值图像。
(a)二值化图像
(b)中值滤波后图像
图2 二值化及滤波图像
- 2 - http://www.paper.edu.cn 2.3 二值化图像滤波处理
对二值图像经滤波处理去掉图像中的噪声点,以利于后续导航离散点的获得。其滤波方
法主要用到了中值滤波。
中值滤波的基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在
去处脉冲噪声、椒盐噪声的同时又能保留图像边缘细节,这是因为它不依赖于邻域内那些与
典型值差别很大的值。在对图像实际处理过程中采用的是3×
3的模板。二值化后的图像经
过中值滤波处理后的结果如图2 b所示。大部分非棉株的噪声点明显消除。
3 导航路径及导航参数获得
对上述处理后的二值图像进行导航路径识别。通过垄的行走势特征得到导航控制点,然
后通过Hough变换得到导航路径。在图像平面坐标系中便可以得到导航路径与前进方向的
夹角及测向位移偏差,通过坐标系转换可把这两个值转换为世界坐标系的导航控制参数。
3.1 坐标系转换
世界坐标系、摄像机坐标系、图像坐标及机器人结构关系如图3所示。y
cO
cz
c为摄像
机坐标系,0为世界坐标系原点,各坐标轴与摄像机坐标系的各轴平行,AB为图像平面,φ
为摄像机倾斜角度,d为摄像头离地面高度,一般控制在0.6m-1.0m之间。根据以上各坐
标系的定义,可以容易看出,摄像机坐标系先绕x轴顺时针旋转φ
角,然后再沿旋转后坐标
系中的y轴移动-d既为机器人坐标系。因此,可以得出机器人坐标系相对于摄像机坐标系
的齐次变换矩阵为:
c
wT=Rot(x,φ
)Trans(0,-d,0)= 。
⎥⎥⎥⎥
⎦⎤
⎢⎢⎢⎢
⎣⎡
−−
1000sincossin0cossincos00001
φφφφφφ
dd
图3 机器人结构及坐标系定义
3.2 导航离散点获得
导航离散点是指利用图像分割得到的棉株信息,根据两垄棉株的走势特征,在统计分析
的基础上得到能够表现棉株垄方向特征的点,根据这些点来规划导航路径。获得导航离散点
方法如下:把二值图像向垂直方向投影,通过两个波峰之间波谷位置把图像分成左边垄部分
和右边垄部分。每行分别对图像每垄取黑色像素平均位置点,然后再对整行取平均位置点。
- 3 - http://www.paper.edu.cn j
21[
l1
(x+ x+ … + x
) +
1i
2i
l
i
p1
( x+ x+ … + x
)]。
1i
2i
pi
3.3 导航路径计算
Hough变换是一种线描述方法,它可将笛卡儿坐标系中的点变换为极坐标系中的曲线,
即(x,y)域上的一点(x,y)对应(
00ρ
,θ
)域上的一条正弦曲线ρ
=xcos(
0θ
)+ysin(
0θ
)[7]
。
把笛卡儿坐标系中n
各点转换为极坐标系中n
条曲线,利用这n
条曲线在一定范围内的交点就
可以确定这n
各点的最佳拟合直线。利用Hough变换获得导航路径时,把参数空间设计成一个
累加器阵列,表示离散参数值。依照变换方程,图像中的每一点可以表决几个参数,而参数
空间(或累加器阵列)的峰值就是表征一条直线的参数。简单的说也就是说在这条最佳导航
路径上所占有的这些导航离散点最多。根据这一分析,其具体算法过程为:
(1) 初始化一个变换域(ρ
,θ
)空间上的数组count[ρ
][θ
],ρ
方向上的量化数目为图
像对角线方向像素数,θ
方向上的量化数目为180。并对数组中每个元素设置初值0。
(2)顺序搜索图像中的所有导航离散点(x
, y
i)。对每一点代入
iθ
的量化值(从0到
180),通过公式ρ
=xcos(
iθ
)+y
sin(
iθ
)
算出各个ρ
,ρ
值(经量化)落在count[ρ
][θ
]
数组中某个元素中,便使该元素count[ρ
][θ
]加1。
(3) 图像中的所有导航离散点(x
, y
)变换完后,对变换域(
i
iρ
,θ
)空间的数组
count[ρ
][θ
]值进行检验,找出最大的count[ρ
][θ
]值所对应的ρ
和θ
,记作ρ
0和θ
0。
(4)顺序对原图像的每个像素点(x
, y
i)代入
iθ
的量化值(从0到180),通过公式
ρ=xcos(
iθ
)+y
sin(
iθ
)
算出各个ρ
,ρ
值(经量化)后如果等于ρ
0,则其对应的点在
所求航路径上。
经过上述算法可以得到一条较佳的导航路径,图4是获得的导航离散点(图中绿色点)
经Hough变换得到的导航路径(红色线为导航路径)。
图4 导航路径图
3.4 导航参数获得
通过导航路径可以得到所需要的导航控制信息[8]
。导航控制信息主要包括实际导航路径
- 4 - http://www.paper.edu.cn