一种基于室内三维数据的点云配准优化方法和装置与流程

文档序号:18400942发布日期:2019-08-09 23:52阅读:177来源:国知局
一种基于室内三维数据的点云配准优化方法和装置与流程

本发明涉及计算机技术领域,特别涉及一种基于室内三维数据的点云配准优化方法和装置。



背景技术:

房源的室内三维模型构建过程中需要使用采集设备(相机等)进行数据采集,获得的深度全景图是大量离散的点数据(以相机拍摄点为原点,每个点在三维空间中的位置是离散的),而室内拍摄的特定环境决定了会有大量的平面,比如,墙面、桌面、天花板和地面等。

由于硬件设备精度的问题,在数据采集过程中,不可能保证采集到的同一平面上的点在点云中也会精确地位于同一平面内,通过相机初步拼接或现有的一些拼接方法实现的三维建模,可能会出现地面歪斜、不平整的情况。



技术实现要素:

有鉴于此,本申请提供一种基于室内三维数据的点云配准优化方法和装置,能够提高点云拼接准确率。

为解决上述技术问题,本申请的技术方案是这样实现的:

在一个实施例中提供一种基于室内三维数据的点云配准优化方法,该方法包括:

获取采集设备采集的拼接前的点云,以及用于预拼接的外参矩阵;

确定所述点云中存在阶梯的点,以及所述存在阶梯的点的阶梯高度;

基于所述用于预拼接的外参矩阵,确定所述点云中任意两点之间是否存在连接关系;将存在连接关系的点划分到同一连通域中,将不存在连接关系的点划分到不同的连通域中;

将包含点数目最多的连通域中地面法向量与y轴夹角最小的点的地面作为基准面;通过调整该连通域中的点的外参矩阵使该点的地面与所述基准面重合;

根据该基准面,以及其他连通域中的点的阶梯高度调整其它连通域中所有点的外参矩阵;

使用调整后的外参矩阵拼接所述点云;

其中,所述y轴与地面垂直,所述存在阶梯的点的地面为与采集设备中心位置的垂直高度差小于预设阈值,且与预设阈值距离差最小的面;不存在阶梯点的地面为该点高度最低的面。

在另一个实施例中,提供一种基于室内三维数据的点云配准优化装置,该装置包括:获取单元、第一确定单元、第二确定单元、调整单元和拼接单元;

所述获取单元,用于获取采集设备采集的拼接前的点云,以及用于预拼接的外参矩阵;

所述第一确定单元,用于确定所述获取单元获取的所述点云中存在阶梯的点,以及所述存在阶梯的点的阶梯高度;

所述第二确定单元,用于基于所述获取单元获取的用于预拼接的外参矩阵,确定点云中任意两点之间是否存在连接关系;将存在连接关系的点划分到同一连通域中;将不存在连接关系的点划分到不同的连通域中;

所述调整单元,用于将所述第二确定单元确定的包含点数目最多的连通域中地面法向量与y轴夹角最小的点的地面作为基准面;通过调整该连通域中的点的外参矩阵使该点的地面与所述基准面重合;根据该基准面,以及所述第一确定单元确定的其他连通域中的点的阶梯高度调整其它连通域中所有点的外参矩阵;

所述拼接单元,用于使用所述调整单元调整后的外参矩阵拼接所述点云;其中,所述y轴与地面垂直,所述存在阶梯的点的地面为与采集设备中心位置的垂直高度差小于预设阈值,且与预设阈值距离差最小的面;不存在阶梯点的地面为该点高度最低的面。

在另一实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述基于室内三维数据的点云配准优化方法的方法步骤。

由上面的技术方案可知,本申请中查找点云中存在阶梯的点,并计算存在阶梯点的阶梯高度;并将存在连接的点划分到同一连通域中,从包含点数目最多的连通域中找到地面法向量与y轴夹角最小的点,以此点的地面作为基准,对点云中的其它点的外参矩阵进行调整,使用调整后的外参矩阵对点云重新进行拼接,实现了室内三维数据的点云配准优化。该方法通过调整外参矩阵,能够提高拼接的准确率。进而克服三维建模中地面歪斜、不平整的问题。

附图说明

以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:

图1为本申请实施例中基于室内三维数据的点云配准优化流程示意图;

图2为存在阶梯高度的点对应的阶梯的示意图;

图3为确定点a和点b之间是否存在连接关系的示意图;

图4a和图4b为本发明实施例中地面旋转和平移示意图;

图5为采集设备与拼接的三维效果示意图;

图6为使用本申请提供的调整方法对图5调整后的三维效果示意图;

