CN108776991A - 三维建模方法、装置、存储介质和计算机设备 - Google Patents
三维建模方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108776991A CN108776991A CN201810344722.7A CN201810344722A CN108776991A CN 108776991 A CN108776991 A CN 108776991A CN 201810344722 A CN201810344722 A CN 201810344722A CN 108776991 A CN108776991 A CN 108776991A
- Authority
- CN
- China
- Prior art keywords
- cloud data
- point cloud
- frame
- point
- characteristic
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Abstract
本申请涉及一种三维建模方法、装置、计算机设备和存储介质。所述方法包括:采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;提取各帧点云数据中的特征面,根据所述特征面对初始配准后的各帧点云数据进行精确配准;对各帧点云数据进行三角网格化处理,得到三维模型。本申请可以提高三维建模的效率。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种三维建模方法、装置、存储介质和计算机设备。
背景技术
移动机器人(Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。随着科技的飞速发展,移动机器人,如无人驾驶车、无人驾驶船等已渐渐被用于导航、定位、场景分割、关键物体检测等。
移动机器人在进行导航、定位、场景分割、关键物体检测等操作时,首先需要进行三维建模,然而,传统技术中,由于在进行配准时,常用的配准方法对初始值要求高,配准速度慢,导致三维建模的效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高三维建模效率的三维建模方法、装置、存储介质和计算机设备。
一种三维建模方法,所述方法包括:
采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;
分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;
分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;
根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;
提取各帧点云数据中的特征面,根据所述特征面对初始配准后的各帧点云数据进行精确配准;
对各帧点云数据进行三角网格化处理,得到三维模型。
在其中一个实施例中,所述分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合的步骤包括:
计算特征点集合中各个特征点的特征熵;
根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
在其中一个实施例中,所述根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准的步骤包括:
根据前一帧点云数据对应的目标特征点集合,获取后一帧点云数据中目标特征点集合中各个目标特征点对应的特征点,得到对应特征点集合;
根据所述目标特征点集合和对应特征点集合计算平移矩阵和旋转矩阵;
根据所述平移矩阵和旋转矩阵进行配准。
在其中一个实施例中,所述提取各帧点云数据中的特征面的步骤包括:
对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;
对提取地面对应的点云后的各帧点云数据中各个点计算法向量;
根据各个点的法向量对各帧点云数据进行聚类,得到类集合;
对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
在其中一个实施例中,所述对各帧点云数据进行三角网格化处理,得到三维模型的步骤之前包括:
对各帧点云数据进行基于概率分布的滤波;
对滤波后的各帧点云数据进行基于体素栅格滤波器的下采样。
一种三维建模装置,所述装置包括:
数据采集模块,用于采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;
特征点提取模块,用于分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;
目标特征点选取模块,用于分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;
初始配准模块,用于根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;
特征面提取模块,用于提取各帧点云数据中的特征面,根据所述特征面对初始配准后的各帧点云数据进行精确配准;
三角网格化处理模块,用于对各帧点云数据进行三角网格化处理,得到三维模型。
在其中一个实施例中,所述目标特征点选取模块包括:
特征熵计算单元,用于计算特征点集合中各个特征点的特征熵;
目标特征点选取单元,用于根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
在其中一个实施例中,所述特征面提取模块包括:
地面提取单元,用于对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;
法向量计算单元,用于对提取地面对应的点云后的各帧点云数据中各个点计算法向量;
聚类单元,用于根据各个点的法向量对各帧点云数据进行聚类,得到类集合;
平面拟合模块,用于对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
一种计算机设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述三维重建方法所述的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述三维重建方法所述的步骤:
上述三维建模方法、装置、存储介质和计算机设备,通过采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;提取各帧点云数据中的特征面,根据所述特征面对初始配准后的各帧点云数据进行精确配准;对各帧点云数据进行三角网格化处理,得到三维模型。本案中由于采用了多级处理,先初值再精细化,提取了特征点,计算量大大降低,从而提高了三维建模的效率。
附图说明
图1为一个实施例中三维建模方法的应用环境图;
图2为一个实施例中三维建模方法的流程示意图;
图3为一个实施例中异构传感器触发关系示意图;
图4为一个实施例中步骤S206的流程示意图;
图5为一个实施例中步骤S208的流程示意图;
图6为一个实施例中步骤S210的流程示意图;
图7为一个实施例中三维建模装置的结构框图;
图8为一个实施例中目标特征点选取模块的结构框图;
图9为一个实施例中特征面提取模块的结构框图;
图10为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的三维建模方法,可以应用于如图1所示的应用环境中。在该应用环境中,该三维建模方法应用于无人驾驶车,该无人驾驶车的车顶安装有异构传感器,在结构化场景中运动,通过异构传感器采集多帧点云数据,根据采集的多帧点云数据首先进行初始配准,然后进行精确配准,最后进行三角网格化,得到网格化的三维模型场景图,可用于导航、定位、关键物体检测、场景分割等应用。
在一个实施例中,如图2所示,提供了一种三维建模方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
步骤S202,采用异构传感器获取连续多帧点云数据,得到点云数据帧集合。
其中,异构传感器指的集GPS时钟模块、雷达模块、IMU(Inertial measurementunit,惯性测量单元)模块、视觉模块以及微处理器模块为一体的传感器。其中,视觉模块可以由一个或者多个摄像头组成,GPS时钟模块提供全局时间轴,所有信号都带有时间戳,并以GPS时间轴Wie基准,GPS时钟模块集成了GPS接收和硬件触发功能,它接收GPS卫星信号,并对三个传感器模块分别进行触发。其触发频率关系为:
fIMU=mfcamera,fcamera=nfLidar
其中,fcamera是视觉模块的触发频率,fLidar是激光雷达的触发频率,fIMU是IMU模块的触发频率,m和n取大于1的整数。触发时间关系如图3所示。触发信号在时间上对齐,即某个时间点对三个传感器同时触发,然后按照各自固定频率对三个传感器分别触发,每隔一段时间,就会再次出现两个或者三个传感器同时触发的情况,此时间间隔由m和n控制,用户可进行调节。
具体地,计算机设备在移动过程中通过雷达模块、IMU模块、视觉模块采集数据后,输出给微处理器,由微处理器对已经同步的采集信号进行时间和空间上的校准,其输出包括已经同步的黑白和彩色的图片,点云数据,当前位置和加速度,传感器的内外参数等。
在本实施例中,计算机设备在移动的过程中通过异构传感器获取到连续多帧点云数据,得到点云数据帧集合。
步骤S204,分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合。
具体地,在本实施例中,采用离散点求导和求极值的方法,结合颜色信息,提取特征点。其中,特征点可以分为:跳跃点、尖点、折痕点以及曲率极大值点。
步骤S206,分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
具体地,对特征点集合中每个点计算特征熵,特征熵越小,则点的特征越明显。在一个实施例中,由于三个特征点即可限定6个自由度,因此,可以根据特征熵选择点的特征较强的三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。在另一个实施例中,为保证配准时的准确性,可选择多于三个的特征较强的点作为目标特征点,得到各帧点云数据对应的特征点集合。
步骤S208,根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准。
具体地,初始配准指的是即将两个或者两个以上坐标系中的大容量的三维空间数据点集转换到统一坐标系下的数学计算过程。在本实施例中,点云数据帧集合中各帧点云数据都有对应的时间戳,对各帧点云数据按照其对应的时间戳进行排序,从第一个点开始,依次对前后两帧点云数据进行初始配准。如有三帧点云数据按时间排序分别为A、B、C,则首先对A和B进行初始配准,然后对B和C进行初始配准。在一个实施例中,初始配准可采用ICP算法进行配准。
步骤S210,提取各帧点云数据中的特征面,根据特征面对初始配准后的各帧点云数据进行精确配准。
特征面指的是点云中具有平面特征的点集合。在本实施例中,提取特征面后,进行基于点-面距离最小化的ICP精确配准。其中,精确配准指的是对初始配准后的点云数据再次优化获得精确值。在本实施例中,利用凸优化的方式,最小化全局的点面距离误差。
步骤S212,对各帧点云数据进行三角网格化处理,得到三维模型。
具体地,在本实施例中,采用“贪婪投影三角化”算法,该算法是局部进行的,首先沿着一点的法线将该点投影到局部的二维坐标平面内,然后在该平面内进行二维的三角化,即连接邻近点,使得构成的三角形满足用户设定的条件(边长和角的大小),然后进行下一点。再根据平面内得到的点的拓扑连接关系获得三维网格曲面模型。
进一步,根据视觉模块中摄像头与雷达模块中激光雷达的相互位置关系,把摄像头采集的彩色图片中的像素投影到三维网格曲面中,为每个曲面添上颜色。
上述三维建模方法中,计算机设备采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;提取各帧点云数据中的特征面,根据特征面对初始配准后的各帧点云数据进行精确配准;对各帧点云数据进行三角网格化处理,得到三维模型。本案中由于采用了多级处理,先初值再精细化,提取了特征点,计算量大大降低,从而提高了三维建模的效率。
此外,由于采用了集成多个传感器的异构传感器采集数据,提供了冗余信息,具有更强的约束,对环境的要求更低。
在一个实施例中,如图4所示,分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合,包括:
步骤S206A,计算特征点集合中各个特征点的特征熵。
具体地,以N为邻域(N可调节,通常的取值范围为10~100),计算某点的3D协方差矩阵的特征值λ1、λ2、λ3,假如:λ1≥λ2≥λ3,计算特征熵Eλ:Eλ=-e1ln(e1)-e2ln(e2)-e3ln(e3),其中,ei=λi/∑λ,其中,i∈{1,2,3}。
步骤S206B,根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
具体地,目标特征点集合指的是多个目标特征点组成的集合。由于特征熵越小,点的特征越明显,因此,可以选择特征熵比较小的特征点作为目标特征点。
在一个实施例中,为了保证配准的效果,可以选择特征熵最小的至少三个特征点作为目标特征点。比如,计算出5个特征点的特征熵分别为E1、E2、E3、E4、E5,且E1>E2>E3>E4>E5,则可选择特征熵分别为E3、E4、E5的三个特征点作为目标特征点,由这三个点得到目标特征点集合。
在另一个实施例中,还可以选择特征熵最小的多于三个的特征点作为目标特征点,如可以选择6个或8个特征点作为目标特征点。
在本实施例中,通过计算特征熵选择目标特征点,可以保证目标特征点选取的准确性和高效性。
在一个实施例中,如图5所示,根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准,包括:
步骤S208A,根据前一帧点云数据对应的目标特征点集合,获取后一帧点云数据中目标特征点集合中各个目标特征点对应的特征点,得到对应特征点集合。
其中,前一帧点云数据指的是时间戳相对靠前的点云数据;后一帧点云数据指的是时间戳相对靠后的点云数据。
步骤S208B,根据目标特征点集合和对应特征点集合计算平移矩阵和旋转矩阵。
步骤S208C,根据平移矩阵和旋转矩阵进行配准。
在一个具体的实施例中,配准的具体方法如下:设前一帧点云数据M的目标特征点集中存在三个特征点p1、p2、p3,后一帧点云数据D中对应的最近领域点为q1、q2、q3。
步骤1:作矢量(p2-p1)、(p3-p1)、(q2-q1)以及(q3-q1),令V1=p2-p1,W1=q2-q1;
步骤2:作矢量V3和W3:
V3=V1×(p3-p1),W3=W1×(q3-q1);
步骤3:作矢量V2和W2:
V2=V3×V1,W2=W3×V2;
步骤4:作单位矢量:
v1=V1/|V1|,v2=V2/|V2|,v3=V3/|V3|;
w1=W1/|W1|,w2=W2/|W2|,w3=W3/|W3|;
步骤5:把系统[v]的任一点pi变换到系统[w],用变换关系式:Pi′=piR+T,因为[v]系统和[w]系统是单位矢量矩阵,所以[w]=[v]R,于是所求的关于[w]系统的旋转矩阵为:
R=[v]-1[w];
令Pi′=q1,P1=p1,把方程带入,可得平移矩阵:
T=q1-p1[v]-1[w]。
综上,将前一帧点云数据变换至后一帧点云数据的变换关系为:
P′=P[v]-1[w]-p1[v]-1[w]+q1;
根据上述变换关系可实现前后两帧点云数据的初始配准。
在本实施例中,通过选取三个特征点进行初始配准,可提高配准效率。
在一个实施例中,如图6所示,提取各帧点云数据中的特征面,包括:
步骤S210A,对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云。
步骤S210B,对提取地面对应的点云后的各帧点云数据中各个点计算法向量。
具体地,利用开源代码库ANN library可对各帧点云数据快速构建k-d tree,生成k-d tree之后,对每一个点都能索引到其最邻近的K个点,k的值看根据需要进行预先设定。考虑到算法效率和稳定性,可设k=50。
进一步,对点云中的任意一个点,可利用主成分分析算法(PCA)对其K个最邻近点构成的集合进行平面拟合,通过构建协方差矩阵并求解其特征值和特征向量得到拟合平面的法向量及平面曲率,其中,拟合平面的法向量即为点云中点的法向量。
步骤S210C,根据各个点的法向量对各帧点云数据进行聚类,得到类集合。
具体地,首先计算点云中每个点的相容集,其中,某个点的相容集指的是点云中与该改点的拟合平面的距离之差小于预设阈值的点组成集合。根据这些相容集构建链接表和聚类中心表,从聚类中心表的每一个聚类中心点开始,在链接表中迭代搜索所有与能被该聚类中心表连接(直接连接和间接连接)到的点,直到搜素不到新的点为止,将这些点的集合记为一个聚类,添加到类集合中。
步骤S210D,对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
具体地,对于类集合中的每一个类,其对应的点云都可以用一个平面来近似拟合。在一个实施例中,可采用MCS(Maximum Consistent Set)算法来获得精确的平面拟合结果。
在一个实施例中,对各帧点云数据进行三角网格化处理,得到三维模型的步骤之前包括:对各帧点云数据进行基于概率分布的滤波;对滤波后的各帧点云数据进行基于体素栅格滤波器的下采样。
具体地,由于配准之后的点云数据量庞大,可以对其进行基于概率分布的滤波,以去除随机误差点,然后进行基于体素栅格滤波器的下采样,去除孤立点,从而可以降低三维建模时的计算量,提高建模效率。
应该理解的是,虽然图2以及图4-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2以及图4-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种三维建模装置700,包括:
数据采集模块702,用于采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;
特征点提取模块704,用于分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;
目标特征点选取模块706,用于分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;
初始配准模块708,用于根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;
特征面提取模块710,用于提取各帧点云数据中的特征面,根据特征面对初始配准后的各帧点云数据进行精确配准;
三角网格化处理模块712,用于对各帧点云数据进行三角网格化处理,得到三维模型。
在一个实施例中,如图8所示,目标特征点选取模块706包括:
特征熵计算单元706A,用于计算特征点集合中各个特征点的特征熵;
目标特征点选取单元706B,用于根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
在一个实施例中,如图9所示,特征面提取模块710包括:
地面提取单元710A,用于对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;
法向量计算单元710B,用于对提取地面对应的点云后的各帧点云数据中各个点计算法向量;
聚类单元710C,用于根据各个点的法向量对各帧点云数据进行聚类,得到类集合;
平面拟合模块710D,用于对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
在一个实施例中,初始配准模块用于根据前一帧点云数据对应的目标特征点集合,获取后一帧点云数据中目标特征点集合中各个目标特征点对应的特征点,得到对应特征点集合,根据目标特征点集合和对应特征点集合计算平移矩阵和旋转矩阵,根据平移矩阵和旋转矩阵进行配准。
在一个实施例中,上述装置还包括:滤波及下采样模块,用于对各帧点云数据进行基于概率分布的滤波,对滤波后的各帧点云数据进行基于体素栅格滤波器的下采样。
关于三维建模装置的具体限定可以参见上文中对于三维建模方法的限定,在此不再赘述。上述三维建模装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种三维建模方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;提取各帧点云数据中的特征面,根据特征面对初始配准后的各帧点云数据进行精确配准;对各帧点云数据进行三角网格化处理,得到三维模型。
在一个实施例中,分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合,包括:计算特征点集合中各个特征点的特征熵;根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
在一个实施例中,根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准,包括:根据前一帧点云数据对应的目标特征点集合,获取后一帧点云数据中目标特征点集合中各个目标特征点对应的特征点,得到对应特征点集合;根据目标特征点集合和对应特征点集合计算平移矩阵和旋转矩阵;根据平移矩阵和旋转矩阵进行配准。
在一个实施例中,提取各帧点云数据中的特征面,包括:对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;对提取地面对应的点云后的各帧点云数据中各个点计算法向量;根据各个点的法向量对各帧点云数据进行聚类,得到类集合;对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
在一个实施例中,对各帧点云数据进行三角网格化处理,得到三维模型的步骤之前,处理器执行计算机程序时还实现以下步骤:对各帧点云数据进行基于概率分布的滤波;对滤波后的各帧点云数据进行基于体素栅格滤波器的下采样。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;提取各帧点云数据中的特征面,根据特征面对初始配准后的各帧点云数据进行精确配准;对各帧点云数据进行三角网格化处理,得到三维模型。
在一个实施例中,分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合,包括:计算特征点集合中各个特征点的特征熵;根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
在一个实施例中,根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准,包括:根据前一帧点云数据对应的目标特征点集合,获取后一帧点云数据中目标特征点集合中各个目标特征点对应的特征点,得到对应特征点集合;根据目标特征点集合和对应特征点集合计算平移矩阵和旋转矩阵;根据平移矩阵和旋转矩阵进行配准。
在一个实施例中,提取各帧点云数据中的特征面,包括:对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;对提取地面对应的点云后的各帧点云数据中各个点计算法向量;根据各个点的法向量对各帧点云数据进行聚类,得到类集合;对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
在一个实施例中,对各帧点云数据进行三角网格化处理,得到三维模型的步骤之前,计算机程序还使得处理器执行如下步骤:对各帧点云数据进行基于概率分布的滤波;对滤波后的各帧点云数据进行基于体素栅格滤波器的下采样。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种三维建模方法,所述方法包括:
采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;
分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;
分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;
根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;
提取各帧点云数据中的特征面,根据所述特征面对初始配准后的各帧点云数据进行精确配准;
对各帧点云数据进行三角网格化处理,得到三维模型。
2.根据权利要求1所述的方法,其特征在于,所述分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合的步骤包括:
计算特征点集合中各个特征点的特征熵;
根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
3.根据权利要求1所述的方法,其特征在于,所述根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准的步骤包括:
根据前一帧点云数据对应的目标特征点集合,获取后一帧点云数据中目标特征点集合中各个目标特征点对应的特征点,得到对应特征点集合;
根据所述目标特征点集合和对应特征点集合计算平移矩阵和旋转矩阵;
根据所述平移矩阵和旋转矩阵进行配准。
4.根据权利要求1所述的方法,其特征在于,所述提取各帧点云数据中的特征面的步骤包括:
对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;
对提取地面对应的点云后的各帧点云数据中各个点计算法向量;
根据各个点的法向量对各帧点云数据进行聚类,得到类集合;
对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述对各帧点云数据进行三角网格化处理,得到三维模型的步骤之前包括:
对各帧点云数据进行基于概率分布的滤波;
对滤波后的各帧点云数据进行基于体素栅格滤波器的下采样。
6.一种三维建模装置,其特征在于,所述装置包括:
数据采集模块,用于采用异构传感器获取连续多帧点云数据,得到点云数据帧集合;
特征点提取模块,用于分别对点云数据帧集合中各帧点云数据提取特征点,得到各帧点云数据对应的特征点集合;
目标特征点选取模块,用于分别从各帧点云数据对应的特征点集合中选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合;
初始配准模块,用于根据各帧点云数据对应的目标特征点集合对点云数据帧集合中各帧点云数据依次两两进行初始配准;
特征面提取模块,用于提取各帧点云数据中的特征面,根据所述特征面对初始配准后的各帧点云数据进行精确配准;
三角网格化处理模块,用于对各帧点云数据进行三角网格化处理,得到三维模型。
7.根据权利要求6所述的装置,其特征在于,所述目标特征点选取模块包括:
特征熵计算单元,用于计算特征点集合中各个特征点的特征熵;
目标特征点选取单元,用于根据各个特征点的特征熵选取至少三个特征点作为目标特征点,得到各帧点云数据对应的目标特征点集合。
8.根据权利要求6所述的装置,其特征在于,所述特征面提取模块包括:
地面提取单元,用于对各帧点云数据根据点云数据的空间分布情况提取地面对应的点云;
法向量计算单元,用于对提取地面对应的点云后的各帧点云数据中各个点计算法向量;
聚类单元,用于根据各个点的法向量对各帧点云数据进行聚类,得到类集合;
平面拟合模块,用于对类集合中各个类对应的点云进行平面拟合,得到各个类对应的特征面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344722.7A CN108776991B (zh) | 2018-04-17 | 2018-04-17 | 三维建模方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344722.7A CN108776991B (zh) | 2018-04-17 | 2018-04-17 | 三维建模方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108776991A true CN108776991A (zh) | 2018-11-09 |
CN108776991B CN108776991B (zh) | 2023-02-28 |
Family
ID=64033743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810344722.7A Active CN108776991B (zh) | 2018-04-17 | 2018-04-17 | 三维建模方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776991B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111223180A (zh) * | 2020-01-08 | 2020-06-02 | 中冶赛迪重庆信息技术有限公司 | 一种料场的三维建模方法、装置、存储介质及电子终端 |
CN112102375A (zh) * | 2020-07-22 | 2020-12-18 | 广州视源电子科技股份有限公司 | 一种点云配准可靠性检测的方法、装置、移动智慧设备 |
CN112116804A (zh) * | 2019-06-19 | 2020-12-22 | 北京地平线机器人技术研发有限公司 | 一种车辆状态量信息确定方法及装置 |
CN112489188A (zh) * | 2020-11-17 | 2021-03-12 | 上海建工四建集团有限公司 | 预制构件点云与设计模型合模方法 |
US20210209792A1 (en) * | 2020-06-22 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Positioning Method, Electronic Device and Computer Readable Storage Medium |
CN114078325A (zh) * | 2020-08-19 | 2022-02-22 | 北京万集科技股份有限公司 | 多感知系统配准方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102798362A (zh) * | 2012-06-20 | 2012-11-28 | 北京航空航天大学 | 一种基于点云数据的铸件加工余量估计方法 |
CN104778688A (zh) * | 2015-03-27 | 2015-07-15 | 华为技术有限公司 | 点云数据的配准方法及装置 |
US20170046840A1 (en) * | 2015-08-11 | 2017-02-16 | Nokia Technologies Oy | Non-Rigid Registration for Large-Scale Space-Time 3D Point Cloud Alignment |
CN106780459A (zh) * | 2016-12-12 | 2017-05-31 | 华中科技大学 | 一种三维点云数据自动配准方法 |
CN106846392A (zh) * | 2016-12-12 | 2017-06-13 | 国网北京市电力公司 | 三维建模的方法和装置 |
CN107123161A (zh) * | 2017-06-14 | 2017-09-01 | 西南交通大学 | 一种基于narf和fpfh的接触网零全网三维重建方法 |
CN107580322A (zh) * | 2017-08-28 | 2018-01-12 | 驭势科技(北京)有限公司 | 无人驾驶车辆软件系统的升级方法、装置和无人驾驶车辆 |
-
2018
- 2018-04-17 CN CN201810344722.7A patent/CN108776991B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102798362A (zh) * | 2012-06-20 | 2012-11-28 | 北京航空航天大学 | 一种基于点云数据的铸件加工余量估计方法 |
CN104778688A (zh) * | 2015-03-27 | 2015-07-15 | 华为技术有限公司 | 点云数据的配准方法及装置 |
US20170046840A1 (en) * | 2015-08-11 | 2017-02-16 | Nokia Technologies Oy | Non-Rigid Registration for Large-Scale Space-Time 3D Point Cloud Alignment |
CN106780459A (zh) * | 2016-12-12 | 2017-05-31 | 华中科技大学 | 一种三维点云数据自动配准方法 |
CN106846392A (zh) * | 2016-12-12 | 2017-06-13 | 国网北京市电力公司 | 三维建模的方法和装置 |
CN107123161A (zh) * | 2017-06-14 | 2017-09-01 | 西南交通大学 | 一种基于narf和fpfh的接触网零全网三维重建方法 |
CN107580322A (zh) * | 2017-08-28 | 2018-01-12 | 驭势科技(北京)有限公司 | 无人驾驶车辆软件系统的升级方法、装置和无人驾驶车辆 |
Non-Patent Citations (4)
Title |
---|
MAI CHUNYAN 等: "Rapid 3D reconstruction of fruit tree based on point cloud registration", 《农业工程学报》 * |
XUDONG LI 等: "Automatic evaluation of machining allowance of precision castings based on plane features from 3D point cloud", 《COMPUTERS IN INDUSTRY》 * |
宋永存: "多视激光点云数据融合与三维建模方法研究", 《测绘通报》 * |
王国利 等: "基于平面特征的箱型钢结构点云角点自动提取", 《工程勘察》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112116804A (zh) * | 2019-06-19 | 2020-12-22 | 北京地平线机器人技术研发有限公司 | 一种车辆状态量信息确定方法及装置 |
CN112116804B (zh) * | 2019-06-19 | 2023-03-07 | 北京地平线机器人技术研发有限公司 | 一种车辆状态量信息确定方法及装置 |
CN111223180A (zh) * | 2020-01-08 | 2020-06-02 | 中冶赛迪重庆信息技术有限公司 | 一种料场的三维建模方法、装置、存储介质及电子终端 |
US20210209792A1 (en) * | 2020-06-22 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Positioning Method, Electronic Device and Computer Readable Storage Medium |
US11713970B2 (en) * | 2020-06-22 | 2023-08-01 | Beijing Baidu Netcom Science Technology Co., Ltd. | Positioning method, electronic device and computer readable storage medium |
CN112102375A (zh) * | 2020-07-22 | 2020-12-18 | 广州视源电子科技股份有限公司 | 一种点云配准可靠性检测的方法、装置、移动智慧设备 |
CN112102375B (zh) * | 2020-07-22 | 2024-04-12 | 广州视源电子科技股份有限公司 | 一种点云配准可靠性检测的方法、装置、移动智慧设备 |
CN114078325A (zh) * | 2020-08-19 | 2022-02-22 | 北京万集科技股份有限公司 | 多感知系统配准方法、装置、计算机设备和存储介质 |
CN114078325B (zh) * | 2020-08-19 | 2023-09-05 | 北京万集科技股份有限公司 | 多感知系统配准方法、装置、计算机设备和存储介质 |
CN112489188A (zh) * | 2020-11-17 | 2021-03-12 | 上海建工四建集团有限公司 | 预制构件点云与设计模型合模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108776991B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109974693B (zh) | 无人机定位方法、装置、计算机设备及存储介质 | |
CN108776991A (zh) | 三维建模方法、装置、存储介质和计算机设备 | |
CN110068335B (zh) | 一种gps拒止环境下无人机集群实时定位方法及系统 | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
US10269147B2 (en) | Real-time camera position estimation with drift mitigation in incremental structure from motion | |
US20180357503A1 (en) | Sensor calibration and time system for ground truth static scene sparse flow generation | |
US20180356526A1 (en) | Sensor calibration and time method for ground truth static scene sparse flow generation | |
CN110176032B (zh) | 一种三维重建方法及装置 | |
WO2017155970A1 (en) | Laser scanner with real-time, online ego-motion estimation | |
US10360686B2 (en) | Sparse image point correspondences generation and correspondences refinement system for ground truth static scene sparse flow generation | |
US20180315222A1 (en) | Real-time image undistortion for incremental 3d reconstruction | |
CN110930495A (zh) | 基于多无人机协作的icp点云地图融合方法、系统、装置及存储介质 | |
US10481267B2 (en) | Undistorted raw LiDAR scans and static point extractions method for ground truth static scene sparse flow generation | |
CN111968229A (zh) | 高精度地图制图方法及装置 | |
CN110223380B (zh) | 融合航拍与地面视角图像的场景建模方法、系统、装置 | |
US20180356824A1 (en) | Time synchronization and data acquisition method for ground truth static scene sparse flow generation | |
US20180356831A1 (en) | Sparse image point correspondences generation and correspondences refinement method for ground truth static scene sparse flow generation | |
CN113593017A (zh) | 露天矿地表三维模型构建方法、装置、设备及存储介质 | |
US20180357314A1 (en) | Time synchronization and data acquisition system for ground truth static scene sparse flow generation | |
CN116449392B (zh) | 一种地图构建方法、装置、计算机设备及存储介质 | |
CN113177974A (zh) | 一种点云配准方法、装置、电子设备及存储介质 | |
JP2020153956A (ja) | 移動体位置推定システムおよび移動体位置推定方法 | |
Li et al. | UAV-based SLAM and 3D reconstruction system | |
CN113129422A (zh) | 一种三维模型构建方法、装置、存储介质和计算机设备 | |
KR102130687B1 (ko) | 다중 센서 플랫폼 간 정보 융합을 위한 시스템 |
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 |