掌桥专利:专业的专利平台
掌桥专利
首页

一种点云拼接方法、装置、设备和存储介质

文献发布时间:2023-06-19 11:26:00


一种点云拼接方法、装置、设备和存储介质

技术领域

本发明涉及点云数据拼接技术领域,尤其涉及一种点云拼接方法、装置、设备和存储介质。

背景技术

随着工业界中3D传感器的广泛使用,围绕三维点云的应用越来越多。在使用三维激光扫描仪获取配电房点云时,受通视条件的限制,通常需要多站才能获取完整的配电房点云。点云拼接是为了获取不同站点的点云数据间的相对移动与转动,将从不同位置、不同姿态获取的独立坐标系下的点云数据进行坐标转换,变换到统一坐标系中,以实现不同站点的点云数据拼接,最终获得完整统一的配电房三维点云数据。

点云数据拼接技术主要可分为基于测量设备的拼接、基于辅助标识的拼接和基于公共点云的自动拼接等方法。基于测量设备的点云拼接是在扫描设备上搭载具有6个自由度的精密移动设备,以记录不同站点的点云数据之间的相对移动或转动;而基于辅助标识拼接方法,目前主要是布设人工控制标靶如平面标靶、球形标靶等,或者通过人工交互选取不同站点的点云间的同名特征,在内业中进行标靶识别或特征提取,最终获得不同站点的点云数据之间的相对移动或转动;基于公共点云的自动拼接主要是用算法搜索出多站点云中用于拼接的公共特征点云,从而计算出两坐标系间的平移及旋转参数,因不需要额外的辅助即可完成拼接。

但上述点云数据拼接方法由于所使用的设备成本较高,在配电房区域难以合理布设标靶,且公共特征点云包含较少几何信息,稳定性欠佳,在拼接过程中容易出现匹配错误。

发明内容

本发明提供了一种点云拼接方法、装置、设备和存储介质,解决了现有技术由于点云扫描设备成本较高,且在配电房区域难以获取到准确且稳定的点云数据所导致的点云拼接精确度较低的技术问题。

本发明第一方面提供了一种点云拼接方法,应用于三维激光扫描仪,所述三维激光扫描仪包括设有第一编码器的履带组件、设有第二编码器的可升降支架和点云扫描组件,所述方法包括:

当接收到扫描指令时,通过所述点云扫描组件在预设初始位置采集第一点云数据;

根据所述第一点云数据,确定遮掩区域并移动至所述遮掩区域;

当所述三维激光扫描仪移动时,按预定时间间隔读取所述第一编码器的第一脉冲数和所述第二编码器的第二脉冲数;

根据所述第一点云数据、所述第一脉冲数和所述第二脉冲数,确定在所述遮掩区域内的停止位置和初始变换矩阵;

根据所述第一点云数据和通过所述点云扫描组件在所述停止位置采集第二点云数据,优化所述初始变换矩阵,得到目标变换矩阵;

采用所述目标变换矩阵将将所述第二点云数据对应的初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到目标点云坐标。

可选地,所述根据所述第一点云数据,确定遮掩区域并移动至所述遮掩区域的步骤,包括:

将所述第一点云数据划分为多个网格;

分别检测每个所述网格的点云密度;

若所述点云密度小于预设密度阈值,则判定所述网格所对应的区域为遮掩区域;

移动所述三维激光扫描仪至所述遮掩区域。

可选地,所述根据所述第一点云数据、所述第一脉冲数和所述第二脉冲数,确定在所述遮掩区域内的停止位置和初始变换矩阵的步骤,包括:

根据所述第一脉冲数在所述预定时间间隔的第一差值,结合所述履带组件的履带轮直径,确定每个所述预定时间间隔内的履带移动量;

根据所述第二脉冲数在所述预定时间间隔内的第二差值,结合所述可升降支架的升降驱动轮直径,确定每个所述预定时间间隔内的支架移动量;

根据所述履带移动量确定每个所述预定时间间隔内的方位角变化量;

累加所有所述方位角变化量,确定所述点云扫描组件的方位角;

根据所述第一点云数据的点云坐标、所述履带移动量、所述支架移动量和所述方位角,确定在所述遮掩区域内的停止位置;

