三维点云数据配准方法及拼接方法与流程

文档序号:11144641阅读:3362来源:国知局
三维点云数据配准方法及拼接方法与制造工艺

本发明涉及土木工程技术领域,特别是涉及一种三维点云数据配准方法及拼接方法。



背景技术:

房屋测量是建筑工程、家装设计工程重要的组成部分,是一项专业性很强的工作,如果在建筑面积计算上出现问题,将对预算造价的准确性产生直接影响,从而带来大量人力、物力的损失。三维激光扫描仪是一种非接触式海量高精度数据的获取手段,可以获得房屋内部的数字模型,然而房屋内部各房间被墙体隔断,每个房间是相对独立的空间,使得三维激光扫描仪得到的各房间的三维点云数据之间的配准比较困难。

传统的三维点云配准方法通常都是通过被测量对象表面粘贴标记点的方法完成,然而此类方法存在的缺点为:平面标记在二维空间存在很大畸变,导致识别难度较大,定位精度不高,从而降低配准的精确度。



技术实现要素:

基于此,有必要针对如何改善传统三维点云配准方法配准精确度较低的问题,提供一种三维点云数据配准方法及拼接方法。

一种三维点云数据配准方法,包括:

获取三维扫描装置对目标空间分别以第一视角、第二视角扫描对应得到的第一点云数据、第二点云数据;所述目标空间设有包括多个标靶球的标定靶;所述三维扫描装置分别以第一视角、第二视角扫描时,所述标定靶均放置于所述第一视角和第二视角之间的公共扫描区域的同一个位置;

从所述第一点云数据、所述第二点云数据中分别找出第一球心点云、第二球心点云;所述第一球心点云、所述第二球心点云均包含所述标定靶内所有所述标靶球的球心坐标;

根据所述第一球心点云与所述第二球心点云之间的转换关系将所述第一点云数据与所述第二点云数据配准到同一坐标系下。

在其中一个实施例中,还包括:

获取所述目标空间在所述第一视角、所述第二视角下对应的第一二维图像数据、第二二维图像数据;

同时,从所述第一点云数据、所述第二点云数据中分别找出第一球心点云、第二球心点云的步骤包括:

从所述第一二维图像数据、所述第二二维图像数据中根据设定的标靶球判断准则分别检测出所有疑似标靶球的第一二维圆心坐标、第二二维圆心坐标;其中,从所述第一二维图像数据中检测的所有所述疑似标靶球、从所述第二二维图像数据中检测的所有所述疑似标靶球均至少包括所述标定靶内的所有标靶球;

根据所有所述第一二维圆心坐标从所述第一点云数据找出包含所述标定靶内所有所述标靶球球心坐标的第一球心点云;

根据所有所述第二二维圆心坐标从所述第二点云数据中找出包含所述标定靶内所有所述标靶球球心坐标的第二球心点云。

在其中一个实施例中,所述第一二维图像数据包括第一灰度图像和第一深度图像;所述第二二维图像数据包括第二灰度图像和第二深度图像;

同时,从所述第一二维图像数据、所述第二二维图像数据中根据设定的标靶球判断准则分别检测出所有疑似标靶球的第一二维圆心坐标、第二二维圆心坐标的步骤包括:

分别对所述第一灰度图像、所述第二灰度图像进行阈值分割,对应得到第一灰度二值化图像、第二灰度二值化图像;

分别计算所述第一灰度二值化图像、所述第二灰度二值化图像内各连通区域的圆形度,以对应检测出各疑似标靶球的第一二维圆心坐标、第二二维圆心坐标;

判断所述第一灰度二值化图像内疑似标靶球的数量小于所述标定靶内标靶球的总数量时,利用局部阈值分割的方法对所述第一深度图像进行分割得到第一深度二值化图像,并计算所述第一深度二值化图像内各连通区域的圆形度,以检测出其余疑似标靶球的第一二维圆心坐标;

判断所述第二灰度二值化图像内疑似标靶球的数量小于所述标靶球的总数量时,利用局部阈值分割的方法对所述第二深度图像进行分割得到第二深度二值化图像,并计算所述第二深度二值化图像内各连通区域的圆形度,以检测出其余疑似标靶球的第二二维圆心坐标。

在其中一个实施例中,分别计算所述第一灰度二值化图像、所述第二灰度二值化图像内各连通区域的圆形度,以对应检测出各疑似标靶球的第一二维圆心坐标、第二二维圆心坐标的步骤包括:

分别对所述第一灰度二值化图像、所述第二灰度二值化图像进行滤波;

分别计算滤波后的所述第一灰度二值化图像、滤波后的所述第二灰度二值化图像内各连通区域的圆形度,以对应检测出各疑似标靶球的第一二维圆心坐标、第二二维圆心坐标。