图7为本申请实施例中应用于上述技术的装置结构示意图。

具体实施方式

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

在室内三维数据的采集阶段,会使用专门的硬件设备,采集房间中各个拍摄点的数据,在采集设备上对各个拍摄点进行预拼接。

这样就可以获得拼接前的点云,以及各点的外参矩阵。

本申请实施例中在已预拼接点云的基础上,调整外参矩阵,实现对已拼接的点云平面的调整。

针对要拼接的点云可能存在多组,如某个方向上拍摄的点云,作为一组点云,本申请实施例中以针对一组点云的处理方式为例,对所有组点云的处理方式类似。

下面结合附图,详细说明本申请实施例中实现基于室内三维数据的点云配准优化过程。

本申请实施例中实现基于室内三维数据的点云配准优化的装置可以为具有计算处理能力的设备,如一台pc等,下文为了描述方便可以简称为优化设备。

参见图1,图1为本申请实施例中基于室内三维数据的点云配准优化流程示意图。具体步骤为:

步骤101,优化设备获取采集设备采集的拼接前的点云,以及用于预拼接的外参矩阵。

获取拼接前的点云,以及用于预拼接的外参矩阵的具体方式本申请不做限制,如可以是通过有线或无线网络从采集设备上获取,也可以是通过硬盘拷贝的方式获取。

步骤102,确定所述点云中存在阶梯的点,以及所述存在阶梯的点的阶梯高度。

本步骤中确定点云中存在阶梯的点的具体过程为:

第一步、针对点云中的每个点,确定该点高度最低的面;

确定该点高度最低的面,包括:

将该点所对应的平面中法向量与y轴夹角小于预设角度阈值的平面作为第一平面集合;

这里一个点所对应的平面指经过该点的所有平面。

确定第一平面集合中与采集设备中心垂直距离最大的平面作为该点高度最低的面。

获取拼接前的点云时,获得采集设备采集所述点云时所处位置的位置信息,即采集设备的中心点的坐标信息。

第二步、若该点高度最低的面与采集设备中心位置的垂直高度大于预设阈值,则确定该点为存在阶梯的点;

第三步、针对存在阶梯的点,确定与采集设备中心位置的垂直高度差小于预设阈值,且与预设阈值距离差最小的面作为该点的地面;

针对不存在阶梯的点,该点的高度最低的面作为地面。

第四步、计算点的地面与高度最低的面的垂直高度差值,作为该点的阶梯高度。

参见图2,图2为存在阶梯高度的点对应的阶梯的示意图。图2中以一个点的最低面与采集设备的中心位置的高度差大于预设阈值(图2中以10cm为例,具体应用中可以根据采集设备与地面的高度设置该预设阈值)为例,则说明该点存在阶梯高度,然后找到该点的地面,将地面与最低面的高度差作为该点的阶梯高度。

步骤103,基于所述用于预拼接的外参矩阵,确定所述点云中任意两点之间是否存在连接关系;将存在连接关系的点划分到同一连通域中;将不存在连接关系的点划分到不同的连通域中。

本步骤中基于预拼接的外参矩阵,确定点云中任意两点之间是否存在连接关系,包括:

以点云中的任意两个点:第一个点(点a)和第二个点(点b)为例;

通过点a的外参矩阵对点a进行变换,通过点b的外参矩阵对点b进行变换;

确定变换后的点a与点b之间是否相交,如果是,确定点a和点b之间存在连接关系;否则,确定点a和点b之间不存在连接关系。

参见图3,图3为确定点a和点b之间是否存在连接关系的示意图。假设图3中点a的外参矩阵包括的内容为:顺时针旋转90°,左平移2个单位。点b的外参矩阵包括的内容为:逆时针旋转180°,右平移1个单位。

通过点a的外参矩阵变换后的点a,与通过点b的外参矩阵变换后的点b,由图3可见转化后的两个点是存在连接关系,也就是说这两个点是相交的。

将点划分到对应连通域还可以通过如下方式实现:

将存在连接关系的点建立无向图,如点1和2存在连接关系,点2和点3存在连接关系,点4和点5存在连接关系,点5和点6存在连接关系,则点1、点2和点3建立一张无向图,点4、点5和点6建立一张无向图。

每个无向图对应一个连通域,同一张无向图中的所有点划分到一个连通域中,不同张无向图中的点划分到不同的连通域中。

步骤104,将包含点数目最多的连通域中地面法向量与y轴夹角最小的点的地面作为基准面;通过调整该连通域中的其它点的外参矩阵使其它点的地面与所述基准面重合。