采用所述方位角构建初始变换矩阵。

可选地,所述履带组件包括左履带和右履带;所述根据所述履带移动量确定每个所述预定时间间隔内的方位角变化量的步骤,包括:

计算所述左履带的履带移动量与所述右履带的履带移动量的第三差值;

获取所述左履带和所述右履带之间的履带间距;

根据所述第三差值和所述履带间距,确定每个所述预定时间间隔内的方位角变化量。

可选地,所述根据所述第一点云数据和通过所述点云扫描组件在所述停止位置采集第二点云数据,优化所述初始变换矩阵,得到目标变换矩阵的步骤,包括:

通过所述点云扫描组件在所述停止位置采集第二点云数据;

采用所述初始变换矩阵将所述第二点云数据对应的所述初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到中间点云坐标;

根据所述第一点云数据的点云坐标和所述中间点云坐标,优化所述初始变换矩阵,得到目标变换矩阵。

可选地,所述根据所述第一点云数据的点云坐标和所述中间点云坐标,优化所述初始变换矩阵,得到目标变换矩阵的步骤,包括:

采用预设的RANSAC算法从所述第一点云数据的点云坐标和所述中间点云坐标中分别提取初始平面;

获取所述初始平面中的点云数据作为点集平面;

对所述点集平面进行主成分分析,得到所述点集平面所投影的外接矩形;

计算所述外接矩形的几何中心和单位法向量;

将所述几何中心满足第一预设密度阈值和所述单位法向量满足第二预设密度阈值的外接矩形确定为同名平面;

计算多个不平行的所述同名平面之间的距离;

以距离平方和最小为准则,所述目标变换矩阵为未知数进行迭代求解,得到目标变化矩阵。

可选地,所述方法还包括:

当存在重叠的所述目标点云坐标时,删除重叠的所述目标点云坐标。

本发明第二方面还提供了一种点云拼接装置,应用于三维激光扫描仪,所述三维激光扫描仪包括设有第一编码器的履带组件、设有第二编码器的可升降支架和点云扫描组件,所述装置包括:

采集模块,用于当接收到扫描指令时,通过所述点云扫描组件在预设初始位置采集第一点云数据;

移动模块,用于根据所述第一点云数据,确定遮掩区域并移动至所述遮掩区域;

脉冲数读取模块,用于当所述三维激光扫描仪移动时,按预定时间间隔读取所述第一编码器的第一脉冲数和所述第二编码器的第二脉冲数;

停止位置确定模块,用于根据所述第一点云数据、所述第一脉冲数和所述第二脉冲数,确定在所述遮掩区域内的停止位置和初始变换矩阵;

变换矩阵优化模块,用于根据所述第一点云数据和通过所述点云扫描组件在所述停止位置采集第二点云数据,优化所述初始变换矩阵,得到目标变换矩阵;

坐标转换模块,用于采用所述目标变换矩阵将将所述第二点云数据对应的初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到目标点云坐标。

本发明第三方面还提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明第一方面任一项所述的点云拼接方法的步骤。

本发明第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现如本发明第一方面任一项所述的点云拼接方法。

从以上技术方案可以看出,本发明具有以下优点:

当三维激光扫描仪接收到扫描指令时,通过点云扫描组件在预设初始位置采集第一点云数据;根据第一点云数据,确定遮掩区域并移动三维激光扫描仪至遮掩区域;当移动三维激光扫描仪时,按预定时间间隔读取第一编码器的第一脉冲数和第二编码器的第二脉冲数;根据第一点云数据、第一脉冲数和第二脉冲数,确定三维激光扫描仪在遮掩区域内的停止位置和初始变换矩阵;根据第一点云数据和通过点云扫描组件在停止位置采集的第二点云数据,优化初始变换矩阵,得到目标变换矩阵;采用目标变换矩阵将将第二点云数据对应的初始点云坐标转换至第一点云数据所处的三维坐标系,得到目标点云坐标。从而解决现有技术由于点云扫描设备成本较高,且在配电房区域难以获取到准确且稳定的点云数据所导致的点云拼接精确度较低的技术问题,降低点云扫描成本,提高点云数据获取的准确度和稳定性,提高点云拼接的精确度。

