CN113516750A - 三维点云地图构建方法、系统、电子设备及存储介质 - Google Patents
三维点云地图构建方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113516750A CN113516750A CN202110736465.3A CN202110736465A CN113516750A CN 113516750 A CN113516750 A CN 113516750A CN 202110736465 A CN202110736465 A CN 202110736465A CN 113516750 A CN113516750 A CN 113516750A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- key frame
- frame point
- pose
- voxel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种三维点云地图构建方法、系统、电子设备及存储介质,该方法包括:基于n帧点云构建初始点云地图和初始位姿图;新建体素;在体素中加入第i帧点云后,确定体素中目标体素单元的个数,其中目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据目标体素单元的个数确定第i帧点云是否为关键帧点云,若是,则将所有目标体素单元中点云的点清零,令i=i+1,反之,则直接令i=i+1,并重新在体素中加入第i帧点云,直至i=n;基于n帧点云中的关键帧点云和非关键帧点云以及初始位姿图,获取每帧点云的目标位姿;基于n帧点云、以及每帧点云的目标位姿,构建目标点云地图。本发明能够在场景突变时准确确定关键帧点云。
Description
技术领域
本发明涉及地图测绘领域,尤其涉及一种三维点云地图构建方法、系统、电子设备及存储介质。
背景技术
点云地图大量应用于即时定位与建图(SLAM)技术中,在实时追踪机器人的位置和局部建图等具体功能上扮演着重要的作用。目前,利用移动三维激光扫描系统建立场景三维点云地图的方法在选择关键帧点云时,主要依赖累计移动距离,从而导致当走过一小段距离场景却发生较大变化时(如从走廊进入房间)前后关键帧重叠区域较小难以准确计算帧间位姿变化,进而难以准确确定关键帧点云;其次,在对位姿图优化时只对关键帧进行优化,导致生成的点云地图十分稀疏(只包含关键帧点云)。
发明内容
为了解决现有三维点云地图构建方法在场景突变时难以准确确定关键帧点云的问题,本发明提供一种改进的三维点云地图构建方法、系统、电子设备及存储介质。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种三维点云地图构建方法,包括:
基于扫描得到的n帧点云构建初始点云地图和初始位姿图,所述初始位姿图的节点为每帧所述点云的初始位姿;
新建包含若干体素单元的体素,其中所述体素的三维尺寸不小于所述初始点云地图的三维尺寸;
在所述体素中加入第i帧点云后,确定所述体素中目标体素单元的个数,其中所述目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,若为关键帧点云,则将所有所述目标体素单元中点云的点清零,并令i=i+1,反之,则直接令i=i+1,而后返回执行在所述体素中加入第i帧点云的步骤,直至i=n,其中,i的初始值为0;
基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿;
基于所述n帧点云、以及每帧所述点云的目标位姿,构建目标点云地图。
优选地,所述基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿,包括:
确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系;
基于所述配对关系,建立关键帧点云块;
基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图;
基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,所述第二位姿图的节点为每帧所述点云的目标位姿。
优选地,所述方法还包括:
对所述第二位姿图进行整体优化。
优选地,所述确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系,包括:
针对各所述非关键帧点云,计算该非关键帧点云与各所述关键帧点云之间的序号差值,并在该非关键帧点云与序号差值最小的M个所述关键帧点云之间建立配对关系,其中M不小于2。
优选地,所述基于所述配对关系,建立关键帧点云块,包括:
针对各所述关键帧点云,将所有与该关键帧点云存在配对关系的非关键帧点云按序号由小到大的顺序与该关键帧点云进行配准后加入该关键帧点云,得到相应的关键帧点云块。
优选地,所述基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图,包括:
在所述初始位姿图中,在具有配对关系的关键帧点云和非关键帧点云的初始位姿之间加入连接边,所述连接边的值为具有配对关系的相应关键帧点云与非关键帧点云之间的位姿变换。
优选地,所述基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,包括:
针对各所述关键帧点云块,将该关键帧点云块与其它关键帧点云块进行配准,得到该关键帧点云块与其它关键帧点云块的匹配度;
当得到的某匹配度大于预定匹配度阈值时,则确定对应的两个关键帧点云块相匹配;
在所述第一位姿图中,在相匹配的两个关键帧点云块中的关键帧点云的初始位姿之间增加连接边,所述连接边的值为相匹配的两个关键帧点云块之间的位姿变换。
优选地,所述根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,包括:
当所述目标体素单元的个数达到预定数量阈值时,确定加入的第i帧点云为关键帧点云,反之,确定加入的第i帧点云不为关键帧点云。
优选地,通过将所述第i帧点云与所述体素置于同一坐标系下实现在所述体素中加入第i帧点云。
第二方面,本发明提供一种三维点云地图构建系统,包括:
初始图构建模块,用于基于扫描得到的n帧点云构建初始点云地图和初始位姿图,所述初始位姿图的节点为每帧所述点云的初始位姿;
体素建立模块,用于新建包含若干体素单元的体素,其中所述体素的三维尺寸不小于所述初始点云地图的三维尺寸;
关键帧确定模块,用于在所述体素中加入第i帧点云后,确定所述体素中目标体素单元的个数,其中所述目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,若为关键帧点云,则将所述目标体素单元中的点清零,并令i=i+1,反之,则直接令i=i+1,而后返回执行在所述体素中加入第i帧点云的步骤,直至i=n,其中,i的初始值为0;
目标位姿获取模块,用于基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿;
目标图构建模块,用于基于所述n帧点云、以及每帧所述点云的目标位姿,构建目标点云地图。
优选地,所述目标位姿获取包括:
配对单元,用于确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系;
关键帧块建立单元,用于基于所述配对关系,建立关键帧点云块;
第一位姿图更新单元,用于基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图;
第二位姿图更新单元,用于基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,所述第二位姿图的节点为每帧所述点云的目标位姿。
优选地,所述系统还包括:优化模块,用于在基于所述第二位姿图,获取每帧所述点云的目标位姿之前,对所述第二位姿图进行整体优化。
优选地,所述配对单元具体用于:
针对各所述非关键帧点云,计算该非关键帧点云与各所述关键帧点云之间的序号差值,并在该非关键帧点云与序号差值最小的M个所述关键帧点云之间建立配对关系,其中M不小于2。
优选地,所述关键帧块建立单元具体用于:
针对各所述关键帧点云,将所有与该关键帧点云存在配对关系的非关键帧点云按序号由小到大的顺序与该关键帧点云进行配准后加入该关键帧点云,得到相应的关键帧点云块。
优选地,所述第一位姿图更新单元具体用于:
在所述初始位姿图中,在具有配对关系的关键帧点云和非关键帧点云的初始位姿之间加入连接边,所述连接边的值为具有配对关系的相应关键帧点云与非关键帧点云之间的位姿变换。
优选地,所述第一位姿图更新单元具体用于:
针对各所述关键帧点云块,将该关键帧点云块与其它关键帧点云块进行配准,得到该关键帧点云块与其它关键帧点云块的匹配度;
当得到的某匹配度大于预定匹配度阈值时,则确定对应的两个关键帧点云块相匹配;
在所述第一位姿图中,在相匹配的两个关键帧点云块对应的关键帧点云的初始位姿之间增加连接边,所述连接边的值为相匹配的两个关键帧点云块之间的位姿变换。
第三方面,本发明提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法的步骤。
通过采用上述技术方案,本发明具有如下有益效果:
本发明通过新建体素并确定所述体素中目标体素单元的个数来确定关键帧点云,所述目标体素单元为包含有加入的各帧点云中的点的体素单元,当场景发生突变时,体素中体素单元的数量也会突然增加,从而能够在场景突变的瞬间准确地建立关键帧点云,防止关键帧间重叠区域太少而无法匹配。此外,本实施例通过在所述位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边、以及关键帧点云的初始位姿相互之间的连接边,使得位姿图更加稳定;同时通过对位姿图进行整体优化,从而能够利用所有帧点云的目标位姿构建目标点云地图,使得目标点云地图更加稠密。
附图说明
图1为本发明实施例1的三维点云地图构建方法的流程示意图;
图2为本发明实施例1得到的初始位姿图的示意图;
图3为本发明实施例1得到的关键帧点云和非关键帧点云的示意图;
图4为本发明实施例1得到的第一位姿图的示意图,其中示出了关键帧点云块;
图5为本发明实施例1得到的第二位姿图的示意图;
图6为本发明实施例2的三维点云地图构建系统的结构框图;
图7为本发明实施例3的电子设备的硬件架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
实施例1
本实施例提供一种三维点云地图构建方法,如图1-5所示,该方法具体包括以下步骤:
S1,基于扫描得到的n帧点云构建初始点云地图和初始位姿图,所述初始位姿图的节点为每帧所述点云的初始位姿。
具体地,假设有n帧点云P={pi,i=0,1,…,n},首先读入第0帧点云p0,作为初始点云地图M0,然后依次读入每帧点云pi,pi与点云地图Mi-1进行基于点面距离的迭代最近点配准算法,配准后将pi加入Mi-1形成Mi,并得到每帧点云的初始位姿Ti,其中第0帧点云p0的初始位姿T0为四阶单位矩阵。
按照上述方式,最终可以得到由n帧点云构建的初始点云地图Minit、以及由n帧点云的初始位姿构建的初始位姿图PG0(见图2)。
优选地,每次有新的点云加入点云地图后,对得到的点云地图Mi进行体素下采样,以便后续进行基于点面距离的迭代最近点配准算法时能够降低计算复杂度。
S2,新建包含若干体素单元的体素。
具体地,针对初始点云地图Minit新建体素Vx*y*z,该体素Vx*y*z包含若干呈立体网格形式的体素单元。其中,每个体素单元的值初始化为0,表示该体素单元不包含n帧点云中的点,并且体素Vx*y*z的三维尺寸(即长宽高)不小于所述初始点云地图Minit的三维尺寸。
S3,在所述体素中加入第i帧点云后,确定所述体素中目标体素单元的个数,其中所述目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,若为关键帧点云,则执行步骤S4,否则执行步骤S5。其中,i的初始值为0。
在本实施例中,在所述体素中加入第i帧点云pi是指将所述第i帧点云pi与所述体素Vx*y*z置于同一坐标系下。例如,首先将pi归于第0帧点云的坐标系下,而后再将Vx*y*z和pi放置在同一坐标系下。
当所述体素Vx*y*z中加入第i帧点云后,遍历Vx*y*z的每个体素单元,若其中包含有加入的各点云中的点,将该体素单元的值设为1,并将其作为目标体素单元。若所述目标体素单元的个数达到预定数量阈值t1,则确定加入的第i帧点云为关键帧点云,反之,则确定加入的第i帧点云不为关键帧点云。
S4,当确定第i帧点云为关键帧点云时,将所有所述目标体素单元中点云的点清零,即将所有目标体素单元的值置0,再执行步骤S5。
S5,令i=i+1,而后返回执行步骤S3,直至i=n,最终得到m个关键帧KF={kf0,kf1,…,kfm},如图3所示。
S6,基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿。具体过程如下:
S61,确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系。
具体地,针对各所述非关键帧点云pi,计算该非关键帧点云pi与各所述关键帧点云之间的序号差值abs(kfj-i),并在该非关键帧点云pi与序号差值最小的M个所述关键帧点云之间建立配对关系,其中M不小于2(图4中M取2)。
S62,基于所述配对关系,建立关键帧点云块。
具体地,针对各所述关键帧点云首先将所有与该关键帧点云存在配对关系的非关键帧点云pi按序号由小到大进行排序,再后将这些点云pi按顺序与该关键帧点云进行基于点面距离的迭代最近点配准算法,配准后再将它们加入该关键帧点云得到相应的关键帧点云块 具体如图4所示。
S63,基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图。
具体地,在所述初始位姿图PG0中,在具有配对关系的关键帧点云的初始位姿与非关键帧点云pi的初始位姿Ti之间加入连接边,该连接边的值为具有配对关系的相应关键帧点云与非关键帧点云pi之间的位姿变换从而将初始位姿图PG0更新为第一位姿图PG1。其中,所述位姿变换采用基于点面距离的迭代最近点配准算法计算得到。
S64,基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图。
具体地,首先针对各所述关键帧点云块将该关键帧点云块与其它关键帧点云块进行配准(例如采用基于点面距离的迭代最近点配准算法进行配准),得到该关键帧点云块与其它关键帧点云块的匹配度当得到的某匹配度大于预定匹配度阈值t2时,则确定对应的两个关键帧点云块和相匹配;而后,在所述第一位姿图PG1中,在相匹配的两个关键帧点云块中的关键帧点云的初始位姿之间增加连接边,该连接边的值为相匹配的两个关键帧点云块之间的位姿变换。例如,若关键帧点云块与相匹配,则在关键帧点云的初始位姿和关键帧点云的初始位姿之间增加连接边,对应连接边的值为和之间的通过基于点面距离的迭代最近点配准算法计算的位姿变换从而将第一位姿图PG1更新为第二位姿图PG2。
S65,对所述第二位姿图PG2进行整体优化。
例如,可以采用高斯牛顿法对第二位姿图PG2进行整体优化,从而得到优化后的位姿图,优化后的位姿图中的各节点分别为各帧所述点云pi的目标位姿TOi。
S7,基于所述n帧点云、以及每帧所述点云的目标位姿,构建目标点云地图。
本实施例通过新建体素并确定所述体素中目标体素单元的个数来确定关键帧点云,所述目标体素单元为包含有加入的各帧点云中的点的体素单元,当场景发生突变时,体素中体素单元的数量也会突然增加,从而能够在场景突变的瞬间准确地建立关键帧点云,防止关键帧间重叠区域太少而无法匹配。此外,本实施例通过在所述位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边、以及关键帧点云的初始位姿相互之间的连接边,使得位姿图更加稳定;同时通过对位姿图进行整体优化,从而能够利用所有帧点云的目标位姿构建目标点云地图,使得目标点云地图更加稠密。
实施例2
本实施例提供一种三维点云地图构建系统,如图6所示,该系统包括:
初始图构建模块11,用于基于扫描得到的n帧点云构建初始点云地图和初始位姿图,所述初始位姿图的节点为每帧所述点云的初始位姿;
体素建立模块12,用于新建包含若干体素单元的体素,其中所述体素的三维尺寸不小于所述初始点云地图的三维尺寸;
关键帧确定模块13,用于在所述体素中加入第i帧点云后,确定所述体素中目标体素单元的个数,其中所述目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,若为关键帧点云,则将所述目标体素单元中的点清零,并令i=i+1,反之,则直接令i=i+1,而后返回执行在所述体素中加入第i帧点云的步骤,直至i=n,其中,i的初始值为0;
目标位姿获取模块14,用于基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿;
目标图构建模块15,用于基于所述n帧点云、以及每帧所述点云的目标位姿,构建目标点云地图。
优选地,所述目标位姿获取模块14包括:
配对单元,用于确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系;
关键帧块建立单元,用于基于所述配对关系,建立关键帧点云块;
第一位姿图更新单元,用于基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图;
第二位姿图更新单元,用于基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,所述第二位姿图的节点为每帧所述点云的目标位姿。
优选地,所述系统还包括:优化模块,用于对所述第二位姿图进行整体优选地,所述配对单元具体用于:
针对各所述非关键帧点云,计算该非关键帧点云与各所述关键帧点云之间的序号差值,并在该非关键帧点云与序号差值最小的M个所述关键帧点云之间建立配对关系,其中M不小于2。
优选地,所述关键帧块建立单元具体用于:
针对各所述关键帧点云,将所有与该关键帧点云存在配对关系的非关键帧点云按序号由小到大的顺序与该关键帧点云进行配准后加入该关键帧点云,得到相应的关键帧点云块。
优选地,所述第一位姿图更新单元具体用于:
在所述初始位姿图中,在具有配对关系的关键帧点云和非关键帧点云的初始位姿之间加入连接边,所述连接边的值为具有配对关系的相应关键帧点云与非关键帧点云之间的位姿变换。
优选地,所述第一位姿图更新单元具体用于:
针对各所述关键帧点云块,将该关键帧点云块与其它关键帧点云块进行配准,得到该关键帧点云块与其它关键帧点云块的匹配度;
当得到的某匹配度大于预定匹配度阈值时,则确定对应的两个关键帧点云块相匹配;
在所述第一位姿图中,在相匹配的两个关键帧点云块对应的关键帧点云的初始位姿之间增加连接边,所述连接边的值为相匹配的两个关键帧点云块之间的位姿变换。
本实施例通过新建体素并确定所述体素中目标体素单元的个数来确定关键帧点云,所述目标体素单元为包含有加入的各帧点云中的点的体素单元,当场景发生突变时,体素中体素单元的数量也会突然增加,从而能够在场景突变的瞬间准确地建立关键帧点云,防止关键帧间重叠区域太少而无法匹配。此外,本实施例通过在所述位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边、以及关键帧点云的初始位姿相互之间的连接边,使得位姿图更加稳定;同时通过对位姿图进行整体优化,从而能够利用所有帧点云的目标位姿构建目标点云地图,使得目标点云地图更加稠密。
对于本系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
实施例3
图7是本发明一示例实施例示出的一种电子设备的结构示意图,示出了适于用来实现本发明实施方式的示例性电子设备60的框图。图7显示的电子设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备60可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备60的组件可以包括但不限于:上述至少一个处理器61、上述至少一个存储器62、连接不同系统组件(包括存储器62和处理器61)的总线63。
总线63包括数据总线、地址总线和控制总线。
存储器62可以包括易失性存储器,例如随机存取存储器(RAM)621和/或高速缓存存储器622,还可以进一步包括只读存储器(ROM)623。
存储器62还可以包括具有一组(至少一个)程序模块624的程序工具625(或实用工具),这样的程序模块624包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器61通过运行存储在存储器62中的计算机程序,从而执行各种功能应用以及数据处理,例如上述任一实施例所提供的方法。
电子设备60也可以与一个或多个外部设备64(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口65进行。并且,模型生成的电子设备60还可以通过网络适配器66与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器66通过总线63与模型生成的电子设备60的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种执行机可读存储介质,其上存储有执行机程序,所述程序被处理器执行时实现上述任一实施例所提供的方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现上述任一实施例所提供的方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (18)
1.一种三维点云地图构建方法,其特征在于,包括:
基于扫描得到的n帧点云构建初始点云地图和初始位姿图,所述初始位姿图的节点为每帧所述点云的初始位姿;
新建包含若干体素单元的体素,其中所述体素的三维尺寸不小于所述初始点云地图的三维尺寸;
在所述体素中加入第i帧点云后,确定所述体素中目标体素单元的个数,其中所述目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,若为关键帧点云,则将所有所述目标体素单元中点云的点清零,并令i=i+1,反之,则直接令i=i+1,而后返回执行在所述体素中加入第i帧点云的步骤,直至i=n,其中,i的初始值为0;
基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿;
基于所述n帧点云、以及每帧所述点云的目标位姿,构建目标点云地图。
2.根据权利要求1所述的三维点云地图构建方法,其特征在于,所述基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿,包括:
确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系;
基于所述配对关系,建立关键帧点云块;
基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图;
基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,所述第二位姿图的节点为每帧所述点云的目标位姿。
3.根据权利要求2所述的三维点云地图构建方法,其特征在于,所述方法还包括:
对所述第二位姿图进行整体优化。
4.根据权利要求2所述的三维点云地图构建方法,其特征在于,所述确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系,包括:
针对各所述非关键帧点云,计算该非关键帧点云与各所述关键帧点云之间的序号差值,并在该非关键帧点云与序号差值最小的M个所述关键帧点云之间建立配对关系,其中M不小于2。
5.根据权利要求2所述的三维点云地图构建方法,其特征在于,所述基于所述配对关系,建立关键帧点云块,包括:
针对各所述关键帧点云,将所有与该关键帧点云存在配对关系的非关键帧点云按序号由小到大的顺序与该关键帧点云进行配准后加入该关键帧点云,得到相应的关键帧点云块。
6.根据权利要求2所述的三维点云地图构建方法,其特征在于,所述基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图,包括:
在所述初始位姿图中,在具有配对关系的关键帧点云和非关键帧点云的初始位姿之间加入连接边,所述连接边的值为具有配对关系的相应关键帧点云与非关键帧点云之间的位姿变换。
7.根据权利要求2所述的三维点云地图构建方法,其特征在于,所述基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,包括:
针对各所述关键帧点云块,将该关键帧点云块与其它关键帧点云块进行配准,得到该关键帧点云块与其它关键帧点云块的匹配度;
当得到的某匹配度大于预定匹配度阈值时,则确定对应的两个关键帧点云块相匹配;
在所述第一位姿图中,在相匹配的两个关键帧点云块中的关键帧点云的初始位姿之间增加连接边,所述连接边的值为相匹配的两个关键帧点云块之间的位姿变换。
8.根据权利要求1所述的三维点云地图构建方法,其特征在于,所述根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,包括:
当所述目标体素单元的个数达到预定数量阈值时,确定加入的第i帧点云为关键帧点云,反之,确定加入的第i帧点云不为关键帧点云。
9.根据权利要求1所述的三维点云地图构建方法,其特征在于,通过将所述第i帧点云与所述体素置于同一坐标系下实现在所述体素中加入第i帧点云。
10.一种三维点云地图构建系统,其特征在于,包括:
初始图构建模块,用于基于扫描得到的n帧点云构建初始点云地图和初始位姿图,所述初始位姿图的节点为每帧所述点云的初始位姿;
体素建立模块,用于新建包含若干体素单元的体素,其中所述体素的三维尺寸不小于所述初始点云地图的三维尺寸;
关键帧确定模块,用于在所述体素中加入第i帧点云后,确定所述体素中目标体素单元的个数,其中所述目标体素单元为包含有加入的各帧点云中的点的体素单元,而后根据所述目标体素单元的个数,确定加入的第i帧点云是否为关键帧点云,若为关键帧点云,则将所述目标体素单元中的点清零,并令i=i+1,反之,则直接令i=i+1,而后返回执行在所述体素中加入第i帧点云的步骤,直至i=n,其中,i的初始值为0;
目标位姿获取模块,用于基于所述n帧点云中的关键帧点云和非关键帧点云、以及所述初始位姿图,获取每帧所述点云的目标位姿;
目标图构建模块,用于基于所述n帧点云、以及每帧所述点云的目标位姿,构建目标点云地图。
11.根据权利要求10所述的三维点云地图构建系统,其特征在于,所述目标位姿获取包括:
配对单元,用于确定所述n帧点云中关键帧点云和非关键帧点云之间的配对关系;
关键帧块建立单元,用于基于所述配对关系,建立关键帧点云块;
第一位姿图更新单元,用于基于所述配对关系,在所述初始位姿图中加入关键帧点云与非关键帧点云的初始位姿之间的连接边,得到第一位姿图;
第二位姿图更新单元,用于基于所述关键帧点云块之间的匹配结果,在所述第一位姿图中加入关键帧点云的初始位姿之间的连接边,得到第二位姿图,所述第二位姿图的节点为每帧所述点云的目标位姿。
12.根据权利要求11所述的三维点云地图构建系统,其特征在于,所述系统还包括:优化模块,用于在基于所述第二位姿图,获取每帧所述点云的目标位姿之前,对所述第二位姿图进行整体优化。
13.根据权利要求11所述的三维点云地图构建系统,其特征在于,所述配对单元具体用于:
针对各所述非关键帧点云,计算该非关键帧点云与各所述关键帧点云之间的序号差值,并在该非关键帧点云与序号差值最小的M个所述关键帧点云之间建立配对关系,其中M不小于2。
14.根据权利要求11所述的三维点云地图构建系统,其特征在于,所述关键帧块建立单元具体用于:
针对各所述关键帧点云,将所有与该关键帧点云存在配对关系的非关键帧点云按序号由小到大的顺序与该关键帧点云进行配准后加入该关键帧点云,得到相应的关键帧点云块。
15.根据权利要求11所述的三维点云地图构建系统,其特征在于,所述第一位姿图更新单元具体用于:
在所述初始位姿图中,在具有配对关系的关键帧点云和非关键帧点云的初始位姿之间加入连接边,所述连接边的值为具有配对关系的相应关键帧点云与非关键帧点云之间的位姿变换。
16.根据权利要求11所述的三维点云地图构建系统,其特征在于,所述第一位姿图更新单元具体用于:
针对各所述关键帧点云块,将该关键帧点云块与其它关键帧点云块进行配准,得到该关键帧点云块与其它关键帧点云块的匹配度;
当得到的某匹配度大于预定匹配度阈值时,则确定对应的两个关键帧点云块相匹配;
在所述第一位姿图中,在相匹配的两个关键帧点云块对应的关键帧点云的初始位姿之间增加连接边,所述连接边的值为相匹配的两个关键帧点云块之间的位姿变换。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9中任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110736465.3A CN113516750B (zh) | 2021-06-30 | 2021-06-30 | 三维点云地图构建方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110736465.3A CN113516750B (zh) | 2021-06-30 | 2021-06-30 | 三维点云地图构建方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113516750A true CN113516750A (zh) | 2021-10-19 |
CN113516750B CN113516750B (zh) | 2022-09-27 |
Family
ID=78066494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110736465.3A Active CN113516750B (zh) | 2021-06-30 | 2021-06-30 | 三维点云地图构建方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113516750B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113985436A (zh) * | 2021-11-04 | 2022-01-28 | 广州中科云图智能科技有限公司 | 基于slam的无人机三维地图构建与定位方法及装置 |
CN114419268A (zh) * | 2022-01-20 | 2022-04-29 | 湖北亿咖通科技有限公司 | 增量式地图构建的轨迹接边方法、电子设备和存储介质 |
CN115631314A (zh) * | 2022-12-19 | 2023-01-20 | 中汽研(天津)汽车工程研究院有限公司 | 一种基于多特征和自适应关键帧的点云地图构建方法 |
US12073512B2 (en) * | 2022-09-21 | 2024-08-27 | Streem, Llc | Key frame selection using a voxel grid |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108320329A (zh) * | 2018-02-02 | 2018-07-24 | 维坤智能科技(上海)有限公司 | 一种基于3d激光的3d地图创建方法 |
CN108629835A (zh) * | 2017-03-20 | 2018-10-09 | 哈尔滨工业大学 | 基于高光谱、真彩图与点云互补的室内重建方法及系统 |
WO2020107020A1 (en) * | 2018-11-23 | 2020-05-28 | Volvo Car Corporation | Lidar-based multi-person pose estimation |
CN111462324A (zh) * | 2020-05-18 | 2020-07-28 | 南京大学 | 一种在线时空语义融合方法和系统 |
CN111679291A (zh) * | 2020-06-17 | 2020-09-18 | 四川智动木牛智能科技有限公司 | 基于三维激光雷达的巡检机器人目标定位配置方法 |
CN111968238A (zh) * | 2020-08-22 | 2020-11-20 | 晋江市博感电子科技有限公司 | 基于动态融合算法的人体彩色三维重建方法 |
CN111968129A (zh) * | 2020-07-15 | 2020-11-20 | 上海交通大学 | 具有语义感知的即时定位与地图构建系统及方法 |
CN112270754A (zh) * | 2020-11-12 | 2021-01-26 | Oppo广东移动通信有限公司 | 局部网格地图构建方法及装置、可读介质和电子设备 |
CN112802194A (zh) * | 2021-03-31 | 2021-05-14 | 电子科技大学 | 一种基于点云数据的核设施高精度重构方法 |
CN112819896A (zh) * | 2019-11-18 | 2021-05-18 | 商汤集团有限公司 | 传感器的标定方法及装置、存储介质和标定系统 |
CN112950781A (zh) * | 2021-03-19 | 2021-06-11 | 中山大学 | 特种场景的多传感器动态加权融合的点云地图构建方法 |
CN112935703A (zh) * | 2021-03-19 | 2021-06-11 | 山东大学 | 识别动态托盘终端的移动机器人位姿校正方法及系统 |
-
2021
- 2021-06-30 CN CN202110736465.3A patent/CN113516750B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629835A (zh) * | 2017-03-20 | 2018-10-09 | 哈尔滨工业大学 | 基于高光谱、真彩图与点云互补的室内重建方法及系统 |
CN108320329A (zh) * | 2018-02-02 | 2018-07-24 | 维坤智能科技(上海)有限公司 | 一种基于3d激光的3d地图创建方法 |
WO2020107020A1 (en) * | 2018-11-23 | 2020-05-28 | Volvo Car Corporation | Lidar-based multi-person pose estimation |
CN112819896A (zh) * | 2019-11-18 | 2021-05-18 | 商汤集团有限公司 | 传感器的标定方法及装置、存储介质和标定系统 |
CN111462324A (zh) * | 2020-05-18 | 2020-07-28 | 南京大学 | 一种在线时空语义融合方法和系统 |
CN111679291A (zh) * | 2020-06-17 | 2020-09-18 | 四川智动木牛智能科技有限公司 | 基于三维激光雷达的巡检机器人目标定位配置方法 |
CN111968129A (zh) * | 2020-07-15 | 2020-11-20 | 上海交通大学 | 具有语义感知的即时定位与地图构建系统及方法 |
CN111968238A (zh) * | 2020-08-22 | 2020-11-20 | 晋江市博感电子科技有限公司 | 基于动态融合算法的人体彩色三维重建方法 |
CN112270754A (zh) * | 2020-11-12 | 2021-01-26 | Oppo广东移动通信有限公司 | 局部网格地图构建方法及装置、可读介质和电子设备 |
CN112950781A (zh) * | 2021-03-19 | 2021-06-11 | 中山大学 | 特种场景的多传感器动态加权融合的点云地图构建方法 |
CN112935703A (zh) * | 2021-03-19 | 2021-06-11 | 山东大学 | 识别动态托盘终端的移动机器人位姿校正方法及系统 |
CN112802194A (zh) * | 2021-03-31 | 2021-05-14 | 电子科技大学 | 一种基于点云数据的核设施高精度重构方法 |
Non-Patent Citations (2)
Title |
---|
吴杭彬 等: "地形图辅助的建筑物地面和机载点云特征配准", 《同济大学学报(自然科学版)》 * |
雷宝全 等: "基于Kinect的彩色三维重建", 《有线电视技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113985436A (zh) * | 2021-11-04 | 2022-01-28 | 广州中科云图智能科技有限公司 | 基于slam的无人机三维地图构建与定位方法及装置 |
CN114419268A (zh) * | 2022-01-20 | 2022-04-29 | 湖北亿咖通科技有限公司 | 增量式地图构建的轨迹接边方法、电子设备和存储介质 |
CN114419268B (zh) * | 2022-01-20 | 2024-06-28 | 湖北亿咖通科技有限公司 | 增量式地图构建的轨迹接边方法、电子设备和存储介质 |
US12073512B2 (en) * | 2022-09-21 | 2024-08-27 | Streem, Llc | Key frame selection using a voxel grid |
CN115631314A (zh) * | 2022-12-19 | 2023-01-20 | 中汽研(天津)汽车工程研究院有限公司 | 一种基于多特征和自适应关键帧的点云地图构建方法 |
CN115631314B (zh) * | 2022-12-19 | 2023-06-09 | 中汽研(天津)汽车工程研究院有限公司 | 一种基于多特征和自适应关键帧的点云地图构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113516750B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113516750B (zh) | 三维点云地图构建方法、系统、电子设备及存储介质 | |
CN108537876B (zh) | 三维重建方法、装置、设备及存储介质 | |
CN111536964B (zh) | 机器人定位方法及装置、存储介质 | |
CN111161412B (zh) | 三维激光建图方法及系统 | |
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
Jellal et al. | LS-ELAS: Line segment based efficient large scale stereo matching | |
CN114332415B (zh) | 基于多视角技术的输电线路廊道的三维重建方法及装置 | |
CN116662600B (zh) | 一种基于轻量结构化线地图的视觉定位方法 | |
WO2017014915A1 (en) | Consistent tessellation via topology-aware surface tracking | |
WO2018214086A1 (zh) | 场景的三维重建方法、装置及终端设备 | |
WO2024198747A1 (zh) | 动作捕捉数据的处理方法、装置、设备及存储介质 | |
CN114565728A (zh) | 地图构建方法、位姿确定方法及相关装置、设备 | |
CN114926549B (zh) | 三维点云处理方法、装置、设备以及存储介质 | |
CN114565916A (zh) | 目标检测模型训练方法、目标检测方法以及电子设备 | |
CN117029817A (zh) | 一种二维栅格地图融合方法及系统 | |
CN111882613B (zh) | 基于边缘语义的视觉里程计方法、装置、存储介质及设备 | |
CN110887490B (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN114742967B (zh) | 一种基于建筑数字孪生语义图的视觉定位方法及装置 | |
CN112162561A (zh) | 一种地图构建优化方法、装置、介质及设备 | |
CN115937002A (zh) | 用于估算视频旋转的方法、装置、电子设备和存储介质 | |
CN110060343B (zh) | 地图构建方法及系统、服务器、计算机可读介质 | |
Li et al. | Adaptive weighted motion averaging with low-rank sparse for robust multi-view registration | |
CN114812540B (zh) | 一种建图方法、装置和计算机设备 | |
WO2024108552A1 (zh) | 虚拟模型的面部驱动方法、装置、设备及存储介质 | |
CN114549605B (zh) | 基于点云匹配的图像优化方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |