三维激光螺旋扫描点云三维重建方法与流程

文档序号:12472249阅读:1065来源:国知局
三维激光螺旋扫描点云三维重建方法与流程

本发明涉及点云数据处理技术领域,尤其涉及一种三维激光螺旋扫描点云三维重建方法。



背景技术:

点云数据来源有很多途径,比如通过三维激光扫描仪、摄影测量、三坐标测量机等。点云数据是散乱的拓扑结构,是一种散乱点云,又可称为无组织数据集,点与点之间毫无内在联系。点云数据三维重建的目的在于寻找某种数学描述形式,构造一个带有顶点和相互连接拓扑关系的三角形网格模型,并以此为依据对网格本身进行分析、优化、修改和绘制。如何把散乱点云重建成三维模型是热门的研究方向,但是被测对象经过扫描获取的点云数目庞大,达到几十万个点,甚至超过几百万个点,而且点云分布稀疏不均,给散乱点云三维重建带来了很大的挑战和困难,目前还没有一种通用的点云三维重建方法。针对散乱点云三维重建,许多研究者提出了多种解决方案,常见的点云三维重建方法有:

1、基于Delaunay三角剖分的三维重建算法。

基于Delaunay三角剖分的曲面重建也称为雕刻法,即先通过计算点云的凸包,然后按照设定的规则将与点云表面形状有关的三角面找出来,然后不断从凸包中移除不需要的四面体来进行曲面重建。如Boissonnat在1984年率先提出基于Delaunay三角剖分的曲面重建算法,先对点云做Delaunay三角化,如果点云中的点不全位于点云的凸包上,则不断删除凸包中的四面体,直到点云中的点都位于体的表面上,这个体的表面就是需要重建曲面的一个近似;Bajaj等在1995年提出利用构造有向距离函数重建曲面,取得了不错的效果。Amenta等人在1998年提出了基于三维Voronoi图的Crust算法,随后又提出了Cocone算法,进一步优化了Crust算法,但这类算法计算量都非常大导致效率不高;Adamy等人提出基于Delaunay剖分的UmbrellaFilter方法。此类算法都涉及到点云的Delaunay三角化或Voronoi图的计算,计算量比较大,效率不高。

然而,上述方案依然存在如下缺陷:1)算法的时间和空间复杂度问题,也就是效率问题,对于激光扫描获取的巨量点云数据来说,采用三角剖分的方式进行三维重建,没有考虑扫描点云之间的逻辑关系,需要遍历所有点云并对其进行三角剖要花费大量时间,在实际应用中往往无法接受。2)采用三角剖分的方式进行三维重建,需要计算点云凸包,然后再逐步逼近点云外部三维形态,最后三维重建的实体模型取决于点云的三维分布情况,如果点云存在凹陷或者点云稀疏不均的情况,那么三维重建的实体模型将与实际不符。

2、基于径向基函数的三维重建算法等。

基于径向基函数的三维重建是将三维重建问题转化为函数求解问题,进而实现三维重建。典型方法有:Hoppe在其博士论文中提出基于矢量距离函数的三维重建算法,此方法虽然实践效果好,复杂度也比较低,但是只适用于采样均匀、密集的情况,且存在无法恢复出尖锐特征以及恢复出的曲面不经过原始点集的缺点;Kazhdan将快速傅里叶变换引入到三维重建中,但是此方法占用较多的内存,而无法应用于大量点云的情况;随后Kazhdan等人将重建问题转化为空间泊松方程求解问题进而得到三维表面,此方法获得了不错的效果;基于区域扩展的方法一般先从一个种子三角形开始,将三角形的边加入到波前边链表中,对于链表中的每一条边按照边的最优点选择准则在点云中确定一个最优点,与这条边组成新的三角形,并从波前边链表中删除当前扩展边,加入新生成的边,直到波前边链表为空时结束。这种方法的关键在于按照怎样的准则在点云中确定边的最优顶点。

然而,上述方案依然存在如下缺陷:采用基于径向基函数的三维重建方法,三维重建的实体模型会存在孔洞的情况,尤其是当采集的三维点云稀疏不均,那么三维重建的实体模型将呈现出千疮百孔的状态,与真实的物体表面相差太大,而且无法恢复出尖锐特征。



技术实现要素:

本发明的目的是提供一种三维激光螺旋扫描点云三维重建方法,可以使扫描获取的散乱点云数据快速、准确的三维重建成实体模型,为后续数据利用提供基础。

本发明的目的是通过以下技术方案实现的:

一种三维激光螺旋扫描点云三维重建方法,包括:

建立包含点的三维坐标以及相关角度信息与旋转次数的点云数据结构;

将扫描获得的螺旋线点云数据按照建立的点云数据结构进行存储,并根据每一个点的相关角度信息与旋转次数对螺旋线点云数据重新排序;

根据旋转次数对重新排序后的螺旋线点云数据进行剖切,获得与旋转次数相同数量的单轮廓线点云;

