APP下载

一种采用支持向量机和凸包拟合的茄子识别方法

2013-09-20荣佳佳

关键词:识别率单果像素点

钱 鹰,荣佳佳,黄 颖,周 莉

(1.重庆邮电大学图形图像与多媒体实验室,重庆 400065;2.中国煤炭科工集团重庆设计研究院,重庆 400016)

0 引言

果蔬采摘机器人是目前农业机器人领域的一个研究热点[1-3],而对果实的识别技术是果蔬采摘机器人视觉系统的关键技术。许多学者在这方面做了研究,取得一些成果。姚力健等[4]对茄子图像分别进行了色差分割和色调分割,并利用多参数来衡量分割结果,使评价做到最大程度的客观、合理。刘长林等[5]设计了一种实现田间茄子收获机器人视觉系统的图像识别方法,通过判断像素值差值实现分割,通过模版操作去除残留物。姚力健等[6]设计一种基于自组织特征映射(self-organizing feature map,SOFM)神经网络的茄子图像分割方法,选取RB,G-B和H颜色分量作为SOFM网络的输入向量,利用该网络自组织学习的特征进行聚类。以上3种方法对单果识别较好,但是并没有涉及多果情况。而且以上3种方法对无遮挡情况识别较好,对遮挡情况识别效果不理想。

解决复杂自然环境下(复杂环境包括大面积地面,颜色与茄子相似的绳子等)多果、遮挡的识别,已经成为果蔬采摘机器人急需解决的问题。本文对茄子图像应用支持向量机进行分割;针对背景与茄子相似的情况,利用直方图分布匹配进行识别;针对遮挡的情况,尝试使用凸包拟合的方法,拟合出被遮挡茄子的轮廓。

1 图像采集和样本获取

作者于2011年9月,在广西三江县古宜镇无公害蔬菜基地,用Sony DSC-T20数码相机,采集晴天条件下从早晨7:00至傍晚18:40时间段的茄子图像90张。茄子品种为长茄。图像中不仅包括单个茄子的情况,也包括多个茄子的情况。图像的最初尺寸是3264×2448像素,为了实验方便和提高处理速度,将图像裁减为512×512像素。并且裁剪后的图像,满足实验对图像分辨率的要求。

处理设备为PC机,基本配置:CPU为AMD,内存2 GByte,硬盘500 GByte。操作系统是 Windows 2000。图像处理软件:MATLAB 7.11.0。

2 本支持向量机简介

支持向量机(support vector machine,SVM)是由

Vapnik首先提出的,像多层感知器网络和径向基核函数网络一样,可用于模式识别和非线性回归。支持向量机的主要思想是建立一个分类超平面作为决策曲面,使得正例和反例之间的间隔边缘最大化[7-9]。核函数是构造支持向量机的关键。核函数的种类主要有

线性核函数

多项式核函数

径向基核函数

两层感知器核函数

3 本文算法

本文茄子识别的流程图如图1所示。

图1 茄子识别的流程图Fig.1 Flow chart of eggplant recognition

3.1 SVM 分割

本文SVM的实现采用的是libsvm工具箱[10]。libsvm是台湾大学林智仁教授等开发设计的一个简单、易于使用且快速有效的SVM模式识别与回归的软件包。SVM用于模式识别或回归分析时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说,最优的SVM算法的参数选择还只是凭借经验、实验对比、大范围地搜索或者利用软件包提供的交互检验功能进行寻优[7]。

核函数的选择一般与问题自身有关[11]。当c=1,g=1时(c是惩罚参数,g是γ),对于SVM中不同的核函数,分割效果如图2所示。通过图2可以看出,对于本文实验数据,线性核函数的分割效果最好,因此,本文的核函数采用线性核函数。

本文实验图像共90张,其中训练图像10张。训练集是从10张训练图中选出的一些像素点。其中训练集包括2部分:一部分是前景点,另一部分是背景点。前景点是从10张训练图像的茄子中随机选取的像素点。背景点是从10张训练图像的背景中随机选取的像素点。本文分别选取了多个样本的30,40,50及100个点作为训练集进行实验,平均正确分类率及平均运行时间如表1所示。

