一种室内场景物体同时识别与建模方法与流程

文档序号:12123626阅读:585来源:国知局
一种室内场景物体同时识别与建模方法与流程

本发明涉及信息处理领域,尤其涉及一种室内场景物体同时识别与建模方法。



背景技术:

目前,在机器人物体识别和场景理解研究领域中,大量算法研究都集中在通过将测试图片与训练数据集匹配或通过训练分类器达到识别的目的,并且一般都不会考虑到物体的姿态问题。如梁明杰等人提出了基于视图图的物体模型表示方法,并在该物体表示的基础上给出物体的概率观测模型,最后将识别与建模归结为概率推理,并通过最大似然估计实现了识别与建模的同时最优化;Alvaro Collet Romea提出了基于约束框架的室内物体识别与建模方法,这个方法可以自动的处理整个视频数据流,并且发现物体,最主要的特点是加入了约束框架,可以通过数学方式将日常生活中的某些约束融入到框架中去,可以根据场景的不同添加、减少或改变约束条件,增加物体识别率和物体识别效率。

但是,在很多物体识别应用中都会用到精确的姿态信息,例如机器人操作,路径规划,增强现实等等,并且算法需要训练数据,所以无法达到在线识别效果,严重影响了机器人在室内场景中的性能。在建模方面,机器人长时间在室内环境中行走,室内物体的观察部分会经常被获取到,从而使得建立的模型产生冗余数据,机器人行走的时间越长,获取同一个物体的观察数据越多,建立的物体模型就越大,冗余数据也会增多,这不仅不利于物体建模和数据存储,还对后期物体识别效率产生不良的影响。



技术实现要素:

为克服现有技术的不足,实现物体在线识别与建模,并且解决数据冗余问题,降低存储器负担,有效提高识别效率,本发明提出一种室内场景物体同时识别与建模方法。

本发明的技术方案是这样实现的:

一种室内场景物体同时识别与建模方法,包括步骤

S1:输入RGB-D图像;

S2:物体分割;

S3:提取SIFT特征和FPFH特征;

S4:SIFT特征和FPFH特征融合;

S5:物体识别;

S6:物体建模,计算物体部分之间的位姿关系并且设定一个阈值,如果位姿变化小于阈值,则将两个物体部分进行融合,并且在视图图中作为一个节点,否则,两个物体部分都保留到视图图中,即为两个节点。

进一步地,所述步骤S2包括步骤

S21:采用RANSAC方法提取平面点云;

S22:剔除与物体数据无关的点云;

S23:通过欧式距离聚类算法获得物体点云;

S24:将点云数据映射回RGB-D图像.

进一步地:步骤S3包括步骤

S31:采用SIFT特征提取方法提取物体二维局部特征点和特征描述子;

S32:将所述二维局部特征点映射到三维空间中,获得三维特征点;

S33:使用FPFH算法,生成三维特征描述子。

进一步地,步骤S4包括步骤

S41:采用RANSAC算法剔除一些错误的匹配点。

进一步地,步骤S5包括步骤

S51:计算待识别物体与物体模型之间的二维特征配准距离;

S52:计算待识别物体与物体模型之间三维特征配准距离;

S53:融合物体二维信息与三维信息,并且保存相似度结果;

S54:对所有的相似度结果做比较,取出相似度最大的结果作为本次物体识别的最终结果。

本发明的有益效果在于,与现有技术相比,本发明可以实现物体在线识别和建模,并且提出了改进的视图图方法,减少了数据冗余,降低了数据存储负担,提高了识别效率。

附图说明

图1是本发明室内场景物体同时识别与建模方法流程图。

图2是本发明一个实施例的原始点云图。

图3是图2滤波后的点云图。

图4是本发明一个实施例RANSAC分割点云图。

图5是聚类分割点云图。

图6是分割前的物体图。

图7是图6经过分割后的物体图。

图8是部分错误点配准结果示意图。

图9是图8采用RANSAC算法剔除一些错误的匹配点后配准结果示意图。

图10是错误配准结果示意图。

图11是图10三维配准结果示意图。

图12融合二维和三维信息的识别算法流程图。

图13为视图图模型示意图。

图14为图13改进的视图图模型示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,一种室内场景物体同时识别与建模方法,包括步骤

S1:输入RGB-D图像;

S2:物体分割;

S3:提取SIFT特征和FPFH特征;

S4:SIFT特征和FPFH特征融合;

S5:物体识别;

S6:物体建模,计算物体部分之间的位姿关系并且设定一个阈值,如果位姿变化小于阈值,则将两个物体部分进行融合,并且在视图图中作为一个节点,否则,两个物体部分都保留到视图图中,即为两个节点。

步骤S2中,首先,通过RGB图像和深度图像计算点云数据C,如图2所示。由于获得的点云数据太大,对后期分割、识别等操作产生影响,于是通过体素化网格方法实现下采样,减少点云数据,如图3所示。为了获取场景中的物体,本文采用RANSAC方法(随机抽样一致性算法)提取平面点云,由于平面点云一般为桌面或墙面等与物体数据无关的点云,所以可以将其剔除,如图4所示。由图4可以看出剩下的点云包括物体和噪声,最后通过欧式距离聚类算法获得物体点云{Cm},m=1,…M,如图5所示。点云数据映射回RGB图可以得到分割后的物体RGB图{Im},m=1,…M,如图6、7所示。于是可以将分割后的物体表示为{Im,Cm},m=1,…M。