在其中一个实施例中,根据所有所述第一二维圆心坐标从所述第一点云数据找出包含所述标定靶内所有所述标靶球球心坐标的第一球心点云的步骤包括:

根据各所述第一二维圆心坐标从所述第一点云数据找出相应的第一三维球面点云,并拟合出各所述第一三维球面点云的球心;

对所有所述第一三维球面点云的球心进行离群点处理,得到包含所述标定靶内所有所述标靶球球心坐标的第一球心点云。

在其中一个实施例中,根据所有所述第二二维圆心坐标从所述第二点云数据中找出包含所述标定靶内所有所述标靶球球心坐标的第二球心点云的步骤包括:

根据各所述第二二维圆心坐标从所述第二点云数据找出相应的第二三维球面点云,并拟合出各所述第二三维球面点云的球心;

对所有所述第二三维球面点云的球心进行离群点处理,得到包含所述标定靶内所有所述标靶球球心坐标的第二球心点云。

在其中一个实施例中,根据所述第一球心点云与所述第二球心点云之间的转换关系将所述第一点云数据与所述第二点云数据配准到同一坐标系下的步骤包括:

利用配准算法计算将所述第二球心点云配准到所述第一球心点云所在坐标系下的第一变换矩阵;

根据所述第一变换矩阵对所述第二点云数据进行转换;

利用配准算法计算转换后的所述第二点云数据配准到所述第一点云数据所在坐标下的第二变换矩阵;

根据所述第一变换矩阵及所述第二变换矩阵将所述第二点云数据配准到所述第一点云数据所在坐标系下。

在其中一个实施例中,根据所述第一变换矩阵对所述第二点云数据进行转换的步骤之前还包括:

分别对所述第一点云数据、所述第二点云数据进行抽稀;

同时,根据所述第一变换矩阵对所述第二点云数据进行转换的步骤为:

根据所述第一变换矩阵对抽稀后的所述第二点云数据进行转换,得到转换后的第二抽稀点云数据;

同时,利用配准算法计算转换后的所述第二点云数据配准到所述第一点云数据所在坐标下的第二变换矩阵的步骤为:

利用配准算法计算所述转换后的第二抽稀点云数据配准到抽稀后的所述第一点云数据所在坐标系下的第二变换矩阵。

在其中一个实施例中,所述标定靶还包括底座及多根连接杆;各所述连接杆的一端安装于所述底座上,且各所述连接杆的另一端分别与相应的所述标靶球连接;其中,所述连接杆的颜色为黑色,所述标靶球的颜色为白色。

一种三维点云数据拼接方法,包括:

获取三维扫描装置分别对依次相邻的第一目标空间、第二目标空间、第三目标空间、第四目标空间扫描得到的第一点云数据、第二点云数据、第三点云数据、第四点云数据;其中,所述第一点云数据与所述第二点云数据分别由所述三维扫描装置以不同视角扫描得出,且均包括位于同一位置的标定靶的点云数据,其中,所述标定靶包括多个标靶球;所述第二点云数据和所述第三点云数据为相同的点云;所述第三点云数据和所述第四点云数据分别由所述三维扫描装置以不同视角扫描得出,且均包括位于同一位置的所述标定靶的点云数据;

从所述第一点云数据、所述第二点云数据中分别找出第一球心点云、第二球心点云;所述第一球心点云、所述第二球心点云均包含所述标定靶内所有所述标靶球的球心坐标;

根据所述第一球心点云与所述第二球心点云之间的转换关系将所述第一点云数据与所述第二点云数据配准到第一坐标系下;

从所述第三点云数据、所述第四点云数据中分别找出第三球心点云、第四球心点云;所述第三球心点云、所述第四球心点云均包含所述标定靶内所有所述标靶球的球心坐标;

根据所述第三球心点云与第四球心点云之间的转换关系,将所述第四点云数据配准到所述第三点云数据所在的坐标系下;

利用所述第三点云数据与所述第二点云数据之间的关系,将配准后的所述第四点云数据配准到所述第一坐标系下;

将配准至所述第一坐标下的第一点云数据、配准至所述第一坐标下的第二点云数据及配准至所述第一坐标下的第四点云数据拼接在一起。

上述三维点云数据配准方法及拼接方法具有的有益效果为:其中,三维扫描装置分别以第一视角、第二视角扫描时,标定靶均放置于第一视角和第二视角的公共扫描区域的同一个位置,因此第一点云数据和第二点云数据分别包括位于各自坐标系下且实际空间位置相同的两组标定靶的点云数据。基于上述关系,之后从第一点云数据、第二点云数据中分别找出第一球心点云、第二球心点云,即可根据第一球心点云与第二球心点云之间的转换关系将第一点云数据与第二点云数据配准到同一坐标系下。因此该三维点云数据配准方法及拼接方法利用标定靶作为两个视角扫描数据进行匹配的桥梁,由于标靶球面的成像畸变程度远小于平面,因此提高了配准的精确度。