本申请实施例中对点的地面的定义如下:

存在阶梯的点的地面为与采集设备中心位置的垂直高度差小于预设阈值,且与预设阈值距离差最小的面;不存在阶梯点的地面为该点高度最低的面。

本申请实施例中,所述y轴与地面垂直;x0z平面与地面平行,这里x、y、z为三维坐标,这里的地面可以为采集设备所对应的地面。

本申请实施例中按照上述处理过程,会建立多个连通域,本申请实施例中具体处理时,会将包含点数据最多的连通域作为基准连通域;

若包含点数目最多的连通域的个数大于1,则随机选择一个连通域作为基准连通域;

将基准连通域中地面法向量与y轴夹角最小的点的地面作为基准面。

本步骤中通过调整该连通域中的其它点的外参矩阵使其它点的地面与所述基准面重合,包括:

将所述地面法向量与y轴夹角最小的点记为第三个点,将该连通域中第三点之外的任一点记为第四个点;

调整第四个点的外参矩阵,使第四个点的地面与第三个点的地面重合,具体为:

确定第四个点的地面与第三个点的地面的最小夹角,使用所述最小夹角的度数更新第四个点的外参矩阵中的旋转角度;

将第四个点的地面旋转最小角度与第三个点的地面平行,在具体实现时,如果第四个点的地面针对任一轴的正方向顺时针旋转与第三个点的地面平行,则更新外参矩阵中的旋转角度时,在原旋转角度上加上最小夹角的度数;如果第四个点的地面针对任一轴的正向逆时针旋转与第三个点的地面平行,则在原旋转角度上减少最小夹角的度数。

确定使用更新后的旋转角度旋转后的第四个点的地面和第三个点的地面的高度差,并使用所述高度差更新第四个点的外参矩阵中的平移量。

如果第四个点的地面向y轴正方向平移与第三个点的地面重合,则高度差为负值;如果第四个点的地面向y轴负方向平移与第三个点的地面重合,则高度差为正值。

基于上述描述实现了包含点数目最多的连通域中的各点的外参矩阵的调整。

步骤105,根据该基准面,以及其他连通域中的点的阶梯高度调整其它连通域中所有点的外参矩阵。

以第一连通域为基准连通域,第一连通域中的第三个点的地面为基准面为例,来针对第二连通域中所有点的外参矩阵进行调整,具体如下:

第二连通域为包含点数目最多的连通域之外的任一连通域。

以第二连通域中的第五个点和第六个点的外参矩阵调整为例,其中,第五个点和第六个点为第二连通域中的任意两个点;第五个点已经确定出阶梯高度,第六个点未确定为阶梯点,不存在阶梯高度:

针对第五个点的外参矩阵的调整为:

确定第五个点的地面与第三个点的地面的最小夹角,使用该最小夹角更新第五个点的外参矩阵中的旋转角度;

将第五个点的地面旋转最小角度与第三个点的地面平行,在具体实现时,如果第五个点的地面针对任一轴的正方向顺时针旋转与第三个点的地面平行,则更新外参矩阵中的旋转角度时,在原旋转角度上加上最小夹角的度数;如果第五个点的地面针对任一轴的正向逆时针旋转与第三个点的地面平行,则在原旋转角度上减少最小夹角的度数。

确定使用更新后的旋转角度旋转后的第五个点的地面和第三个点的地面的高度差,并使用确定的高度差,以及第五个点的阶梯高度更新第五个点的外参矩阵的平移量。

在具体实现时,如果使用更新后的旋转角度旋转后的第五个点的地面以y轴正方向平移与第三个点的地面重合,则使用更新后的旋转角度旋转后的第五个点的地面与第三个点的地面的高度差为负值,以y轴负方向平移重合时,第五个点的地面与第三个点的地面的高度差为正值。

针对第六个点的外参矩阵的调整:

确定第六个点的地面与第三个点的地面的最小夹角,使用该最小夹角更新第六个点的外参矩阵中的旋转角度;

将第六个点的地面旋转最小角度与第三个点的地面平行,在具体实现时,如果第六个点的地面针对任一轴的正方向顺时针旋转与第三个点的地面平行,则更新外参矩阵中的旋转角度时,在原旋转角度上加上最小夹角的度数;如果第六个点的地面针对任一轴的正向逆时针旋转与第三个点的地面平行,则在原旋转角度上减少最小夹角的度数。

若第六个点不存在阶梯高度,则使用与第六个点处于同一连通域中存在阶梯的点的阶梯高度作为第六个点的阶梯高度,并使用确定的高度差,以及第六个点的阶梯高度更新第六个点的外参矩阵的平移量。