步骤S3中,对于每一帧场景图都可以分割出一系列物体{Im,Cm},我们采用SIFT(尺度不变特征变换)特征提取方法在RGB图Im中提取物体二维局部特征点和特征描述子{Xmr,Smr},将二维局部特征点映射到三维空间中,获得三维特征点,并且运用FPFH(快速点特征直方图)算法生成三维特征描述子{Zmr,Fmr},其中X表示二维特征点,S表示二维特征描述子,Z表示三维特征点,F表示三维特征描述子,m表示第m个物体,r表示第r个特征点。

步骤S4中,我们通过融合物体二维和三维信息对物体进行识别,提高了物体识别率。首先,利用待识别物体的SIFT特征点和特征描述子,采用KNN(K最近邻)算法匹配物体模型,但是SIFT特征配准同样也会产生错误的匹配点,如图8所示,图中产生了几对错误的特征点配准结果,如果利用了错误的结果,则会严重影响到后期物体位姿计算的准确性,所以我们采用RANSAC算法剔除一些错误的匹配点,如图9所示。但有时由于二维图像表面可识别性太弱,纹理特征不明显,导致SIFT特征配准产生很大的错误,如图10所示,会导致最终识别错误。我们在二维的基础上融入了三维物体结构特征,三维特征配准结果如图11所示,有效的弥补了二维特征配准的不足。

步骤S5中,采用融合二维和三维信息的识别算法如下所示:

Step1:计算待识别物体与物体模型之间二维特征配准距离,如式(1)所示:

C1(s,t)=d(SS,St) (1)

其中s表示待识别物体,t表示物体模型,d(·)表示欧式距离,S表示SIFT特征描述子,C1(s,t)表示待识别物体SIFT特征与物体模型SIFT特征之间的欧式距离,即二维相似度,并且进行归一化处理,本文要求C1(s,t)<0.5时,两物体相似,执行step2,否则,继续执行step1。

Step2:计算待识别物体与物体模型之间三维特征配准距离,如式(2)所示:

C2(s,t)=1-d(FS,Ft) (2)

其中s表示待识别物体,t表示物体模型,d(·)表示欧式距离,F表示FPFH特征描述子,C2(s,t)表示待识别物体FPFH特征与物体模型FPFH特征之间的欧式距离,即三维相似度,并且进行归一化处理,本文要求C2(s,t)>0.5时,两物体相似,执行step3,否则执行step1。

Step3:融合物体二维信息与三维信息,并且保存相似度结果,如式(3)所示:

T(s,t)=C2(s,t)·exp(-k·C1(s,t)) (3)

其中T(s,t)表示融合物体二维和三维信息后的相似度,将C1放在指数位置主要考虑了二维SIFT特征对物体识别来说更具有判断力和意义,k可以调节权重大小。如果匹配的物体模型为最后一个模型,则执行step4,否则执行step1。

Step4:对所有的相似度结果做比较,取出相似度最大的结果作为本次物体识别的最终结果。算法流程图如图12所示。

步骤S6中,通过计算物体部分之间的位姿关系,并且设定一个阈值,如果位姿变化小于阈值,则将两个物体部分进行融合,并且在视图图中作为一个节点,否则,两个物体部分都保留到视图图中,即为两个节点,如此一来,既保留了视图图易修改的功能,又降低了数据的冗余度,提高了运行效率。

相似视图之间的融合保留的数据有:(1)模型视图相对位姿,融合后对图来说不会产生新的节点,但是会产生新的边,所以需要记录模型视图相对位姿;(2)两个视图特征点位置,原模型视图的特征点位置和变换后新视图的特征点位置,两个视图相互匹配的特征点位置只保留一次;(3)特征描述子,包括SIFT特征描述子和FPFH特征描述子,用于视图之间的匹配,两个视图相互匹配的特征描述子只保留一次;(4)两个视图的点云数据,原模型视图的点云数据和变换后新视图的点云数据,将融合后的点云数据通过体素化网格方法实现下采样,减少点云数据。那么改进视图图的生产过程可以由如下算法表示:

其中V0表示原有的视图图节点,E0表示原有的视图图边,hi表示新产生的第i个视图,P(hi)表示hi视图与数据库物体模型的相似度,pmin表示相似度阈值,Pangle(hi)表示与数据库最相近的视图之间的相对角度,Panglemin表示角度阈值,Pdistance(hi)表示与数据库相近的视图之间的相对距离,Pdismin表示距离阈值,即如果hi视图与数据库最相近的视图之间的相对角度和相对距离都小于某个阈值,则将两个视图进行融合,否则不进行融合,直接加到视图图中,产生一个节点。P(hi,hj)表示第i个视图与数据库模型中第j个视图之间的相似度,如果这个相似度大于阈值,则说明两个视图之间存在相似关系,于是将第i个视图和第j个视图之间的变换关系加入到数据库物体模型中,成为一条新的边。图13和图14为视图图模型与改进的视图图模型之间的对比,其中黑色节点表示融合后的节点,灰色节点为新加入的节点,虚线边表示新加入或改变的边,由上图可以看出,改进的视图图模型没有增加节点,新增一条边,而视图图模型则新加了一个节点和三条边,所以本文的方法理论上可以降低数据冗余,达到更好的物体建模效果。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1