附图说明

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

图1为一实施例提供的三维点云数据配准方法的执行流程图;

图2为图1所示实施例的三维点云数据配准方法涉及的标定靶的立体示意图;

图3(a)、图3(b)、图3(c)、图3(d)、图3(e)、图3(f)分别为图2所示实施例的标定靶的仰视图、俯视图、右视图、左视图、正视图、后视图;

图4为图1所示实施例的三维点云数据配准方法的其中一种具体实施方式流程图;

图5为图4所示实施例的三维点云数据配准方法中步骤S310的其中一种具体实施方式流程图;

图6为图5所示实施例的三维点云数据配准方法中步骤S312的其中一种具体实施方式流程图;

图7为图4所示实施例的三维点云数据配准方法中步骤S320的其中一种具体实施方式流程图;

图8为图4所示实施例的三维点云数据配准方法中步骤S330的其中一种具体实施方式流程图;

图9为图1所示实施例的三维点云数据配准方法中步骤S400的其中一种具体实施方式流程图;

图10为另一实施例提供的三维点云数据拼接方法的执行流程图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

一实施例提供了一种三维点云数据配准方法,用于将多视角的点云数据配准至同一坐标系下。该三维点云数据配准方法可以由电脑或其他具有数据处理能力的智能设备来执行,如图1所示,包括以下步骤。

步骤S100.获取三维扫描装置对目标空间分别以第一视角、第二视角扫描对应得到的第一点云数据、第二点云数据。其中,该目标空间设有包括多个标靶球的标定靶。三维扫描装置分别以第一视角、第二视角扫描时,该标定靶均放置于第一视角和第二视角之间的公共扫描区域的同一个位置。

其中,三维扫描装置例如为三维激光扫描仪。目标空间例如为房屋。第一视角和第二视角为两个不同的视角,故第一点云数据和第二点云数据分别处于各自的坐标系下。在具体扫描过程中,可以先将三维扫描装置置于目标空间内与第一视角对应的位置,同时将标定靶置于第一视角和第二视角之间的公共扫描区域,这时三维扫描装置扫描得到的数据即为第一点云数据;之后,保持标定靶的位置不变,将三维扫描装置移动至与第二视角对应的另一个位置,这时三维扫描装置扫描得到的数据即为第二点云数据。在上述两次扫描过程中,由于标定靶均放置于第一视角和第二视角的公共扫描区域的同一个位置,因此三维扫描装置在该两次扫描过程中均能扫描到位于同一位置的标定靶,故第一点云数据、第二点云数据分别包括位于各自坐标系下且实际位置相同的两组标定靶的点云数据。

标定靶的结构如图2所示,本实施例中,标定靶包括4个标靶球,即第一标靶球111、第二标靶球112、第三标靶球113、第四标靶球114。各标靶球的直径可以为16cm或其他数值。此外,标定靶还包括底座130及多根连接杆。其中,各连接杆的一端安装于底座130上,且各连接杆的另一端分别与相应的标靶球连接。本实施例中共包括4跟连接杆,即第一连接杆121、第二连接杆122、第三连接杆123、第四连接杆124,且分别对应连接第一标靶球111、第二标靶球112、第三标靶球113、第四标靶球114。

本实施例中,标靶球的颜色与连接杆及底座130的颜色不同,以提高标靶球的辨识度,更便于从第一点云数据和第二点云数据中提取出各标靶球的点云数据。例如,各标靶球的颜色均为白色,连接杆及底座130的颜色均为黑色。

上述4根连接杆的其中一种空间位置关系为,请参考图3(a)至图3(f):第一连接杆121、第二连接杆122、第三连接杆123、第四连接杆124的长度分别为400mm、250mm、140mm、200mm。进一步的,在图3(a)中,设定该仰视图对应XOZ平面,则第一连接杆121沿X轴负方向顺时针旋转的角度a为85°,第二连接杆122沿X轴正方向逆时针旋转的角度b为84°,第三连接杆123沿X轴正方向逆时针旋转的角度c为30°,第四连接杆124沿X轴负方向逆时针旋转的角度d为60°。在图3(d)中,设定该左视图对应ZOY平面,则第二连接杆122沿Z轴正方向顺时针旋转的角度f为30°,其余的连接杆均与Z轴平行。在图3(e)中,设定该正视图对应XOY平面,则第二连接杆122沿X轴正方向顺时针旋转的角度e为80°,其余的连接杆均与X轴平行。因此,标定靶的上述设置方式能够减少各标靶球之间的相互遮挡部位,提高了从不同角度都能看到4个标靶球的可靠性,从而进一步增强了配准的准确度。可以理解的是,标定靶的结构设置方式不限于上述情况,只要能够减少各标靶球之间的相互遮挡部位以满足配准的精度要求即可。

