宁志刚,程 辉,杨 恒,程 雄
(南华大学电气工程学院,湖南衡阳 421001)
在机器人采摘柑橘的实际工作环境中,自然环境中的许多因素会引起柑橘扰动.采摘机器人在采摘柑橘时,无论采用哪种采摘方式都不可避免地引起未采摘柑橘无规律振荡.在传统的静态采摘情况下,这势必影响机器人的采摘精度及工作效率.由于传统静态采摘方式,每个采摘周期只对一幅柑橘图像进行分割、识别和定位.这种处理方式忽略了柑橘的动态特性,显然不能适应振荡状态下高效率的柑橘采摘要求[1-5].为此,文中提出一种基于帧间差分算法的振荡柑橘动态识别方法,结合静态识别方法,对扰动状态下的柑橘进行动态识别.
扰动柑橘的识别相对于静止柑橘的识别具有很大的不同,扰动柑橘的识别需要获取柑橘图像的连续帧,对连续帧图像进行处理,通过对连续帧图像的分析来估计扰动柑橘的运动状态,然后进行柑橘定位和采摘.扰动柑橘识别流程图如图1所示.首先利用摄像头采集柑橘连续帧图像,由于图像像素的多少会影响柑橘识别的时间,在不影响定位精度的情况下,摄像头分辨率的选取要根据机器人实际工作情况而定,文中采用USB宝贝计划网络摄像头.对于视频的采样频率和样本数,由实际工作中碰到的各种情况动态确定,这样能更好地适应各种情况.通过对采样的各帧图像进行图像分割,分离出各帧图像中的水果.采用帧间差分法对柑橘图像进行差分运算,识别出处于扰动状态下的柑橘.根据内切圆的圆心,对扰动水果进行定位.
柑橘图像与背景具有较大的差别,所以选择色彩颜色空间法来分离柑橘与背景.选取自然环境下的柑橘图像,分析RGB颜色空间的R,G和B色彩通道灰度直方图及I1I2I3颜色空间的I2和I3灰度直方图,如图2,3所示.
图2 各分量的灰度直方图(无直射光)
图2分析了各色彩通道的直方图,发现R分量和I2,I3分量有较明显的双峰和波谷.R分量不能区分柑橘与背景,会造成分割不完全[5].I3分量能较完整地分离出柑橘与背景,但对直射光照过于敏感.
当有直射光照时,图3中I3灰度直方图就会明显改变,不再具有较明显的双峰和波谷.所以,选择鲁棒性较好的I2分量,将柑橘图像与背景进行分离.I1I2I3颜色空间与RGB颜色空间的转换公式为[6-8]
常用的阈值分割算法有直方图法、最大类间方差算法和迭代算法.直方图法虽然能分离出柑橘图像,但需要人为事先设定阈值.对自动化程度要求较高的采摘机器人而言,这种方法显然不适用.最大类间方差算法(简称OTSU),按图像的灰度特性将图像分成背景和目标两部分.背景和目标之间的类间方差越大,说明目标和背景差别越大.当部分目标错分为背景或部分背景错分为目标,都会导致这两部分差别变小.因此,类间方差最大意味着目标和背景的错分概率最小.
图3 各分量的灰度直方图(有直射光)
最大类间方差的公式为
当k在0~L-1变化时,计算不同k值的类间方差δ2(k),δ2(k)取最大值时对应的k值就是所求的最优阈值.由于算法复杂,该算法耗时较多.
迭代法指在初始条件中假定一个阈值,通过对图像的迭代运算,不断更新这一假定阈值,从而得到最佳阈值[9-11].迭代分割算法是一种自适应选择阈值的方法,是基于逼近思想的算法.通过阈值迭代,利用计算机程序自动计算出合适的分割阈值.
迭代算法的主要步骤为先分别计算出灰度图像的最大灰度值Gmax和最小灰度值Gmin,再计算初始阈值,相应的计算公式为
Ti+1表示采用迭代算法计算得到的阈值,迭代公式为
若指定一个极小值ξ,则有
迭代运算直到满足式(5),才停止运算.上述算法在计算机上较易实现,迭代过程不超过4次就会结束.
虽然OTSU法与迭代法都能较好地完成柑橘与背景的分离,但迭代法比OTSU法节约了大量时间,迭代算法比OTSU法要快0.1 s左右.两种算法的分割图像如图4 b,c所示.比较图b和c,发现迭代算法对非目标区域有一定地抑制作用.所以,选取迭代法作为分割算法.
图4 OTSU与迭代算法分割效果图
对处于扰动状态下的柑橘进行识别,由于帧间差分算法实现简单、计算复杂度低、容易编程实现、对光线变化不敏感,所以采用帧间差分法对扰动状态下的柑橘进行识别.对两帧图像进行差分运算,得到图像灰度差的绝对值.但是,帧间差分法不能提取对象的完整区域,该算法依赖于视频采样间隔.对于运动过快的物体,则需要采用较短的采样间隔,否则,差分后的图像将分离成独立的两部分.对于运动过慢的物体,则需要采用较长的采样间隔.这两种情况对文中的识别算法都不会造成影响.当物体在前后帧中几乎完全重叠时,该算法完全失效.差分后仍需采用腐蚀、去除、膨胀方法来消除噪声,腐蚀膨胀采用3×3正方形结构元素进行运算.在处理得到的差分图像的基础上,完成柑橘动态区域标识.具体步骤如下:①标记差分图像中所有连通域,消除面积小于800的连通域.800是基于统计运算得到的结果.然后,对图像进行形态学处理,减少小的噪声块对图像后期处理的影响;②存储各连通域水平最小外接矩形的长度和宽度;③通过建立竞争函数来确定需要标识的区域;④在差分图像上画出最优区域的水平最小外接矩形,以外接矩形中较大的边作为最小外接正方形边沿,得到最小外接正方形.画出该正方形的内切圆,该内切圆就近似为待识别的柑橘,采用该内切圆对柑橘进行标识和定位.
竞争函数定义为
T的初始值设为1.其意义为找出最接近于圆的连通域.T越小,则表示连通域越类似圆形.W为某一连通域的水平最小外接矩形的宽,H为水平最小外接矩形的高.通过对连通域逐一比较,确定最佳匹配区域.
通过上述步骤的处理,获得最佳匹配区域的外接正方形.由外接正方形求得其内切圆的圆心和半径.其外接正方形左上角的角点坐标为(rx,ry).
针对自然环境中遇到的各种情况,选取了几种具有代表性的状态进行动态识别.具体状态包括单个扰动柑橘、单静止单扰动柑橘、单扰动有遮挡、双扰动无遮挡以及单扰动且遮挡率大于70%的情况.试验中采用VC++6.0编程实现,对象为真实柑橘.网络摄像头的帧率为30帧·s-1,隔帧捕获.采用图像的大小为320像素×240像素.试验中,为了模拟采摘机器人在采摘过程中造成的柑橘扰动,在开始捕获图像时给柑橘一个侧向力.图5-8为动态识别方法的试验结果.
图5 单个扰动
图6 单个扰动单个静止
图7 单扰动有遮挡
图8 双扰动无遮挡
试验验证了自然环境下遇到的各种情况,特别分析了伴有遮挡情况的扰动柑橘识别.各种状态下的柑橘样本数量为20组.视频捕捉环境为自然环境,不考虑柑橘树叶对柑橘的遮挡,只考虑水果之间的相互遮挡情况.遮挡率通过计算面积比确定.通过图1算法流程,进行标识和识别,统计识别结果,如表1所示.
表1 各种状态的柑橘识别率
通过分析表1各种状态下的识别率,得到各种状态识别率的变化图,如图9所示.
图9 各状态识别率的变化图
图9中的纵坐标表示识别率,横坐标中状态1-4分别表示图5-8中采摘柑橘时的状态,状态5是指单扰动且遮挡率大于70%的柑橘识别情况.对于其他几种状态,当遮挡率大于70%时,识别率低于25%.图9中的曲线表明,随着状态复杂度的增加,识别率在不断地下降.通过分析图9中的曲线可知:无遮挡扰动柑橘的检测成功率达到100%,完全适用于无遮挡状态柑橘检测的要求,单扰动且遮挡率小于70%柑橘的检测成功率达到85%,仍然满足采摘机器人的工作要求.当遮挡率大于70%时,柑橘的检测成功率急剧下降,扰动柑橘识别方法基本失效.当遮挡率大于70%时,由于内切圆算法自身原因,该算法会把整个分割区域误认为是最优匹配区域,虽然能检测扰动柑橘所在区域,但误差较大,没有实际意义.对应策略为暂时放弃采摘遮挡率大于70%的严重遮挡柑橘,采摘机器人将这一个位置识别的柑橘采摘完毕;采摘机器人移动到临近下一个位置,通过改变采摘角度,减少上一个位置由于遮挡严重而未被采摘柑橘的遮挡率.此方案在实际的采摘工作中是可行的.
采用I2色彩分量将柑橘图像与背景进行分离,然后采用迭代法对柑橘图像进行二值化处理,获得了较好的分割效果,减少了识别时间,提高了采摘效率.其次,采用帧间差分法、水平最小外接矩形法、建立竞争函数法,对分割图像中的振荡柑橘动态区域进行标识.在扰动柑橘标识阶段,采用内切圆法,尽量不采用复杂的识别算法.在不影响采摘精度的条件下,尽量减少单个采摘周期的识别时间.最后,根据内切圆的圆心确定柑橘的位置.该算法能较好地适应自然环境下碰到的各种扰动情况,具有较高的鲁棒性.
References)
[1]宋 健,张铁中,徐丽明,等.果蔬采摘机器人研究进展与展望[J].农业机械学报,2006,37(5):158-162.
Song Jian,Zhang Tiezhong,Xu Liming,et al.Research actuality and prospect of picking robot for fruits and vegetables[J].Transactions of the Chinese Society for Agricultural Machinery,2006,37(5):158-162.(in Chinese)
[2]熊俊涛,邹湘军,陈丽娟,等.采摘机械手对扰动荔枝的视觉定位[J].农业工程学报,2012,28(14):36-41.
Xiong Juntao,Zou Xiangjun,Chen Lijuan,et al.Visual position of picking manipulator for disturbed litchi[J].Transactions of the Chinese Society of Agricultural Engineering,2012,28(14):36-41.(in Chinese)
[3]熊俊涛,邹湘军,陈丽娟,等.基于机器视觉的自然环境中成熟荔枝识别[J].农业机械学报,2011,42(9):162-166.
Xiong Juntao,Zou Xiangjun,Chen Lijuan,et al.Recognition of mature litchi in natural environment based on machine vision [J].Transactions of the Chinese Society for Agricultural Machinery,2011,42(9):162-166.(in Chinese)
[4]蔡健荣,周小军,李玉良,等.基于机器视觉自然场景下成熟柑橘识别[J].农业工程学报,2008,24(1):175-178.
Cai Jianrong,Zhou Xiaojun,Li Yuliang,et al.Recognition of mature oranges in natural scene based on machine vision [J].Transactions of the Chinese Society of Agricultural Engineering,2008,24(1):175-178.(in Chinese)
[5]Zhao Dean,Lü Jidong,Ji Wei,et al.Design and control of an apple harvesting robot[J].Biosystems Engineering,2011,110(2):112-122.
[6]林开颜,吴军辉,徐立鸿,等.彩色图像分割方法综述[J].中国图象图形学报,2005,10(1):1-10.
Lin Kaiyan,Wu Junhui,Xu Lihong,et al.A survey on color image segmentation techniques[J].Journal of Image and Graphics,2005,10(1):1-10.(in Chinese)
[7]徐惠荣,叶尊忠,应义斌.基于彩色信息的树上柑橘识别研究[J].农业工程学报,2005,21(5):98-101.
Xu Huirong,Ye Zunzhong,Ying Yibin.Identification of citrus fruit in a tree canopy using color information[J].Transactions of the Chinese Society of Agricultural Engineering,2005,21(5):98-101.(in Chinese)
[8]Lou X P,Tian J,Zhu G Y,et al.A survey on image segmentation techniques[J].Pattern Recognition and Artificial Intelligence,1999,12(3):300-312.
[9]Bulanon D M,Kataoka T,Ota Y,et al.Segmentation algorithm for the automatic recognition of Fuji apples at harvest[J].Biosystems Engineering,2002,83(4):405-412.
[10]马 陆,陈晓挺,龚文斌,等.低轨卫星频谱感知的二维差值迭代分割[J].宇航学报,2011,32(4):851-856.
Ma Lu,Chen Xiaoting,Gong Wenbin,et al.A two-dimensional difference iterative partition algorithm for LEO network's spectrum sensing[J].Journal of Astronautics,2011,32(4):851-856.(in Chinese)
[11]王雅琴,高 华.自然环境下水果图像分割与定位研究[J].计算机工程,2004,30(13):128-130.
Wang Yaqin,Gao Hua.Study on the segmentation and orientation of fruit image under natural environment[J].Computer Engineering,2004,30(13):128-130.(in Chinese)