表1 采用不同点数训练集的对比Tab.1 Comparison of using the training set of different points

从表1中可以看出,4类点数的平均正确分类率及平均运行时间很接近。4种训练集对表面反光茄子的分割图像如图3所示。

从图3可以看出,训练集是30个点(多个样本)的情况,对茄子反光区域的分割效果最好。而大多数茄子的表面容易反光,所以取30个像素点作为训练集,其中前景点14个,背景点16个。前景就是茄子,而实验图像的背景比较复杂,包括竹竿、木杆、绿叶、枯叶、茎,远山、天空、地面及其覆盖物。

图3 不同训练集对表面反光茄子的分割图像Fig.3 Segmentation image of different training set of the reflective surface of the eggplant

3.2 后处理

3.2.1 消除细毛刺

SVM分割后的图像存在大量的细小毛刺,特别是一些狭长的毛刺把大块的噪声和茄子连在一起。消除这些细毛刺,采用数学形态学的方法。数学形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量[12]。数学形态学中的开运算可以使图像的轮廓变得光滑,还能断开小连接、消除小毛刺。经过试验,取大小为3×3,形状为正方形的结构元素用于实验。开运算后,物体的位置没有改变并且轮廓也没有发生整体收缩。

3.2.2 基于面积的后处理

消除细毛刺后,图像的边缘变得光滑,但是图像中还是存在很多噪声。本文采用面积阈值法去除这些噪声,面积阈值法就是根据面积阈值去除噪声。步骤:1)对图像进行标注;2)求出各个区域的面积;3)求出面积的最大值,并且把最大面积的二分之一作为面积阈值;4)把各个区域的面积与阈值进行比较,如果大于阈值,则保留。经过以上处理,可以去除大部分的噪声。

3.2.3 基于外接矩形的后处理

但是对于一些与茄子颜色相似,并且面积也比较大的背景物体,上面的方法无法去除,这时,可以用外接矩形法来去除噪声。1)求出各个区域的外接矩形;2)求出矩形的宽长比,设为rate,通过实验得到茄子的宽长比为0.11≤rate≤0.45;3)将各个区域与rate比较,如果不在这个范围内,就去除。

3.2.4 孔洞填充

由于茄子表面反光,在茄子图像中会产生一些孔洞,需要进行孔洞填充。本文采用4连通式的孔洞填充。至此,无遮挡的茄子识别完毕,识别过程如图4所示。

3.3 使用直方图分布进行匹配识别

还有一种特殊情况,就是背景物体不仅颜色、面积与茄子相近,而且形状与茄子也很相似,如图5a中的长木杆。这时可以使用直方图分布匹配识别的方法。步骤如下:①设SVM分割后的图像为α图,SVM分割后再进行孔洞填充的图像为β图;②比较α图和β图相同位置点的像素值,如果β图像素点的值是0,则α图相应位置点的像素值设置为255,如果β图像素点的值是1,则α图相应位置点的像素值不变。最后得到图5b。本文对茄子的灰度直方图如图5d所示,进行分析,统计得到茄子灰度值的范围,取阈值T=50进行分割。分割后的结果如图5b,而去噪等处理后得到图像如图5c。

图4 无遮挡的茄子识别过程图Fig.4 Image group of unobstructed eggplant recognition process

图5 使用直方图分布进行匹配识别的过程图Fig.5 Image group of eggplant recognition process of histogram distribution matching

3.4 凸包拟合

点集Q的凸包是一个满足Q中的每个点或者在P的边界上,或者在P内部的最小面积的凸多边形P。具体定义如下。

在一个实数向量空间V中,对于给定集合X,所包含X的凸集的交集S被称为X的凸包,如公式(5)[13]定义为

X的凸包可以用X内所有点(x1,…,xn)的线性组合来构造,如公式(6)

由于枝叶等遮挡,识别出的茄子并不完整。因此,本文采用凸包拟合的方法,拟合出茄子的轮廓。被遮挡的原图如图6a所示,而凸包拟合后的结果如图6b所示。