步骤S300.从上述第一点云数据、第二点云数据中分别找出第一球心点云、第二球心点云。其中,第一球心点云、第二球心点云均包含标定靶内所有标靶球的球心坐标。

该步骤换言之,从第一点云数据中找出第一球心点云,且第一球心点云包括标定靶内所有标靶球在第一视角对应坐标系下的球心坐标。从第二点云数据中找出第二球心点云,且第二球心点云包括标定靶内所有标靶球在第二视角对应坐标系下的球心坐标。同时,第一球心点云中任一个标靶球的球心坐标与第二球心点云中相同标靶球的球心坐标之间的区别仅在于对应的坐标系不同,而两者的实际空间位置相同。

步骤S400.根据第一球心点云与第二球心点云之间的转换关系将第一点云数据与第二点云数据配准到同一坐标系下。

由于第一球心点云与第二球心点云为实际空间位置相同的同一特征(即标定靶)分别在两个坐标系下的数据,因此将第一球心点云与第二球心点云进行匹配,可得到相应的旋转和平移矩阵,进而即可将第一点云数据与第二点云数据配准到同一坐标系下。

因此,上述三维点云数据配准方法利用标定靶作为两个视角扫描数据进行匹配的桥梁,由于标靶球面的成像畸变程度远小于平面,因此提高了配准的精确度。另外,在进行多次测量时,只需移动标定靶的位置即可,操作简单。

进一步的,在上述三维点云数据配准方法的其中一种具体实施方式中,还包括以下步骤,请参考图4。

步骤S200.获取上述目标空间在上述第一视角、上述第二视角下对应的第一二维图像数据、第二二维图像数据。

其中,第一二维图像数据、第二二维图像数据均为二维图像数据,例如灰度图像。第一二维图像数据、第二二维图像数据可以直接由该智能设备从三维扫描装置的扫描数据中提取出来,或者由其他装置另外对目标空间进行扫描得出,并将得出的第一二维图像数据、第二二维图像数据发送至该智能设备。

基于步骤S200,上述步骤S300具体包括以下步骤,请继续参考图4。

步骤S310.从上述第一二维图像数据、上述第二二维图像数据中根据设定的标靶球判断准则分别检测出所有疑似标靶球的第一二维圆心坐标、第二二维圆心坐标。其中,从第一二维图像数据中检测的所有疑似标靶球至少包括标定靶内的所有标靶球。从第二二维图像数据中检测的所有疑似标靶球至少包括标定靶内的所有标靶球。

该步骤换言之,从第一二维图像数据中根据设定的标靶球判断准则检测出所有疑似标靶球的第一二维圆心坐标,且第一二维圆心坐标为二维坐标数据;从第二二维图像数据中根据设定的标靶球判断准则检测出所有疑似标靶球的第二二维圆心坐标,且第二二维圆心坐标同样为二维坐标数据。其中,从第一二维图像数据中检测出的所有疑似标靶球除了包括标定靶内所有真实的标靶球之外,还可能包括其他非球类对象。同理,从第二二维图像数据中检测出的所有疑似标靶球除了包括标定靶内所有真实的标靶球之外,还可能包括其他非球类对象。

步骤S320.根据所有第一二维圆心坐标从第一点云数据找出包含标定靶内所有标靶球球心坐标的第一球心点云。

由于步骤S310中检测出的疑似标靶球中可能包括其他非球类对象,因此该步骤中,可以对从第一二维图像数据中检测出的所有疑似标靶球,在三维空间内通过拟合、离群点处理等措施,从而最终找出准确的标靶球球心坐标,完成三维空间内标靶球的准确定位。

步骤S330.根据所有第二二维圆心坐标从第二点云数据中找出包含标定靶内所有标靶球球心坐标的第二球心点云。

由于步骤S310中检测出的疑似标靶球中可能包括其他非球类对象,因此该步骤中,可以对从第二二维图像数据中检测出的所有疑似标靶球,在三维空间内通过拟合、离群点处理等措施,从而最终找出准确的标靶球球心坐标,完成三维空间内标靶球的准确定位。

由于二维数据与三维数据相比,运算量较少,因此步骤S300的上述实施方式根据二维数据来检测标靶球,减少了运算量,从而加快了运算速度。

