基于立体视觉的一般物体识别方法

2013-12-23 06:32李新德
关键词:摄像机物体单词

李新德 张 晓 朱 博

(东南大学复杂工程系统测量与控制教育部重点实验室,南京210096)(东南大学自动化学院,南京210096)

所谓一般物体识别(generic object recognition),是指期望计算机像人类一样,对于任意环境下的任意物体都具有较强的检测、识别能力,要求在给定训练样本的前提下,计算机能够学习该物体类别的知识,并在观察到同类但外观和结构等有所变化的新物体时,给出准确的识别结果[1].当前,物体识别技术仍然处在一个快速发展的初级阶段,对于某些特定的应用存在一些专门的解决方案,但是一个通用、鲁棒的理论和算法框架尚未出现.在物体识别过程中,背景杂物一直是影响物体识别性能的重要因素,往往导致有用信息被严重破坏,从而影响了后续的理解和判断.

根据识别方法是否对局部特征之间的关系建模,可以将识别方法分为基于统计的方法[2]与基于物体部件的方法[3].Kwon等[4]提出了一种基于小块的动态外观建模方法,以跟踪高度柔性变形目标,但该方法还有待验证其在复杂环境下对象受遮挡或者多个对象同时存在时的识别性能.Niu等[5]利用基于部件的视觉表示来扩展DiscLDA物体识别模型,能够同时对物体的部件形状和位置进行建模,但该方法较多依赖先验知识.Wang等[6]定义了一种正定核(即结构核),通过它来衡量2个对象之间的形状与空间部件构造的相似性,但该方法在结构核训练参数调节方面仍然需要改进.Ren等[7]提出采用Kinect传感器进行基于部件的手姿势识别,为人机交互提供了方便,但该方法的鲁棒性有待进一步改进.Felzenszwalb等[8]采用基于部件的区别训练模型进行目标检测.相对于单目相机,双目相机除了可以拍摄环境的二维图像外,还可以得到环境中物体的三维信息,这为一般物体识别提供了新的思路.Helmer等[9]利用立体视觉,根据物体的实际尺寸以及深度信息,计算出物体的图像尺寸,并结合物体的外观(shape)信息,进行一般小物体的识别,但该方法注重依赖某些先验知识(如目标尺寸等).

本文提出了一种面向复杂背景下的一般物体识别方法.该方法的核心在于融合二维图像信息与双目相机获取的深度信息,对视野中的环境进行物体定位、图像分割、特征描述和物体识别.

1 图像信息获取

双目立体视觉三维测量是基于视差原理的.将2个摄像机投影中心的距离定义为基线距B.利用这2个摄像机在同一时刻观看空间物体的同一特征点P,以获取点P的图像,令左摄像机与右摄像机上点P的图像坐标分别为pl=(xl,yl),pr=(xr,yr).假定这2幅图像在同一个平面上,则特征点P的纵坐标相同,即yl=yr=yt.由三角几何关系可得

(1)

式中,f为摄像机的焦距;xc,yc,zc为点P在摄像机坐标系下的坐标.令视差Dv=xl-xr,则特征点P在摄像机坐标系下的三维坐标值为

(2)

因此,对于左摄像机成像平面上某一点,只要能在右摄像机成像平面上找到对应点,就可以确定出该点的实际坐标.

2 物体定位

获取环境的三维点云数据(x,y,z,u,v,fg).其中,(x,y,z)表示某一个三维点云相对于摄像机坐标的三维物理坐标,(u,v)表示该点在二维图像上的像素坐标,fg表示该点的标志位.

同一个物体上的点云具有连续性,且物体之间存在较大的间隔.可利用此特性进行场景分析,从而实现物体的分割.

选用mean-shift算法[10]实现对三维点云的场景聚类,并对潜在物体进行定位.给定d维空间Rd中的n个样本点ξi(i=1,2,…,n),点ξ的mean-shift向量的基本形式为

(3)

式中,k表示落入Sh区域中样本点的个数;Sh表示半径为h的高维球区域内满足以下关系的ζ点的集合所在区域:

Sh(ξ)={ζ:(ζ-ξ)T(ζ-ξ)≤h2}