附图说明

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

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

图2为本发明实施例二提供的一种点云拼接方法的步骤流程图;

图3为本发明实施例二提供的坐标变换示意图;

图4为本发明实施例三提供的一种点云拼接装置的结构框图。

具体实施方式

本发明实施例提供了一种点云拼接方法、装置、设备和存储介质,用于解决现有技术由于点云扫描设备成本较高,且在配电房区域难以获取到准确且稳定的点云数据所导致的点云拼接精确度较低的技术问题。

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

请参阅图1,图1为本发明实施例一提供的一种点云拼接方法的步骤流程图。

本发明提供的一种点云拼接方法,应用于三维激光扫描仪,所述三维激光扫描仪包括设有第一编码器的履带组件、设有第二编码器的可升降支架和点云扫描组件,所述方法包括:

步骤101,当接收到扫描指令时,通过所述点云扫描组件在预设初始位置采集第一点云数据;

点云扫描组件指的是采用一束激光照射到物体表面,从所反射的激光得到方位、距离等信息,以获取到物体表面的点云数据的测量仪器。其原理在于将激光束按照某种轨迹进行扫描,通过边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。

在本发明实施例中,当用户需要对配电房进行扫描时,可以发送扫描指令到三维激光扫描仪,当其接收到扫描指令时,通过自身携带的点云扫描组件在仪器当前的预设初始位置开始采集点云数据,以得到预设初始位置对应的第一点云数据。

值得一提的是,第一编码器和第二编码器可以为增量式编码器,可以将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。

步骤102,根据所述第一点云数据,确定遮掩区域并移动至所述遮掩区域;

在得到了第一点云数据后,由于第一点云数据仅是预设初始位置点云扫描组件所扫描得到的,而在实际环境中,配电房由于设备的设置位置影响,可能存在某些区域无法在预设初始位置扫描得到的。此时可以根据第一点云数据所显示的物体内容,以此确定遮掩区域,并移动三维激光扫描仪到该遮掩区域,以便于获取到更为详尽的点云数据。

步骤103,当所述三维激光扫描仪移动时,按预定时间间隔读取所述第一编码器的第一脉冲数和所述第二编码器的第二脉冲数;

在三维激光扫描仪移动到遮掩区域的过程中,可以存在扫描角度和扫描高度的变更,而履带组件设有第一编码器、可升降支架设有第二编码器。可以按照预定时间间隔读取第一编码器的第一脉冲数和第二编码器的第二脉冲数,以进一步确定三维激光扫描仪在移动过程中的角度变化情况和位置变化情况,以及在遮掩区域内的位置。

步骤104,根据所述第一点云数据、所述第一脉冲数和所述第二脉冲数,确定在所述遮掩区域内的停止位置和初始变换矩阵;

在具体实现中,可以根据第一脉冲数和第二脉冲数,确定三维激光扫描仪在遮掩区域内的停止位置的坐标,结合第一点云数据将停止位置的坐标变换至同一坐标系,以得到初始变化矩阵。

步骤105,根据所述第一点云数据和通过所述点云扫描组件在所述停止位置采集第二点云数据,优化所述初始变换矩阵,得到目标变换矩阵;

在三维激光扫描仪到达停止位置后,采用点云扫描组件在停止位置进行第二点云数据的采集,在得到第二点云数据后,由于第二点云数据所处的坐标系与第一点云数据所处的坐标系并不相同,可以采用初始变换矩阵对其进行粗拼接,以得到在同一坐标系下的粗拼接点云数据;再根据粗拼接点云数据对初始变换矩阵进行进一步优化,以得到目标变换矩阵。

步骤106,采用所述目标变换矩阵将将所述第二点云数据对应的初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到目标点云坐标。

在得到目标变换矩阵后,可以重新对第二点云数据对应的初始点云坐标进行转换,以得到与第一点云数据在同一坐标系下的目标点云坐标。

值得一提的是,遮掩区域可以包括多个停止位置,在每个停止位置都可以采集得到第二点云数据。

