基于改进视点特征直方图的三维点云识别方法与流程

文档序号:19572402发布日期:2019-12-31 19:04阅读:292来源:国知局
基于改进视点特征直方图的三维点云识别方法与流程

本发明涉及三维点云识别领域,具体地,涉及一种基于改进视点特征直方图的三维点云识别方法。



背景技术:

随着计算视觉技术以及三维扫描设备的快速发展,获取物体表面点云的精度越来越高,利用三维信息来使机器人完成对特定工件的抓取也成为了国内外学者研究的热点。而如何对获取的目标工件点云进行三维目标识别是机器人抓取面临的难题。点云的目标识别算法主要包含两个部分:三维特征提取与特征匹配。三维点云的特征可以大致分为局部特征与全局特征。通常在不去除场景点云的情况下,局部点云特征具有更高的识别精度,但该特征计算量较大,匹配效率低,且存在易受到环境因素干扰等问题。

在现有的全局特征描述方法中,大多数只考虑了物体点云中某一点或者视点与表面其他各个点之间的点对特征,来对物体进行识别分类。但在面对整体形状相似的物体时,由于忽略了点云局部曲面的细节变化,现有的全局特征并不能很好满足识别要求。



技术实现要素:

本发明的目的在于,针对上述问题,提出一种基于改进视点特征直方图的三维点云识别方法,以实现提高利用视点特征直方图进行点云识别准确率的优点。

为实现上述目的,本发明实施例采用的技术方案是:

一种基于改进视点特征直方图的三维点云识别方法,包括:

基于目标工件的全局特征模板得到svm分类参数,所述全局特征模板由vfh特征和全局曲率特征合并得到;

将待测工件的特征数据输入所述svm分类参数得到识别结果,所述特征数据由提取的所述待测工件的vfh特征和曲面特征合并得到。

进一步的,所述基于目标工件的全局特征模板得到svm分类参数,所述全局特征模板由vfh特征和全局曲率特征合并得到,包括:

获取多个目标工件在多个视角下的点云;

对所述点云进行预处理;

基于预处理后的点云提取vfh特征;

基于预处理后的点云提取全局曲率特征;

将所述vfh特征和全局曲率特征进行特征合并,从而生成全局特征模板;

将所述全局特征模板作为训练集输入svm分类器,从而得到svm分类参数。

进一步的,所述将所述全局特征模板作为训练集输入svm分类器,包括:

为所述全局特征模板生成对应标签;

将生成对应标签的全局特征模板作为训练集输入svm分类器。

进一步的,所述将待测工件的特征数据输入所述svm分类参数得到识别结果,所述特征数据由提取的所述待测工件的vfh特征和曲面特征合并得到,包括:

获取待测工件的点云;

对所述点云进行预处理;

对预处理后的所述点云进行分割;

基于分割后的点云提取待测工件的vfh特征和曲面特征;

将所述待测工件的vfh特征和曲面特征进行特征合并得到待测工件的特征数据;

将所述待测工件的特征数据输入所述svm分类器,得到所述待测工件的标签。

进一步的,所述预处理,包括:

滤波,利用半径滤波和统计滤波去除噪声点;

和/或

降采样。

进一步的,所述预处理,包括:

计算某个点在r邻域范围内与其他点的平均距离,并遍历所有点,得到平均距离的均值μ和标准差σ;

设置倍数阈值std,距离阈值d=μ+σ·std;

判断当前点在r邻域范围内与其他点的平均距离是否大于所述距离阈值,如果大于所述距离阈值则作为噪声点剔除;反之,则保留;

判断当前点在r邻域范围内的邻近点个数是否大于设定值m,如果不大于设定值m,作为噪声点剔除,反之,则保留。

进一步的,所述预处理,还包括:

将点云数据空间分解为m·n·l个小方格,每个小方格中只保留离方格重心最近的点,其他点滤除。

进一步的,所述提取vfh特征为:获取308维初始全局视点特征直方图,包括:

