一种基于PVFH特征的三维物体位姿估计方法与流程

文档序号:18353552发布日期:2019-08-06 22:46阅读:478来源:国知局
一种基于PVFH特征的三维物体位姿估计方法与流程

本发明属于三维点云物体识别领域,特别涉及一种基于全局特征匹配的三维物体位姿估计方法,该方法可应用于bin-picking系统。



背景技术:

在bin-picking系统中,要求物体的姿态识别方法具有识别准确率高和识别速度快的特点,以能够满足机器臂的快速实时抓取的工作要求。虽然在三维点云物体识别领域,物体的姿态识别有很多种方法(基于局部特征匹配、基于模板匹配),但是其中大多数方法的识别准确率和识别速度都无法满足机器臂的快速实时抓取的需求。

全局特征是表征一个点云物体整体特征的描述符,可以用来做姿态估计,而且识别速度优于其他方法。目前现有的全局特征描述符有vfh(rusurb,bradskig,thibauxr,etal.fast3drecognitionandposeusingtheviewpointfeaturehistogram[c]//2010ieee/rsjinternationalconferenceonintelligentrobotsandsystems.ieee,2010:2155-2162.),cvfh以及our-cvfh等。这些描述符用来三维点云物体识别时虽然识别速度较快,但是存在如下的缺陷:无法识别旋转对称或镜像对称物体。因此基于现有全局特征匹配的物体识别方法对这类物体的识别准确率很低,鲁棒性不高,难以广泛应用于bin-picking系统。



技术实现要素:

为了克服上述现有技术的不足,本发明提供了一种基于pvfh特征的三维物体位姿估计方法,该方法的鲁棒性较高,并且识别速度能够满足bin-picking系统的实时需求。

本发明的目的通过以下的技术方案实现:一种基于pvfh特征的三维物体位姿估计方法,包括步骤:

(1)离线训练阶段:对cad模型在不同视角方向上进行渲染,获得cad模型多个视角的点云;提取所有视角点云的pvfh特征(partionviewpointfeaturehistograms,即分区视点特征直方图),根据特征建立特征模型库;所述pvfh特征的构造步骤:

步骤一:将单个物体点云切割成若干等分小点云。

步骤二:对步骤一中切割的每一个小点云提取视点方向特征和fpfh特征。

步骤三:按固定的顺序将步骤二提取的每一个小点云的视点方向特征和fpfh特征融合在同一个特征直方图,即为pvfh特征。

(2)在线识别阶段:获取当前场景点云,预处理后对其分割得到被识别物体,提取被识别物体的pvfh特征,将所述特征与特征模型库进行特征匹配获得匹配的姿态。

本发明提出一种改进的全局特征描述符pvfh,该方法克服了传统全局特征描述符无法识别旋转对称或镜像对称物体的缺点,鲁棒性高。

优选的,对cad模型在不同视角方向上进行渲染,获得cad模型多个视角的点云,方法是:在三维空间中,构建一个包含整个cad模型的正二十面体;在正二十面体每个面的中心或者顶点架设一个虚拟相机,每个相机代表一个视角;用虚拟相机对模型进行渲染,从而得到该视角的点云。

更进一步的,在得到所述视角的点云后,将每一个视角点云绕着z轴,以一定的角度步长进行多次旋转,每次旋转的结果作为新的姿态加入特征模型库。从而模型库中的视角姿态样本。

优选的,获得cad模型多个视角的点云后,对视角点云进行优化以提高视角点云与场景物体的匹配程度,方法是:根据场景点云预处理后采用的分割方法,对每一个视角点云执行相同的分割方法,再将各个视角点云的分割结果代替原本的视角点云。

优先的,pvfh特征构造方法的单个物体点云包括完整物体点云和部分物体点云。

优先的,pvfh特征构造方法的切割方法包括四等分、六等分、八等分等。

更进一步,pvfh特征构造的切割方法,首先计算出识别对象点云的最大外接长方体,沿着最长边切割成若干等份,然后沿着第二长边切割成若干等份。

优先的,pvfh特征构造方法的视点方向特征和fpfh特征融合顺序为:每一个小点云的fpfh特征并排融合在一起,放在特征直方图的左边,每一个小点云的视点方向特征融合在特征直方图的最右边。

优选的,在线识别阶段,对当前场景点云进行预处理包括截断滤波、降采样等。

优选的,对预处理后的场景点云进行分割,分割方法采用欧式聚类分割或者区域生长分割。

优选的,将所述特征与特征模型库进行特征匹配,将匹配度最高的视角点云作为对象对应的姿态。

更进一步的,将匹配度最高的视角点云作为粗姿态,再采用icp算法对该粗姿态进行优化,得到精确的姿态。

本发明与现有技术相比,具有如下优点和有益效果:

本发明提出一种全局特征的描述符pvfh。pvfh克服了传统的全局特征描述符无法识别旋转对称或镜像对称物体的缺陷。通过采用该pvfh描述符进行姿态识别,使得识别方法克服了传统全局特征描述符无法识别旋转对称或镜像对称物体的缺点,鲁棒性和识别速度都能够满足bin-picking系统的需求。

附图说明

图1为本实施例识别方法的流程图。

图2为本实施例识别方法区域生长分割之前和之后的视角点云的优化示意图。

图3为本实施例识别方法中视点方向分量的构造原理图。

图4为本实施例识别方法中fpfh分量的构造原理图。

图5为本实施例识别方法中点云外接长方体示意图。

图6为本实施例识别方法中点云四等分的示意图。

图7为本实施例识别方法中pvfh的直方图实例。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

请参阅图1,其为本发明的三维物体姿态识别方法的流程图,该方法包括离线训练阶段和在线识别阶段。在线识别阶段是离线训练阶段完成后进行的。下面结合图2-7,对两个阶段的各个步骤进行详细的说明。

一、离线训练阶段

该阶段主要目的是构建特征模型库,用于后续在线识别阶段的特征匹配。包括以下步骤:

s1:对cad模型在不同视角方向上进行渲染,获得cad模型多个视角的点云。获取步骤:

s11:在三维空间中,构建一个包含整个cad模型的正二十面体。

s12:在正二十面体每个面的中心或者顶点架设一个虚拟相机,每个相机代表一个视角。

s13:用虚拟相机对模型进行渲染,从而得到该视角的点云。

s14:将每一个视角点云绕着z轴,以一定的角度、步长进行多次旋转,每次旋转的结果作为新的姿态加入模型库。比如,要获得涵盖全部姿态的960个不同视角的点云,首先经过正二十面体的虚拟渲染获得80个视角点云,再将每个视角点云绕着z轴旋转30度,旋转12次,每次旋转得到的结果作为新的姿态加入模型库。最终就获得了960个视角点云。

s2:根据场景点云的分割方法优化视角点云,提高视角点云与场景物体的匹配程度。具体的,视角点云的优化方法是对每一个视角点云执行与场景点云分割相同的分割方法,如果场景点云采用欧式聚类分割,就需要对视角点云进行欧式聚类分割,再将分割结果替换原本的视角点云。比如,对于大多数零件的堆叠情况,对场景点云采用区域生长分割的方法,所以需要对视角点云也进行区域生长分割。具体的例子如图2所示,图中的示例零件是圆形+圆柱零件,通过对视角点云进行区域生长分割,将圆柱形面移除,剩下圆形面替换掉原本的视角点云。在场景点云的分割中,我们分割到的也往往只有一个圆形面,所以这样能够保证特征库与场景分割对象的匹配程度,从而提高姿态识别成功率。

s3:提取所有优化后的视角点云的pvfh。pvfh在构建时,包括步骤:

s31:对点云按一定规则进行了若干等分,比如进行四等分,六等分,八等分等等。这里用四等分的实例对原理进行说明。首先,如图3所示,计算出识别对象点云的最大外接长方体。然后分别连接与xy平面平行的平面对边中点,在图4中用中心的交叉连线表示。如此就将点云划分成四个大小一致的点云,中心的交叉线为xy平面上的分界线,将点云分割为大小相等的四个部分,从左上到右下分别标记为partion1,partion2,partion3,partion4。

s32:对partion1,partion2,partion3,partion4这些等分后的点云提取视点方向分量。如图5所示,视点方向分量只有一种特征描述,就是视点方向与各个点法线之间的夹角。pi为物体点云上的一个点,vp为视点,ni为点云上各个点的法线,α为该点视角方向与法线的夹角。vp-pi为视点方向,该方向与ni的夹角α就构成了视点方向分量。α的计算公式如下:

s33:对partion1、partion2、partion3、partion4这些等分后的点云提取fpfh分量。fpfh也叫快速点特征直方图,在pvfh中,fpfh分量的计算原理是统计点云质心对于其他所有点的点特征。如图6所示,c为点云的质心,p1~p11这11个点代表点云中的其他点。

设nc为质心c的法线,pi代表点云的第i个点,ni代表pi的法线,以pi为原点,构建一个uiviwi坐标系,其中

ui=nc

wi=nc×vi

则质心c对于点云中所有点的点特征可以计算出来:

αi=vi·ni

di=|pi-c|

则αi、φi、θi和di就是了fpfh的四个特征值。

s34:按固定的顺序分别将partion1、partion2、partion3和partion4提取到的视点方向分量和fpfh分量,统计在直方图上。如图7所示,这里用一种实例进行说明。在直方图上,特征的排列顺序依次是partion1~partion4的fpfh特征,partion1~partion4的视点方向特征。如果是在特征维数为308维的空间上进行特征统计,则将每个fpfh特征的统计区间大小设定为20,每个视点方向分量的特征统计区间大小设定为17,这样加起来刚好满足308维特征。按照这种区间划分方式从左到右依次排列partion1、partion2、partion3、partion4的fpfh分量,再排列相应的视点分量。最终统计得到的直方图就是pvfh特征。

s4:将所有视角点云的pvfh存储为特征模型库,供在线识别阶段使用。

二、在线识别阶段

在该阶段,包括以下步骤:

s5:通过点云采集设备获取到场景点云。

s6:对场景点云进行预处理,包括截断滤波,降采样等。

s7:对预处理后的点云进行分割,分割结果即为被识别对象。具体的,分割的方法有许多种,一般采用欧式聚类分割或者区域生长分割。欧式聚类分割速度快,但是鲁棒性不高,易受噪声干扰。区域生长分割虽然比欧式聚类分割慢一点,但是鲁棒性较高,可以满足大多数物体场景的分割要求。可以根据场景的不同情况选择最适合的方法进行分割。

s8:提取被识别对象的pvfh。具体的,提取pvfh的方法参照离线训练阶段的s3步骤。

s9:将分割结果的pvfh特征跟特征模型库中所有视角点云的pvfh特征进行匹配,找到匹配度最高的视角点云即为该对象对应的粗姿态。

s10:最后用icp算法对粗姿态进行优化,得到精确的姿态信息。

本实施例所述三维物体姿态识别方法,具有识别准确率高,鲁棒性高的优点,能够满足bin-picking系统的实时需求,可在机器人分拣等领域可得到广泛的推广应用。

可通过各种手段实施本发明描述的技术。举例来说,这些技术可实施在硬件、固件、软件或其组合中。对于硬件实施方案,处理模块可实施在一个或一个以上专用集成电路(asic)、数字信号处理器(dsp)、可编程逻辑装置(pld)、现场可编辑逻辑门阵列(fpga)、处理器、控制器、微控制器、电子装置、其他经设计以执行本发明所描述的功能的电子单元或其组合内。

对于固件和/或软件实施方案,可用执行本文描述的功能的模块(例如,过程、步骤、流程等)来实施所述技术。固件和/或软件代码可存储在存储器中并由处理器执行。存储器可实施在处理器内或处理器外部。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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