在本发明实施例中,当三维激光扫描仪接收到扫描指令时,通过点云扫描组件在预设初始位置采集第一点云数据;根据第一点云数据,确定遮掩区域并移动三维激光扫描仪至遮掩区域;当移动三维激光扫描仪时,按预定时间间隔读取第一编码器的第一脉冲数和第二编码器的第二脉冲数;根据第一点云数据、第一脉冲数和第二脉冲数,确定三维激光扫描仪在遮掩区域内的停止位置和初始变换矩阵;根据第一点云数据和通过点云扫描组件在停止位置采集的第二点云数据,优化初始变换矩阵,得到目标变换矩阵;采用目标变换矩阵将将第二点云数据对应的初始点云坐标转换至第一点云数据所处的三维坐标系,得到目标点云坐标。从而解决现有技术由于点云扫描设备成本较高,且在配电房区域难以获取到准确且稳定的点云数据所导致的点云拼接精确度较低的技术问题,降低点云扫描成本,提高点云数据获取的准确度和稳定性,提高点云拼接的精确度。

请参阅图2,图2为本发明实施例二提供的一种点云拼接方法的步骤流程图。

为提高三维激光扫描仪的使用灵活性,可以在点云扫描组件的基础上安装设有第一编码器的履带组件,以及设有第二编码器的可升降支架,以提供三维激光扫描仪的可移动功能和可升降功能。其中,履带组件可以包括左右履带,每个履带上都设有第一编码器,可升降支架上设置有第二编码器,第一编码器和第二编码器可以持续输出脉冲。在连续等时间间隔内获取第一编码器的累积脉冲数,从而计算每个履带在该时间间隔内的移动距离;同时在连续等时间间隔内获取第二编码器的累积脉冲数,计算得升降距离。根据移动距离和升降距离,能够计算三维激光扫描仪在移动后的位置和方向角变化值。

本发明提供的一种点云拼接方法,应用于三维激光扫描仪,所述三维激光扫描仪包括设有第一编码器的履带组件、设有第二编码器的可升降支架和点云扫描组件,所述方法包括:

步骤201,当接收到扫描指令时,通过所述点云扫描组件在预设初始位置采集第一点云数据;

在本发明实施例中,当三维激光扫描仪接收到扫描指令时,说明用户需要对三维激光扫描仪当前所在的房间进行点云数据的扫描,此时可以通过三维激光扫描仪上的点云扫描组件在三维激光扫描仪所在的预设初始位置进行点云数据的扫描,以采集到第一点云数据。

值得一提的是,在采集到第一点云数据时,还可以预设初始位置作为原点,以点云扫描仪零方向为X轴方向,方向角为零,建立三维坐标系,以便于后续将遮掩区域中的各个停止位置的点云坐标转换至该三维坐标系中实现不同位置的点云数据拼接。

步骤202,根据所述第一点云数据,确定遮掩区域并移动至所述遮掩区域;

可选地,步骤202可以包括以下子步骤S11-S14:

S11、将所述第一点云数据划分为多个网格;

S12、分别检测每个所述网格的点云密度;

S13、若所述点云密度小于预设密度阈值,则判定所述网格所对应的区域为遮掩区域;

S14、移动所述三维激光扫描仪至所述遮掩区域。

在本发明实施例中,由于不同物体在不同距离的点云密度有所不同,为确定遮掩区域可以将第一点云数据划分为多个网格,通过分别检测每个网格内的点云密度,若是点云密度小于预设密度阈值,则可以判定该网格所对应的区域为遮掩区域。

在具体实现中,还可以将第一点云数据按照点云密度划分为多个区域,将点云相差超过预设密度阈值的区域中的点云密度较小的区域确定为遮掩区域。

其中,预设密度阈值可由技术人员进行设定。

步骤203,当所述三维激光扫描仪移动时,按预定时间间隔读取所述第一编码器的第一脉冲数和所述第二编码器的第二脉冲数;

在实际操作中,当移动三维激光扫描仪从预设初始位置到遮掩区域时,由于三维激光扫描仪在移动过程中可能并不是以直线行驶而是需要转向,此时会导致点云扫描组件的方位角的改变,可以按照预定时间间隔读取第一编码器的第一脉冲数,以确定点云扫描组件的方位角变化;以及点云扫描组件可能需要上升下降以获取不同高度的点云数据,此时可以按预定时间间隔读取第二编码器的第二脉冲数。

