一种点云拼接方法及装置与流程

文档序号:18415494发布日期:2019-08-13 19:20阅读:212来源:国知局
一种点云拼接方法及装置与流程

本申请涉及计算机视觉技术和图像视频处理技术领域,尤其涉及一种点云拼接方法及装置。



背景技术:

随着计算机技术与三维扫描技术的迅猛发展,三维重建技术在各行各业得到了广泛的应用与发展。三维重建技术是基于视觉的三维重建,指的是通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知识推导出现实环境中物体的三维信息。点云拼接技术作为三维重建中图像处理的重要技术之一,相应地成为目前研究的重点。点云拼接技术是将不同视角下采集到的点云数据进行拼接,使不同视角下的局部点云数据转换到统一坐标系下,进而可以得到被测实体或场景的相对完整的点云数据。

点云拼接处理过程中的点云配准,即求出两个点云数据之间的坐标位置变换关系,目的是找到一点云数据到另一点云数据的相对位置和方向。点云配准中应用最广发的方法为迭代最近点算法,迭代最近点算法对待配准的两片初始点云有较高的重叠度要求,因此需要先通过粗配准得到矩阵变换参数,进而将待配准点云数据转换到统一坐标系内。迭代最近点算法是基于最小二乘法的最优匹配算法,假设两个点集对齐,且其中一个点集上的最近点与另一个点集中的每个点对齐,采用最近点搜索,计算最优刚体变换,直至配准收敛,也就是说,将不同视角的点云数据,运用迭代最近点算法每次寻找两个点集中的最近点,并使其欧式距离的平方和最小,从而计算出点云间的刚体变换,将该刚体变换应用于点云获得新的目标点云,若目标函数误差收敛于给定阈值,终止迭代,否则继续查找最近点。

上述迭代最近点算法中,很大程度上依赖于初始迭代值的选取,若初始迭代值选择的不合理,易使算法陷入局部最优导致整个迭代过程不能正确收敛,致使点云拼接结果不准确。另外,迭代最近点算法复杂度较高,比较耗费时间,所以容易造成点云拼接耗时较长。



技术实现要素:

本申请提供了一种点云拼接方法及装置,以解决现有技术中点云拼接耗时较长,且结果不准确的技术问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

第一方面,本申请实施例公开了一种点云拼接方法,所述方法包括:

获取被测物体的第一组图像和第二组图像,每组所述图像均包括所述被测物体的左/右视图及点云图;

分别提取每组所述图像中左视图和右视图中相匹配的2d特征点对、以及所述点云图中的3d特征点;

分别计算每组所述图像中所述2d特征点对在相对应的点云图中的三维点云坐标,并将所述三维点云坐标与相对应的所述3d特征点合并,得到每组所述图像的特征点对集合;

根据所述特征点对集合,将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

可选地,在上述点云拼接方法中,分别提取每组所述图像中左视图和右视图中相匹配的2d特征点对,包括:

利用orb算法,提取每组所述左/右视图中的预设数目的2d特征点,分别对所述2d特征点进行描述,生成n维描述子;

根据所述描述子,将所述左/右视图中的2d特征点进行匹配;

利用gms算法,筛选出匹配错误的2d特征点,得到所述左/右视图的2d特征点对。

可选地,在上述点云拼接方法中,分别提取每组所述图像中所述点云图中的3d特征点,包括:

利用fpfh或者3dsurf算法,分别提取两组所述图像中点云图中的3d特征点。

可选地,在上述点云拼接方法中,分别计算每组所述图像中所述2d特征点对在相对应的点云图中的三维点云坐标,包括:

根据所述2d特征点与所述点云图之间的对应关系,计算出索引值,所述计算公式为:

idx=y*width+x

式中,idx为所述点云图中的索引值,x、y分别为2d特征点对的横纵坐标值,width为图片长度;

根据计算出的索引值,得到并记录对应的所述三维点云坐标。

可选地,在上述点云拼接方法中,根据所述特征点对集合,将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图,包括:

从所述特征点对集合中,随机抽取4个特征点对;

通过svd奇异值分解的方法求出旋转与平移矩阵;

将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

第二方面,本申请实施例公开了一种点云拼接装置,所述装置包括:

图像获取模块,用于获取被测物体的第一组图像和第二组图像,每组所述图像均包括所述被测物体的左/右视图及点云图;