假设pc与pj是物体表面的两个点,对于给定的点云,在中心点pc处建立基准坐标系,计算pc与其余点pj的特征,其中j=1,2,3…n,n为点云规模数目,按照每一个特征的特征值大小将其分布在45个子区间内,并统计落入每个子区间的点数目,构成180维距离几何特征向量;

统计点云各个点的视点方向与该点处法向量之间角度的分布,并把角度计算结果划分到为128个角度子区间内,构成视点特征分量;

将视点角度特征与所述距离几何特征向量进行合并,得到308维的vfh视点特征直方图。

进一步的,所述提取全局曲率特征为:获取60维扩展全局曲率特征,包括:

构建二次曲面方程,选择目标点云中某一点q,构建该点在r邻域内的二次曲面方程,计算点q在切方向的曲率函数,将极值作为该方向的主曲率值;

对每一个点的平均曲率进行计算,将曲率值大小分为60个子区间,统计落入每个子区间中的点个数,构成目标工件点云的扩展全局曲率特征分布直方图,并形成特征向量。

进一步的,所述特征合并,包括通过归一化方法,将308维初始全局视点特征直方图和60维扩展全局曲率特征合并,得到368维全局特征。

本发明的技术方案具有以下有益效果:

本实施例通过基于目标工件的全局特征模板建立svm分类参数,全局特征模板由vfh特征和全局曲率特征合并得到;并将待测工件的特征数据输入所述svm分类参数得到识别结果,从而对待测工件进行准备识别,在现有的特征中加入曲率特征,从而达到提高利用视点特征直方图进行点云识别准确率的目的。在保持原有特征分量不变的基础上,加入了点云表面曲率分布特征,将原有的308维特征扩展到了368维,极大提高了三维点云识别算法的性能和鲁棒性。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明实施例所述的基于改进视点特征直方图的三维点云识别方法的流程图;

图2为本发明实施例所述的生成全局特征模板的流程图;

图3为本发明实施例所述的将待测工件的特征数据输入所述svm分类参数得到识别结果的流程图;

图4为本发明实施例所述的基准坐标下的两点之间初始特征示意图;

图5为本发明实施例所述的点云中某一点的视点方向与该点法向量关系示意图;

图6a和图6b为本发明实施例所述的两个形状相近的圆柱形木块和塑料瓶的原始视点特征直方图;

图7a和图7b为本发明实施例所述的两个形状相近的圆柱形木块和塑料瓶的全局曲率统计特征直方图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

在已构建视点特征直方图的基础上,加入了局部曲率特征统计的描述方法,并由svm训练器进行分类训练。

本实施例采用全局特征作为点云特征描述符,并对现有的全局特征做了改进,从而准确的实现目标点云的识别。针对这种情况,本实施例提出了一种基于改进视点特征直方图的方法,在保持原有特征分量不变的基础上,加入了点云表面曲率分布特征,将原有的308维特征扩展到了368维,极大提高了三维点云识别算法的性能和鲁棒性。

如图1所示,一种基于改进视点特征直方图的三维点云识别方法,包括:

s101:基于目标工件的全局特征模板得到svm分类参数,所述全局特征模板由vfh特征和全局曲率特征合并得到;

s102:将待测工件的特征数据输入所述svm分类参数得到识别结果,所述特征数据由提取的所述待测工件的vfh特征和曲面特征合并得到。

具体的实施方式中,如图2所示,所述基于目标工件的全局特征模板得到svm分类参数,所述全局特征模板由vfh特征和全局曲率特征合并得到,包括:

获取多个目标工件在多个视角下的点云;

对所述点云进行预处理;

基于预处理后的点云提取vfh特征;

基于预处理后的点云提取全局曲率特征;

将所述vfh特征和全局曲率特征进行特征合并,从而生成全局特征模板;

将所述全局特征模板作为训练集输入svm分类器,从而得到svm分类参数。

具体的实施方式中,所述将所述全局特征模板作为训练集输入svm分类器,包括:

为所述全局特征模板生成对应标签;

将生成对应标签的全局特征模板作为训练集输入svm分类器。