其中,预定时间间隔可以为20-100ms,或可由技术人员进行设定,本发明实施例对此不作限制。

步骤204,根据所述第一点云数据、所述第一脉冲数和所述第二脉冲数,确定在所述遮掩区域内的停止位置和初始变换矩阵;

在本发明的一个示例中,步骤204可以包括以下子步骤S21-S26:

S21、根据所述第一脉冲数在所述预定时间间隔的第一差值,结合所述履带组件的履带轮直径,确定每个所述预定时间间隔内的履带移动量;

在具体实现中,履带组件包括有左履带和右履带,可以分别获取左右履带在预定时间间隔前后的第一脉冲数,计算第一脉冲数在预定时间间隔的第一差值,再结合履带轮直径,以确定每个所述预定时间间隔内的履带移动量。

具体地,可以通过以下公式计算每个履带的履带移动量:

ΔL

ΔR

其中,LM

S22、根据所述第二脉冲数在所述预定时间间隔内的第二差值,结合所述可升降支架的升降驱动轮直径,确定每个所述预定时间间隔内的支架移动量;

在本发明实施例中,可以采用预定时间间隔前后读取得到的第二脉冲数,计算第二脉冲数在预定时间间隔内的第二差值,结合可升降支架的升降驱动轮直径,以确定三维激光扫描仪在每个所述预定时间间隔内的支架移动量。

在具体实现中,还可以通过以下公式实现:

ΔH

其中,ΔH

S23、根据所述履带移动量确定每个所述预定时间间隔内的方位角变化量;

进一步的,所述履带组件包括左履带和右履带;步骤S23可以包括以下子步骤S231-S233:

S231、计算所述左履带的履带移动量与所述右履带的履带移动量的第三差值;

S232、获取所述左履带和所述右履带之间的履带间距;

S233、根据所述第三差值和所述履带间距,确定每个所述预定时间间隔内的方位角变化量。

在本发明实施例中,可以通过计算左履带的履带移动量与右履带的履带移动量之差作为第三差值,同时获取左右履带之间的履带间距,根据第三差值和履带间距,确定三维激光扫描仪在每个预定时间间隔内的方位角变化量。

在具体实现中,在得到左履带的履带移动量ΔL

S24、累加所有所述方位角变化量,确定所述点云扫描组件的方位角;

在具体实现中,在得知每个方位角变化量后,可以通过累加每个预定时间间隔内的方位角变化量,以得到三维激光扫描仪在停止位置的方位角,具体地可以通过以下任一公式实现:

其中,A

S25、根据所述第一点云数据的点云坐标、所述履带移动量、所述支架移动量和所述方位角,确定在所述遮掩区域内的停止位置;

请参见图3,图3示出了本发明实施例二中的坐标变换示意图。

在本发明实施例中,可以采用上述得到的点云坐标、履带移动量、支架移动量和方位角进行进一步的坐标计算,以确定三维激光扫描仪在遮掩区域内的停止位置的坐标T

具体地,可以通过以下公式实现:

其中,X

S26、采用所述方位角构建初始变换矩阵。

在本发明实施例中,在得到三维激光扫描仪在停止位置的方位角后,可以采用该方位角构建初始变换矩阵R,其表示形式如下:

步骤205,通过所述点云扫描组件在所述停止位置采集第二点云数据;