具体的,上述第一二维图像数据包括第一灰度图像和第一深度图像。上述第二二维图像数据包括第二灰度图像和第二深度图像。其中,第一灰度图像和第二灰度图像均为灰度图像,灰度图像反映了物体的部分纹理和空间关系。第一深度图像和第二深度图像均为深度图像,深度图像反映了物体的空间关系和物体到三维扫描装置的距离。在此基础上,上述步骤S310的其中一种具体实施方式包括以下步骤,请参考图5。

步骤S311.分别对第一灰度图像、第二灰度图像进行阈值分割,对应得到第一灰度二值化图像、第二灰度二值化图像。

该步骤换言之,对第一灰度图像进行阈值分割得到第一灰度二值化图像;对第二灰度图像进行阈值分割得到第二灰度二值化图像。其中,阈值分割的基本原理是:通过设定不同的特征阈值,把图像象素点分为若干类。第一灰度二值化图像和第二灰度二值化图像均为二值化图像,二值化图像是指图像上的像素点的灰度值为0或255,呈现出明显的只有黑和白的视觉效果。本实施例中,由于标靶球在灰度图像中具有较高的亮度,因此通过阈值分割的方式易于将标靶球与其他特征分割开来。

步骤S312.分别计算上述第一灰度二值化图像、第二灰度二值化图像内各连通区域的圆形度,以对应检测出各疑似标靶球的第一二维圆心坐标、第二二维圆心坐标。

该步骤换言之,计算上述第一灰度二值化图像内各连通区域的圆形度,以检测出各疑似标靶球的第一二维圆心坐标;计算上述第二灰度二值化图像内各连通区域的圆形度,以检测出各疑似标靶球的第二二维圆心坐标。

其中,连通区域是指没有“洞”的区域。圆形度的计算公式为面积乘上4π除以周长的平方。上述根据圆形度而采取的检测方式可以为:设定与标靶球对应的合适阈值,当某一连通区域的圆形度大于该阈值时,则认为是疑似标靶球,进而提取出相应的圆心坐标,即第一二维圆心坐标。

具体的,步骤S312还包括以下步骤,请参考图6。

步骤S312a.分别对第一灰度二值化图像、第二灰度二值化图像进行滤波。

其中,可以利用形态学滤波或其他滤波方式对第一灰度二值化图像、第二灰度二值化图像进行滤波,以去除噪声和干扰点。

步骤S312b.分别计算滤波后的第一灰度二值化图像、滤波后的第二灰度二值化图像内各连通区域的圆形度,以对应检测出各疑似标靶球的第一二维圆心坐标、第二二维圆心坐标。

该步骤换言之,计算滤波后的第一灰度二值化图像内各连通区域的圆形度,以检测出各疑似标靶球的第一二维圆心坐标。计算滤波后的第二灰度二值化图像内各连通区域的圆形度,以检测出各疑似标靶球的第二二维圆心坐标。

接下来请继续参考图5,步骤S310还包括以下具体步骤:

步骤S313.判断上述第一灰度二值化图像内疑似标靶球的数量是否小于标定靶内标靶球的总数量,若是,执行步骤S314;否则,执行步骤S320。

如果疑似标靶球的数量小于标定靶内标靶球的总数量,代表第一灰度二值化图像中的干扰因素较多,导致丢失了一些标靶球特征。因此,本实施例针对这种情况,进一步通过步骤S314来提高检测的精确性。

步骤S314.利用局部阈值分割的方法对上述第一深度图像进行分割得到第一深度二值化图像。

其中,局部阈值分割是指将图像分割成若干子图像进行处理。由于深度图像反映了物体到三维扫描装置的距离,且标靶球所在的局部空间干扰较少,那么如果去除标靶球所在空间位置外的前景和背景,则能去除大部分干扰,因此可以利用步骤S313检测到的疑似标靶球圆心到三维扫描装置的距离信息,设置一个阈值distance1,然后将第一深度图像中距离大于distance1的像素设置为0,从而仅保留了包含疑似标靶球的局部子图像。之后对该局部子图像进行阈值分割,即可得出第一深度二值化图像。

步骤S315.计算上述第一深度二值化图像内各连通区域的圆形度,以检测出其余疑似标靶球的第一二维圆心坐标。

其中,其余的疑似标靶球是指第一灰度二值化图像由于干扰因素而丢失的标靶球特征。

步骤S316.判断上述第二灰度二值化图像内疑似标靶球的数量是否小于标定靶内标靶球的总数量,若是,执行步骤S317;否则,执行步骤S330。

如果疑似标靶球的数量小于标定靶内标靶球的总数量,代表第二灰度二值化图像中的干扰因素较多,导致丢失了一些标靶球特征。因此,本实施例针对这种情况,进一步通过步骤S317来提高检测的精确性。