对每一条单轮廓线点云进行优化处理,再按照上下单轮廓线点云的相关角度是否相同原则进行连接,形成三维实体模型。

前述的点云数据结构中的相关角度信息包括:轴向角度θ,径向角度α;旋转次数为轴向旋转次数n。

前述的根据每一个点的相关角度信息与旋转次数对螺旋线点云数据重新排序包括:

遍历螺旋线点云数据,遍历的螺旋线点云数据排列顺序由轴向旋转次数n与轴向角度进行排列;如果旋转次数n1<n2,那么旋转次数n1对应的所有点云数据都排列在旋转次数n2对应的所有点云数据之前;如果点云数据旋转次数相同,那么点云数据按照轴向角度θ大小进行排列,轴向角度小的点排列在前,轴向角度大的点排列在后;通过上述方式保证螺旋线点云数据按照螺旋线前后顺序进行排列。

前述的根据旋转次数对重新排序后的螺旋线点云数据进行剖切,获得与旋转次数相同数量的单轮廓线点云包括:

按照轴向旋转次数n进行剖分,把一整条螺旋线点云数据切分成n条单轮廓线点云,形成n条单轮廓线点云数据,使螺旋线点云数据从一种无逻辑结构的散乱点云状态转化成一种有逻辑结构的轮廓线点云形式。

前述的对每一条单轮廓线点云进行优化处理包括:

设置一个参数γ,再将每一条单轮廓线点云切分为360/γ等份,每一个等份区间对应的是一个角度区间;

假设第m个等份区间为P,按照点云数据轴向角度对应的等份区间角度范围,如果等份区间P内部仅存在一个点,则将其作为等份区间P的起始点坐标;如果内部存在一个以上的点,就取所有点的质心坐标作为等份区间P的起始点坐标;如果内部没有点,就把等份区间P所在的条单轮廓线点云中轴向角度小于等份区间P起始角度并且角度之差绝对值最小的点坐标,与等份区间P所在的条单轮廓线点云中轴向角度大于等份区间P终止角度并且角度之差绝对值最小的点坐标按直线进行连接,然后根据等份区间P起始角度值差分出该等份区间P的起始点坐标;按照这种数据处理方法,那么每一条单轮廓线点云对应的点数目是固定的,为360/γ个点,而且每个点对应的轴向角度值也是固定的,为m*360/γ°,点云坐标按照以上计算方法已经确定,每一条单轮廓线点云按照等份区间概念重新组织成点云数据,形成新的n条单轮廓线点云。

前述的按照上下单轮廓线点云的相关角度是否相同原则进行连接,形成实体表面包括:

用一系列相互连接的三角面片按照轮廓线之间对应的相同等份角度值将上、下两条单轮廓线点云连接起来;连接上、下两条单轮廓线点云上各点所形成的众多三角面,构成相互连接的三维表面,而且相互之间不能在三角面片内相交,从而形成三维实体模型。

由上述本发明提供的技术方案可以看出,充分考虑了三维激光螺旋扫描点云数据间的逻辑结构,在此基础上对点云数据剖分为多条单轮廓线点云,同时优化处理每条单轮廓线点云,使上下单轮廓线点云对应点径向角度(等份角度)一致,通过这种方式能够让每个点知道应该和具体哪个点进行连接,而不需要对整个点云数据进行遍历,节约了大量时间,算法效率非常高,而且整个方案让所有点云数据参与计算,最大程度保留了点云的三维形态,最后三维重建实体与点云三维形态吻合,没有孔洞,形成准确的三维重建实体,为后续体积计算、实体剖切等各方面应用提供了可靠的数据基础。

附图说明

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

图1为本发明实施例提供的三维激光扫描仪螺旋线扫描示意图;

图2为本发明实施例提供的一种三维激光螺旋扫描点云三维重建方法流程图;

图3为本发明实施例提供的验证实验中所采集的三维激光螺旋扫描点云数据示意图;

图4为本发明实施例提供的验证实验中的三维重建结果示意图。

具体实施方式

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

本发明提出一种适用于三维激光螺旋扫描点云三维重建方法,主要用于三维激光扫描仪获取三维点云后进行三维模型重建。点云数据来源有很多途径,比如通过三维激光扫描仪、摄影测量、三坐标测量机等。

本发明实施例中,三维激光扫描仪采用螺旋线扫描方式进行形态扫描,采用的是一种插补运动控制方式,轴向电机连续不断的旋转,径向电机按照插补点位置进行往复运动,最终形成一整条螺旋线点云,如果把这些点云按照前后关系进行连接将形成一条如图1所示的螺旋线。

本发明实施例提供的方案计算效率非常高、三维重建实体模型与实际相吻合,而且实体模型不会存在孔洞,可以很好解决地解决三维螺旋扫描点云三维重建的问题。