在本发明实施例中,可以通过点云扫描组件在停止位置采集的第二点云数据,第二点云数据的表达形式可以为Q(x

步骤206,采用所述初始变换矩阵将所述第二点云数据对应的所述初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到中间点云坐标;

在具体实现中,可以采用上述构建的初始变换矩阵R对第二点云数据Q(x

步骤207,根据所述第一点云数据的点云坐标和所述中间点云坐标,优化所述初始变换矩阵,得到目标变换矩阵。

在本发明可选实施例中,步骤207可以包括以下子步骤S31-S37:

S31、采用预设的RANSAC算法从所述第一点云数据的点云坐标和所述中间点云坐标中分别提取初始平面;

S32、获取所述初始平面中的点云数据作为点集平面;

S33、对所述点集平面进行主成分分析,得到所述点集平面所投影的外接矩形;

S34、计算所述外接矩形的几何中心和单位法向量;

S35、将所述几何中心满足第一预设密度阈值和所述单位法向量满足第二预设密度阈值的外接矩形确定为同名平面;

S36、计算多个不平行的所述同名平面之间的距离;

S37、以距离平方和最小为准则,所述目标变换矩阵为未知数进行迭代求解,得到目标变化矩阵。

在本发明实施例中,可以采用RANSAC算法从第一点云数据的点云坐标和中间点云坐标中提取初始平面,对属于同一个初始平面的点集平面进行主成分分析,将第一和第二主成分方向分别作为长和宽的方向,构建点集平面投影得到的外接矩形,计算外接矩形的几何中心、单位法向量。依据外接矩形的几何中心与单位法向量分别与第一预设密度阈值和第二预设密度阈值的比较,确定并保留第一点云数据的点云坐标和中间点云坐标中对应同名平面,删除无法对应的平面基元。

在具体实现中,可以找到多对以上不平行的同名平面,计算同名平面基元间的距离,以距离平方和最小为准则,以坐标变换参数为未知数,迭代求解,收敛后的最优变换参数,从而实现相邻两站点云的精确拼接。

RANSAC算法,RANSAC为Random Sample Consensus的缩写,是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。①考虑一个最小抽样集的势为n的模型(n为初始化模型参数所需的最小样本数)和一个样本集P,集合P的样本数#(P)>n,从P中随机抽取包含n个样本的P的子集S初始化模型M;②余集SC=P\S中与模型M的误差小于某一设定阈值t的样本集以及S构成S*。S*认为是内点集,它们构成S的一致集(Consensus Set);③若#(S*)≥N,认为得到正确的模型参数,并利用集S*(内点inliers)采用最小二乘等方法重新计算新的模型M*;重新随机抽取新的S,重复以上过程。④在完成一定的抽样次数后,若未找到一致集则算法失败,否则选取抽样后得到的最大一致集判断内外点,算法结束。

步骤208,采用所述目标变换矩阵将将所述第二点云数据对应的初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到目标点云坐标。

在得到目标变换矩阵后,可以重新对第二点云数据对应的初始点云坐标进行转换,以得到与第一点云数据在同一坐标系下的目标点云坐标。

步骤209,当存在重叠的所述目标点云坐标时,删除重叠的所述目标点云坐标。

在本发明实施例中,在得到全部目标点云坐标后,在多个坐标系的点云数据转换的过程中,可能存在某些目标点云坐标重复扫描,导致目标点云坐标重叠,此时可以删除重叠的目标点云坐标,以保证目标点云坐标的唯一性。

在本发明实施例中,当三维激光扫描仪接收到扫描指令时,通过点云扫描组件在预设初始位置采集第一点云数据;根据第一点云数据,确定遮掩区域并移动三维激光扫描仪至遮掩区域;当移动三维激光扫描仪时,按预定时间间隔读取第一编码器的第一脉冲数和第二编码器的第二脉冲数;根据第一点云数据、第一脉冲数和第二脉冲数,确定三维激光扫描仪在遮掩区域内的停止位置和初始变换矩阵;根据第一点云数据和通过点云扫描组件在停止位置采集的第二点云数据,优化初始变换矩阵,得到目标变换矩阵;采用目标变换矩阵将将第二点云数据对应的初始点云坐标转换至第一点云数据所处的三维坐标系,得到目标点云坐标。从而解决现有技术由于点云扫描设备成本较高,且在配电房区域难以获取到准确且稳定的点云数据所导致的点云拼接精确度较低的技术问题,降低点云扫描成本,提高点云数据获取的准确度和稳定性,提高点云拼接的精确度。

请参阅图4,图4为本发明实施例三提供的一种点云拼接装置的结构框图。

本发明提供的一种点云拼接装置,应用于三维激光扫描仪,所述三维激光扫描仪包括设有第一编码器的履带组件、设有第二编码器的可升降支架和点云扫描组件,所述装置包括:

采集模块401,用于当接收到扫描指令时,通过所述点云扫描组件在预设初始位置采集第一点云数据;

移动模块402,用于根据所述第一点云数据,确定遮掩区域并移动至所述遮掩区域;

脉冲数读取模块403,用于当所述三维激光扫描仪移动时,按预定时间间隔读取所述第一编码器的第一脉冲数和所述第二编码器的第二脉冲数;

停止位置确定模块404,用于根据所述第一点云数据、所述第一脉冲数和所述第二脉冲数,确定在所述遮掩区域内的停止位置和初始变换矩阵;

变换矩阵优化模块405,用于根据所述第一点云数据和通过所述点云扫描组件在所述停止位置采集第二点云数据,优化所述初始变换矩阵,得到目标变换矩阵;

坐标转换模块406,用于采用所述目标变换矩阵将将所述第二点云数据对应的初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到目标点云坐标。

可选地,所述移动模块402,包括:

网格划分子模块,用于将所述第一点云数据划分为多个网格;

点云密度检测子模块,用于分别检测每个所述网格的点云密度;

遮掩区域确定子模块,用于若所述点云密度小于预设密度阈值,则判定所述网格所对应的区域为遮掩区域;

移动子模块,用于移动所述三维激光扫描仪至所述遮掩区域。

可选地,所述停止位置确定模块404,包括:

履带移动量确定子模块,用于根据所述第一脉冲数在所述预定时间间隔的第一差值,结合所述履带组件的履带轮直径,确定每个所述预定时间间隔内的履带移动量;

支架移动量确定子模块,用于根据所述第二脉冲数在所述预定时间间隔内的第二差值,结合所述可升降支架的升降驱动轮直径,确定每个所述预定时间间隔内的支架移动量;

方位角变化量确定子模块,用于根据所述履带移动量确定每个所述预定时间间隔内的方位角变化量;

变化量累加子模块,用于累加所有所述方位角变化量,确定所述点云扫描组件的方位角;

停止位置确定子模块,用于根据所述第一点云数据的点云坐标、所述履带移动量、所述支架移动量和所述方位角,确定在所述遮掩区域内的停止位置;

初始变换矩阵构建子模块,用于采用所述方位角构建初始变换矩阵。

可选地,所述履带组件包括左履带和右履带;所述方位角变化量确定子模块,包括:

履带移动量差值计算单元,用于计算所述左履带的履带移动量与所述右履带的履带移动量的第三差值;

履带间距单元,用于获取所述左履带和所述右履带之间的履带间距;

方位角变化量确定单元,用于根据所述第三差值和所述履带间距,确定每个所述预定时间间隔内的方位角变化量。

可选地,所述变换矩阵优化模块405,包括:

第二点云数据获取子模块,用于通过所述点云扫描组件在所述停止位置采集第二点云数据;

中间坐标转换子模块,用于采用所述初始变换矩阵将所述第二点云数据对应的所述初始点云坐标转换至所述第一点云数据所处的三维坐标系,得到中间点云坐标;

矩阵优化子模块,用于根据所述第一点云数据的点云坐标和所述中间点云坐标,优化所述初始变换矩阵,得到目标变换矩阵。

可选地,所述矩阵优化子模块,包括:

初始平面提取单元,用于采用预设的RANSAC算法从所述第一点云数据的点云坐标和所述中间点云坐标中分别提取初始平面;

点集平面确定单元,用于获取所述初始平面中的点云数据作为点集平面;

主成分分析单元,用于对所述点集平面进行主成分分析,得到所述点集平面所投影的外接矩形;

外接矩阵参数计算单元,用于计算所述外接矩形的几何中心和单位法向量;

同名平面确定单元,用于将所述几何中心满足第一预设密度阈值和所述单位法向量满足第二预设密度阈值的外接矩形确定为同名平面;

平面距离计算单元,用于计算多个不平行的所述同名平面之间的距离;

迭代优化单元,用于以距离平方和最小为准则,所述目标变换矩阵为未知数进行迭代求解,得到目标变化矩阵。

可选地,所述装置还包括:

重叠点云删除模块,用于当存在重叠的所述目标点云坐标时,删除重叠的所述目标点云坐标。

本发明实施例还提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明任一实施例所述的点云拼接方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现如本发明任一实施例所述的点云拼接方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种点云拼接方法、装置、设备和存储介质
  • 点云拼接质量的检测方法、装置、设备及存储介质
技术分类

06120112922051