图6 凸包拟合图像Fig.6 Image of convex hull fitting

4 结果分析

各种对比结果如表2-表7所示。

表2 总的识别率及时间比较Tab.2 Comparison of total recognition rate and time

表3 茄子表面反光识别率及时间比较(条件:单果,无遮挡,背景较简单)Tab.3 Comparison of time and recognition of eggplant of reflective surface(Condition:single fruit, unobstructed, simple background)

表4 单果识别率及时间比较(条件:上午,无遮挡,背景较简单,茄子表面无反光)Tab.4 Comparison of time and recognition of single fruit(Condition:morning,unobstructed,simple background,the surface of eggplant is not reflective)

表5 多果识别率及时间比较(条件:中午,无遮挡,背景较简单,茄子表面无反光)Tab.5 Comparison of time and recognition of multiple fruit(Condition:midday,unobstructed,simple background,the surface of eggplant is not reflective)

表6 遮挡识别率及时间比较(条件:下午)Tab.6 Comparison of time and recognition of blocked eggplant(Condition:afternoon)

表7 背景复杂识别率及时间比较(条件:上午,单果,无遮挡)Tab.7 Comparison of time and recognition of complex background(Condition:morning,single fruit,unobstructed)

从表2可以看出,本文总的识别率明显高于文献[12]和文献[4];虽然识别时间大于文献[12]和文献[4],但是这个时间在果蔬采摘机器人视觉系统中,可以接受。

表3总的图像为12张。为了避免其他因素对反光识别率的影响,比如多果、被遮挡、背景复杂等,因此,选择条件为单果、无遮挡、背景较简单对反光识别率进行比较。从表3可以看出,本文反光识别率明显高于文献12和文献4。识别效果如图7所示。

表4总的图像为6张。为了避免其他因素对单果识别率的影响,比如光照较强、被遮挡、背景复杂等,因此,选择条件为上午、无遮挡、背景较简单、茄子表面无反光对单果识别率进行比较。从表4可以看出,3篇文章对单果的识别率都较好。识别效果如图8所示。

表5总的图像为4张。为了避免其他因素对多果识别率的影响,比如被遮挡、背景复杂等,因此,选择条件为中午、无遮挡、背景较简单,茄子表面无反光对多果识别率进行比较。从表5可以看出,本文对多果的识别率明显高于文献[12]和文献[4]。识别效果图如图9所示。

表6总的图像14张,选择同一时间段下午进行比较。从表6可以看出,本文遮挡识别率明显高于文献[12]和文献[4]。识别效果如图10所示。

表7总的图像为9张。为了避免其他因素对背景复杂识别率的影响,比如被遮挡、多果等,因此,选择条件为上午、单果、无遮挡对背景复杂识别率进行比较。其中复杂背景包括大面积地面,颜色与茄子相似的绳子、竹竿、木杆等。从表7可以看出,本文对背景复杂的识别率明显高于文献[12]和文献[4]。识别效果如图11所示。

图7 反光识别结果Fig.7 Recognition results under reflective condition

图8 单果识别结果Fig.8 Recognition results under single fruit condition

图9 多果识别结果Fig.9 Recognition results under multiple fruit condition

图10 遮挡识别结果Fig.10 Recognition results under blocked condition

5 结论

对背景环境较复杂的图像,取得较满意的分割效率。无论是单果还是多果,都能得到较好的结果,说明算法的鲁棒性较强。对遮挡情况,尝试采用凸包拟合茄子的轮廓。识别茄子是实现自动采摘的第一步。后续的工作将会对严重遮挡情况进行进一步地研究。

[1]VAN HENTEN E,VAN TUIJ B,HOOGAKKAR G,et al.An autonomous robot for de-leafing cucumber plants grown in a highwire cultivation system [J].Biosystems Engineering,2006,94(3):317-323.

[2]TANIGAKI K,FUJIURA T,AKASE A,et al.Cherryharvesting robot[J].Computers and Electronics in Agriculture,2008,63(1):65-72.