如图2所示,为本发明实施例提供的一种三维激光螺旋扫描点云三维重建方法,其主要包括如下步骤:

步骤1、建立包含点的三维坐标以及相关角度信息与旋转次数的点云数据结构。

本发明实施例中,点云数据结构中的相关角度信息包括:轴向角度θ,径向角度α,轴向角度代表轴向电机旋转对应的角度、径向角度代表径向电机旋转对应角度;旋转次数为轴向旋转次数n。

步骤2、将扫描获得的螺旋线点云数据按照建立的点云数据结构进行存储,并根据每一个点的相关角度信息与旋转次数对螺旋线点云数据重新排序。

本发明实施例中,对螺旋线点云数据重新排序的过程如下:遍历螺旋线点云数据,遍历的螺旋线点云数据排列顺序由轴向旋转次数n与轴向角度进行排列;如果旋转次数n1<n2,那么旋转次数n1对应的所有点云数据都排列在旋转次数n2对应的所有点云数据之前;如果点云数据旋转次数相同,那么点云数据按照轴向角度θ大小进行排列,轴向角度小的点排列在前,轴向角度大的点排列在后;通过上述方式保证螺旋线点云数据按照螺旋线前后顺序进行排列。

步骤3、根据旋转次数对重新排序后的螺旋线点云数据进行剖切,获得与旋转次数相同数量的单轮廓线点云。

本发明实施例中,按照轴向旋转次数n进行剖分,把一整条螺旋线点云数据切分成n条单轮廓线点云,形成n条单轮廓线点云数据,使螺旋线点云数据从一种无逻辑结构的散乱点云状态转化成一种有逻辑结构的轮廓线点云形式。

步骤4、对每一条单轮廓线点云进行优化处理,再按照上下单轮廓线点云的相关角度是否相同原则进行连接,形成三维实体模型。

本发明实施例中,优化处理过程如下:设置一个参数γ(例如,可以设为0.1°-1°间任何一个值),再将每一条单轮廓线点云切分为360/γ等份,每一个等份区间对应的是一个角度区间;假设参数γ设置为1°,则第10等份区间对应的角度起始范围是9°-10°。由于所有点云数据已经按照轴向角度大小进行了排序,假设第m个等份区间为P,按照点云数据轴向角度对应的等份区间角度范围,如果内部仅存在一个点,则将其作为该等份区间P的起始点坐标;如果内部存在一个以上的点,就取所有点的质心坐标作为该等份区间P的起始点坐标;如果内部没有点,那么就把等份区间P所在的条单轮廓线点云中轴向角度小于等份区间P起始角度并且角度之差绝对值最小的点坐标,与等份区间P所在的条单轮廓线点云中轴向角度大于等份区间P终止角度并且角度之差绝对值最小的点坐标按直线进行连接,然后根据等份区间P起始角度值差分出该等份区间P的起始点坐标;按照这种数据处理方法,那么每一条单轮廓线点云对应的点数目是固定的,为360/γ个点,而且每个点对应的轴向角度值也是固定的,为m*360/γ°,点云坐标按照以上计算方法已经确定,每一条单轮廓线点云按照等份区间概念重新组织成点云数据,形成新的n条单轮廓线点云。

形成三维实体模型过程如下:用一系列相互连接的三角面片按照轮廓线之间对应的相同等份角度值将上、下两条单轮廓线点云连接起来;连接上、下两条单轮廓线点云上各点所形成的众多三角面,构成相互连接的三维表面,而且相互之间不能在三角面片内相交,从而形成三维实体模型。

本发明实施例的上述方案,充分考虑了三维激光螺旋扫描点云数据间的逻辑结构,在此基础上对点云数据剖分为多条单轮廓线点云,同时优化处理每条单轮廓线点云,使上下单轮廓线点云对应点轴向角度(等份角度)一致,通过这种方式能够让每个点知道应该和具体哪个点进行连接,而不需要对整个点云数据进行遍历,节约了大量时间,算法效率非常高,而且整个方案让所有点云数据参与计算,最大程度保留了点云的三维形态,最后三维重建实体与点云三维形态吻合,没有孔洞,形成准确的三维重建实体,为后续体积计算、实体剖切等各方面应用提供了可靠的数据基础。

另一方面,为了验证上述方案的效果还进行了相关验证实验。

本次验证实验中采用北京矿冶研究总院B411实验室三维激光螺旋扫描点云数据(如图3所示),点云数目为246501个,点云数据被切分成180条单轮廓线,参数γ设置为1°。从图3可以看出扫描点云是一条从扫描起始点开始逐步向外扩展的螺旋线点云,而且点云数据存在稀疏不均情况。图4是采用本发明提出的一种三维激光螺旋扫描点云三维重建方法对扫描点云进行三维重建结果,形成的三维重建实体与扫描点云形态非常吻合,点云尖锐特征得到保留,而且三维重建实体没有空洞情况,点云三维重建耗时11秒,效率非常高。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

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