(4)

由式(4)可以看出,所有落入兴趣区域的采样点对最终的概率密度函数Mh(ξ)的计算贡献是一样的.然而,事实上距离ξ越近的采样点对估计ξ越有效.因此,这里引入核函数,以便在计算Mh(ξ)时可以考虑距离对最终结果的影响.即基本mean-shift向量Mh(ξ)可扩展为

(5)

式中,G(ξ)为单位核函数;H为正定的对称矩阵(即对带宽矩阵);w(ξi)≥0为采样点ξi的权重.对w(ξi)和G(ξ)进行如下设定:

(6)

在实际处理过程中,待分析的物体都处于地平面上.为了减少运算数据量,进行数据聚类前,需要剔除一些物理空间上不可能存在的点云.由于摄像机水平放置,且摄像机高度已知,故对(x,y,z,u,v,fg)中的高度y进行限定.

3 图像分割

点云信息是三维的,若兼顾深度方向上的聚类,单纯从正面的二维图像上描述并不完全符合客观实际.但从二维图像上看绝大多数图像点是聚合在一起的,故可通过对每一类的点(u,v)进行数据处理,实现去噪和物体分割.具体步骤如下:

③ 对于运算后得到的结果,重复步骤①和②一次.

4 一般物体识别

传统的一般物体识别方法大部分采用词袋BoW模型[11].在文献[12]中,为了增加信息的冗余度,利用物体部件空间关系的统计信息来描述一幅图像中所有特征点的空间(相对距离和角度)关系,增广了原BoW模型中的特征向量,实现了日常家居环境下的一般物体识别.

4.1 视觉词典的构建

构建视觉词典的目的是希望通过词典中的视觉单词来尽可能多地描述某一类物体.鉴于同一类物体中物体和物体之间的差异性以及旋转、缩放等其他因素的影响,视觉单词应具有较好的鲁棒性.Lowe[13]提出的sift算法具有较好的特征描述效果,故本文将其作为特征检测手段来构建视觉词典.经过sift算法特征检测后,每幅图像都由一个128维特征向量集合来描述.如果直接利用这些高维向量进行物体识别,冗余信息多,计算量太大,故需要对视觉词库中的视觉单词进行聚类分析.K均值聚类算法是一种迭代算法,在迭代过程中不断更新各类的中心,并且移动各类的成员直至得到理想的集合为止.在利用该聚类算法得到的集合中,成员间的相似度很高,并且不同集合中成员之间的相异度也很高.经过K均值聚类,将视觉词库限定为N个视觉单词的规模,从而得出某一类物体的视觉词典.

4.2 图像描述

借鉴BoW模型对图像的描述方法,用一个多维向量来表示一幅图像.文献[12]提出了一种新的图像描述表达式.描述向量由视觉单词的数量和视觉单词之间的空间关系2个部分组成.

视觉单词的数量表征的是视觉单词库中某类视觉单词出现的次数.假设视觉词库中有E个视觉单词,则该类物体的视觉单词数量描述部分为E维,U={t0,t1,t2,…,tE-2,tE-1}表示视觉词典中单词统计构成的视觉单词直方图,其中tp(p=0,1,…,E-1)表示第p个视觉单词出现的次数.

每个视觉单词的位置为其相对于特征点几何中心的距离和角度.视觉单词之间的空间关系是对所有特征点位置的统计.假设特征点的几何中心为

(7)

式中,χ为处理后特征点的个数.

计算特征点与几何中心(xo,yo)的欧式距离D1,D2,D3,…,Df-1,Df,取中值作为单位长度D,其他长度按照各自长度与D的比值划分为4个区间,即0~0.5D,0.5D~D,D~1.5D,1.5D~Dm,其中Dm=max{D1,D2,D3,…,Df-1,Df}.

将每个特征点与其逆时针方向的最近邻点构成的夹角记作该点对应的角度.通过简单的数学变换,可以得到特征点对应的角度θ1,θ2,θ3,…,θf-1,θf.由于每一幅图像都有上百个特征点,每2个特征点之间的角度不会很大,因此将特征点的分布角θ量化为如下5个区间:0°~30°,30°~60°,60°~90°,90°~120°,120°~θm,其中θm=max{θ1,θ2,θ3,…,θf-1,θf}.