[3]RATH T,KAWOLLEK M.Robotic harvesting of Gerbera Jamesonii based on detection and three-dimensional modeling of cut flower pedicels[J].Computers and Electronics in Agriculture,2009,66(1):85-92.

[4]姚立健,丁为民,刘璎瑛.基于MATLAB的茄子图像分割方法[J].江西农业学报,2007,19(6):97-101.YAO Lijian,DING Weimin,LIU Yingying.Image Segmentation for Eggplant Based on MATLAB[J].Ata Agriculture Jiangxi,2007,19(6):97-101.

[5]刘长林,张铁中,杨丽.茄子收获机器人视觉系统图像识别方法[J].农业机械学报,2008,39(11):217-219.LIU Changlin,ZHANG Tiezhong,YANG Li.A image recognition method of vision system of the robot collecting eggplants[J].Transactions of the Chinese Society for Agricultural Machinery,2008,39(11):217-219.

[6]姚立健,丁为民,赵三琴,等.基于SOFM神经网络的茄子图像分割方法[J].南京农业大学学报,2008,31(3):140-144.YAO Lijian,DING Weimin,Zhao Sanqin,et al.Method of image segmentation for eggplant based on SOFM neural network[J].Journal of Nanjing Agricultural University,2008,31(3):140-144.

[7]史峰,王小川,郁磊,等.MATLAB神经网络30个案例分析[M].北京:北京航天航空大学出版社,2010:112-113.SHI Feng,WANG Xiaochuan,YU Lei,et al.The analysis of MATLAB neural network 30 cases[M].Beijing:Beijing University of Aeronautics & Astronautics Press,2010:112-113.

[8]吴鹏.MATLAB高效编程技巧与应用:25个案例分析[M].北京:北京航天航空大学出版社,2010:195.WU Peng.MATLAB efficient programming techniques and applications:The analysis of 25 cases[M].Beijing:Beijing University of Aeronautics & Astronautics Press,2010:195.

[9]李玲俐.数据挖掘中分类算法综述[J].重庆师范大学学报:自然科学版,2011,28(04):44-47.LI Lingli.A Review on Classification Algorithms in Data Mining[J].Journal of Chongqing Normal University:Natural Science Edition,2011,28(04):44-47.[DOI:10.11721/cqnuj20110411]

[10]CHANG Chih-chung,LIN Chih-Jen.LIBSVM:a library for support vector machines[EB/OL].(2010-05-20)[2012-06-21]. http://wenku. baidu. com/view/b50dec6cb84ae45c3b358c18.html.

[11]张铮,王艳平,薛桂香.数字图像处理与机器视觉—Visual C++与Matlab实现[M].北京:人民邮电出版社,2010:270.ZHANG Zheng,WANG YanPing,XUE Guixiang.Digital image processing and machine vision-Visual C++and Matlab programming[M].Beijing:Posts& Telecom Press,2010:270.

[12]THOMAS H C,CHARLES E,RONALD L ,et al.算法导论[M].潘金贵,顾贴成,李成法,等,译.北京:机械工业出版社,2006.THOMAS H C,CHARLES E,RONALD L,et al.Introduction to Algorithms[M].PAN Jingui,GU Tiecheng,LI Chengfa,et al,Translators. Beijing:China Machine Press,2006.

[13]刘健,张云伟.基于HSI空间的生长状态下茄子图像分割方法[J].安徽农业科学,2010,38(14):7554-7556.LIU Jian,ZHANG Yunwei.Segmentation Method of Eggplant Images in the Growth State Based on HIS Space[J].Journal of Anhui Agriculture Science,2010,38(14):7554-7556.

猜你喜欢

识别率单果像素点
金艳猕猴桃疏花疏果技术研究
栽培西瓜单果重主基因+多基因遗传分析
基于局部相似性的特征匹配筛选算法
三个李子品种叶片差异及与单果重相关性分析
基于类图像处理与向量化的大数据脚本攻击智能检测
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
基于5×5邻域像素点相关性的划痕修复算法
适合在南方种植的鲜食枣品种
提升高速公路MTC二次抓拍车牌识别率方案研究
基于canvas的前端数据加密