特征点提取模块,用于分别提取每组所述图像中左视图和右视图中相匹配的2d特征点对、以及所述点云图中的3d特征点;

特征点合并模块,用于分别计算每组所述图像中所述2d特征点对在相对应的点云图中的三维点云坐标,并将所述三维点云坐标与相对应的所述3d特征点合并,得到每组所述图像的特征点对集合;

点云图拼接模块,用于根据所述特征点对集合,将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

可选地,在上述点云拼接装置中,所述特征点提取模块包括2d特征点对提取模块,所述2d特征点对提取模块包括:

2d特征点获取模块,用于利用orb算法,提取每组所述左/右视图中的预设数目的2d特征点,分别对所述2d特征点进行描述,生成n维描述子;

2d特征点匹配模块,用于根据所述描述子,将所述左/右视图中的2d特征点进行匹配;

2d特征点对获取模块,用于利用gms算法,筛选出匹配错误的2d特征点,得到所述左/右视图的2d特征点对。

可选地,在上述点云拼接装置中,所述特征点提取模块包括3d特征点获取模块,用于利用fpfh或者3dsurf算法,分别提取两组所述图像中点云图中的3d特征点。

可选地,在上述点云拼接装置中,所述特征点合并模块包括:

2d-3d匹配模块,用于根据所述2d特征点与所述点云图之间的对应关系,计算出索引值,所述计算公式为:

idx=y*width+x

式中,idx为所述点云图中的索引,x、y分别为2d特征点对的横纵坐标值,width为图片长度;

三维点云坐标生成模块,用于根据计算出的索引值,得到并记录对应的所述三维点云坐标。

可选地,在上述点云拼接装置中,所述点云图拼接模块包括:

特征点对选取模块,用于从所述特征点对集合中,随机抽取4个特征点对;

旋转与平移矩阵计算模块,用于通过svd奇异值分解的方法求出旋转与平移矩阵;

坐标转换模块,用于将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

与现有技术相比,本申请的有益效果为:

本申请提供了一种点云拼接方法及装置,可以通过双目rgb-d相机等获取被测物体的两组图像,所述图像均包括左/右视图及点云图,在每组图像中,分别提取所述左/右视图中的2d特征点对,以及所述点云图中的3d特征点;然后,将每组图像中的所述左/右视图中的2d特征点对索引至该图像中的点云图,计算出所述2d特征点对在点云图中的三维点云坐标,并将所述三维点云坐标与该点云图中的所述3d特征点对进行合并,得到最终特征点对集合;最后,根据所述最终特征点对集合,将两组所述点云图变换至统一坐标系,得到拼接后的点云图。与现有的方法相比,本申请中在进行点云拼接时,通过2d特征点及3d特征点的融合,实现不同视角下的特征点的结合,捕捉到不同角度的特征点,从而实现对点云数据的精确配准,使得后续点云拼接更加准确,该过程中,无需进行最近点迭代计算,避免了点云配准过程中的繁琐过程,节约时间。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种点云拼接方法的流程示意图;

图2为本发明实施例提供的一种获取2d特征点对方法的流程示意图;

图3为本发明实施例提供的一种2d特征点转换为三维点云坐标方法的流程示意图;

图4为本发明实施例提供的一种两组点云图拼接方法的流程示意图;

图5为本发明实施例提供的一种点云拼接装置的基本结构示意图。

具体实施方式

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

参见图1,为本发明实施例提供的一种点云拼接方法的流程示意图。结合图1,所述点云拼接方法包括如下步骤:

步骤s110:获取被测物体的第一组图像和第二组图像,每组所述图像均包括所述被测物体的左/右视图及点云图;

在具体实施过程中,可通过双目rgb-d相机,如zed相机采集两组图像,两组图像分别为第一组图像i1和第二组图像i2,所述第一组图像i1和第二组图像i2具有一定重叠区域,本申请中的点云拼接方法,即方便、精确的实现所述第一组图像i1和第二组图像i2的拼接。rgb-d相机是由左、右侧两个相机构成的,每组图像均包括左侧相机采集到的左视图()、右侧相机采集到的右视图()以及rgb-d相机采集到的点云图(cloud1和cloud2)。

步骤s120:分别提取每组所述图像中左视图和右视图中相匹配的2d特征点对、以及所述点云图中的3d特征点;

