苟 琴,耿 楠,张志毅
(西北农林科技大学信息工程学院,陕西杨凌712100)
障碍物检测是智能农业机械导航的关键。由于立体视觉技术具有信息量丰富、被动式测量、速度快等特点,因此在智能农业机器人环境感知中得到了广泛应用[1-3]。张磊等人[1]在分析农田障碍物图像信息特点的基础上,采用基于扫描线上区域分割与特征匹配相结合的障碍物检测算法,得到目标区域的空间信息,进行障碍物检测。在联合收获视觉导航系统中,丁幼春等人[4]提出基于单目彩色图像分割与立体视觉特征匹配相结合的测障方式,利用H、S颜色分量对单目图像实施固定阈值分割并二值化,获得潜在障碍物的位置及区域。杨庆华等人[5]对于矮小作物规则分布的农田场景,在标准Hough变换的基础上,预先检测共线点峰值的限定偏角阈值,从而迅速检测关键信息,最后寻找树干与地面的交点,形成机器人行走的左右边界。这些方法都要求对前进过程中的障碍物和背景有先验知识,但在农业机器视觉导航应用中,由于障碍物不规则和背景多变等复杂因素[6],无法有效地将障碍物与背景分割开。
针对上述问题,本文提出一种基于视差图的未知环境下障碍物检测方法,通过对视差图进行区域连通和阈值过滤检测出障碍物,此方法不需要障碍物和背景的先验知识。
标准双目立体视觉系统是由两台光轴严格平行的摄像机组成,如图1所示,并且这两台摄像机的像平面精确位于同一平面,基距T一定,焦距f相同。
图1 立体视觉系统
假设物理世界中任一点P在左右图像上的成像点为P1和P2,相应的横坐标分别为x1和x2,d=x1-x2定义为视差,则P到摄像机中心连线的距离Z为
本实验采用固定焦距的罗技系列普通CMOS网络摄像头,以基距237mm平行放置,通过USB接口与计算机相连,同步获取大小为640*480像素的场景图片。
摄像机标定是立体视觉的先决条件[7],本文采用的是Heikkila和Silven提出的传统标定方法[8],获取摄像机的内外参数。利用摄像机的内外参数,对摄像机进行畸变矫正和极线校准后,从不同视点图像中找到匹配的对应点即可完成立体匹配[9]。
块匹配立体算法是常用的立体匹配算法[10],该算法计算每个小窗口的绝对累计误差 (SAD),找到一定搜索范围内匹配代价最小的SAD窗口,即找到了左边图像的最佳匹配的像素块,从而找到左右两幅立体矫正图像之间的匹配点。考虑到障碍物与背景相比较具有较强的纹理特性,本文采用了改进的立体匹配算法[11],此算法主要通过预处理、匹配搜索、匹配提纯3个步骤查找两幅图像之间的强纹理点的匹配。根据不同的农田场景,通过调整参数winSize、numDisp和 filterThresh可得到较满意的视差图。winSize指搜索窗口的大小,如果太小,生成的视差图纹理太细,导致单个物体的不完整;如果太大,造成部分物体丢失。numDisp指搜索视差范围,当物体距离较远时,可以适当缩小。filterThresh用于滤掉误匹配,当误匹配点过多时,可以相应调整filterThresh的值。
图2是利用双目视觉系统对西北农林科技大学试验田一麦地进行拍摄的立体图像对,麦地中的石块为待检测的障碍物。根据上述方法获取视差图,如图3所示。近处的石头色度较亮,远处的建筑物色度较暗,而麦地大部分面积纹理比较低,不参与立体匹配,因此只有很少的视差信息。
给定屏幕坐标和摄像机内外参数矩阵,二维点可以重投影到三维中[12],重投影矩阵如式 (2)
这里,除c'x外的所有参数都来自于左图像,c'x是右图像中心在右图像上的x坐标。(cx,cy)和f分别为左相机中心坐标和焦距,Tx为旋转矩阵的x轴分量。给定一个二维齐次点和其关联的视差d,我们可以将此点投影到三维中
根据式 (1),目标物离摄像机越近,视差越大,目标物离摄像机越远,视差越小,由此可见,视差图包含了环境中事物的深度信息,并且通过视差图中的连通域可以判断障碍物的尺寸范围,从而提取障碍物的三维信息。具体算法描述如下:
(1)设定视差阈值。根据智能农业机器人作业要求,只需判断一定距离内的障碍物,所以当视差小于某个阈值时,即目标物在判断距离外,将其视差值置零。
(2)区域连通。考虑到四连通具有更强的连通性[13],因此本文采用四连通区域搜索算法进行区域连通,保留面积大于给定阈值的区域并标记。
(3)结合2.2中获得的三维点云坐标,通过查找一定距离内物体的高度信息,当高度大于预先设定的值时,判断为障碍物,并计算出障碍物的距离和尺寸。考虑到麦苗的高度和农业机器人的行走特性,设置高度阈值为150mm。
基于2.1获取的视差图,进行以上操作后,远处的景物,近处的麦地以及道路就被过滤了。通过多次试验,视差阈值和连通区域面积阈值分别为30和1000时能得到较好的效果。检测到的障碍物的视差图和灰度左图像如4所示。
图4 障碍物检测结果
由于匹配窗口大小的选择对双目匹配的开销有很大的影响[14],因此本文设置了两组不同匹配窗口大小的试验对测障的实时性进行研究,每组实验分别从不同距离对图2中的障碍物进行了十次测量,待测障碍物的实际测量宽度和高度分别为370mm和520mm。本实验于2011.03.07下午对西北农林科技大学试验田进行取景,天气阴。表1列出了障碍物距离测量和计算结果,表2列出了障碍物尺寸测量和计算结果,其中winSize为匹配窗口的大小。
由障碍物距离测量和计算结果可知,当障碍物在摄像机5m视野内时,winSize为31和21的相对偏差的绝对值分别在1.58%~4.53%,1.40%~4.37%范围内,而且大部分情况下是负偏差,只有在1.5m和4.4m时是正偏差。由障碍物尺寸测量和计算结果可知,winSize为31和21的相对偏差的绝对值分别在0.44% ~3.17%,0.29% ~3.81%范围内,同时正负偏差的情况比较均匀。
测障结果表明,两种不同匹配窗口大小的情况下,计算得到的障碍物距离和尺寸的相对偏差变化不大,且都能满足农业智能机器人障碍物检测对尺寸精度的要求,但匹配的开销却有很大的差异。当匹配窗口的大小为31,图像大小为640*480像素时,匹配耗时1132ms,不能满足测障的实时性;当匹配窗口的大小为21,图像大小为640*480像素时,匹配耗时240ms,再加上后面的时间开销,包括三维点云计算所用的31ms和目标障碍物识别所用的33ms,总共304ms,能够满足农业机器人实时测障的要求[15]。
表1 障碍物距离测量和计算结果
表2 障碍物尺寸测量和计算结果
图5 多障碍物检测结果
为了进一步说明该试验的实用性,本文对麦田多障碍物进行了检测试验,试验结果如图5所示。试验结果表明,作为障碍物的两个人均被成功检测出。
本文提出了一种基于视差图的未知环境下障碍物检测方法,该方法不依赖于障碍物和背景的先验知识。在获取左右场景视差图的基础上,经过视差阈值和区域连通的过滤,可以较准确地检测到潜在障碍物;然后由面积阈值和高度阈值进行进一步过滤,检测出障碍物并定位。实验表明,在5m视野内,障碍物距离和尺寸测量的相对偏差绝对值分别控制在4.37%和3.81%以内,共总耗时不超过310ms,能够满足农业智能机器人在大多数情况下的作业要求。
[1]ZHANG Lei,WANGShumao,CHEN Qibin,et al.Detection of obstacles in farmland based on binocular vision[J].Journal of China Agricultural University,2007,12(4):70-74(in Chinese).[张磊,王书茂,陈兵旗,等.基于双目视觉的农田障碍物检测[J].中国农业大学学报,2007,12(4):70-74.]
[2]ZHOU Jun,CHEN Jiayu.Moving obstacle detection based on machion vision for agricultural moblie robot[J].Transactions of the Chinese Society for Agricultural Machinery,2011,42(8):154-158(in Chinese).[周俊,程嘉煜.基于机器视觉的农业机器人运动障碍目标检测 [J].农业机械学报,2011,42(8):154-158.]
[3]WANG Hui,ZOU Wei,ZHENGRui.Vision based real time obstacle detection for moblie robots [J].Computer Engineering and Application,2006,41(25):46-48(in Chinese).[王辉,邹伟,郑睿.基于视觉的移动机器人实时障碍检测研究 [J].计算机工程与应用,2006,41(25):46-48.]
[4]DING Youchun,WANG Shumao,CHEN Hong.Obstacle detection in the working area of agricultural vehicle based on machine vision[J].Transactions of the Chinese Society for Agricultural Machinery,2009,40(z1)(in Chinese).[丁幼春,王书茂,陈红.农用车辆作业环境障碍物检测方法 [J].农业机械学报,2009,40(z1)]
[5]YANG Qinghua,WU Jiayi,BAO Guanjun,et al.Algorithms of path guidance line based on computer vision and their applications in agriculture and forestry environment[J].Transactions of the Chinese Society for Agricultural Machinery,2009,40(3):147-151(in Chinese).[杨庆华,吴佳艺,鲍官军,等.农林环境机器视觉导航路径生成算法及应用[J].农业机械学报,2009,40(3):147-151.]
[6]ZHAO Xin.The main application of intelligent robot in the field of agriculture automation [J].Chinese Agricultural Science Bulletin,2010,26(10):360-364(in Chinese).[赵欣.智能机器人在农业自动化领域的主要应用 [J].中国农学通报,2010,26(10):360-364.]
[7]LOU Xiaoping,GUO Meiping.Methods of calibration improvement in the binocular vision system [J].Journal of Beijing Information Science and Technology University,2010,25(1):16-20(in Chinese).[娄小平,郭美萍.双目视觉测量系统标定精度提高方法研究[J].北京信息科技大学学报 (自然科学版),2010,25(1):16-20.]
[8]Heikkila J,Silven O.A four-step camera calibration procedure with implicit image correction[C]//IEEE,1997.
[9]LUO Dan,LIAO Zhixian.Binocular distance measuring based on OpenCV [J].Popular Science News,2011(4):52-53(in Chinese).[罗丹,廖志贤.基于 OpenCV的双目立体视觉测距[J].大众科技,2011(4):52-53.]
[10]BAI Ming,ZHUANG Yan,WANG Wei.Progress in binocular stereo matching algorithms[J].Control and Decision,2008,23(7):721-729(in Chinese).[白明,庄严,王伟.双目立体匹配算法的研究与进展 [J].控制与决策,2008,23(7):721-729.]
[11]Bradsk G,Kaehler A.Learning OpenCV:Computer vision with the OpenCV library[M].Sebastopol:O'Reilly Media,2008.
[12]LI Jian,CHEN Changming,LIAO Qiujun.A new stereo vision 3D measurement method based on OpenCV [J].Computer Measurement& Control,2009,17(12)(in Chinese).[李健,陈长明,廖秋筠.一种新的基于 OpenCV的立体视觉三维测量方法 [J].计算机测量与控制,2009,17(12).]
[13]CAO Leping.Machine recognition of citrus variety based on the fractal dimensions of perimeter-area[J].Transactions of the CSAE,2010,26(2):351-355(in Chinese).[曹乐平.基于周长面积分形维数的柑橘品种机器识别[J].农业工程学报,2010,26(2):351-355.]
[14]SHU Xiao,YANG Chenhui,LIU Hui.Stereo matching method based on coupled neural network [J].Modern Computer,2009(12):4-7(in Chinese).[舒骁,杨晨晖,刘辉.基于耦合神经网络的立体匹配法 [J].现代计算机 (下半月版),2009(12):4-7.]
[15]Bochtis D,Soerensen C,N rremark M,et al.Agricultural field monitoring using a small robot[C]//CIGR Proceedings,Rosario,2009.