在具体实现时,如果使用更新后的旋转角度旋转后的第六个点的地面以y轴正方向平移与第三个点的地面重合,则使用更新后的旋转角度旋转后的第六个点的地面与第三个点的地面的高度差为负值,以y轴负方向平移重合时,第六个点的地面与第三个点的地面的高度差为正值。

步骤106,使用调整后的外参矩阵拼接所述点云。

本申请实施例中通过调整后的外参矩阵拼接预拼接之前的点云,实现针对预拼接的室内三维点云数据的点云平面调整,进而实现了室内三维数据的点云配准优化。

本申请实施例中通过调整用于拼接的外参矩阵来调整已拼接完成的点云,使用调整后的外参矩阵对点云进行拼接融合,在生成三角网格,完成模型重建的过程,可以按照现有实现方式实现。

下面结合具体实例,详细描述实现点云平面调整的过程:

假设针对一组点云有五个点:分别为点a、点b、点c、点d和点e。

针对每个点确定是否存在阶梯高度,假设确定点c存在阶梯高度,且阶梯高度为a,其它点均不存在阶梯高度,则点a、b、d和e的最低面为点a、b、d和e的地面;点c的地面为高度差小于预设阈值,且与预设阈值距离差最小的面。

确定上述五个点中任意两点之间是否存在连接,假设点a、点b和点e之间存在连接,划分到一个连通域(第一连通域)中,点c和点d之间存在连接,划分到一个连通域(第二连通域)中,第一连通域中点和第二连通域中的点之间不存在连接关系。

由于第一连通域中点数据最多,因此,以第一连通域为基准连通域,假设第一连通域中点a的地面法向量与y轴夹角最小,则使用点a的地面作为基准面,进行各连通域中的点的外参矩阵的调整:

计算点a和点b的地面高度差为bcm旋转角度差为c°;点a和点e的地面高度差为tcm,且旋转角度差为m°;

点c和点a的地面高度差为kcm,点c与点a角度差为d°;点d与点a的地面高度差为ncm,且旋转角度为z°。

对于外参矩阵(平移为y轴方向);

各点的原始外参矩阵为:

点a:平移ecm旋转f°;

点b:平移gcm旋转h°;

点c:平移icm旋转j°;

点d:平移scm,旋转a°;

点e:平移pcm,旋转o°。

各点调整后的外参矩阵为:

点a:平移ecm,旋转f°

点b:平移g+bcm,旋转(h+c)°

点c:平移g+k+acm,旋转(j+d)°

点d:平移s+k+ncm,旋转(a+z)°;

点e:平移p+tcm,旋转(o+m)°。

其中,点d虽然不存在阶梯高度,但是点d与点c属于同一连通域,则点d的阶梯高度确定为与点c相同。

图4a和图4b为本发明实施例中地面旋转和平移示意图。其中,图4b为点b的地面与点a地面夹角示意图;图4a为点b的地面与点a地面的高度差示意图。

先见图4a所示,点b的地面为地面b,点a的地面为地面a,地面b旋转到与地面a平行,需要旋转的最小夹角假设为c°,图4a所示以x轴方向为轴,顺时针旋转,则上述增加c°时,增加的角度值为正值;若方向相反,则确定为负值。

再见图4b所示,以图4a中的地面a和旋转后的地面b为例,旋转后的地面b需沿着y轴正方向平移两个地面的高度差(b的绝对值)与旋转后的地面a重合,则外参矩阵增加的b值为负值;若需沿y轴负方向平移,则外参矩阵中平移量增加的值为正值。

本申请上述实施例中通过查找点云中存在阶梯的点,并计算存在阶梯点的阶梯高度;并将存在连接的点划分到同一连通域中,从包含点数目最多的连通域中找到地面法向量与y轴夹角最小的点,以此点的地面作为基准,对点云中的其它点的外参矩阵进行调整,使用调整后的外参矩阵对点云重新进行拼接。该方法通过调整外参矩阵,能够提高拼接的准确率。进而克服三维建模中地面歪斜、不平整的问题。

参见图5,图5为采集设备与拼接的三维效果示意图。

由图5可以看出,接近地面的部分有很多地方是歪斜的,不平整的,视觉效果不好。

参见图6,图6为使用本申请提供的调整方法对图5调整后的三维效果示意图。

图6与图5相比,整个三维效果图的边缘部分比较平整,也比较对齐。