步骤S317.利用局部阈值分割的方法对上述第二深度图像进行分割得到第二深度二值化图像。

其中,局部阈值分割是指将图像分割成若干子图像进行处理。由于深度图像反映了物体到激光束的距离,且标靶球所在的局部空间干扰较少,那么如果去除标靶球所在空间位置外的前景和背景,则能去除大部分干扰,因此可以利用步骤S316检测到的疑似标靶球圆心到三维扫描装置的距离信息,设置一个阈值distance2,然后将第二深度图像中距离大于distance2的像素设置为0,从而仅保留了包含疑似标靶球的局部子图像。之后对该局部子图像进行阈值分割,即可得出第二深度二值化图像。

步骤S318.计算上述第二深度二值化图像内各连通区域的圆形度,以检测出其余疑似标靶球的第二二维圆心坐标。

其中,其余的疑似标靶球是指第二灰度二值化图像由于干扰因素而丢失的标靶球特征。

因此,在上述步骤S310的具体实施方式中,通过灰度图像和深度图像来共同检测疑似标靶球,从而能够去除干扰点,提高抗干扰能力,增强了该三维点云数据配准方法的鲁棒性。可以理解的是,步骤S310的具体实现方式不限于上述情况,只要能够检测所有疑似标靶球的第一二维圆心坐标、第二二维圆心坐标即可。

具体的,上述步骤S320的其中一种具体实施方式包括以下步骤,请参考图7。

步骤S321.根据各第一二维圆心坐标从第一点云数据找出相应的第一三维球面点云,并拟合出各第一三维球面点云的球心。

其中,第一三维球面点云是对应某一疑似标靶球的球面点云。不同的第一二维圆心坐标可以找出不同的第一三维球面点云。具体的,可以先将各第一二维圆心坐标映射到三维空间,再利用标靶球的半径约束原理从第一点云数据中找出相应的球面点云。具体方式例如:对于某一第一二维圆心坐标,以其映射到三维空间的点为中心,在第一点云数据中寻找位于(r-1)cm到(r+1)cm范围内的点云(其中,r为标靶球的半径),找出的点云即为该第一二维圆心坐标对应的第一三维球面点云。具体的,可以利用采样一致性算法拟合出各第一三维球面点云的球心,从而可以得到相应的球心坐标。

步骤S322.对所有第一三维球面点云的球心进行离群点处理,得到包含标定靶内所有标靶球球心坐标的第一球心点云。

由于步骤S310中得出的所有第一二维圆心坐标中可能有错误值,这些错误的第一二维圆心坐标通过步骤S321拟合出的第一三维球面点云的球心则不是真正的标靶球球心,即为离群点,因此通过步骤S322即可去掉这些离群点。离群点处理的具体实现方式例如为:先采用基于统计的离群点检测、基于距离的离群点检测或其他离群点检测方法检测出各离群点,然后去除这些离群点,从而得出包含标定靶内所有标靶球球心坐标的第一球心点云。

可以理解的是,步骤S320的具体实现方式不限于上述情况,只要能够根据所有所述第一二维圆心坐标从第一点云数据找出包含标定靶内所有标靶球球心坐标的第一球心点云即可。

具体的,上述步骤S330的其中一种具体实施方式包括以下步骤,请参考图8。

步骤S331.根据各第二二维圆心坐标从第二点云数据找出相应的第二三维球面点云,并拟合出各第二三维球面点云的球心。

其中,第二三维球面点云是对应某一疑似标靶球的球面点云。不同的第二二维圆心坐标可以找出不同的第二三维球面点云。具体的,可以先将各第二二维圆心坐标映射到三维空间,再利用标靶球的半径约束原理从第二点云数据中找出相应的球面点云。具体方式例如:对于某一第二二维圆心坐标,以其映射到三维空间的点为中心,在第二点云数据中寻找位于(r-1)cm到(r+1)cm范围内的点云(其中,r为标靶球的半径),找出的点云即为该第二二维圆心坐标对应的第二三维球面点云。具体的,可以利用采样一致性算法拟合出各第二三维球面点云的球心,从而可以得到相应的球心坐标。

步骤S332.对所有第二三维球面点云的球心进行离群点处理,得到包含标定靶内所有标靶球球心坐标的第二球心点云。

由于步骤S310中得出的所有第二二维圆心坐标中可能有错误值,这些错误的第二二维圆心坐标通过步骤S331拟合出的第二三维球面点云的球心则不是真正的标靶球球心,即为离群点,因此通过步骤S332即可去掉这些离群点。离群点处理的具体实现方式例如为:先采用基于统计的离群点检测、基于距离的离群点检测或其他离群点检测方法检测出各离群点,然后去除这些离群点,从而得出包含标定靶内所有标靶球球心坐标的第二球心点云。