对于2d特征点对的提取,参见图2,为本发明实施例提供的一种获取2d特征点对方法的流程示意图。如图2所示,提取每组所述图像中左视图和右视图中相匹配的2d特征点对的具体过程如下:

步骤s121:利用orb算法,提取每组所述左/右视图中的预设数目的2d特征点,分别对所述2d特征点进行描述,生成n维描述子;

图像的特征点可以简单的理解为图像中比较显著的点,如轮廓点,较暗区域中的亮点,较亮区域中的暗点等,特征点对是两张图像中相匹配的两个点。本申请中利用orb算法对左/右视图中的2d特征点进行提取和描述,当然,所述第一组图像i1和第二组图像i2中提取出的2d特征点是基于两组所述图像的重叠部分。orb是一种快速特征点提取和描述的算法,分为两部分,分别是特征点提取和特征点描述。具体地,采用orb算法提取每组图像3000-8000个特征点,得到特征点后进一步以某种方式描述这些特征点的属性,本申请中利用brief算法对特征点进行方向等描述,生成128维的描述子。brief算法计算出来的是一个二进制串的特征描述符,它是在每一个特征点的邻域内,选择n对像素点pi、qi(i=1,2,…,n),然后比较每个点对的灰度值的大小。如果i(pi)>i(qi),则生成二进制串中的1,否则为0。所有的点对都进行比较,则生成长度为n的二进制串。

步骤s122:根据所述描述子,将所述左/右视图中的2d特征点进行匹配;

通过所述描述子,计算第一组图像i1中左视图和右视图中2d特征点间的欧氏距离,对左视图中的2d特征点,分别计算它与右视图中所有2d特征点的欧式距离,然后找到所有欧式距离中最小的和次小的,计算最小欧式距离与次小欧式距离的比值,如果比值在阈值范围内,则认为是匹配正确的2d特征点对。欧氏距离的计算过程为:假设左视图中特征点a的坐标为(x1,y1),右视图中特征点b的坐标为(x2,y2),则a、b之间的欧氏距离为:

步骤s123:利用gms算法,筛选出匹配错误的2d特征点,得到所述左/右视图的2d特征点对。

将匹配后的左/右视图划分成网格,对每一个局部,统计特征点匹配总的数量记为m,对于局部的某一对特征点,统计周围领域对该特征点有帮助的正确的特征点匹配数目记为m,计算匹配正确的概率m/m,若该概率达到90%或者95%以上,则认为是匹配正确的。这使得某个匹配的特征点对周围的特征点对都是正确的匹配,均对该特征点对的匹配有着积极的作用。最终得到所述左/右视图的2d特征点对集合

对于每组所述图像中所述点云图中的3d特征点的提取,所述第一组图像i1和第二组图像i2中点云图中提取出的3d特征点也是位于两组所述图像的重叠区域。利用fpfh或者3dsurf算法,分别提取两组所述图像中点云图中的3d特征点集合,记为以fpfh算法为例,提取步骤如下:首先对每一个样本点,计算这个点和它的k领域内每个点之间的三维特征值,然后统计输出成一个简化的点特征直方图(spfh),其中,k是点云图中每个样本点计算特征向量时考虑的邻域数量。最后分别确定k领域中每一个点的k领域,按第一步分别形成自己的spfh,使用邻近的spfh值来计算最终直方图(fpfh)。

步骤s130:分别计算每组所述图像中所述2d特征点对在相对应的点云图中的三维点云坐标,并将所述三维点云坐标与相对应的所述3d特征点合并,得到每组所述图像的特征点对集合;

在s12o中,提取出每组所述图像中左视图和右视图中相匹配的2d特征点对,再将所述2d特征点对对应至两组点云图中,得到对应的三维点云坐标。具体过程参见图3,为本发明实施例提供的一种2d特征点转换为三维点云坐标方法的流程示意图,由图3所示,转换过程如下:

步骤s131:根据所述2d特征点与所述点云图之间的对应关系,计算出索引值,所述计算公式为:idx=y*width+x,式中,idx为所述点云图中的索引值,x、y分别为2d特征点对的横纵坐标值,width为图片长度;

步骤s132:根据计算出的索引值,得到并记录对应的所述三维点云坐标,记为

举例来说,图片分辨率为640*480,2d特征点在左/右视图中的横纵坐标为(100,50),则在3d点云图中对应的索引值计算为640*50+100=32100,而索引值32100对应点云图中(100,50,20)的三维点云坐标,所以即可根据2d特征点(100,50)找到三维点云坐标(100,50,20)。