至此,任何一幅图像都可以描述为

Q=U+V

(8)

式中,V={q0,q1,…,q8}为视觉单词相对于几何中心的空间关系(包含距离和角度)直方图.其中,qs(s=0,1,2,3)为第s个特征点相对于几何中心(xo,yo)距离在可能的区间0~0.5D,0.5D~D,D~1.5D,1.5D~Dm出现的次数;qr(r=4,5,6,7,8)为第r个特征点的分布角在可能的区间0~30°,30°~60°,60°~90°,90°~120°,120°~θm中出现的次数.

4.3 支持向量机分类器

支持向量机(support vector machine,SVM)是一种基于结构风险最小化原理的、性能优良的机器学习方法.

对于一个给定的包含正例和反例的样本集合,支持向量机的目的是寻找一个超平面来对样本进行分割,把样本中的正例和反例用超平面分开,超平面是平面中的直线在高维空间中的推广.SVM算法通过在特征空间中计算一个满足最大间隔的超平面,来实现多维数据的划分.对于一个变量X以及所属类别标签Y=±1,可以获得如下的分类函数:

Y=sign(wTX+b)

(9)

式中,w,b为超平面的参数.训练过程中,用含有目标物体的图片作为正的图片输入时,Y=1;用不含有目标物体作为负的图片输入时,Y=-1.由此便可离线训练出判别一般物体的支持向量机函数.

5 CUDA环境下的GPU加速处理

GPU是相对于CPU的一个概念,在图像处理性能上相对于传统的CPU有很大的优势[14].针对CUDA运算的特点,本文将整个处理过程中的sift算法和mean-shift算法进行了改写,GPU加速前后算法效果对比见表1.系统配置如下:操作系统为32位win7,内存为2 GB,CPU采用 Intel(R) Core(TM) 2Duo E7500@2.93 GHz,GPU采用 nVIDIA GeForce310,专用图像内存为512 MB,共用系统内存为766 MB,编译器环境为vs2010.

表1 GPU加速前后算法效果对比

6 实验结果

利用PointGrey公司生产的Bumblebee立体相机,实时得到场景深度信息和三维模型,进行一般物体识别,并从不同角度验证本文方法的鲁棒性和准确性.

6.1 不同物体的识别实验

本实验主要测试方法的鲁棒性能,针对实验室中的风扇、雨伞、纸篓等物品进行识别.基于双目相机得出的环境三维点云信息以及二维图像信息,利用本文方法可以正确识别不同环境下的不同物体.图1~图3分别为风扇、雨伞和纸篓的原始图像和识别结果.图中,虚框线表示判别的结果不是目标物,实框线表示判别的结果是目标物.

图1 风扇识别

图2 雨伞识别

图3 纸篓识别

6.2 同类物体的识别实验

由于本文方法具有图像分割的作用,因此,即使场景中包含多个同样物体,也可以进行识别.图4为实验结果,场景中包含2把雨伞,实框线标识的是识别出来的目标物.

图4 同类多物体识别

6.3 复杂背景下的物体识别实验

将待识别物体放置于背景相对较为复杂的环境中,采用纯粹二维空间的一般物体识别方法[12]进行识别时,无法辨识出目标物;采用本文方法则可识别目标物(见图5).图5中,虚框线表示判别的结果不是目标物,实框线表示判别的结果是目标物.

图5 复杂背景下的识别结果

6.4 不同距离下的物体识别实验

在物体正面与相机夹角较小的情况下,通过改变相机与物体之间的距离,比较本文方法与文献[12]方法的识别精度.将室内常见的风扇作为待识别物体,在真实实验室环境下采集了216幅图像以及点云数据,结果见图6.图中,P表示识别精度,且

(10)

式中,Nr为正确识别的样本数;NT为总样本数.

图6 不同距离下的识别精度

由图6可知,在相机与物体距离较小的情况下,由于物体在图像中所占比例较大,故2种方法的识别精度都很高并且相差不大.然而,在相机与物体距离较大的情况下,本文方法的识别精度明显高于文献[12]方法的识别精度.