具体的实施方式中,如图3所示,所述将待测工件的特征数据输入所述svm分类参数得到识别结果,所述特征数据由提取的所述待测工件的vfh特征和曲面特征合并得到,包括:

获取待测工件的点云;

对所述点云进行预处理;

对预处理后的所述点云进行分割;

基于分割后的点云提取待测工件的vfh特征和曲面特征;

将所述待测工件的vfh特征和曲面特征进行特征合并得到待测工件的特征数据;

将所述待测工件的特征数据输入所述svm分类器,得到所述待测工件的标签。

具体的实施方式中,所述预处理,包括:

滤波,利用半径滤波和统计滤波去除噪声点;

和/或

降采样。

具体的实施方式中,所述预处理,包括:

计算某个点在r邻域范围内与其他点的平均距离,并遍历所有点,得到平均距离的均值μ和标准差σ;

设置倍数阈值std,距离阈值d=μ+σ·std;

判断当前点在r邻域范围内与其他点的平均距离是否大于所述距离阈值,如果大于所述距离阈值则作为噪声点剔除;反之,则保留;

判断当前点在r邻域范围内的邻近点个数是否大于设定值m,如果不大于设定值m,作为噪声点剔除,反之,则保留。

具体的实施方式中,所述预处理,还包括:

将点云数据空间分解为m·n·l个小方格,每个小方格中只保留离方格重心最近的点,其他点滤除。

具体的实施方式中,所述提取vfh特征为:获取308维初始全局视点特征直方图,包括:

假设pc与pj是物体表面的两个点,对于给定的点云,在中心点pc处建立基准坐标系,计算pc与其余点pj的特征,其中j=1,2,3…n,n为点云规模数目,按照每一个特征的特征值大小将其分布在45个子区间内,并统计落入每个子区间的点数目,构成180维距离几何特征向量;

统计点云各个点的视点方向与该点处法向量之间角度的分布,并把角度计算结果划分到为128个角度子区间内,构成视点特征分量;

将视点角度特征与所述距离几何特征向量进行合并,得到308维的vfh视点特征直方图。

具体的实施方式中,所述提取全局曲率特征为:获取60维扩展全局曲率特征,包括:

构建二次曲面方程,选择目标点云中某一点q,构建该点在r邻域内的二次曲面方程,计算点q在切方向的曲率函数,将极值作为该方向的主曲率值;

对每一个点的平均曲率进行计算,将曲率值大小分为60个子区间,统计落入每个子区间中的点个数,构成目标工件点云的扩展全局曲率特征分布直方图,并形成特征向量。

具体的实施方式中,所述特征合并,包括通过归一化方法,将308维初始全局视点特征直方图和60维扩展全局曲率特征合并,得到368维全局特征。

在一个具体的应用场景中:

基于改进视点特征直方图的三维点云识别方法,包括,训练阶段和测试阶段。

(1)训练阶段,按照步骤(3)(4)(5)(6)中的方法对点云进行预处理,并提取目标工件模板点云改进后的全局特征,该特征的维度为368维,每一个维度中的值代表一个特征描述值。该特征用向量的形式可以表示为xg=(xv,xc)t。将不同工件的多组特征向量与标签作为svm训练器的输入训练集,得到训练分类识别参数;

(2)测试阶段,按照步骤(3)(4)(5)(6)中的方法提取待测目标工件点云的全局特征,生成待测目标工件的特征向量,作为测试集,根据步骤(1)中训练好的参数进行识别测试;

(3)点云预处理,对获取到的点云利用半径滤波和统计滤波去除噪声点,并进行体素化降采样;

(1)计算某个点在r邻域范围内与其他点的平均距离,遍历所有点,得到平均距离的均值μ和标准差σ;

(2)设置倍数阈值std,距离阈值d=μ+σ·std;

(3)判断当前点在r邻域范围内与其他点的平均距离是否大于距离阈值,如果大于则作为噪声点剔除。反之,则保留;

(4)在上一步的基础上,继续判断当前点在r邻域范围内的邻近点个数是否大于设定值m,如果满足,作为正常点保留,反之,则剔除;