将2d特征点对转换到3d的特征点对集合之后,再将与3d特征点合并,此处的合并为点集合的合并,取并集,得到每组所述图像中重叠区域的特征点对集合

步骤s140:根据所述特征点对集合,将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

参见图4,为本发明实施例提供的一种两组点云图拼接方法的流程示意图。通过图4所示,最后的拼接过程包括:

步骤s141:从所述特征点对集合中,随机抽取4个特征点对;

步骤s142:通过svd奇异值分解的方法求出旋转与平移矩阵;

步骤s143:将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

由上述技术方案可见,本发明实施例提供的一种点云拼接方法,获取被测物体的两组图像中左/右视图中的2d特征点对,以及两组图像中所述点云图中的3d特征点;然后,将每组图像中的所述左/右视图中的2d特征点对索引至该图像中的点云图,计算出所述2d特征点对在点云图中的三维点云坐标,并将所述三维点云坐标与该点云图中的所述3d特征点对进行合并,得到最终特征点对集合;最后,根据所述最终特征点对集合,将两组所述点云图变换至统一坐标系,得到拼接后的点云图。本申请中在进行点云拼接时,通过2d特征点及3d特征点的融合,实现不同视角下的特征点的结合,捕捉到不同角度的特征点,从而实现对点云数据的精确配准,使得后续点云拼接更加准确,该过程中,无需进行最近点迭代计算,避免了点云配准过程中的繁琐过程,节约时间。

基于相同的技术构思,本发明实施例还提供了一种点云拼接装置,如图5所示,包括依次连接的图像获取模块510、特征点提取模块520、特征点合并模块530和点云图拼接模块540,其中:

所述图像获取模块510,用于获取被测物体的第一组图像和第二组图像,每组所述图像均包括所述被测物体的左/右视图及点云图;

所述特征点提取模块520,用于分别提取每组所述图像中左视图和右视图中相匹配的2d特征点对、以及所述点云图中的3d特征点;

所述特征点合并模块530,用于分别计算每组所述图像中所述2d特征点对在相对应的点云图中的三维点云坐标,并将所述三维点云坐标与相对应的所述3d特征点合并,得到每组所述图像的特征点对集合;

所述点云图拼接模块540,用于根据所述特征点对集合,将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

进一步,所述特征点提取模块520包括2d特征点对提取模块,所述2d特征点对提取模块包括:

2d特征点获取模块,用于利用orb算法,提取每组所述左/右视图中的预设数目的2d特征点,分别对所述2d特征点进行描述,生成n维描述子;

2d特征点匹配模块,用于根据所述描述子,将所述左/右视图中的2d特征点进行匹配;

2d特征点对获取模块,用于利用gms算法,筛选出匹配错误的2d特征点,得到所述左/右视图的2d特征点对。

所述特征点提取模块520还包括3d特征点获取模块,用于利用fpfh或者3dsurf算法,分别提取两组所述图像中点云图中的3d特征点。

为计算每组所述图像中所述2d特征点对在相对应的点云图中的三维点云坐标,本实施例提供的点云拼接装置还包括:

2d-3d匹配模块,用于根据所述2d特征点与所述点云图之间的对应关系,计算出索引值,所述计算公式为:idx=y*width+x,式中,idx为所述点云图中的索引,x、y分别为2d特征点对的横纵坐标值,width为图片长度;

三维点云坐标生成模块,用于根据计算出的索引值,得到并记录对应的所述三维点云坐标。

为实现两幅点云图的拼接,本实施例提供的点云拼接装置还包括:

特征点对选取模块,用于从所述特征点对集合中,随机抽取4个特征点对;

旋转与平移矩阵计算模块,用于通过svd奇异值分解的方法求出旋转与平移矩阵;

坐标转换模块,用于将所述第一组图像和第二组图像的点云图变换至统一坐标系,得到拼接后的点云图。

本实施例提供的点云拼接装置,通过2d特征点及3d特征点的融合,实现不同视角下的特征点的结合,捕捉到不同角度的特征点,从而实现对点云数据的精确配准,使得后续点云拼接更加准确,该过程中,无需进行最近点迭代计算,避免了点云配准过程中的繁琐过程,节约时间。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

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