6.5 不同角度下的物体识别实验

在保持物体与相机距离基本固定(约0.6 m)的情况下,通过改变相机与物体正面之间的夹角,比较本文方法与文献[12]方法的识别精度.同样,将室内常见的风扇作为待识别物体,在真实实验室环境下采集了224幅图像以及点云数据,结果如图7所示.

图7 不同角度下的识别精度

由图7可知,随着物体正面与相机夹角的增大,本文方法的识别精度较为稳定,而文献[12]方法的识别精度则下降较快,说明本文方法具有较好的鲁棒性.

7 结语

本文提出了一种融合二维图像信息与源自双目相机的深度信息的一般物体识别方法.实验结果证明了该算法的鲁棒性与优越性.但是,建立适用于任意环境的一般物体识别模型仍然是一大挑战.

)

[1] 田渊栋. 基于特征组合的一般物体识别相关算法研究[D].上海:上海交通大学计算机科学与工程系,2007.

[2] 王利明. 机器视觉中物体识别方法的研究与探讨[D]: 上海:复旦大学计算机科学技术学院,2009.

[3] Felzenszwalb P F,Huttenlocher D P. Efficient matching of pictorial structures[C]//Proceedingsof2000IEEEConferenceonComputerVisionandPatternRecognition. Hilton Head,South Carolina,USA,2000:66-73.

[4] Kwon J,Lee K M. Highly non-rigid object tracking via patch-based dynamic appearance modeling[J].IEEETransactiononPatternAnalysisandMachineIntelligence,2013.(to appear)

[5] Niu Z X,Hua G,Gao X B,et al. Spatial-DiscLDA for visual recognition[C]//Proceedingsof2011IEEEConferenceonComputerVisionandPatternRecognition. Colorado Springs,CO,USA,2011:1769-1776.

[6] Wang B T,Xiong H K,Jiang X Q,et al. Semi-supervised object recognition using structure kernel[C]//Proceedingsof2012IEEEInternationalConferenceonImageProcessing.Orlando,Florida,USA,2012: 2157-2160.

[7] Ren Z,Yuan J S,Meng J J,et al. Robust part-based hand gesture recognition based on finger-earth mover’s distance[J].IEEETransactiononMultimedia,2013.(to appear)

[8] Felzenszwalb P F,Girshick R B,McAllester D,et al. Object detection with discriminatively trained part-based models[J].IEEETransactiononPatternAnalysisandMachineIntelligence,2010,32(9):1627-1645.

[9] Helmer S,Lowe D.Using stereo for object recognition[C]//Proceedingsof2012IEEEInternationalConferenceonRoboticsandAutomation. Anchorage,Alaska,USA,2010:3121-3127.

[10] Fukunaga K,Hostetler L D. The estimation of the gradient of a density functions with applications in pattern recognition[J].IEEETransactionsonInformationTheory,1975,21(1):32-40.

[11] Csurka G,Dance C R,Fan L,et al. Visual categorization with bags of keypoints[C]///ProceedingsofECCV’04WorkshoponStatisticalLearninginComputerVision. Prague,Czech Republic,2004:59-74.

[12] 李新德,张晓,朱博,等.一种基于新奇GOR+GPU算法的机器人视觉导航方法[J].机器人,2012,34(4):466-475.

Li Xinde,Zhang Xiao,Zhu Bo,et al. A visual navigation method for robot based on a GOR and GPU algorithm[J].Robot,2012,34(4):466-475. (in Chinese)

[13] Lowe D G. Distinctive image features from scale-invariant key pints [J].InternationalJournalofComputerVision,2004,60(2):91-110.

[14] 张舒,褚艳利.GPU高性能运算之CUDA[M].北京:中国水利水电出版社,2009.

猜你喜欢
摄像机物体单词
深刻理解物体的平衡
单词连一连
我们是怎样看到物体的
看图填单词
看完这些单词的翻译,整个人都不好了
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
为什么同一物体在世界各地重量不一样?
如何消除和缓解“摄像机恐惧症”
悬浮的鸡蛋