(5)设定最小三维体素网格大小a·b·c,将点云数据空间分解为m·n·l个小方格,每个小方格中只保留离方格重心最近的点,其他点滤除,完成降采样。

(4)由视点位置计算视点特征直方图,视点位置默认为(0,0,0),则pc与pj之间的初始特征可以表示为f(α,φ,θ,d),其中包含四个特征:α,φ,θ为旋转角,d是pc和pj两点之间的欧式距离,d=||pj-pc||2;按照每一个特征的特征值大小将其分布在45个子区间内,并统计落入每个子区间的点数目,构成180维几何特征向量。根据视点坐标,统计点云各个点的视点方向与该点处法向量之间角度的分布,将角度计算结果划分到为128个角度子区间内,构成视点特征分量。对于任意一个视角固定的点云数据,都可以得到唯一与其对应的308维的视点特征描述子;

计算308维初始全局视点特征直方图方法:假设pc与pj是物体表面的两个点,则pc与pj之间的初始特征可以表示为f(α,φ,θ,d),如图4所示。其中

u=nc

w=u×v

α=v·nj

θ=arctan(w·nj,u·nj),

u,v,w代表在点pc处建立的基准坐标系的单位法向量,α,φ,θ为旋转角,||nc||=1,d是pc和pj两点之间的欧式距离,即d=||pj-pc||2。对于一片给定的点云,在中心点pc处建立基准坐标系,计算pc与其余点pj(j=1,2,3…n,n为点云规模数目)的特征,按照每一个特征的特征值大小将其分布在45个子区间内,并统计落入每个子区间的点数目,构成180维距离几何特征向量,如图5所示。统计点云各个点的视点方向与该点处法向量之间角度的分布,并把角度计算结果划分到为128个角度子区间内,构成视点特征分量。将视点角度特征与上述四个特征值进行合并,得到308维的vfh视点特征直方图,

(5)计算60维扩展全局曲率特征:

计算局部曲率,并统计整片点云的曲率特征大小分布,根据曲率值的大小将其分布在60个子区间内,区间值的大小为统计点的数目。选择目标点云中某一点q,构建该点在r邻域内的二次曲面方程。计算曲面在点q的切方向w=[dp,dq]t处的曲率函数,将极值作为该方向的主曲率值,并由主曲率值计算得到平平均曲率。对每一个点的平均曲率进行计算,将曲率值大小分为60个子区间,统计落入每个子区间中的点个数,构成目标点云的扩展全局曲率特征分布直方图,并形成特征向量

(5.1)构建二次曲面方程。选择目标点云中某一点q,构建该点在r邻域内的二次曲面方程,方程可表示为:

其中,a为曲面三阶系数矩阵。

(5.2)计算点q在切方向w=[dp,dq]t的曲率函数,将极值作为该方向的主曲率值。在该方向的法曲率可表示为:

其中,n为单位法向量。对上式进行展开,可以得到:

消去公共项dp,dq可以得到:

根据上式可求得主曲率k1、k2。

(5.3)计算点q处的平均曲率。在已知k1、k2的情况下,平均曲率h为:

根据平均曲率h的大小,可以反映出某一点附近邻域内曲面的变化。但是单点的曲率特征并不能很好表示整片点云,且单个点的曲率对噪声比较敏感。因此,首先对获取到的点云进行滤波和降采样,再对每一个点的平均曲率进行计算,将曲率值大小分为60个子区间,统计落入每个子区间中的点个数,构成目标点云的全局曲率特征分布直方图。

(6)通过归一化方法,将步骤(4)(5)中计算得到的全局曲率特征与vfh特征合并,构成368维全局描述子。为了方便计算,将每个特征的子区间数值用落入该子区间点数所占目标点云总数的百分比表示。

以大小形状类似的两个物体,圆柱型木块与圆柱型塑料瓶的点云为例,分别提取各自的vfh特征与全局曲率特征,并以直方图的形式表示,如图6a、图6b、图7a和图7b。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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