APP下载

基于SURF算法对多物料包识别的研究

2015-09-13陈州尧

制造业自动化 2015年22期
关键词:码垛特征向量椭圆

徐 敏,陈州尧

(1. 厦门理工学院,厦门 361024;2.江西理工大学,赣州 341000)

0 引言

现有的码垛机器人往往固定位置,通过示教方式对物料包实现上、下料操作。将机器视觉引入到码垛机器人中,能改变码垛机器人以固定姿态活动的局限性,提升码垛机器人的灵活性[1]。但是当机器视觉面对的对象姿态不规则、尺寸、质量不等、位置变化不定、环境、场景语义差异大时[2],即使是两个同类物体,在从图像角度看来差异也很大,而大多数的物料包属于此类。

现有的对物料包识别的研究较少,具体有:文献[1]对整体颜色一致,且无图案的物料包通过OTSU域值识别出整个码垛,再经CANNY、SOBEL求边缘,并结合形态学操作,最终得到单个物料包的连通域和中心;文献[3]每次采集单独一个表面有图案的物料包的图像,经预处理和分割后,通过匹配模板和分割块的SIFT特征,实现定位物料包的目的;文献[4]对两袋以上下方式堆叠在一起的化肥袋图像分别进行了去噪、SOBEL边缘检测、OTSU域值、形态学操作、希尔迪奇法细化,最终识别出了两袋的边缘,根据面积大小,保留大面积的属于上面一袋的区域;文献[5]对化肥袋图像求得的化肥袋边缘检测边缘的HARRIS角点,用最小二乘法拟合角点,得到以边角角点为顶点的四边形来拟合物料包。上述文献[1,4,5]由传统处理手段达到了识别物料包的边缘的目的,可见物料包堆放和物料包图案并不复杂。而文献[3]只是以流水线上的一个包为分析对象。本文对图案复杂、摆放不规则的多个物料包进行了识别研究,通过初步截取物料包的位置,再对截取图像和模板图像检测SURF特征点,计算特征向量并通过FLANN算法匹配特征点,使用优良的匹配点对计算图像对之间的单应性矩阵,最终检测到物料包的角点,达到识别物料包的目的,为码垛机器人码垛提供了较为灵活、准确的物料包图像位置信息。

1 SURF算法识别目标原理

1.1 SURF特征点提取

SURF算法采用的是Hessian矩阵行列式近似值图像,即将原图像的每一点通过Hessian矩阵运算后生成一个变换图像。SURF特征点的寻找就是在变换图像中寻找特征点,并在原图像中对应位置标识出来。某一点的Hessian矩阵的描述如下[6]:

相应的特征值:

为满足特征点的尺度无关性,在进行Hessian矩阵构造前,先进行高斯滤波。具体实施中,用图像的灰度值L(x,y)代替函数f(x,y)。新的Hessian矩阵如下:

其中,σ代表高斯滤波尺度。为减少计算量,采用一定大小的箱式滤波模板代替一定尺度的高斯滤波,用Dxx、Dyy、Dxy表示Hessian矩阵的行列式如下:

其中:

若某一点的行列式值大于其周围26点,便将该点作为SURF特征点。

1.2 计算特征向量

特征向量又称为特征点描述向量。特征点描述用来表示极值点周围像素分布情况,也称为描述子。为求出描述子的方向,通常选用一个6S的圆,对每个像素计算边长为4S的Haar小波。特征点为原点,方差2S的高斯函数为权重函数。计算60°滑动窗口内像素在x和y方向的小波模的和。滑动窗以5°为一步转动,选择转动一周模值最大的向量,做为描述子的方向。

特征向量需要在特征点周围选取长度20像素的正方形区域,并将区域方向旋转至与描述子方向一致。每个区域被分成了16个子区域,对每一个子区域分别计算每个像素点在Haar小波x和y方向上的响应值dx和dy,再分别求出作为特征向量,最终会形成64维的特征向量。如果在每个子区域分开求为正和为负的dx和dy,即求将会有128维的特征向量。

1.3 FLANN算法匹配特征向量

目标识别算法中最耗时的部分是在大规模的数据集中寻找匹配的高维向量对。FLANN算法称为快速近似最近邻搜索算法,这种近似的算法可能会使得性能上有些损失,但是带来了千倍于速度快的线形搜索的效率[7]。FLANN算法采用欧式距离,定义如式(5)所示,具体匹配的流程为[8~10]:先找到图像I1某一特征点m1在图像I2中具有最小距离dist的匹配点对(m1,m2),之后根据所有匹配点的dist计算最小距离min,设置阈值若最小距离dist<T,则将m2作为m1候选匹配点;否则,寻找I1中的下一特征点,同时剔除m1。

2 实验过程和结果分析

2.1 实验过程

实验图像如图1、图2所示。需要将每个包识别出来。由于是彩色图像,图像可识别的特征太多,实验将黄色包的中间绿色椭圆、绿色包的中间红色矩形作为首要识别的标志。采用先将RGB图像分离出H、S、V三个通道,设置分离图1中的绿色区域,设置,分离图2中的红色区域。分离出来的结果如图3、图4所示。

图1 一种黄色包

图2 一种绿色包

图3 提取图1的绿色部分

图4 提取图2的红色部分

对图3、图4,接着进行灰度化、基本全局域值、9×9的结构元素实施闭操作、忽略面积小于或是形状不符合椭圆形图标或方形图标的连通域,并用红色椭圆标记出需要识别的标志,并得到各个椭圆的中心、长短轴长度、方位角。最终得到的效果图如图5和图6所示。