可以理解的是,步骤S330的具体实现方式不限于上述情况,只要能够根据所有第二二维圆心坐标从第二点云数据找出包含标定靶内所有标靶球球心坐标的第二球心点云即可。

具体的,步骤S400的其中一种具体实施方式包括以下步骤,请参考图9。

步骤S410.利用配准算法计算将第二球心点云配准到第一球心点云所在坐标系下的第一变换矩阵。

该步骤相当于进行点云初始配准,用于缩小第一点云数据与第二点云数据之间的旋转和平移错位,使得后续的精确配准不至于趋向错误的方向。其中,配准算法例如为ICP(Iterative Closest Point,迭代就近点)配准算法。第一变换矩阵是指相应的旋转和平移矩阵。

步骤S420.根据上述第一变换矩阵对第二点云数据进行转换。

其中,转换后的第二点云数据为第二点云数据与第一变换矩阵的乘积。

步骤S430.利用配准算法计算转换后的第二点云数据配准到第一点云数据所在坐标下的第二变换矩阵。

该步骤相当于进行精确配准,即在上述初始配准的基础上使第二点云数据配准到第一点云数据所在坐标系的精度更高。其中,配准算法例如为ICP配准算法。

步骤S440.根据上述第一变换矩阵及第二变换矩阵将第二点云数据配准到第一点云数据所在坐标系下。

因此,第二点云数据配准到第一点云数据所在坐标系的配准转换矩阵为第一转换矩阵与第二转换矩阵的乘积,故最终配准后的第二点云数据为第二点云数据与该配准转换矩阵的乘积。

进一步的,上述步骤S400的具体实现方式中,在执行步骤S420之前,还可以先分别对第一点云数据、第二点云数据进行抽稀。抽稀是指在保证矢量曲线形状不变的情况下,最大限度地减少数据点个数,以去除重复的点。对第一点云数据、第二点云数据进行抽稀处理后,减少了运算量,从而进一步提高了运算速度。可以理解的是,若第一点云数据、第二点云数据中没有重复的点或重复点的个数小于设定阈值,也可省略上述抽稀的过程。

在经过上述抽稀处理后,步骤S420即为:根据上述第一变换矩阵对抽稀后的第二点云数据进行转换,得到转换后的第二抽稀点云数据。设置第一点云数据为pCloud1、第二点云数据为pCloud2、抽稀后的第一点云数据为pCloud1_1,抽稀后的第二点云数据为pCloud2_1,那么转换后的第二抽稀点云数据pCloud2_2=pCloud2_1*T1,其中,T1为第一变换矩阵。

之后,步骤S430即为:利用配准算法计算上述转换后的第二抽稀点云数据pCloud2_2配准到抽稀后的第一点云数据pCloud1_1所在坐标系下的第二变换矩阵T2。因此,pCloud2_1配准到pCloud1_1的最终转换矩阵为:T1*T2,相当于第二点云数据pCloud2配准到第一点云数据pCloud1的最终转换矩阵为:T1*T2。

可以理解的是,步骤S400的具体实现方式不限于上述情况,只要能够根据第一球心点云与第二球心点云之间的转换关系将第一点云数据与第二点云数据配准到同一坐标系下即可。例如,也可以将第一点云数据配准到第二点云数据所在的坐标系下。

另外,基于上述的三维点云数据配准方法,另一实施例提供了一种三维点云数据拼接方法,包括以下步骤,请参考图10。

步骤S510.获取三维扫描装置分别对依次相邻的第一目标空间、第二目标空间、第三目标空间、第四目标空间扫描得到的第一点云数据、第二点云数据、第三点云数据、第四点云数据。其中,第一点云数据与第二点云数据分别由三维扫描装置以不同视角扫描得出,且均包括位于同一位置的标定靶的点云数据,标定靶包括多个标靶球。第二点云数据和第三点云数据为相同的点云。第三点云数据和第四点云数据分别由三维扫描装置以不同视角扫描得出,且均包括位于同一位置的标定靶的点云数据。

该步骤中,第一目标空间、第二目标空间、第三目标空间、第四目标空间分别可以为依次相邻的四个房间。第一点云数据与第二点云数据均包括位于同一位置的标定靶的点云数据,换言之,三维扫描装置在对第一目标空间、第二目标空间分别进行扫描时,标定靶均位于第一目标空间和第二目标空间之间的公共扫描区域的同一个位置。同理,第三点云数据和第四点云数据分别由三维扫描装置均包括位于同一位置的标定靶的点云数据,换言之,三维扫描装置在对第三目标空间、第四目标空间分别进行扫描时,标定靶均位于第三目标空间和第四目标空间之间的公共扫描区域的同一个位置。

