刘祚时,王亚平, 吴翠琴
(江西理工大学,a.机电工程学院;b.电气工程与自动化学院,江西 赣州 341000)
脐橙作为赣南特色产业,种植面积居世界之首,果实采摘是一项繁重的劳动.随着人口老龄化,农业劳动人口不断缩减,实现脐橙自动化采摘是提高农业自动化,解决劳动力不足的必然发展趋势[1].在脐橙自动化采摘过程中对空间果实准确、实时定位是成功采摘的关键.
双目视觉系统具有感知信息量丰富、全局性好、精度高、非接触式测量等无可替代的优势,已广泛应用于机器人导航、工业测量等方面[2-3].针对工作于自然环境下的采摘机器人目标识别和定位,是近年来研究的热门课题[4-7].采摘机器人是一个高实时系统,其中识别定位是影响采摘机器人实时性的关键环节.提高视觉定位系统的实时性与准确性,进而改善采摘机器人性能、提高作业效率是目前采摘机器人应用推广亟待解决的重要问题.文中主要针对脐橙果实的快速识别、立体匹配和三维重建进行了研究.采用游程编码快速进行连通区域标记及区域形状特征描述;结合脐橙表面纹理、果形区分度小的特点,提出了脐橙采摘机器人目标果实快速识别和定位方法,设计了非结构环境下的双目视觉快速定位系统.为实时性场合下视觉定位提供了一种解决方案.
根据果实颜色与背景颜色有明显的差异特点,通过颜色分量特征关系进行图像分割.在不同光照条件下对自然生长的果实进行图像采样,在RGB颜色空间分析目标和背景R、G、B分量值关系.图像行采样像素各颜色通道值如图1(b).可见目标果实与背景在色差模型2R-G-B下灰度对比度较大.2R-G-B色差模型灰度直方图如图1(c),具有明显双峰特点,因此可设定阈值将目标分离[8].为了对不同光照强度有更好的适应性采用归一化色差 (2R-G-B)/(2R+G+B)〈T 阈值分割. 取全局阈值T=0.29时分割效果如图2(b).得到分割后的图像经过中值滤波滤除噪声,转化成二值图像如图2(c).对于部分果实存在粘连情况,将阈值分割后果实区域进行颜色变换求取灰度图像[9],再采用高斯-拉普拉斯算子提取出果实的边界区域如图 2(d).再将图 2(d)与二值化图像 2(c)或运算可以较好将粘连果实分开如图2(e).最后通过3次3×3模板的形态学腐蚀和膨胀处理,去掉图像中的噪声和小孔洞,得到连通果实区域,如图2(f).
图1 目标与背景各颜色通道分量与2R-G-B模型直方图
图2 目标分割提取
由于采摘过程是逐个摘取果实,因此要采用最优采摘目标策略选取优先采摘对象.分割后的图像呈现多个目标连通区域,区域分析通常是图像处理中耗时较长的环节.常用的区域分析方法有种子填充算法和两步扫描法等,其都以像素为基本单元进行分析,计算代价高、实时性差.游程编码法[10]以游程为基本操作单元,连通区域分析基本单元由像素级转到游程级,提高了区域分析效率.文中采用游程编码法对检测到的果实连通区域进行分析,只需一遍扫描即可完成区域标记及形状特征计算,具体步骤如下.
第1步,初始化游程结构体数组,从左到右逐行扫描图像,编码记录一行中游程的编号RLEi、行坐标 Ri、起止位置 Xi、Yi,以及将指针 Qi加入所邻接的父游程(当前游程上一行游程)所指向的根游程(首个父游程)链表.属同一根游程的游程组成一个区域对象.
第2步,判断当前游程与父游程的邻接关系,按四邻域方向判断重叠区域(K表示重叠像素数),如图3,有三种情况:ⓐ若与上一行游程都不邻接(如RLE0),则创建新的根游程链接指针,并加入根游程链表;ⓑ若与上一行单邻接(如RLE1与RLE0邻接),则将该游程指针加入父游程的根游程指针链表;ⓒ若与上一行多个游程复邻接 (如RLE3与RLE1、RLE2复邻接),则将所邻接的父游程对应的根游程链表中的成员更新合并到其中编号最小根游程链表中,并将当前游程指针加入合并后的根游程链表.
图3 游程编码示意图
第3步,统计区域的面积S,周长L、区域中心坐标p(x,y)等特征参数.往根游程链表中加入游程 RELi+1时区域特征如下式(1)~式(4):
通常小面积区域为噪声干扰、距离远和不在采摘范围内的果实图像,所有行扫描完后,先去除这些小面积区域.再按公式(5)进行区域圆度检测.
其中Si是区域的面积 (区域像素总数),Li为区域的周长(区域边界像素个数).Ci为区域的圆度,越接近1是表示区域形状越接近圆形.将面积在预设定范围内的圆形区域标记并加入堆栈.由于近距离目标比远距离目标成像大,外侧无遮挡的果实圆度较好.以近距离、外侧目标优先采摘的原则,选用优先度函数如式(6).
其中γ为比例系数.扫描整个区域后对堆栈内区域按优先度值Pi进行排序,选择优先度最高的区域为采摘目标,提取区域边界,采用随机圆环法[11-12]拟合求取目标圆心坐标和半径参数如图2(g).
立体匹配过程即找到左图特定点在右图中对应的点.传统的匹配方法有基于区域匹配和基于特征匹配.基于区域匹配是以窗口内灰度分布的相似性进行判别图像对吻合程度,匹配计算量大,实时性差.基于特征的匹配是根据目标的特征点,边缘形状等特征进行匹配,具有匹配速度快,匹配精度高,但是特征匹配在寻找对应匹配点时很可能存在多个候选点或匹配点不存在,容易出现误匹配,如图4.
图4 视差范围内多候选匹配图
文章利用形心特征点与邻域灰度互相关性相结合的匹配算法,通过由粗到精实现目标匹配.在形心特征点匹配过程中加以极线约束和视差范围约束.左图像中的点在右图像中只在对应的极线高度上搜索,考虑到畸变误差,将垂直方向上搜索范围限定在对应极线高度的上下三个像素范围内.在水平方向上搜索限定在机器人作业空间对应有效视差范围X-Dmax~X内,如图4.在搜索区域内的目标中心点为候选匹配点.针对搜索区域存在多候选匹配,容易出现误匹配的情况,采用邻域区域灰度相关性为唯一约束.文中采用光照强度适应性较好的归一化互相关性系数R(x,y),如式(7).
其中 P(x,y)为左图中目标中心点灰度,Q(x′,y′)为右图对应候选匹配点灰度,2M+1,2N+1为模板的高、宽.
匹配步骤如下:
步骤(1),在左图选取采摘目标,以该目标点中心P(x,y)建立9×9模板窗口,形心匹配加以极线约束视差约束,确定候选匹配点 Q(x′,y′).
步骤(2),选取一个候选匹配点,在它的15×15邻域窗口内移动模板,搜索与左图模板灰度分布相关性R(x,y)最高的匹配点.
步骤(4),记录最后匹配点对坐标参与视差计算,若所候选匹配均不满足,则匹配目标不存在,转至步骤(1)进行下一目标匹配.
摄像机模型采用小孔成像的线性模型,双目摄像头主轴平行设置,双目模型如图5所示.
图5 双目摄像机模型图
其中f为摄像机的焦距,b为两摄像机的基线长.P1(x1,y1)和 P2(x2,y2)为目标点 P 在两成像平面内的成像点坐标.通过三角测距原理可得目标果实的三维空间坐标点 P(x,y,z)坐标如式(10):
通过CMOS双目摄像机实时获取目标信息,提取目标果实的像素坐标;通过摄像机标定获的摄像机内部参数外部参数.根据成像原理计算果实在摄像机坐标系的三维空间坐标,流程图如图6.
图6 系统软件流程图
系统利用两个型号相同Logitech QuickCam公司的pro5000 USB接口的CMOS摄像机,分辨率1280×1024,视角 50°,焦距 8mm,图像信息处理采用便携式PC机,其CPU为A6-3400M四核,主频为2.4 GHz,内存4 GB,windows7操作系统.通过多角度棋盘标定板拍摄20组图像,采用Matlab标定工具箱标定[13],系统采用VC++结合OpenCV库编程实现系统算法,开发调试软件界面如图7.
图7 定位软件界面
实时性实验.以常用的种子填充的区域分析算法[14]作参照对比,系统区域分析阶段通过分别调用种子填充算子算法类和游程编码算法类,对固定视深为300 mm和800 mm的植株果实目标各做20组定位对比实验,其中单目标、多目标各10组.测试系统完成一次定位过程的平均时间,对比试验结果如表1.
表1 算法运行时间对比实验/s
定位精度实验.为了验证系统的定位精度通过双目摄像机随机选取深度范围在220~850 mm的200个不同位置的植株目标果实进行识别试验,记录实测坐标和计算坐标.结果成功识别出果实188次,有8次漏识别(没有检测到果实),有4次误识别(将背景当作果实),部分实验数据如表2.
表2 部分实验数据
以上实验结果表明,该系统定位单个果实时间为0.6 s左右,游程编码法进行区域特征分析相比以像素为基本单元的种子填充算法实时性更好,视野中有多目标情况时实性优势更明显.特征点与邻域互相关性相结合匹配算法在提高匹配效率的同时保证了匹配精度.系统识别率达94%,在距离范围220~850mm内误差小于12mm,可以较好满足采摘机器人实时性和精度要求.该方法针对近距离、部分遮挡目标果实有较好的定位效果,在严重遮挡情况下的果实定位还有待深入研究.
在果实目标识别阶段对连通区域通过游程编码进行区域标记和区域特征参数检测.采用最优采摘目标策略,选取优先采摘对象.采用形心特征点与邻域灰度互相关性相结合的匹配法在提高了匹配速度的同时保证了匹配精度.视觉定位系统在机器人的工作空间内能较好满足精度和实时性要求.通过该定位系统研究也为其他视觉定位系统在实时性应用场合应用提供了一种参考解决方案.
[1]金衡模,高焕文,王晓燕.农业机械自动化的现状与推进模式[J].中国农业大学学报,2000,5(2):44-49.
[2]张庆君,胡修林,叶 斌,等.基于双目视觉的航天器间相对位置和姿态的测量方法[J].宇航学报,2008,29(1):156-161.
[3]Jiménez A R,Ceres R,Pons JL.A vision system based on a laser range-finder applied to robotic fruit harvesting[J].Machine Vision and Applications,2000,11(6):321-329.
[4]Arefi A,Motlagh A M,Mollazade K,et al.Recognition and localization of ripen tomato based on machine vision[J].Australian Journal of Crop Science,2011,5(10):1144.
[5]赵 鹏,赵德安.双目立体视觉在果树采摘机器人中的应用[J].农机化研究,2009,31(1):212-214.
[6]蒋焕煜,彭永石,应义斌.双目立体视觉技术在果蔬采摘机器人中的应用[J].江苏大学学报,2008,29(5):377-380.
[7]Kondo N,Nishitsuji Y,Ling P P,et al.Visual feedback guided robotic cherry tomato harvesting[J].Transactions of the ASAE,1996,39(6):2331-2338.
[8]赖有华,叶海建.几种阈值分割法在工程图自动识别中的应用[J].江西理工大学学报,2006,27(4):31-33.
[9]蔡健荣,周小军,李玉良,等.基于机器视觉自然场景下成熟柑橘识别[J].农业工程学报,2008,24(1):175-178.
[10]胡 涛,郭宝平,郭 轩,等.基于改进游程连通分析的快速目标描述算法[J].光电工程,2009,36(2):116-121.
[11]司永胜,乔 军,刘 刚,等.苹果采摘机器人果实识别与定位方法[J].农业机械学报,2010,41(9):148-153.
[12]朱庆生,胡章平,刘 然,等.立体图像对的极线校正 [J].计算机工程与设计,2009,30(17):4027-4030.
[13]孙玉青,冀小平.Matlab标定工具箱在摄像机定标中的应用[J].太原科技,2010,194(3):99-100.
[14]吴 潜,居太亮.应用种子填充算法提取图像的形状特征[J].电讯技术,2001,41(4):88-90.