图5 识别绿色标识

图6 识别红色标识

图2这类标志在正中间的目标物,只需通过识别了标志就表示识别到了目标物,标志的中心就能作为目标物的质心,供码垛时机械臂末端执行器动作了。但是对于图1中的目标物,识别出不在中心的标志,一般情况下,是无法执行码垛的;要是图中的包有被遮挡,如图7所示,即便能识别出黄色包的绿色椭圆标志的一部分和绿色包的红色矩形的一部分,如图8所示,部分椭圆位置不能和标志重合,处理结果不能用于工程实践中。据此,在以上实验基础上,引入SURF算法实施目标识别,具体流程如图9所示。

图7 压盖严重的三个包

图8 提取图7绿色标志

图9 引入SURF特征目标检测流程图

依照图9流程,具体操作为:对图7中的3个包识别出标志的位置,以图8中红色椭圆为中心,在图7中截取方向与椭圆一致,长和宽分别为椭圆长轴2倍和短轴5倍的矩形作为每个包的大致范围,放置于与原图同样大小的白色背景中,如图10所示。若是矩形有部分超出了图像的范围,对应地方不会显示。判断像素是否在矩形内可以通过判断像素是否在矩形的四条边围成的区域内,具体采用下面公式:

图10 目标物的大体位置

其中,(x,y)为像素点坐标,(x0,y0)为椭圆的中心坐标,分别为椭圆的短轴在图像坐标系的方位角、椭圆的长半轴、短半轴长度。

再通过对3个图和模板图像(图11)分别进行SURF特征点检测、计算特征向量、利用FLANN匹配算法匹配特征描述向量、舍去匹配点对之间距离大于3倍最小距离的匹配点对、使用好匹配点对求出单应性矩阵、找到目标物的四个角点并依次连接四个角点,得出目标物的中点。匹配的效果如图12(a)、12(c)、12(e),识别出来的包在原图中的效果如图13(b)、13(d)。对于不能识别的包,可以采用将部分能识别的包搬走,再采集图像处理的方式,或是直接在图7中截取图片作为模板,再匹配,效果如图14(a)、14(b)所示。

图11 模板图像

图12 识别目标物轮廓的效果图

图13 图7部分区域作为模板的匹配效果

2.2 结果分析

对于图1、图2中摆放整齐的物料包,识别出来的标志区域准确。而图7存在压盖严重的情况,识别出来的标志区域不准确,造成了后来截取的物料包的大致区域并不是很理想,可以看到截取区域与目标物料包的方位不一致,在图11(c)中特别明显。截取的区域与模板图像进行匹配,由于物料包形变严重,与模板图像并不存在严格意义上的仿射变换,导致识别出来的效果不是很精确,如图12(a)、12(b)所示。对于遮挡严重的物料包,特征点匹配到了干扰物上了,如图12(e)。对于这类难处理的目标,直接在原图上截取的模板参与匹配,可达到识别物料包的目的,如图13所示。

3 结论

本文通过对物料包图案、码放方式复杂的多物料包的实施RGB转HSV操作,并分离出三通道,设置H、S、V范围,达到识别物料包的标志。根据物料包的标志位置截取各个物料包的大致区域。之后,对各个区域实施了基于SURF算法的物料包识别,达到了逐一识别物料包的目的。证明了该方法适用于识别一些复杂的多物料包,具有一定的工程应用价值。

[1] 陈州尧,徐敏,苏鹭梅.一种码垛视觉系统中物料袋的识别与定位方法[J].制造业自动化,2015,37(3):47-49.

[2] 贾伟,刘彦宾,刘炜,等.一种物料袋场景图像自适应增强算法[J].计算应用研究,2015,32(9).

[3] 童上高,张昊,李文艺,等.多品种分类码垛视觉识别系统研究[J]. 制造业自动化,2013,35(6):112-114.

[4] 张天厚.基于机器视觉的编织袋图像处理与分析[D].济南大学, 2010:37-40.

[5] 刘华冠.基于机器视觉的袋装物料位姿自动识别研究[D].济南大学,2011:33-38.

[6] Herbert Bay,Andreas Ess,Tinne Tuytelaars,Luc Van Gool.SURF: Speeded Up Robust Features[J].Computer Vision and Image Understanding,2008,110(3):346-359.

[7] 刘立,詹茵茵,罗扬,等.尺度不变特征变换算子综述[J].中国图像图形学报,2013,18(8):890-890.

[8] Marius M,David G L.Fast approximate nearest neighbors with automatic algorithm configuration[C].Proceedings of International Conference on Computer Vision Theory and Application.Lison,Portugal:Springer,2009:1-10.

[9] Marius M,Radu B R,Gary B,etal.REIN-a fast,robust,Scalable recognition infrastructure[C].Proceedings of International Conference on Robotics and Automation.Shanghai,China:IEEE,2011:2939-2946.

[10] Marius M,David G L.Fast matching of binary features[C].Proceedings of the Conference on Computer and Robot Vision.Toronto,Canada:IEEE,2012:404-410.

猜你喜欢

码垛特征向量椭圆
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
Heisenberg群上由加权次椭圆p-Laplace不等方程导出的Hardy型不等式及应用
克罗内克积的特征向量
例谈椭圆的定义及其应用
可控机构式码垛机器人的运动学误差分析
移动式码垛机器人移动臂的优化设计
GSK工业机器人码垛程序编写技巧
巧用点在椭圆内解题
一类三阶矩阵特征向量的特殊求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用