CN109509208B - 一种高精度三维点云获取方法、系统、装置及存储介质 - Google Patents
一种高精度三维点云获取方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN109509208B CN109509208B CN201811346796.0A CN201811346796A CN109509208B CN 109509208 B CN109509208 B CN 109509208B CN 201811346796 A CN201811346796 A CN 201811346796A CN 109509208 B CN109509208 B CN 109509208B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- parameters
- frames
- cloud data
- homonymous
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
- G01C15/002—Active optical surveying means
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请公开了一种高精度三维点云获取方法,本申请以室内环境中存在的对象特征为入手点,并据此确定每两帧点云中的同名对象在所在两帧点云间发生的位置变换来恢复移动式三维激光扫描仪的运动轨迹,在先后以该运动轨迹为基础执行运动纠正和重拼接操作,以使最终得到的三维点云的精度更高。本申请还同时公开了一种高精度三维点云获取系统、装置及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及信息测绘技术领域,特别涉及一种高精度三维点云获取方法、装置、设备以及计算机可读存储介质。
背景技术
传统测绘测图,多集中在室外,如利用航空摄影测量对城市进行大范围的测图,又如利用车载移动测量平台对街道进行测图,区别于可利用数量足够的GNSS(GlobalNavigation Satellite System,全球导航卫星系统)信号完成对外界大环境的测图工作,室内小环境无法获得足够的GNSS信号,因此传统室外进行三维测图的移动测量方案无法直接在室内使用。
利用固定地面站的激光扫描测量固然可以在室内测图中获取较高的精度,但由于室内环境的复杂机构,还需要进行多次换位测量,对固定地面站的激光扫描测量方案十分不友好。而基于移动式三维激光扫描的方案的精度则十分有限,因此,如何提升基于移动式三维激光扫描方案的精度是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种高精度三维点云获取方法,首先从移动式三维激光扫描仪得到的初始点云数据提取得到目标室内环境下的对象特征信息,接下在根据该对象特征信息确定每两帧点云中的同名对象,再借助该同名对象计算所在两帧点云间的旋转参数和平移参数,并根据计算结果恢复得到该移动式三维激光扫描仪在采集点云数据时的运动轨迹,以便根据该运动轨迹对初始点云进行运动纠正和重拼接运动纠正后的各帧点云,得到高精度的目标室内三维点云。本申请以室内环境中存在的对象特征为入手点,并据此确定每两帧点云中的同名对象在所在两帧点云间发生的位置变换来恢复移动式三维激光扫描仪的运动轨迹,在先后以该运动轨迹为基础执行运动纠正和重拼接操作,以使最终得到的三维点云的精度更高。
本申请的另一目的在于提供了一种高精度三维点云获取系统、装置以及计算机可读存储介质。
为实现上述目的,本申请提供一种高精度三维点云获取方法,包括:
获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象;
根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹;
根据所述运动轨迹对所述初始点云数据进行运动纠正,得到优化后点云数据;
将所述优化后点云数据中的各帧点云按所述运动轨迹进行拼接,得到所述目标室内环境的完整三维点云。
可选的,根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象,包括:
根据所述对象特征信息确定所述初始点云数据中每两个相邻帧点云中的同名对象,得到相邻帧同名对象。
可选的,在得到相邻帧间同名对象之后,还包括:
按预设选取标准从所述初始点云数据包含的各帧点云中选取得到各关键帧点云;其中,所述初始点云数据中区别于各所述关键帧点云的各帧点云为其它帧点云;
根据所述对象特征信息确定每个所述关键帧点云与每个所述其它帧点云中的同名对象,得到关键帧同名对象。
可选的,根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹,包括:
根据所述相邻帧同名对象计算所在的两相邻帧间的旋转参数和平移参数,得到第一参数,并根据所述第一参数恢复得到所述三维激光扫描仪的第一运动轨迹;
根据所述关键帧同名对象计算所在的关键帧点云与其它帧点云间的旋转参数和平移参数,得到第二参数,并根据所述第二参数恢复得到所述三维激光扫描仪的第二运动轨迹。
可选的,在得到所述第一运动轨迹和所述第二运动轨迹之后、在根据所述运动轨迹拼接所述初始点云数据进行运动纠正之前,还包括:
对由所述第一运动轨迹和所述第二运动轨迹构成的轨迹图执行图优化操作,并将所述图优化操作执行完毕后得到的结果作为所述运动轨迹。
可选的,根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象,包括:
在每两帧点云中利用同名平面评测参数确定所述对象特征信息中的同名平面;其中,所述同名平面评测参数包括:两平面间的夹角、距离、中心点距离、面积比例、点数量比例、距离面积比例以及时间比例中的至少一项;
在每两帧点云中利用同名圆柱评测参数确定所述对象特征信息中的同名圆柱;其中,所述同名圆柱评测参数包括:两圆柱间的中心线夹角、中心线距离、半径差值中的至少一项。
可选的,根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,包括:
根据各所述同名对象,利用Levenberg-Marquardt算法求解两帧点云间最优的旋转参数和平移参数。
为实现上述目的,本申请还提供了一种高精度三维点云获取系统,包括:
对象特征信息提取单元,用于获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
同名对象确定单元,用于根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象;
参数计算及运动轨迹恢复单元,用于根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹;
运动纠正单元,用于根据所述运动轨迹对所述初始点云数据进行运动纠正,得到优化后点云数据;
按轨迹重拼接单元,用于将所述优化后点云数据中的各帧点云按所述运动轨迹进行拼接,得到所述目标室内环境的完整三维点云。
可选的,所述同名对象确定单元包括:
相邻帧同名对象确定子单元,用于根据所述对象特征信息确定所述初始点云数据中每两个相邻帧点云中的同名对象,得到相邻帧同名对象。
可选的,所述同名对象确定单元还包括:
关键帧同名对象确定子单元,用于按预设选取标准从所述初始点云数据包含的各帧点云中选取得到各关键帧点云;其中,所述初始点云数据中区别于各所述关键帧点云的各帧点云为其它帧点云;
根据所述对象特征信息确定每个所述关键帧点云与每个所述其它帧点云中的同名对象,得到关键帧同名对象。
可选的,所述参数计算及运动轨迹恢复单元包括:
第一参数计算及第一运动轨迹恢复子单元,用于根据所述相邻帧同名对象计算所在的两相邻帧间的旋转参数和平移参数,得到第一参数,并根据所述第一参数恢复得到所述三维激光扫描仪的第一运动轨迹;
第二参数计算及第二运动轨迹恢复子单元,用于根据所述关键帧同名对象计算所在的关键帧点云与其它帧点云间的旋转参数和平移参数,得到第二参数,并根据所述第二参数恢复得到所述三维激光扫描仪的第二运动轨迹。
可选的,该高精度三维点云获取系统还包括:
图优化单元,用于在得到所述第一运动轨迹和所述第二运动轨迹之后、在根据所述运动轨迹拼接所述初始点云数据进行运动纠正之前,对由所述第一运动轨迹和所述第二运动轨迹构成的轨迹图执行图优化操作,并将所述图优化操作执行完毕后得到的结果作为所述运动轨迹。
可选的,所述同名对象确定单元包括:
同名平面确定子单元,用于在每两帧点云中利用同名平面评测参数确定所述对象特征信息中的同名平面;其中,所述同名平面评测参数包括:两平面间的夹角、距离、中心点距离、面积比例、点数量比例、距离面积比例以及时间比例中的至少一项;
同名圆柱确定子单元,用于在每两帧点云中利用同名圆柱评测参数确定所述对象特征信息中的同名圆柱;其中,所述同名圆柱评测参数包括:两圆柱间的中心线夹角、中心线距离、半径差值中的至少一项。
可选的,所述参数计算及运动轨迹恢复单元包括:
LM法求解子单元,用于根据各所述同名对象,利用Levenberg-Marquardt算法求解两帧点云间最优的旋转参数和平移参数。
为实现上述目的,本申请还提供了一种高精度三维点云获取装置,包括:
移动式三维激光扫描仪,用于扫描得到目标室内环境的初始点云数据;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的高精度三维点云获取方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的高精度三维点云获取方法的步骤。
本申请提供的一种高精度三维点云获取方法:首先从移动式三维激光扫描仪得到的初始点云数据提取得到目标室内环境下的对象特征信息,接下在根据该对象特征信息确定每两帧点云中的同名对象,再借助该同名对象计算所在两帧点云间的旋转参数和平移参数,并根据计算结果恢复得到该移动式三维激光扫描仪在采集点云数据时的运动轨迹,以便根据该运动轨迹对初始点云进行运动纠正和重拼接运动纠正后的各帧点云,得到高精度的目标室内三维点云。
显然,本申请以室内环境中存在的对象特征为入手点,并据此确定每两帧点云中的同名对象在所在两帧点云间发生的位置变换来恢复移动式三维激光扫描仪的运动轨迹,在先后以该运动轨迹为基础执行运动纠正和重拼接操作,以使最终得到的三维点云的精度更高。本申请同时还提供了一种高精度三维点云获取系统、装置以及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种高精度三维点云获取方法的流程图;
图2为本申请实施例提供的另一种高精度三维点云获取方法的流程图;
图3为本申请实施例提供的高精度三维点云获取方法中一种确定同名对象和计算旋转参数和平移参数的方法的流程图;
图4为本申请实施例所提供的一种高精度三维点云获取系统的结构框图。
具体实施方式
本申请的核心是提供一种高精度三维点云获取方法、系统、装置以及计算机可读存储介质,本申请以室内环境中存在的对象特征为入手点,并据此确定每两帧点云中的同名对象在所在两帧点云间发生的位置变换来恢复移动式三维激光扫描仪的运动轨迹,在先后以该运动轨迹为基础执行运动纠正和重拼接操作,以使最终得到的三维点云的精度更高。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
以下结合图1,图1为本申请实施例提供的一种高精度三维点云获取方法的流程图,其具体包括以下步骤:
S101:获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
本步骤旨在从目标室内环境的初始点云数据中提取得到其中包含的对象特征信息,其中,该初始点云数据是使用移动式三维激光扫描仪对目标室内环境在移动中扫描得到的。需要说明的是,在室内环境这一特殊环境下,绝大多数物品在特征上均可被平面特征和圆柱特征所概括,因此本步骤实际上也就是从初始点云数据中确定出目标室内环境中包含的平面特征和圆柱特征。
其中,点云数据的采集可以单用一个水平的三维扫描仪,或者一个水平三维扫描仪加一个垂直(可存在一定倾角)三维扫描仪。需要说明的是,在采用水平加垂直两个扫描仪时,两个扫描仪之间还需要保持刚性连接和时间同步,且两者之间的相对姿态也需要在数据采集之前进行检校。
进一步的,为了提高效率,实际操作中优先以平面特征为主要进行后续处理操作使用的对象特征,只有当平面特征不足够用于匹配时,才会提取圆柱特征,即相较于圆柱特征,平面特征拥有更高的优先级。
更进一步的,为使后续姿态估计步骤中有足够的对象特征供使用,通常还需要对确定出的对象特征在数量和面积上进行判断,以避免后续姿态估计步骤中出现因符合要求的对象特征缺失导致的一系列问题。
S102:根据对象特征信息确定初始点云数据中每两帧点云中的同名对象;
在S101的基础上,本步骤旨在根据对象特征信息确定初始点云数据中每两帧点云中的同名对象。其中,同名对象是指在两帧点云(包括两相邻帧点云和两非相邻帧点云)中相同的平面或圆柱。通常情况下,两帧点云中不仅存在一对同名对象,会存在复数(大于等于2)对同名对象,这复数对同名对象中会由同名平面对和同名圆柱对构成。
由于是确定每两帧点云中的同名对象,在实际操作可以从第一帧点云至最后一帧点云(按采集顺序)依次形成的由相邻帧点云构成的帧点云对分别确定其中的同名对象(例如,第一帧点云与第二针点云构成的第一帧点云对,第二帧点云与第三帧点云构成的第二帧点云对,依次类推,直至由最后一帧点云与倒数第二帧点云构成的最后帧点云对),按此种方式确定出的同名对象足够全面,在此基础上计算出的旋转参数和平移参数也无缺漏。
当然,也可以不采用上面的这种逐帧确定每相邻帧中的同名对象,为了使确定出的同名对象拥有区别于逐帧确定每相邻帧中的同名对象,能够一定程度上为后续计算过程中提供差异化数据,以使在差异化数据的辅助下使得最终形成的运动轨迹更加准确,还可以按照预设的规则从各帧点云中选取一些特殊的帧点云,将其作为关键帧点云,并以每个关键帧点云作为匹配中心分别与每个其它帧形成两帧点云,并在这些包含关键帧的两帧点云中确定同名对象,由于此种方式下形成的每两帧点云通常为非相邻帧点云,因此从这些非相邻帧点云中确定出的同名对象可以与基于相邻帧点云中确定出的同名对象互补。其中,该其它帧至该初始点云数据中区别于作为匹配中心的关键帧点云的普通帧和其它关键帧。
S103:根据同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据旋转参数和平移参数恢复得到移动式三维激光扫描仪的运动轨迹;
在S102的基础上,本步骤旨在根据同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹。需要说明的是,由于通常在每两帧点云中确定出的同名对象的数量不止一个,因此在根据同名对象计算所在的两帧点云间的旋转参数和平移参数时,求解出的旋转参数和平移参数是一个能够尽可能的让每个同名对象都合适的参数,即根据两帧点云中同名对象间的旋转量与平移量,求解两帧点云最优的平移参数与旋转参数。
在求解每两帧点云各自最优的平移参数和旋转参数之后,就可以据此恢复得到移动式三维激光扫描仪的运动轨迹。之所以能够从这些参数中恢复得到移动式三维激光扫描仪的运动轨迹,是因为这些参数就是各帧点云间的位置变换关系(即旋转量和平移量),而处于目标室内环境下的各实际对象的位置应是固定的,之所以出现位置变换就是由于移动式三维激光扫描仪在移动中进行扫描导致的,因此当然可以从中恢复得到该运动轨迹。
实际操作中,由于数据采集频率较高,一般为10Hz或20Hz,所以可默认初始姿态为0,在计算同名的平面特征和圆柱特征时可基于给定的且较大的角度阈值和距离阈值下进行,之后再进行各帧间同名平面和同名圆柱存在的位置变换关系的求解。需要说明的是,为了保证这一步骤的实现效率,以上步骤需要迭代直至旋转和平移参数都收敛,然后缩小角度阈值和距离阈值,重复以上迭代过程直至再次收敛后才认为最终得到轨迹是有效的。
需要说明的是,在基于相邻帧点云间确定出的同名对象计算得到的运动轨迹由于其连续性,通常会将其作为底层的、初始的运动轨迹,而在基于关键帧的、非相邻帧点云间确定出的同名对象计算得到的运动轨迹由于其不连续性、跳跃性,通常会将其作为调整该底层的、初始的运动轨迹的控制参数使用,以在综合这两部分后使得得到的运动轨迹更加准确。
S104:根据运动轨迹对初始点云数据进行运动纠正,得到优化后点云数据;
在S103的基础上,本步骤旨在根据运动轨迹对初始点云数据进行运动纠正,之所以要进行运动纠正,是因为扫描仪在移动过程中采集到的点云数据会受运动过程影响存在一定的运动偏差,因此消除运动偏差的方法当然也需要S103得到的运动轨迹来实现,以计算得到每一帧点云数据在被获取前后时间内的轨迹变化,以时间戳对轨迹变化进行线性插值来纠正每一个点的坐标。
具体的,可设一帧点云数据在被获取前后旋转角度变化为Δrotation,平移变化设为Δtranslation,点云数据获取的起始时间为t_start,结束时间为t_end,每个点获取的时间为time_i,则每个点的旋转量r_i和平移量t_i可分别由公式和/>计算得到,通过计算得到每个点的旋转量和平移量即可进行坐标纠正。
S105:将优化后点云数据中的各帧点云按运动轨迹进行拼接,得到目标室内环境的完整三维点云。
在S103和S104的基础上,本步骤旨在使用该运动轨迹来逐帧拼接该优化后点云数据中的各帧点云,以最终得到一幅高精度的目标室内的完整三维点云。需要说明的是,本步骤在拼接各帧点云时,还需要进行平面特征和圆柱特征的合并,同时无需全部的点云数据,可以以低于原始点云采集的频率来执行本步骤。
一种包括但不限于的实现方式为:使用从该优化后点云数据重新提取对象特征,以该运动轨迹作为初值,重新根据提取得到的对象特征在优化后点云数据中的每两帧点云中确定同名对象,并基于同名对象计算所在两帧点云的旋转参数和平移参数,并将新计算出的旋转参数和平移参数作为新计算结果,在该初值和指导下根据该新计算结果将优化后点云数据中的各帧点云进行重拼接,以最终得到高精度的目标室内环境的完整三维点云。
进一步的,还可以对最后生成的完整三维点云进行去噪处理和重采样处理,并根据实际应用场景下用户的具体需求采取其它处理措施,以满足不同用户的不同需求。
基于上述技术方案,本申请实施例提供的一种室内三维测图方法,首先从移动式三维激光扫描仪得到的初始点云数据提取得到目标室内环境下的对象特征信息,接下在根据该对象特征信息确定每两帧点云中的同名对象,再借助该同名对象计算所在两帧点云间的旋转参数和平移参数,并根据计算结果恢复得到该移动式三维激光扫描仪在采集点云数据时的运动轨迹,以便根据该运动轨迹对初始点云进行运动纠正和重拼接运动纠正后的各帧点云,得到高精度的目标室内三维点云。本申请以室内环境中存在的对象特征为入手点,并据此确定每两帧点云中的同名对象在所在两帧点云间发生的位置变换来恢复移动式三维激光扫描仪的运动轨迹,在先后以该运动轨迹为基础执行运动纠正和重拼接操作,以使最终得到的三维点云的精度更高。
实施例二
以下结合图2,图2为本申请实施例提供的另一种高精度三维点云获取方法的流程图,本实施例在实施例一的基础上,通过S202至S206给出了一种优选的确定同名对象和恢复得到运动轨迹的方法,在其基础上,还通过S207给出了一种综合基于两种方式确定出的运动轨迹进行综合以得到更优的、准确度更高的运动轨迹的方法,具体实施步骤如下:
S201:获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
S202:根据对象特征信息确定初始点云数据中每两个相邻帧点云中的同名对象,得到相邻帧同名对象;
S203:根据相邻帧同名对象计算所在的两相邻帧间的旋转参数和平移参数,得到第一参数,并根据第一参数恢复得到三维激光扫描仪的第一运动轨迹;
S202和S203采用了从每个相邻帧点云中确定出同名对象,并据此根据利用该同名对象计算得到的旋转参数和平移参数恢复得到第一运动轨迹的方式。
S204:按预设选取标准从初始点云数据包含的各帧点云中选取得到各关键帧点云;
一种包括但不限于的选取得到关键帧的方式为:将满足后一对相邻帧的同名对象的面积总和与前一对相邻帧的同名对象的面积总和的差值超过预设阈值的当前帧选取为关键帧。
此方式将同名对象在前后两对相邻帧间的面积总和的差值作为选取关键帧的选取规则,但应能够理解的是,并不将关键帧的选取规则就仅仅限定于此种方式下,可根据在不同实际应用场景下提取得到的点云数据的特征灵活制定,具体的,不仅可以以同名对象的面积和在不同帧间的差别作为选取标准,还可以以同名对象的距离和在不同帧间的差别作为选取标准等等,此处并不做具体限定,在基于面积总和的关键帧的选取方法中,面积总和的差值的阈值可以设定为其中一个面积总和的30%。
S205:根据对象特征信息确定每个关键帧点云与每个其它帧点云中的同名对象,得到关键帧同名对象;
一种包括但不限于的实现方式为:分别将每个关键帧作为匹配中心,并在每个作为匹配中心的关键帧分别与预设帧数范围内的普通帧和其它非匹配中心的关键帧间确定出同名对象。
S206:根据关键帧同名对象计算所在的关键帧点云与其它帧点云间的旋转参数和平移参数,得到第二参数,并根据第二参数恢复得到三维激光扫描仪的第二运动轨迹;
S204、S205以及S206则采用了一种从基于关键帧形成的非相邻帧点云中确定出同名对象,并据此根据利用该同名对象计算得到的旋转参数和平移参数恢复得到第二运动轨迹的方式。
其中,经S206得到的第二运动轨迹由于其特殊的得到方式,通常也被称为控制参数,之所以被称为控制参数,是因为其区别于S203得到的第一运动轨迹,是因为基于关键帧形成的非相邻帧点云中确定出的同名对象计算得到的旋转参数和平移参数的是跳跃性的,少了一些帧与帧间的旋转参数和平移参数,但却能够为S203得到的运动轨迹提供一些缺失的或称为控制参数的信息,以便后续步骤将两者综合起来得到一个更加准确的运动轨迹。
其中,其它帧包括非匹配中心的其它关键帧和对象特征信息中包含的非关键帧的普通帧。一种可行的方式为:每个普通帧它前面的关键帧进行匹配,关键帧与其他所有关键帧进行匹配。
S207:对由第一运动轨迹和第二运动轨迹构成的轨迹图执行图优化操作,并将图优化操作执行完毕后得到的结果作为运动轨迹;
在S203和S206的基础上,本步骤旨在综合作为底层的、初始的第一运动轨迹和作为控制参数的第二运动轨迹,以得到更准确的运动轨迹。具体方式为执行图优化操作,此处被执行图优化操作的图并非常见的由照相机拍摄得到的图像,而是由第一运动轨迹和第二运动轨迹构成的轨迹图,因为用于描述第一运动轨迹和第二运动轨迹的都是不同帧点云间的位置变换关系,构建轨迹图时使用的也是这些位置变换关系,而执行图优化操作的目的是将使用不同方式得到的位置变换信息中存在的误差进行整体优化,得到误差控制之后的结果,这个过程通常被称为“平差”,以使操作执行完毕后得到的运动轨迹与真实的运动轨迹更加吻合。
S208:根据运动轨迹对初始点云数据进行运动纠正,得到优化后点云数据;
S209:将优化后点云数据中的各帧点云按运动轨迹进行拼接,得到目标室内环境的完整三维点云。
实施例三
以下结合图3,图3为本申请实施例提供的高精度三维点云获取方法中一种确定同名对象和计算旋转参数和平移参数的方法的流程图,具体实施步骤如下:
S301:在每两帧点云中利用同名平面评测参数确定对象特征信息中的同名平面;
该同名平面评测参数包括:两平面间的夹角、距离、中心点距离、面积比例、点数量比例、距离面积比例以及时间比例中的至少一项。
需要说明的是,由于相邻帧间的数据的联系,时间比例这一评测参数仅用于相邻帧间进行评测时使用。
平面之间的距离:
其中,(a1,b1,c1,d1)和(a2,b2,c2,d2)分别是两个平面的方程,(x1,y1,z1)和(x2,y2,z2)分别是两个平面的中心点坐标,且分别满足a1*x1+b1*y1+c1*z1+d1=0和a2*x2+b2*y2+c2*z2+d2=0;
只有当以上指标整体最优时,才认为对应的平面对同名。
需要说明的是,步骤S301和S302是两个并列的步骤,相互间不存在依赖和因果关系,可根据实际情况选择串行或并行的实现方式来进行判断。且本实施例通过多个指标对同名平面和同名圆柱进行约束,可以提高结果的正确率,根据实际情况的不同,可灵活设置要用于同名评测的参数的数量。
S302:在每两帧点云中利用同名圆柱评测参数确定对象特征信息中的同名圆柱;
其中,同名圆柱评测参数包括:两圆柱间的中心线夹角、中心线距离、半径差值中的至少一项。
圆柱中心线的距离:
圆柱半径差:dradius=|r1-r2|,其中,r1和r2分别为两个圆柱的半径。
只有当以上指标整体最优时,才认为对应的圆柱对同名。
S303:根据各同名对象,利用Levenberg-Marquardt算法求解两帧点云间最优的旋转参数和平移参数。
在求解旋转参数和平移参数时,一种优选的求解方式为将旋转参数和平移参数单独进行求解,因为这样可以降低求解的复杂度,进而提升求解效率。当然,在计算性能足够的情况下也可以采用同时合并求解的方式来进行。
当旋转参数求解完毕之后,再求解平移参数:
求解平移参数,需要最小化所有同名平面之间的垂直距离,这里用平面中心点到同名平面的垂直距离代替。目标函数为其中(a1,b1,c1,d1)和(a2,b2,c2,d2)分别是同名平面的方程,(x1,y1,z1)和(x2,y2,z2)分别是同名平面的中心点坐标。(a2’,b2’,c2’,d2’)是经过旋转平移变换之后的平面方程,(x2’,y2’,z2’)是经过旋转平移变换之后的平面中心点坐标。
以上步骤需要迭代直至旋转和平移参数都收敛,然后缩小角度阈值和距离阈值,重复以上迭代过程直至再次收敛。
Levenberg-Marquardt算法是最优化算法中的一种,最优化是寻找使得目标函数有最大或最小值的参数向量。Levenberg-Marquardt算法是使用最广泛的非线性最小二乘算法(用模型函数f对待估参数向量p在其领域内做线性近似,利用泰勒展开,忽略掉二阶以上的导数项,优化目标方程转化为线性最小二乘问题)。它是利用梯度求最大(小)值的算法,形象的说,属于“爬山”法的一种。且它同时具有梯度法和牛顿法的优点。
本实施例仅以Levenberg-Marquardt算法为例进行阐述,当然其它最优化算法可以经过适应性调整后应用于本步骤的优化和计算,此处不再一一赘述。
还需要说明的是,在进行本实施例中具体判别同名平面和同名圆柱之前,为了满足后续计算的要求,还有必要确定对象特征中是否包含足够的、符合要求的对象,仅当确定存在足够的、符合要求的对象时才进行本实施例上述步骤中给出确定同名对象的操作,一种包括但不限于的方式为:
判断当前帧根据对象特征信息确定出的平面特征和/或圆柱特征的数量和面积是否满足预设的数量要求和面积要求;
具体的,由于平面特征的高优先级,此处还给出一种首先对得到的平面特征进行判断的实现方法:
首先,将平面按从大到小排序,去掉小于0.25平方米的平面;
如果平面的数量超过3个,则判断前两个平面的夹角:
若该夹角在30°和60°之间,则继续判断第三个平面与前面两个平面的夹角;若第三个平面与前两个平面的夹角均大于60°,则满足要求,返回true;若该夹角大于60°,则继续判断第三个平面与前面两个平面的夹角;若第三个平面与前两个平面的夹角满足一个大于30°,一个大于60°,则满足要求,返回true;若该夹角小于30°,则继续往后遍历其它平面。
若满足条件的平面不足3个,则说明平面数量不足,返回false。
当平面数量不足时,将采用圆柱特征为配准基元。由于室内场景中的圆柱大都是竖直放置,也就是说只有单一的方向,仍需要平面作为辅助。所以同名圆柱是否足够的判断如下:
存在与圆柱夹角大于60°的平面;
同名圆柱的数量大于2个,或只有一对同名圆柱时,存在至少一个平面与地面夹角大于30°。
符合以上所有条件才认为对象特征足够,否则将通过预设路径发送特征对象数量不满足的错误信息,以及时提醒相关人员重新采集点云数据,并使其中包含的对象特征的要求满足预设要求。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
实施例四
下面请参见图4,图4为本申请实施例所提供的一种高精度三维点云获取系统的结构框图,该高精度三维点云获取系统可以包括:
对象特征信息提取单元100,用于获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
同名对象确定单元200,用于根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象;
参数计算及运动轨迹恢复单元300,用于根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹;
运动纠正单元400,用于根据所述运动轨迹对所述初始点云数据进行运动纠正,得到优化后点云数据;
按轨迹重拼接单元500,用于将所述优化后点云数据中的各帧点云按所述运动轨迹进行拼接,得到所述目标室内环境的完整三维点云。
其中,所述同名对象确定单元200可以包括:
相邻帧同名对象确定子单元,用于根据所述对象特征信息确定所述初始点云数据中每两个相邻帧点云中的同名对象,得到相邻帧同名对象。
进一步的,所述同名对象确定单元200还可以包括:
关键帧同名对象确定子单元,用于按预设选取标准从所述初始点云数据包含的各帧点云中选取得到各关键帧点云;其中,所述初始点云数据中区别于各所述关键帧点云的各帧点云为其它帧点云;
根据所述对象特征信息确定每个所述关键帧点云与每个所述其它帧点云中的同名对象,得到关键帧同名对象。
其中,所述参数计算及运动轨迹恢复单元300可以包括:
第一参数计算及第一运动轨迹恢复子单元,用于根据所述相邻帧同名对象计算所在的两相邻帧间的旋转参数和平移参数,得到第一参数,并根据所述第一参数恢复得到所述三维激光扫描仪的第一运动轨迹;
第二参数计算及第二运动轨迹恢复子单元,用于根据所述关键帧同名对象计算所在的关键帧点云与其它帧点云间的旋转参数和平移参数,得到第二参数,并根据所述第二参数恢复得到所述三维激光扫描仪的第二运动轨迹。
进一步的,该高精度三维点云获取系统还可以包括:
图优化单元,用于在得到所述第一运动轨迹和所述第二运动轨迹之后、在根据所述运动轨迹拼接所述初始点云数据进行运动纠正之前,对由所述第一运动轨迹和所述第二运动轨迹构成的轨迹图执行图优化操作,并将所述图优化操作执行完毕后得到的结果作为所述运动轨迹。
其中,所述同名对象确定单元200可以包括:
同名平面确定子单元,用于在每两帧点云中利用同名平面评测参数确定所述对象特征信息中的同名平面;其中,所述同名平面评测参数包括:两平面间的夹角、距离、中心点距离、面积比例、点数量比例、距离面积比例以及时间比例中的至少一项;
同名圆柱确定子单元,用于在每两帧点云中利用同名圆柱评测参数确定所述对象特征信息中的同名圆柱;其中,所述同名圆柱评测参数包括:两圆柱间的中心线夹角、中心线距离、半径差值中的至少一项。
其中,所述参数计算及运动轨迹恢复单元300可以包括:
LM算法求解子单元,用于根据各同名对象,利用Levenberg-Marquardt算法求解两帧点云间最优的旋转参数和平移参数。
基于上述实施例,本申请还提供了一种高精度三维点云获取装置,该装置可以包括移动式三维激光扫描仪,存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种高精度三维点云获取方法,其特征在于,所述获取方法包括:
获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象;
根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹;
根据所述运动轨迹对所述初始点云数据进行运动纠正,得到优化后点云数据;
将所述优化后点云数据中的各帧点云按所述运动轨迹进行拼接,得到所述目标室内环境的完整三维点云。
2.根据权利要求1所述的获取方法,其特征在于,根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象,包括:
根据所述对象特征信息确定所述初始点云数据中每两个相邻帧点云中的同名对象,得到相邻帧同名对象。
3.根据权利要求2所述的获取方法,其特征在于,在得到相邻帧间同名对象之后,还包括:
按预设选取标准从所述初始点云数据包含的各帧点云中选取得到各关键帧点云;其中,所述初始点云数据中区别于各所述关键帧点云的各帧点云为其它帧点云;
根据所述对象特征信息确定每个所述关键帧点云与每个所述其它帧点云中的同名对象,得到关键帧同名对象。
4.根据权利要求3所述的获取方法,其特征在于,根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹,包括:
根据所述相邻帧同名对象计算所在的两相邻帧间的旋转参数和平移参数,得到第一参数,并根据所述第一参数恢复得到所述三维激光扫描仪的第一运动轨迹;
根据所述关键帧同名对象计算所在的关键帧点云与其它帧点云间的旋转参数和平移参数,得到第二参数,并根据所述第二参数恢复得到所述三维激光扫描仪的第二运动轨迹。
5.根据权利要求4所述的获取方法,其特征在于,在得到所述第一运动轨迹和所述第二运动轨迹之后、在根据所述运动轨迹拼接所述初始点云数据进行运动纠正之前,还包括:
对由所述第一运动轨迹和所述第二运动轨迹构成的轨迹图执行图优化操作,并将所述图优化操作执行完毕后得到的结果作为所述运动轨迹。
6.根据权利要求1至5任一项所述的获取方法,其特征在于,根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象,包括:
在每两帧点云中利用同名平面评测参数确定所述对象特征信息中的同名平面;其中,所述同名平面评测参数包括:两平面间的夹角、距离、中心点距离、面积比例、点数量比例、距离面积比例以及时间比例中的至少一项;
在每两帧点云中利用同名圆柱评测参数确定所述对象特征信息中的同名圆柱;其中,所述同名圆柱评测参数包括:两圆柱间的中心线夹角、中心线距离、半径差值中的至少一项。
7.根据权利要求6所述的获取方法,其特征在于,根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,包括:
根据各所述同名对象,利用Levenberg-Marquardt算法求解两帧点云间最优的旋转参数和平移参数。
8.一种高精度三维点云获取系统,其特征在于,所述获取系统包括:
对象特征信息提取单元,用于获取目标室内环境的初始点云数据,并从中提取得到对象特征信息;
同名对象确定单元,用于根据所述对象特征信息确定所述初始点云数据中每两帧点云中的同名对象;
参数计算及运动轨迹恢复单元,用于根据所述同名对象计算所在的两帧点云间的旋转参数和平移参数,并根据所述旋转参数和平移参数恢复得到三维激光扫描仪的运动轨迹;
运动纠正单元,用于根据所述运动轨迹对所述初始点云数据进行运动纠正,得到优化后点云数据;
按轨迹重拼接单元,用于将所述优化后点云数据中的各帧点云按所述运动轨迹进行拼接,得到所述目标室内环境的完整三维点云。
9.一种高精度三维点云获取装置,其特征在于,包括:
移动式三维激光扫描仪,用于扫描得到目标室内环境的初始点云数据;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的高精度三维点云获取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的高精度三维点云获取方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811167607 | 2018-10-08 | ||
CN2018111676073 | 2018-10-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109509208A CN109509208A (zh) | 2019-03-22 |
CN109509208B true CN109509208B (zh) | 2023-06-13 |
Family
ID=65748258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811346796.0A Active CN109509208B (zh) | 2018-10-08 | 2018-11-13 | 一种高精度三维点云获取方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109509208B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110595446B (zh) * | 2019-08-19 | 2021-12-24 | 广东领盛装配式建筑科技有限公司 | 一种基于虚拟靠尺的建筑实测实量方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200538954A (en) * | 2004-05-28 | 2005-12-01 | Hon Hai Prec Ind Co Ltd | System and method for dealing with point-cloud in three-dimension |
CN104463894A (zh) * | 2014-12-26 | 2015-03-25 | 山东理工大学 | 一种多视角三维激光点云全局优化整体配准方法 |
CN105913489A (zh) * | 2016-04-19 | 2016-08-31 | 东北大学 | 一种利用平面特征的室内三维场景重构方法 |
CN106296693A (zh) * | 2016-08-12 | 2017-01-04 | 浙江工业大学 | 基于3d点云fpfh特征实时三维空间定位方法 |
CN106382917A (zh) * | 2015-08-07 | 2017-02-08 | 武汉海达数云技术有限公司 | 一种室内环境三维空间信息连续采集方法 |
WO2018048353A1 (en) * | 2016-09-09 | 2018-03-15 | Nanyang Technological University | Simultaneous localization and mapping methods and apparatus |
-
2018
- 2018-11-13 CN CN201811346796.0A patent/CN109509208B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200538954A (en) * | 2004-05-28 | 2005-12-01 | Hon Hai Prec Ind Co Ltd | System and method for dealing with point-cloud in three-dimension |
CN104463894A (zh) * | 2014-12-26 | 2015-03-25 | 山东理工大学 | 一种多视角三维激光点云全局优化整体配准方法 |
CN106382917A (zh) * | 2015-08-07 | 2017-02-08 | 武汉海达数云技术有限公司 | 一种室内环境三维空间信息连续采集方法 |
CN105913489A (zh) * | 2016-04-19 | 2016-08-31 | 东北大学 | 一种利用平面特征的室内三维场景重构方法 |
CN106296693A (zh) * | 2016-08-12 | 2017-01-04 | 浙江工业大学 | 基于3d点云fpfh特征实时三维空间定位方法 |
WO2018048353A1 (en) * | 2016-09-09 | 2018-03-15 | Nanyang Technological University | Simultaneous localization and mapping methods and apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN109509208A (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020259248A1 (zh) | 基于深度信息的位姿确定方法、装置、介质与电子设备 | |
CN110807809B (zh) | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 | |
CN105096386B (zh) | 大范围复杂城市环境几何地图自动生成方法 | |
CN108682027A (zh) | 基于点、线特征融合的vSLAM实现方法及系统 | |
CN108615246B (zh) | 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 | |
CN110599545B (zh) | 一种基于特征的构建稠密地图的系统 | |
CN113658337B (zh) | 一种基于车辙线的多模态里程计方法 | |
CN105792353A (zh) | 群智感知式WiFi信号指纹辅助的图像匹配室内定位方法 | |
CN111815765B (zh) | 一种基于异构数据融合的图像三维重建方法 | |
CN113393519B (zh) | 激光点云数据处理方法、装置及设备 | |
CN103093459A (zh) | 利用机载LiDAR点云数据辅助影像匹配的方法 | |
CN116449384A (zh) | 基于固态激光雷达的雷达惯性紧耦合定位建图方法 | |
CN114279434B (zh) | 一种建图方法、装置、电子设备和存储介质 | |
CN111141295A (zh) | 一种基于单目orb-slam的自动化地图恢复方法 | |
CN112148742A (zh) | 地图更新方法及装置、终端、存储介质 | |
CN110889899A (zh) | 一种数字地表模型的生成方法及装置 | |
CN112184906A (zh) | 一种三维模型的构建方法及装置 | |
CN114037762A (zh) | 基于图像与高精度地图配准的实时高精度定位方法 | |
CN101685532A (zh) | 简易线性广角镜头的校正法 | |
CN117456114A (zh) | 基于多视图的三维图像重建方法及系统 | |
CN109509208B (zh) | 一种高精度三维点云获取方法、系统、装置及存储介质 | |
CN115218906A (zh) | 面向室内slam的视觉惯性融合定位方法及系统 | |
CN109655060B (zh) | 基于kf/fir和ls-svm融合的ins/uwb组合导航算法及系统 | |
CN112731503B (zh) | 一种基于前端紧耦合的位姿估计方法及系统 | |
CN110021041B (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 |