基于同样的发明构思,本申请实施例中还提供一种基于室内三维数据的点云配准优化装置。参见图7,图7为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:获取单元701、第一确定单元702、第二确定单元703、调整单元704和拼接单元705;

获取单元701,用于获取采集设备采集的拼接前的点云,以及用于预拼接的外参矩阵;

第一确定单元702,用于确定获取单元701获取的点云中存在阶梯的点,以及存在阶梯的点的阶梯高度;

第二确定单元703,用于基于获取单元701获取的预拼接的外参矩阵,确定点云中任意两点之间是否存在连接关系;将存在连接关系的点划分到同一连通域中;将不存在连接关系的点划分到不同的连通域中;

调整单元704,用于将第二确定单元703确定的包含点数目最多的连通域中地面法向量与y轴夹角最小的点的地面作为基准面;通过调整该连通域中的点的外参矩阵使该点的地面与所述基准面重合;根据该基准面,以及第一确定单元702确定的其他连通域中的点的阶梯高度调整其它连通域中所有点的外参矩阵;

拼接单元705,用于使用调整单元704调整后的外参矩阵拼接所述点云;其中,y轴与地面垂直,存在阶梯的点的地面为与采集设备中心位置的垂直高度差小于预设阈值,且与预设阈值距离差最小的面;不存在阶梯点的地面为该点高度最低的面。

优选地,

第一确定单元702,具体用于确定所述点云中存在阶梯的点,以及存在阶梯的点的阶梯高度时,针对点云中的每个点,确定该点高度最低的面;若该点高度最低的面与采集设备中心位置的垂直高度大于预设阈值,则确定该点为存在阶梯的点;计算存在阶梯的点的地面与高度最低的面的垂直高度差值,作为该点的阶梯高度。

优选地,

第一确定单元702,具体用于确定该点高度最低的面时,将该点所对应的平面中法向量与y轴夹角小于预设角度阈值的平面作为第一平面集合;确定第一平面集合中与采集设备中心垂直距离最大的平面作为该点高度最低的面。

优选地,

第二确定单元703,具体用于基于预拼接的外参矩阵,确定点云中任意两点之间是否存在连接关系时,通过第一个点的外参矩阵对第一个点进行变换,通过第二个点的外参矩阵对第二个点进行变换;确定变换后的第一个点与第二个点之间是否相交,如果是,确定第一个点和第二个点之间存在连接关系;否则,确定第一个点和第二个点之间不存在连接关系;其中,第一个点和第二个点为点云中的任意两个点。

优选地,

调整单元704,具体用于通过调整该连通域中的点的外参矩阵使该点的地面与所述基准面重合时,将所述地面法向量与y轴夹角最小的点记为第三个点,将该连通域中第三点之外的任一点记为第四个点;确定第四个点的地面与第三个点的地面的最小夹角,使用所述最小夹角的度数更新第四个点的外参矩阵中的旋转角度;确定使用更新后的旋转角度旋转后的第四个点的地面和第三个点的地面的高度差,并使用所述高度差更新第四个点的外参矩阵中的平移量。

优选地,

调整单元704,具体用于根据该基准面,以及其他连通域中的点的阶梯高度调整其它连通域中所有点的外参矩阵时,将包含点数目最多的连通域之外的任一连通域中的任一点记为第五个点;确定第五个点的地面与第三个点的地面的最小夹角,使用该最小夹角更新第五个点的外参矩阵中的旋转角度;确定使用更新后的旋转角度旋转后的第五个点的地面和第三个点的地面的高度差,若第五个点存在阶梯高度,则使用确定的高度差,以及第五个点的阶梯高度更新第五个点的外参矩阵的平移量。

优选地,

调整单元704,进一步用于若确定第五个点不存在阶梯高度,则使用与第五个点处于同一连通域中存在阶梯的点的阶梯高度作为第五个点的阶梯高度,并使用确定的高度差,以及第五个点的阶梯高度更新第五个点的外参矩阵的平移量。

上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。

此外,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述基于室内三维数据的点云配准优化方法的方法步骤。

综上所述,本申请通过查找点云中存在阶梯的点,并计算存在阶梯点的阶梯高度;并将存在连接的点划分到同一连通域中,从包含点数目最多的连通域中找到地面法向量与y轴夹角最小的点,以此点的地面作为基准,对点云中的其它点的外参矩阵进行调整,使用调整后的外参矩阵对点云重新进行拼接,实现了室内三维数据的点云配准优化。该方法通过调整外参矩阵,能够提高拼接的准确率。进而克服三维建模中地面歪斜、不平整的问题。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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