第二点云数据与第三点云数据为相同的点云数据,例如为以下情况:三维扫描装置在对第二目标空间、第三目标空间进行扫描时,其位于第二目标空间与第三目标空间之间的公共扫描区域的同一个位置,那么三维扫描装置则以相同的视角进行这两次扫描,且在每一次扫描中三维扫描装置均能同时扫描到第二目标空间和第三目标空间,从而使得第二点云数据与第三点云数据相同。

三维扫描装置实施上述四次扫描过程可按以下方式进行:先将三维扫描装置置于第一目标空间内一个合适的位置,且将标定靶置于第一目标空间和第二目标空间之间的公共扫描区域,这时三维扫描装置扫描后即可扫描得出第一点云数据;之后,将三维扫描装置移动至第二目标空间和第三目标空间之间的公共扫描区域,且保持标定靶的位置不变,这时三维扫描装置扫描后即可扫描得出第二点云数据;之后保持三维扫描装置的位置不变,将标定靶移动至第三目标空间和第四目标空间的公共扫描区域,这时三维扫描装置扫描后即可扫描得出第三点云数据;之后,再将三维扫描装置移动至第四目标空间内的一个合适位置,并保持标定靶的位置不变,这时三维扫描装置即可扫描得出第四点云数据。

步骤S520.从上述第一点云数据、第二点云数据中分别找出第一球心点云、第二球心点云。其中,第一球心点云、所述第二球心点云均包含标定靶内所有标靶球的球心坐标。

步骤S530.根据上述第一球心点云与上述第二球心点云之间的转换关系将第一点云数据与第二点云数据配准到第一坐标系下。

由于第一目标空间和第二目标空间的公共扫描区域的同一个位置设有上述标定靶,因此第一点云数据与第二点云数据之间的配准可采用图1所示实施例提供的三维点云数据配准方法进行配准,即步骤S520、步骤S530分别可以按照上一实施例中步骤S300、步骤S400的具体方式来执行,这里就不再赘述。

步骤540.从第三点云数据、第四点云数据中分别找出第三球心点云、第四球心点云。其中,第三球心点云、第四球心点云均包含标定靶内所有标靶球的球心坐标。

由于第三目标空间和第四目标空间的公共扫描区域的同一个位置也设有该标定靶,因此步骤S540同样可以采用上一实施例提供的三维点云数据配准方法中的步骤S300的具体方式执行,这里就不再赘述。

步骤S550.根据第三球心点云与第四球心点云之间的转换关系,将第四点云数据配准到第三点云数据所在的坐标系下。

该步骤可采用上一实施例中图9提供的方式来执行,这里就不再赘述。

步骤S560.利用第三点云数据与第二点云数据之间的关系,将配准后的第四点云数据配准到第一坐标系下。

由于第三点云数据与第二点云数据相同,因此即可将步骤S550配准后的第四点云数据配准的第一坐标系下。那么,该步骤最终即可将第一点云数据、第二点云数据、第四点云数据均配准至同一坐标系(即第一坐标系)下。

步骤S570.将配准至第一坐标系下的第一点云数据、配准至第一坐标系下的第二点云数据及配准至第一坐标系下的第四点云数据拼接在一起。

该步骤即可完成第一点云数据、第二点云数据、第四点云数据之间的拼接。需要说明的是,由于第二点云数据与第三点云数据相同,因此在第二点云数据和第三点云数据中只需选择一个点云数据即可。

为了更便于说明,接下以公式的方式描述上述拼接方法。

设定步骤S530中将第二点云数据配准到第一点云数据所在的坐标系下,设置第一点云数据为pCloud1、第二点云数据为pCloud2,那么,配准到第一点云数据所在的坐标系下的第二点云数据则为T1*T2*pCloud2,其中T1、T2分别为将第二点云数据配准到第一点云数据所在坐标下的第一变换矩阵、第二变换矩阵。

之后,设置第三点云数据为pCloud3、第四点云数据为pCloud4,那么,步骤S550执行完毕得到的配准到第三点云数据所在坐标系下的第四点云数据为T3*T4**pCloud4。其中T3、T4分别为将第四点云数据配准到第三点云数据所在坐标下的第一变换矩阵、第二变换矩阵。

之后,步骤S560执行完毕后得到的配准到第一坐标系下的第四点云数据为T1*T2*T3*T4*pCloud4。最后,步骤S570执行完毕得到的拼接后的数据为pCloud=pCloud1+T1*T2*pCloud2+T1*T2*T3*T4*pCloud4。

图1、图4至图10为本发明实施例的方法的流程示意图。应该理解的是,虽然图1、图4至图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图1、图4至图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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