基于机器视觉的葡萄采摘点三维空间定位系统的研究
2016-10-20宋西平李国琴罗陆锋
宋西平 李国琴 罗陆锋
摘要:利用OpenCV与VC+ +语言平台开发了1套基于机器视觉的葡萄采摘点三维空间定位系统,并阐述了运用机器视觉技术实现葡萄目标从相机图像获取到采摘点三维空间数据计算的实现过程。同时利用直线夹角阈值、可信区域、点到直线最小距离与深度间距阈值4个约束条件改进了传统的葡萄采摘点果梗定位方式,使采摘点较好地定于葡萄果梗中部,后经立体匹配与双目视觉三维空间定位原理求取葡萄采摘点的三维坐标,提高了葡萄采摘点定位的精准度。
关键词:葡萄采摘点;双目视觉;三维定位;立体匹配
中图分类号: TP391.41 文献标志码: A 文章编号:1002-1302(2016)07-0377-04
我国是农业大国,水果经济产业在农业经济发展中占有重要的地位。近年来,利用机器视觉技术实现机器人对农业对象的自动作业已成为农业机械研究领域的热点[1-5]。如项荣等利用组合匹配方法与深度校正的双目视觉模型实现了番茄目标的三维定位,获得了较好的定位精度[6];张凯良等基于机器视觉识别技术设计了1款针对高架栽培模式的草莓采摘机器人,采摘成功率达到88%[7];Bac等利用人工设置辅助线实现了基于机器视觉技术的甜椒秆径定位识别,获得了较好的定位精度[8];杨庆华等为了实现机器人对葡萄的套袋技术,结合葡萄|G-R|+|G-B|色差图与形状特征确定葡萄位置,取得较好效果[9]。
为解决农业采摘机器人对葡萄水果对象的无损采摘问题,本研究利用OpenCV与VC+ +语言平台开发了1套基于机器视觉的葡萄采摘点三维空间定位系统,并阐述了该系统实现葡萄目标从相机图像获取到采摘点三维空间数据计算的实现过程,同时还改进了罗陆锋等提出的自然状态果梗无遮挡状态下的葡萄采摘点位置确定方式[10],通过直线夹角阈值、可信区域、点到直线最小距离与深度间距阈值4个约束条件使采摘点尽可能地定于葡萄果梗的中部,并通过立体匹配技术计算出葡萄采摘点的三维空间坐标,提高了采摘点的定位精准度,为机器人自动采摘作准备。经过试验发现该系统能够较好地完成葡萄采摘点的三维定位功能。
1 双目视觉葡萄采摘点三维空间定位系统框架 本研究双目视觉葡萄采摘点的三维空间定位系统的建立经过以下步骤实现(图1):(1)相机标定与校正。通过采集含有标定物的多幅视场图像,根据相机标定原理,求解相机的内外参数,以及2个相机的空间位置关系,选择合适的算法校正相机的输出图像,避免因为相机畸变等因素产生图像的像素误差。本系统采用了Bouguet算法[11]原理实现相机图像的校正。(2)建立世界坐标系。对于已经校正好的相机输出图像,为了求解目标点的坐标需要建立参考坐标系,使得所求点的坐标以世界坐标系为基准,为机器人的采摘做好准备。(3)葡萄采摘点的识别与定位。从校正好的相机中获取有效区域中的葡萄图像,并通过分析确定采摘点图像坐标的位置,立体匹配求得左右图像间的视差,依据双目空间定位的原理求得葡萄采摘点的三维空间坐标。
2 双目相机三维空间定位原理
物体对象点的三维空间定位原理是通过被求空间点在左右相机中成像位置依据三角测量原理求解的。本研究采用Bouguet算法原理完成相机校正。经过Bouguet算法校正后的相机从数学上完成了左右相机的前向平行配置。使得左右图像具有行对准的特点,缩短了立体匹配的时间(图1)[11]。
图2中,Ol与Or分别表示2个相机的投影中心,以左相机Ol为基准点,投影中心Or到Ol的距离定义为基线距离b。P点为物体点在相机坐标下的坐标(Xc,Yc,Zc)。pl(ul,vl)为在目标点在左图像上的坐标,pr(ur,vr)为目标点在右图像上的坐标。经Bouguet算法校正后vl=vr=v,且左右相机的焦距一致,即fl=fr=f,则相机坐标系下P点的三维坐标由三角几何关系可得:
因此,左相机成像面上的目标点只要在右成像面上找到其对应的匹配点,就可确定该点在世界坐标下的坐标(Xw,Yw,Zw)。
3 葡萄采摘点三维空间定位实现
3.1 葡萄目标图像分割
图像分割是确定葡萄区域的关键步骤,本研究以夏黑葡萄(图3)为试验研究对象,通过彩色直方图反向投影技术[12]对目标区域进行分割。直方图反向投影是一种利用给定模板图像颜色分布直方图计算目标图像概率进行物体识别的技术[13]。该技术对于物体识别具有良好的效果,得到了广泛的应用研究。彩色直方图反向投影技术综合了颜色的RGB信息,对于物体的识别具有较好地效果。本研究通过彩色直方图反向投影、形态学处理、最大连通区域提取步骤确定目标轮廓(图4),该方式能够较好地降低误分割的现象,对于目标正确提取的概率较高,能够较好地适应于复杂环境下的葡萄目标检测。
3.2 葡萄采摘点图像坐标定位
罗陆锋等提出悬挂生长情况下的采摘点定位方式,通过在葡萄轮廓区域上方构建1个果梗感兴趣区域,在感兴趣区域内对图像进行预处理,通过霍夫直线检测与重心到检测到
的直线最小距离作为约束条件求解葡萄采摘点[10]。该方式较好地检测出葡萄采摘点所在的位置且成功率较高。本研究通过分析葡萄果梗的生长方式,发现葡萄果梗对应另一侧的直线也可以很容易地检测出。因此本研究首先根据罗陆锋等提出的定位方式[10]对葡萄采摘点初定位,然后根据检测出的对应另一侧的果梗直线求中点,最后选取果梗2条异侧直线的中点连线所确定的直线段的中点作为最终的采摘点。其实现原理如图5所示。
3.2.1 葡萄采摘点初定位原理 罗陆锋等通过预分割提取最大联通分量的目标轮廓以及轮廓顶点(xt,yt),根据目标轮廓求其重心(xc,yc),并在其上方根据目标轮廓的宽度Lmax与轮廓顶点,构建宽度为Roi_W与高度为Roi_H的感兴趣区域,再利用果梗边缘呈直线状的特点,在区域内做累计概率霍夫直线检测[14],对于检测到的直线段两端点pi1(xi1,yi1)和pi2(xi2,yi2)构建两点式直线方程[10]。
3.2.2 葡萄采摘点果梗中部定位步骤 本研究将“3.2.1”节求得的采摘点位置po1定义为初位置,对葡萄采摘点做2次精准定位,使采摘点定位于果梗中部。设po1所在直线为L1,其两端点为p11、p12。根据葡萄果梗的生长特点,果梗对应另一侧位置直线L2同样易于检测出,且与L1近似平行。由于一些环境因素使得与直线L1近似平行的包括直线L2在内的多条直线被检测出(图6)。
为了求取最佳目标直线L2,本研究通过设计4层过滤步骤滤除其他直线的影响:
步骤(1):设直线夹角阈值θ作为直线L1与检测到的其他直线Lj(j∈1,2,…,n)的夹角约束条件,求得与L1近似平行的直线集。设采摘点初位置所在直线的两端点p11和p22坐标分别为(x11,y11)和(x12,y12),同时构建向量a,剩余直线集端点为pj1(xj1,yj1)和pj2(xj2,yj2)构建向量bj,通过式(5)求向量的夹角。
由于此时夹角θ的取值范围为[0°,180°]。为了得到近似平行的向量,设定角度θθ2,本研究中设定θ1为5°,θ2为175°。
步骤(2):以采摘点初位置所在直线段端点构建可信域(图1),L_H为可信高度,Roi_W为可信域宽度,遍列步骤(1)筛选后的所有直线,只有直线的端点至少1个在此区域内或2个端点分别位于可信区域上下两侧的为可能的果梗异侧直线。此方式可以过滤掉与L1近似平行的同侧直线的影响。
步骤(3):经过步骤(2) 筛选后的直线集,根据式(4)与式(5)同时满足与直线L1夹角最小且po1到直线距离最小值作为约束条件判定最佳目标直线L2,L2中点定义为点po2。如果存在直线满足该条件,则规定点po1与点po2连线的中点pok作为可信度高的采摘点位置。
通过试验发现经过前3个步骤已经能较好地将采摘点定位于果梗中部,红色点为采摘点,绿色点为重心,青色线段为果梗最佳异侧直线(图7)。
步骤(4):为了提高检测的稳定性,设定深度间距阈值Dz作为判定最终果梗采摘点的条件,通过对多串果梗直径的测量并考虑定位误差等因素的影响,本研究设定Dz=10 mm。
对采摘点po1、pok分别通过立体匹配求取深度值Zo1、Zok,若|Zo1-Zok| 步骤(5):若不存在同时满足上述条件的采摘点,则以po1作为最终采摘点位置。 将采摘点尽可能地定位于果梗中部,有利于降低采摘机器人末端执行器在采摘过程中由于累加定位误差等因素的影响造成实际定位偏离果梗部位概率,提高采摘成功率。 3.3 采摘点立体匹配 区域立体匹配算法是根据模板窗口计算待匹配点与对应极线上候选点相似度,选取最大相似度的点作为匹配点[15]。基于区域的立体匹配算法发展较为成熟,应用较广泛,常见的相似度测量函数有:最小绝对值(SAD)、最小均差绝对值(ZSAD)、最小平方差(SSD)、最小均方差算法(ZSSD)、互相关算法(NCC)等[15]。考虑相机工作环境的复杂多变性与左右相机曝光不一致等因素影响,本研究选取抗干扰性与实时性较好的NCC算法为相似度测量函数[式(6)][16],获得采摘点的左右图像匹配点。 4 采摘点空间定位系统试验 本系统采用OpenCV 2.3.1与Visual C+ +2008开发,该系统可完成图1中的所有流程,其中采摘点静态定位模块如图8所示。该系统利用双目相机采集800×600大小的视频图像与德国Halcon软件配套圆点标定板(标志点个数7×7,中心间距25 mm)标定相机参数。 本系统在试验室环境下对相机标定,利用标定板设定世界坐标系基准。相机标定后主要数据如表1所示,标定后左右相机焦距一致,基线距离b约为177.109 mm。 为测定采摘点三维定位效果,对经过实际测量果梗直径为2.75 mm的葡萄对象试验,将果梗置于设定的世界坐标系下深度为58 mm处,求得该处位置下的采摘点空间位置(表2)。 从表2中可以看出,在5次对同一世界坐标系下的采摘点定位过程中,采摘点的位置在X方向的最大波动距离为181.663-180.447=1.216 mm,Y方向最大左右波动为26010-23.422=2.588 mm,表明重复定位过程中由于噪声等因素影响采摘点在果梗左右、上下位置微小波动,Z方向在世界坐标系下的最大波动为59.851-58.000=1.851 mm。由于末端执行器具有一定的容错性,以上位置误差可以满足机器人目标采摘定位的要求。 本系统虽然能够较好地定位葡萄采摘点,但该系统只是针对于较理想状态下悬挂生长方式葡萄采摘点的定位,然而由于受复杂的葡萄园环境、葡萄色彩、果梗被枝叶遮挡、果梗异侧凸节情况的出现、枯叶、多串葡萄重叠、立体匹配、相机硬件成像设备、相机标定计算误差等因素的影响可能造成采摘点的定位失败,今后应该深入研究这些因素的影响,提高定位成功率。 5 结论 为实现农业机器人对于葡萄水果的采摘作业,本研究阐述了葡萄目标从相机图像获取到采摘点三维空间数据计算的实现过程,并通过改进的采摘点定位方式使采摘点较大程度地定位于果梗中部,试验验证了三维空间采摘点的定位效果并分析了影响采摘点定位的因素,研究结果将为葡萄采摘机器人的研发提供重要参考。 参考文献: [1]顾宝兴,姬长英,王海青,等. 智能移动水果采摘机器人设计与试验[J]. 农业机械学报,2012,43(6):153-160. [2]田 锐,郭艳玲. 基于机器视觉的葡萄自动识别技术[J]. 东北林业大学学报,2008,36(11):95-97. [3]张 凯,赵丽宁,孙 哲,等. 葡萄套袋智能机器人系统设计与目标提取[J]. 农业机械学报,2013,44(增刊1):240-246.
[4]Font D,Palleja T,Tresanchez M,et al. Counting red grapes in vineyards by detecting specular spherical reflection peaks in RGB images obtained at night with artificial illumination[J]. Computers and Electronics in Agriculture,2014,108:105-111.
[5]Wei X Q,Jia K,L J H,et al. Automatic method of fruit object extraction under complex agricultural background for vision system of fruit picking robot[J]. Optik,2014,125(19):5684-5689.
[6]项 荣,应义斌,蒋焕煜,等. 基于双目立体视觉的番茄定位[J]. 农业工程学报,2012,28(5):161-167.
[7]张凯良,杨 丽,王粮局,等. 高架草莓采摘机器人设计与试验[J]. 农业机械学报,2012,43(9):165-172.
[8]Bac C W,Hemming J,van Henten E J. Stem localization of sweet-pepper plants using the support wire as a visual cue[J]. Computers and Electronics in Agriculture,2014,105:111-120.
[9]杨庆华,刘 灿,荀 一,等. 葡萄套袋机器人目标识别方法[J]. 农业机械学报,2013,44(8):234-239.
[10]罗陆锋,邹湘军,熊俊涛,等. 自然环境下葡萄采摘机器人采摘点的自动定位[J]. 农业工程学报,2015,31(2):14-21.
[11]Bradski G,Kaehler A.学习OpenCV(中文版)[M]. 于仕琪,刘瑞桢,译.北京:清华大学出版社,2009.
[12]Laganière R.OpenCV 2计算机视觉编程手册[M]. 张 静,译. 北京:科学出版社,2013.
[13]张 辰,赵红颖,钱 旭. 直方图反向投影多目标检测优化算法[J]. 计算机系统应用,2014,23(2):178-182,218.
[14]Galambos M C,Kittler J. Robust detection of lines using the progressive probabilistic hough transform[J]. Computer Vision Image Understanding,2000,78(1):119-137.
[15]何 艳. 基于双目立体视觉的窗口区域立体匹配算法研究[D]. 上海:上海师范大学,2014.
[16]施陈博. 快速图像配准和高精度立体匹配算法研究[D]. 北京:清华大学,2011.