CN105405162A - 基于局部结构和方向感知的树点云三维重建方法 - Google Patents

基于局部结构和方向感知的树点云三维重建方法 Download PDF

Info

Publication number
CN105405162A
CN105405162A CN201510664854.4A CN201510664854A CN105405162A CN 105405162 A CN105405162 A CN 105405162A CN 201510664854 A CN201510664854 A CN 201510664854A CN 105405162 A CN105405162 A CN 105405162A
Authority
CN
China
Prior art keywords
point
skeleton
cloud
tree
point cloud
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
Application number
CN201510664854.4A
Other languages
English (en)
Other versions
CN105405162B (zh
Inventor
张立强
王臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Normal University
Original Assignee
Beijing Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Normal University filed Critical Beijing Normal University
Priority to CN201510664854.4A priority Critical patent/CN105405162B/zh
Publication of CN105405162A publication Critical patent/CN105405162A/zh
Application granted granted Critical
Publication of CN105405162B publication Critical patent/CN105405162B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

本发明实现了<b>基于局部结构和方向感知的树点云三维重建方法</b>,属于空间信息技术领域。考虑到局部结构内树枝方向和点云密度具有连续性的特点,该方法推演出了数据缺失处树枝的连接关系,设计了点云修复的优化方程和迭代过程,利用骨架点云驱使点云数据中的点沿着骨架线方向边收缩边扩散,使得优化后的点云不会产生额外的噪声,不依赖于优化后的点云而采用收缩的骨架继承相邻迭代之间的空间关联,充分保留了原始点云的结构信息。采用植物生长模型计算树骨架上每一节点的半径,根据每个节点的半径,将骨架膨胀成三维树模型。与已有树木三维重建方法相比,该方法更能精确的修复缺失区域的点云,获得更好的建模结果。

Description

基于局部结构和方向感知的树点云三维重建方法
一、技术领域
涉及基于局部结构和方向感知的树点云重建方法,属于空间信息技术领域。
二、背景技术
近年来激光雷达技术得到了快速发展,它通过高速激光扫描测量,高精度的快速获取大面积被测对象表面的三维坐标数据,成为快速获取精细的、大规模三维城市场景数据的重要手段。地面激光雷达是一种非破坏性的高分辨率三维测量手段,可弥补现有观测手段的不足,实现植被等几何结构参数的自动获取,为重建树木的三维真实结构提供了可能。
由于测量条件的限制导致测量数据经常存在较高噪声,同时周围场景地物的复杂性也决定了测量过程中的遮挡不可避免,所以测量得到的数据通常是不完整的,存在部分点云缺失,再加上,树木一般具有复杂的三维结构、拓扑关系和丰富的细节,这就决定了基于单方向扫描的地面激光雷达树木点云的重建具有极大的挑战性,有许多关键技术问题需要解决。
在数据缺失区域的点云修复和枝干结构连接方式上,预先无法确定树枝相互间的连接关系是否正确,传统的树木建模方法通常使云中的每点向着树枝两端运动,进行数据修复,造成树的骨架几何拓扑关联产生较大畸变。事实上,树枝之间在局部结构上存在一定的规律性,在树点云三维重建中,可以借助树的局部结构表达树枝的延伸和逻辑关系,基于此,申请人给出了一种能描述树枝的角度以及每段树枝点密度的树枝局部结构的表达方法,让每段树枝局部结构点云中的点沿着主方向向该树枝两端移动,由缺失处两端点云共同负责其修复,并且点的移动方式是依据局部结构中点云的分布,不受周围其它树枝点云是否缺失的影响,所以减少了周围点云噪声、点密度不均一或点云缺失对该树枝提取的影响,极大提高了树三维重建的精度。提出的方法在植被遥感、林业调查、数字城市等方面具有广阔的应用前景。
三、发明内容
1、目的:树木作为自然界中最普遍存在的景观之一,构造其三维模型已成为现实世界三维数字化工作中不可或缺的一部分。由于树木普遍具有复杂的几何形状和拓扑形态,构建树木三维模型一直以来具有很大的挑战性,尤其是重建真实的三维树木模型。申请人基于局部结构内树枝方向和点云密度具有连续性的特点,推演出缺失处树枝的连接关系,设计了点云修复的优化方程和迭代过程,充分保留了原始点云的结构信息,获得了精确的三维建模结果,满足树木三维建模在植被遥感、林业调查、数字城市等方面的需求。
2、技术方案:
基于局部结构和方向感知的树点云重建方法,其特征在于,包括如下步骤:
步骤一:初步提取树的骨架
用K最邻近结点算法将树点云中每个点与其周围的k个点连接起来形成一个权重图G(V,E),V表示顶点集合,E表示边的集合。G中各个联通分量之间最近的两个点依次连接起来,以此提取初始树骨架、每一点的主方向以及每一段树枝上包含的点。
步骤二:树点云收缩形成点云骨架,获取骨架上点的主方向
由于树木点云中部分区域往往存在着数据缺失,所以会造成权重图G构建的树骨架在这些区域存在着错误的连接关系,但是在没有数据缺失的区域里,树枝连接方式还是相似于真实的树枝形状,利用这些正确的树枝连接方式对数据缺失区域的枝干进行修复。基于已有的骨架以及原始点云中每一点的主方向,采用拉普拉斯算法对点云收缩,形成骨架点云,减弱原始点对树枝方向的干扰。为了确保收缩后的点云真实反映原始骨架,点云应向着已知的骨架进行收缩,并且收缩到骨架线上。采用的拉普拉斯算子如方程(1)所示。
L i j = &omega; i j = e - d ( i , j ) &times; t g &theta; i f ( i , j ) &Element; E &Sigma; ( i , k ) &Element; E k - &omega; i k i f i = j 0 o t h e r w i s e - - - ( 1 )
在(1)式中,Lij是拉普拉斯算子L的一个元素,ωij是一个变量,点i、j、k分别是树上的三个点,θ是i点与其在骨架线段上投影的连线和边d(i,j)的夹角,d(i,j)是点i、j之间的欧式距离,E是边的集合。
Wij中加入tgθ后,点云中的点会朝着骨架线的方向进行收缩。求解拉普拉斯方程(2),获得收缩后的骨架点云。
W L L W H V &prime; = 0 W H V - - - ( 2 )
在(2)式中,WL和WH是对角矩阵,WL控制平滑的程度,WH控制和原始点相似的程度,WL中第i个对角元素的的值定义成WL,i,WH中第i个对角元素的值定义成WH,i。V’是收缩后的点云,V是原始的点云。
点云收缩以后,尖端的树枝结构也会收缩消失,所以需要增加尖端的权重。因为尖端的点突出于周围的点,使得尖端点和周围点的夹角比较小,而非尖端的点和周围点的夹角会比尖端点大。基于这个原因,WL的值由下式(3)定义。
W L , i = &Sigma; j &Element; &Omega; i sin&theta; 2 &times; e - d ( i , j ) / &Sigma; j &Element; &Omega; i e - d ( i , j ) - - - ( 3 )
在(3)式中,θ2是边d(i,j)和i点主方向的夹角,Ωi是与E中点i相邻点的集合。
经过拉普拉斯方程收缩后,骨架点云和骨架的连接方式非常相似,并且数据缺失区域没有点,保证了骨架点云不会添加入额外的噪声。
步骤三:基于树局部结构的点密度的修复
虽然骨架点云提供了良好的方向特性,但是通过骨架上每一段包含的点数量来确定点密度并不准确。这一步设计局部结构,利用树本身存在的重复性结构对点密度进行估算,获得更加精确的点密度。初始点密度由初始骨架获得,表示一段骨架之间包含的点云数量。首先定义和描述树木的局部结构,使得该结构尽可能真实的表达不同形态局部树枝空间几何拓扑关系;接下去,采用稀疏编码学习和重建该局部结构,实现点密度的修复,使得点密度更加精确,以此进行精确点云修复。
通过有向树结构描述一棵树的骨架,树形结构上每一条边的方向表示枝条方向。有向树一条边的两端点中,靠近根节点的端点称之为前向点,远离根节点的端点作为后向点,该边的方向是从前向点指向后向点,骨架上每一条边与其首尾相连的边作为该边的局部结构。定义了边的局部结构后,就需要表达每一个局部结构的特征,过程如下:
(1)树枝之间的角度具有一定的规律性,这些角度用来作为局部结构的特征。
计算每个局部结构中衔接边与所有承接边之间的夹角。因为夹角在0-180°之间,所以每10°作为一个采样间隔,每个间隔记录夹角在该区域的边,通过这种方法构造这个局部结构的特征向量。为了统计每个树枝局部结构前向和后向的树枝分布,需要区分前向和后向的树枝,分开进行编码记录。这个特征向量是一个36维的向量,前18维存储了前向的承接边和衔接边的关系,后18维存储了后向的承接边和衔接边的关系。
(2)一个局部结构的向量除了记录角度关系外,也记录与树枝半径相关的信息,而在点云中相关量为局部点密度,每一维中记录这个方向间隔中所有枝的平均点数量。
这样一个局部结构就被编码成一个特征向量,通过这个特征向量来描述该特征。此特征向量跟该结构衔接边树枝的角度及其旋转是无关的,可以描述树上不同方向以及不同旋转过后的局部结构。
由于获得了树上每一条边对应的局部结构,通过这些局部结构训练计算过冗余字典。为了让字典结果稳定,连接叶节点以及根节点的边,即前18个向量或者后18个向量均为0的特征向量,不进行字典训练,采用k-SVD方法从这些向量中获得自适应过冗余字典。
获得过冗余字典以后,任意的一个局部结构的特征向量α1,可以被过冗余字典重构获得一个新的特征向量α2,用α2中对应的值代替α1中的值,作为重建后的点密度。为了让点密度具有连续性和减少初始点归属的影响,在进行稀疏字典训练和重建前,采用拉普拉斯算法平滑点密度。
步骤四:修复缺失的树点云
把上一步收缩得到的点云和原始的点云合并起来,形成一个新的点云P。为了防止点云修复过程中造成点的扩散,每一点在沿着主方向运动的同时,沿着轴向进行收缩。最小化下式(4)和(5),对缺失点云进行修复。
如果点i不在骨架上,
| | &Sigma; j &Element; &Omega; i O i T &times; P i - P j | P i - P j | &times; O i &times; e - | P i - P j | &times; &rho; j / &Sigma; j &Element; &Omega; i e - | P i - P j | + &lambda; &times; &rho; m a x ( ( U i - P i ) + &phi; &times; ( P s i - P i ) ) | | 2 - - - ( 4 )
如果该点在骨架上,
| | &Sigma; i &Element; &Omega; Q i T &times; P i - P j | P i - P j | &times; O i &times; e - | P i - P j | / &Sigma; j &Element; &Omega; i e - | P i - P j | + &lambda; &times; ( U i - P i ) | | 2 - - - ( 5 )
Oi是点i的主方向,Ui是原始点云中i点的位置,Pi、Pj分别表示优化后点i、j的坐标,Psi表示收缩后的点在优化点云中的坐标,pj表示点j的点密度,λ表示向着轴向和原始点收缩的系数,Φ表示向着轴向收缩和向着原始点收缩的比例。力是从点j指向点i的,所以力的大小和j处的点密度有关,ρmax表示点i周围点最大的那个点密度。采用ρmax后会压制点密度小处的点运动,防止了末端点的扩散,并且鼓励点密度高处的点运动。在优化中加入了骨架点云,使每一个点在优化过程中沿着骨架点云进行运动,可以达到轴向收缩的效果。在优化过程中,骨架上的点较为密集,这些点在优化后延伸较大,通过这些点再拉动与其对应的原始点云,会让整个点云沿着各自的骨架线方向进行扩散,完成点云的修复过程。
为了防止点云沿着骨架方向收缩过大或者沿着不正确的骨架方向移动,在优化过程中控制点云移动的步长,每次只移动一小段,迭代进行修复和重建过程,直到获得良好的树模型,所以点云缺失的修复需要迭代进行。由于骨架点云是从点云沿着骨架线的收缩得到的,用以描述树木主要结构的骨架点云保留了大量的原始点云位置和结构信息,充分利用骨架点云的这个特点设计了迭代过程。
(1)当点云经过一次修复后,把原始输入点云、上一步的骨架点云叠加到优化后的点云上,形成新的树木点云。
(2)利用前一步获得的树骨架,对优化后的点云进行收缩,得到新的骨架点云。
(3)把第(2)步产生的骨架点云、原始点云叠加起来,获得这些点的连接关系,进行点云修复。修复后的点云包括了两部分:一部分是骨架点云运动后的点集,另一部分是原始点云运动后的点集。
(4)依据第(3)步获得的连接关系,对原始点云运动后的点进行收缩,得到新的骨架点云。
由第(3)步得到的连接关系可获得第(2)步骨架点云中存在的边e1,即e1的两端点连接的是第(2)步骨架点的边,计算e1的两个端点和这一步骨架点以及原始点中任两点的距离之和,搜索距离最邻近的两个点,这两个点形成边e2,将边e2的权重We2变成下式(6)。
We2=We2(1-cosθ3/(de1/de2+de2/de1))(6)
在(6)式中,de1是边e1在边e2上的投影长度,de1是边e2的长度,We2是边e2的权重,θ3是边e1和e2之间的夹角。
(5)当修改完所有相关边的权重后,提取新骨架,然后转到第(2)步,比较相邻两次迭代的骨架点云末端点的移动情况,当所有末端点的运动小于阈值δ时,整个迭代结束。
步骤五:重建树的三维模型
当获得树骨架以后,采用植物生长模型计算每一个节点的半径,根据每个节点的半径,将骨架膨胀成三维树模型。
3、优点及功效:提出了树局部结构平滑点云密度的方法,基于点云密度和点的主方向,设计了数据缺失区域点云修复的优化方程和迭代过程,利用骨架点云驱使点云中的点沿着骨架线方向边收缩边扩散,使得优化后的点云不会产生额外的噪声,不依赖于优化后的点云而采用收缩的骨架继承相邻迭代之间的几何拓扑关联关系,充分保留了原始点云的结构信息。采用植物生长模型计算树骨架上每一节点的半径,根据每个节点的半径,将骨架膨胀成三维树模型。与已有树三维重建方法相比,提出的方法能更精确的修复缺失区域的点云,获得精确的三维建模结果。
四、附图说明
图1方法的流程示意图
图2存在自遮挡的树点云建模
图2(a)原始点云
图2(b)数据修复后的点云
图2(c)重建的三维树模型。
图3存在较大数据缺失的树点云建模
图3(a)原始点云
图3(b)数据修复后的点云
图3(c)重建的三维树模型。
图4树冠处点较为密集的多棵树的三维重建
图4(a)原始点云
图4(b)数据修复后的点云
图4(c)重建的三维树模型
图5手工删去部分点后的树建模和原始点云建模结果的比较
图5(a)原始树点云
图5(b)原始树点云的三维建模结果
图5(c)手工删除一部分点后的点云数据
图5(d)数据修复后的树点云
图5(e)数据缺失修复后树点云的三维建模结果。
五、具体实施方式
涉及一种基于地面激光雷达点云数据自适应构建三维树木骨架的方法,该方法具体步骤如下(如图1):
步骤一:初步建立树木三维几何结构
对于包含多棵树的地面激光点云,需要先识别树的株数及其对应的底部。获取一定高度层的点,然后聚类提取单棵树的点云集合。计算每棵树点云集合的中点,作为该树的底点。对于复杂的区域需要交互式指定底部来确定树的棵数和底点。
在树木点云中,利用k-NearestNeighbor(KNN)算法计算每个点最邻近的n个点,一般的,n=50;设其中两点分别为i点和j点,KNN算法计算出的最邻近点i的最相邻点包含j,而j的最邻近不包括i,所以让i的最相邻点包含j,且点的相邻点包含i,点与点连线形成边的长度作为该边的权重,以此构建一个无向图,通过该无向图构建最小生成树(MST)。用Diikstra算法计算每个底点到MST各点的最短距离,把每个点归属到离所对应底点最近的树上去。这样就获得了一株树的点云以及其连接方式。
步骤二:构建距离最小生成树
从树木点云中用Dijkstra算法获得树的三维结构缺乏相邻点的信息,而MST也不能很好描述树的伸展形状。树枝通常是向上生长的,小范围内树干的分布应该是相对光滑的,树上的点被认为是以离根节点最近的方式连接,并且越相临的点在同一树枝上的可能性越大。采用距离最小生成树方法(DMst)来构建子树。DMst的方法流程如下:
(1)对单株树的点云构建无向图,其中顶点集合为V。设每个顶点到根节点的距离Ddij,每个顶点到当前DMst(此时,DMst为空)的最小距离为Dmst,每个顶点指向为P,每个顶点的MST指向为Pmst,每个顶点Dijkstra树的指向为Pdij
(2)把底点做为DMst的根节点,初始化V,除底点以外的所有顶点放入V中,计算所有点的Ddij和Dmst,把根节点相邻点的P、Pdij和Pmst指向根节点。
(3)在V中,选取Dmst+Ddij之和最小的点,把该点从V中移出。
(4)更新Pmst和Dmst,设点i、j之间的距离为dij,如果Dmst[i]>dij,那么Pmst指向j,Dmst[i]=dij,更新Pdij和Ddij;如果Ddij[i]>Ddij[j]+dij,那么Pmst指向j,Ddij[i]=Ddij[j]+dij;当Dmst[i]+(Dmst[i]+Ddij[j])<=Ddij[j]-Ddij[k]+Ddij[i]时,P[i]指向距树最小的位置j,否则,P[i]指向距根节点距离最小的位置。
(5)重复步骤(3)和(4),直到V中没有点为止,通过P获取所有点的组织结构,完成DMst构建。
构建DMst时,用Dmst[i]+w×Ddij[i]代替Dmst+Ddij控制入选的点。更新时,因为在DMst中每次获取i点和j点的公共前向,计算复杂度大,而用Dmst[i]+(Dmst[i]+Ddij[j]-Ddij[k]<=w×(Ddij[i]-Ddij[k]+Ddij[i]-Ddij[k])作为判定条件,可以获得较好效果。
DMst获得的树形结构中,大量的树节点点只有少量的子节点,去除那些只有少量子节点的树节点,剩下的点构成一个近似的树骨架。设置每个点的权值ci,对没有子节点的点来说,ci=0.1,对有子节点的点,
c i = &Sigma; j &Element; &Omega; ( c j + d i j ) - - - ( 1 )
式(1)中,Ω是i点相邻子节点的集合,j点是i点相邻的子节点,dij是i点和j点之间的距离。
设阈值为δ,剔除ci<δ的点而保留ci>δ的点。保留的点构成了树的近似骨架,并且骨架点是树的表面点,骨架节点之间的方向很好反映了树枝的伸展方向。DMst构成树的连接方式具有方向性,因为考虑了每个点到根部的距离,形成树枝的方向主要是向上的,符合树的生长特征,这也为缺失点云区域的修补提供了帮助。
步骤三:优化树骨架结构
一般的,树的表面是连续的,树枝的变化是平滑的,不会出现粗枝瞬间变细枝或者细枝瞬间变成粗枝的情况,所以用如下假设来描述树的表面:地面激光雷达扫描仪扫描树木表面形成点云的过程可看作连续表面离散化的过程,点云类似于粒子,它们之间有相互的斥力,所在位置对其本身有一定的束缚作用,这些粒子所构成的表面处于受力平衡的状态,因此有点云缺失的树木区域,本应该存在的表面点没有了,整个表面的受力平衡状态就破坏了,粒子会产生运动,最后会获得一个新的受力平衡状态,而这个平衡状态就是修复了缺失的状态。
(1)提取枝干主方向
因为点密集分布在树的表面,相邻点之间的方向并不能代表树枝的伸展方向,所以点与点之间的方向不能代表表面上每一个点受力方向,用主方向来反映树枝的伸展方向。
为了获得主方向,对去除ci<δ点的点云进行重采样。将ci>δ且所有后向点的ci<δ的点作为末端点,如果一个点有两个或两个以上后向点ci>δ,这个点是树的分叉点。在所有采样点构成的树骨架上,每隔距离d再采一个点,d是点与点之间树干上的距离而不是直线距离,把这些点按DMst的结构连接起来,d=0.2。设相邻两点为i,j,离根节点近的点设为i,另一点设为j,由i指向j的方向作为这两点之间的方向,该方向作为i点的所有子节点的主方向;取末枝点的前向节点到末枝点的方向作为末枝点的所有子节点的主方向。
(2)优化点云缺失的树木
对于完整点云集合来说,其中每个点处于受力平衡状态,所以一个点所连接的所有点对该点的合力在主方向上的投影Fr与其所在位置对该点的束缚力Fs之和F=Fr+Fs,作为该点所受的外力,显然F=0时,该点处于平衡状态。类似于同性电荷之间的力,点之间的斥力与其距离成反比,通过公式(2)计算每个点的电荷量qi
q i = 1 r i - - - ( 2 )
式(2)中,qi是对应点i的电荷量,ri是对应点i到n个最临近点的平均距离,相连i与点j之间的斥力是,
F r ( i , j ) = q i q j | | P i - P j | | 2 ( P i - P j ) - - - ( 3 )
式(3)中Pi,Pj是优化后对应点i和j的坐标,qi,qj是对应点的电荷量。
i点所在的原始位置对其的束缚力应该和i点偏离原始位置的距离成正比。通过公式(3)求当前点i的阻尼系数Ki
K i = ( &Sigma; j &Element; &Omega; q j ) q i r m 2 - - - ( 4 )
式(4)中,rm是树上两点之间的平均距离,Ω是与i点相连接的所有点集合,j是i相连的点,i所在位置对i的束缚力为,
FS(i)=Ki(Qi-Pi)(5)
式(5)中,Pi是优化后对应点i的坐标,Qi是为优化前点i的坐标。最后的优化函数:
式(6),Ω是i点所有相连接点的集合,j是i相连的点,Oi是i点的主方向,w是权重,w的改变可以控制点的偏离程度。
对DMst进行重采样,并且对重采样的每一个末枝点进行延伸,寻找末枝点的后向子节点中ci最大的点,作为待处理点,再搜素待处理点的后向子节点中ci最大的点,如果点到末枝点在树干上的距离超过d,那么把这个点作为新的末枝点加到骨架中,直到找到一个没有后向点的点为止,并把该点加入到骨架。这样就得到最后的树骨架。
步骤四:重建树木三维骨架
用拉普拉斯方程(7)对上面获取的树骨架进行平滑。
L i j = &omega; i j = 1 i f ( i , j ) &Element; E &Sigma; ( i , k ) &Element; E k - &omega; i k i f i = j 0 o t h e r w i s e - - - ( 7 )
L是n×n的拉普拉斯算子矩阵,E是i相邻点的集合,j和k是i的相邻点。
W L L W H V &prime; = 0 W H V - - - ( 8 )
公式(8)中,WL和WH是对角矩阵,用来平衡收缩力和吸引力;V’是优化后的点,V是初始点;WL对角线上的值设为1,根据需要设置平滑的大小。
因为点云数据包含噪声或存在缺失,难以确定树枝干的宽度。一般的,树底部附近的点比较密集,并且周围干扰点较少,可以估算出树底部的半径,根据树的异速生长模型计算所有树枝的半径。如果父节点只有一个子节点,那么,
r c = r p ( l c l p ) 3 2 - - - ( 9 )
rc是子节点的半径,rp是父节点的半径,lc是子节点的c,lp是父节点的c。
如果一个父节点i有多个子节点,那么,
r c i = r p ( l c i &Sigma; j l c j ) 3 2 - - - ( 10 )
j是子节点的个数。
至此计算了每个节点的半径。对于有叶子的树,认为树干半径小但周围点云多的位置长叶子的可能较大,所以,在优化后点云中,树骨架上的每点的qi除以该点处树干半径ri,对这些值进行降序排序,根据树叶的疏密,添加叶子。
实施例1:
采用RIEGLLMS-Z620地面激光雷达扫描仪单站式扫描获得树点云,扫描时的垂直分辨率和水平分辨率都是0.057°,场景树木距离扫描仪的距离远近不同,远处的树被前面的地物遮挡,造成数据缺失和点密度不均一。在一台InterCore(TM)i7-47903.6GHZ、内存4GB的计算机上对上述树点云进行三维建模。
图2(a)是距离扫描仪较近的一棵树的点云数据,树的点密度较高,但是树冠部分树枝较多且细长,自遮挡造成了局部区域点密度的跳变,并且背向扫描仪的一面点云极为稀疏。图2(b)是对原始点云修复后的新点云数据,从该数据中重建了该树的三维模型(图2c)。从图2(c)可以看出,重建后的树干形状得到较好的保持,没有受到自遮挡的影响。
如图3(a)给出了数据缺失严重的树点云。红框内树枝点云缺失了,这棵树距离扫描仪较远,整棵树的点密度不高。因为迭代的进行修复,收缩得到骨架点云,很好的保持了原始点云中较明显的主干结构,点云修复后(图3b)可以实现较好的建模结果(图3c)。
图4(a)是相互间距离较近的三棵树点云,由于每颗树冠覆盖面积较大,所以在树冠部分处点云数据相互重叠,并且树冠处点较为密集,因为扫描仪前面地物以及自身相互遮挡,造成树冠具有条带状的缺失区域。采用提出的方法,数据缺失区域的点云能够较好的恢复(图4b),重建后的三维树模型的树枝形状保持的十分完好(图4c)。
图5(b)是基于图5(a)所示的完整树点云的三维重建结果,在图5(a)的红框中树枝延伸和彼此间的连接关系较为复杂,为了验证申请人的方法,申请人删除了红框内的点(如图5c),通过点云修复最终得到了图5(d)所示的点云,红框区域处的数据得到了较好的修复,图5(e)是利用该点云数据重建的三维模型,两种数据的建模结果具有很好的相似性。

Claims (1)

1.基于局部结构和方向感知的树点云重建方法,其特征在于,包括如下步骤:
步骤一:初步提取树的骨架
用K最邻近结点算法将树点云中每个点与其周围的k个点连接起来形成一个权重图G(V,E),V表示顶点集合,E表示边的集合,G中各个联通分量之间最近的两个点依次连接起来,以此提取初始树骨架、每一点的主方向以及每一段树枝上包含的点;
步骤二:树点云收缩形成点云骨架,获取骨架上点的主方向
基于已有的骨架以及原始点云中每一点的主方向,采用拉普拉斯算法对点云收缩,形成骨架点云;点云向着已知的骨架进行收缩,并且收缩到骨架线上,采用的拉普拉斯算子如方程(1)所示:
L i j = &omega; i j = e - d ( i , j ) &times; t g &theta; i f ( i , j ) &Element; E &Sigma; ( i , k ) &Element; E k - &omega; i k i f i = j 0 o t h e r w i s e - - - ( 1 )
在方程(1)中,Lij是拉普拉斯算子L的一个元素,ωij是一个变量,点i、j、k分别是树上的三个点,θ是i点与其在骨架线段上投影的连线和边d(i,j)的夹角,d(i,j)是点i、j之间的欧式距离,E是边的集合;
Wij中加入tgθ后,点云中的点会朝着骨架线的方向进行收缩;求解拉普拉斯方程(2),获得收缩后的骨架点云;
W L L W H V &prime; = 0 W H V - - - ( 2 )
在方程(2)中,WL和WH是对角矩阵,WL控制平滑的程度,WH控制和原始点相似的程度;WL中第i个对角元素的的值定义成WL,i;WH中第i个对角元素的值定义成WH,i;V’是收缩后的点云,V是原始的点云;
WL的值由下式(3)定义;
W L , i = &Sigma; j &Element; &Omega; i sin&theta; 2 &times; e - d ( i , j ) / &Sigma; j &Element; &Omega; i e - d ( i , j ) - - - ( 3 )
在方程(3)中,θ2是边d(i,j)和i点主方向的夹角,Ωi是与E中点i相邻点的集合;
步骤三:基于树局部结构的点密度的修复
通过有向树结构描述一棵树的骨架,树形结构上每一条边的方向表示枝条方向;有向树一条边的两端点中,靠近根节点的端点称之为前向点,远离根节点的端点作为后向点,该边的方向是从前向点指向后向点;骨架上每一条边与其首尾相连的边作为该边的局部结构,表达每一个局部结构的特征,过程如下:
(1)树枝之间的角度具有一定的规律性,这些角度用来作为局部结构的特征;
计算每个局部结构中衔接边与所有承接边之间的夹角,每10°作为一个采样间隔,每个间隔记录夹角在该区域的边,通过这种方法构造这个局部结构的特征向量;为了统计每个树枝局部结构前向和后向的树枝分布,需要区分前向和后向的树枝,分开进行编码记录;这个特征向量是一个36维的向量,前18维存储了前向的承接边和衔接边的关系,后18维存储了后向的承接边和衔接边的关系;
(2)一个局部结构的向量除了记录角度关系外,也记录与树枝半径相关的信息,而在点云中相关量为局部点密度,每一维中记录这个方向间隔中所有枝的平均点数量;
这样一个局部结构就被编码成一个特征向量,通过这个特征向量来描述该特征,采用k-SVD方法从这些向量中获得自适应过冗余字典;获得过冗余字典以后,任意的一个局部结构的特征向量α1,可以被过冗余字典重构获得一个新的特征向量α2,用α2中对应的值代替α1中的值,在进行稀疏字典训练和重建前,采用拉普拉斯算法平滑点密度;
步骤四:修复缺失的树点云
把步骤三收缩得到的点云和原始的点云合并起来,形成一个新的点云P;为了防止点云修复过程中造成点的扩散,每一点在沿着主方向运动的同时,沿着轴向进行收缩;最小化下式(4)和(5),对缺失点云进行修复;
如果点i不在骨架上,
| | &Sigma; j &Element; Q i O i T &times; P i - P j | P i - P j | &times; O i &times; e - | P i - P j | &times; &rho; j / &Sigma; j &Element; &Omega; i e - | P i - P j | + &lambda; &times; &rho; m a x ( ( U i - P i ) + &phi; &times; ( P s i - P i ) ) | | 2 - - - ( 4 )
如果该点在骨架上,
| | &Sigma; i &Element; Q O i T &times; P i - P j | P i - P j | &times; O i &times; e - | P i - P j | / &Sigma; j &Element; &Omega; i e - | P i - P j | + &lambda; &times; ( U i - P i ) | | 2 - - - ( 5 )
Oi是点i的主方向,Ui是原始点云中i点的位置,Pi、Pj分别表示优化后点i、j的坐标,Psi表示收缩后的点在优化点云中的坐标,ρj表示点j的点密度,ρmax表示点i周围点最大的那个点密度;λ表示向着轴向和原始点收缩的系数,φ表示向着轴向收缩和向着原始点收缩的比例;
在优化过程中控制点云移动的步长,每次只移动一小段,迭代进行修复和重建过程,直到获得良好的树模型,充分利用骨架点云的这个特点设计了迭代过程:
(1)当点云经过一次修复后,把原始输入点云、上一步的骨架点云叠加到优化后的点云上,形成新的树木点云;
(2)利用前一步获得的树骨架,对优化后的点云进行收缩,得到新的骨架点云;
(3)把第(2)步产生的骨架点云、原始点云叠加起来,获得这些点的连接关系;
(4)依据第(3)步获得的连接关系,对原始点云运动后的点进行收缩,得到新的骨架点云;
从第(3)步得到的连接关系中,可获得第(2)步骨架点云中存在的边e1,计算e1的两个端点和这一步骨架点以及原始点中任两点的距离之和,搜索距离最邻近的两个点,这两个点形成边e2,将边e2的权重we2变成下式(6);
we2=we2(1-cosθ3/(de1/de2+de2/de1))(6)
在方程(6)中,de1是边e1在边e2上的投影长度,de1是边e2的长度,we2是边e2的权重,θ3是边e1和e2之间的夹角;
(5)当修改完所有相关边的权重后,提取新骨架,然后转到第(2)步;当所有末端点的运动小于阈值δ时,整个迭代结束;
步骤五:重建树的三维模型
当获得树骨架以后,采用植物生长模型计算每一个节点的半径,根据每个节点的半径,将骨架膨胀成三维树模型。
CN201510664854.4A 2015-10-16 2015-10-16 基于局部结构和方向感知的树点云三维重建方法 Expired - Fee Related CN105405162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510664854.4A CN105405162B (zh) 2015-10-16 2015-10-16 基于局部结构和方向感知的树点云三维重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510664854.4A CN105405162B (zh) 2015-10-16 2015-10-16 基于局部结构和方向感知的树点云三维重建方法

Publications (2)

Publication Number Publication Date
CN105405162A true CN105405162A (zh) 2016-03-16
CN105405162B CN105405162B (zh) 2017-12-05

Family

ID=55470627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510664854.4A Expired - Fee Related CN105405162B (zh) 2015-10-16 2015-10-16 基于局部结构和方向感知的树点云三维重建方法

Country Status (1)

Country Link
CN (1) CN105405162B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485676A (zh) * 2016-09-29 2017-03-08 天津大学 一种基于稀疏编码的LiDAR点云数据修复方法
CN108198145A (zh) * 2017-12-29 2018-06-22 百度在线网络技术(北京)有限公司 用于点云数据修复的方法和装置
CN109285217A (zh) * 2018-09-10 2019-01-29 中国科学院自动化研究所 基于多视角图像的过程式植物模型重建方法
CN109829941A (zh) * 2019-01-04 2019-05-31 华南农业大学 一种基于中心线提取的植物根系三维构型测量方法
CN109872394A (zh) * 2019-01-10 2019-06-11 重庆大学 基于最小二乘支持向量机的狭长三角形网格优化方法
CN109934928A (zh) * 2019-03-18 2019-06-25 江西博微新技术有限公司 基于骨架化的三维模型简化方法
CN110827391A (zh) * 2019-11-12 2020-02-21 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备及存储介质
CN112712509A (zh) * 2020-12-31 2021-04-27 重庆大学 基于点云的树木参数获取方法、生长评估方法、装置及系统
WO2022096944A1 (en) * 2021-04-15 2022-05-12 Sensetime International Pte. Ltd. Method and apparatus for point cloud completion, network training method and apparatus, device, and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008063510A1 (en) * 2006-11-13 2008-05-29 Siemens Medical Solutions Usa, Inc. Generalized rigid alignment of 3d ear impression models
CN102163342A (zh) * 2011-04-07 2011-08-24 北京农业信息技术研究中心 基于多尺度测量数据的果树形态结构三维重建方法
CN102682475A (zh) * 2012-05-11 2012-09-19 北京师范大学 一种基于地面激光雷达点云数据自适应构建三维树木骨架的方法
US20130060775A1 (en) * 2010-12-27 2013-03-07 The Board Of Trustees Of The Leland Stanford Junior University Spanning-tree progression analysis of density-normalized events (spade)
CN103065352A (zh) * 2012-12-20 2013-04-24 北京农业信息技术研究中心 一种基于图像和扫描数据的植株三维重建方法
CN103268631A (zh) * 2013-05-23 2013-08-28 中国科学院深圳先进技术研究院 点云骨架提取方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008063510A1 (en) * 2006-11-13 2008-05-29 Siemens Medical Solutions Usa, Inc. Generalized rigid alignment of 3d ear impression models
US20130060775A1 (en) * 2010-12-27 2013-03-07 The Board Of Trustees Of The Leland Stanford Junior University Spanning-tree progression analysis of density-normalized events (spade)
CN102163342A (zh) * 2011-04-07 2011-08-24 北京农业信息技术研究中心 基于多尺度测量数据的果树形态结构三维重建方法
CN102682475A (zh) * 2012-05-11 2012-09-19 北京师范大学 一种基于地面激光雷达点云数据自适应构建三维树木骨架的方法
CN103065352A (zh) * 2012-12-20 2013-04-24 北京农业信息技术研究中心 一种基于图像和扫描数据的植株三维重建方法
CN103268631A (zh) * 2013-05-23 2013-08-28 中国科学院深圳先进技术研究院 点云骨架提取方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIA LIU ET AL: ""Creation of Tree Models from Freehand Sketches by Building 3D Skeleton Point Cloud"", 《SPRINGER-VERLAG BERLIN HEIDELBERG 2010》 *
ZHEN WANG ET AL: ""A Structure-Aware Global Optimization Method for Reconstructing 3-D Tree Models From Terrestrial Laser Scanning Data"", 《IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING》 *
周广宇 等: ""基于点云数据构建树木骨架的方法"", 《测绘与空间地理信息》 *
黄洪宇: ""基于地面激光雷达点云数据的单木三维建模综述"", 《林业科学》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485676A (zh) * 2016-09-29 2017-03-08 天津大学 一种基于稀疏编码的LiDAR点云数据修复方法
CN108198145A (zh) * 2017-12-29 2018-06-22 百度在线网络技术(北京)有限公司 用于点云数据修复的方法和装置
CN109285217A (zh) * 2018-09-10 2019-01-29 中国科学院自动化研究所 基于多视角图像的过程式植物模型重建方法
CN109829941A (zh) * 2019-01-04 2019-05-31 华南农业大学 一种基于中心线提取的植物根系三维构型测量方法
WO2020140339A1 (zh) * 2019-01-04 2020-07-09 华南农业大学 一种基于中心线提取的植物根系三维构型测量方法
CN109872394A (zh) * 2019-01-10 2019-06-11 重庆大学 基于最小二乘支持向量机的狭长三角形网格优化方法
CN109934928A (zh) * 2019-03-18 2019-06-25 江西博微新技术有限公司 基于骨架化的三维模型简化方法
CN109934928B (zh) * 2019-03-18 2023-04-14 江西博微新技术有限公司 基于骨架化的三维模型简化方法
CN110827391A (zh) * 2019-11-12 2020-02-21 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备及存储介质
CN112712509A (zh) * 2020-12-31 2021-04-27 重庆大学 基于点云的树木参数获取方法、生长评估方法、装置及系统
CN112712509B (zh) * 2020-12-31 2023-09-01 重庆大学 基于点云的树木参数获取方法、生长评估方法、装置及系统
WO2022096944A1 (en) * 2021-04-15 2022-05-12 Sensetime International Pte. Ltd. Method and apparatus for point cloud completion, network training method and apparatus, device, and storage medium

Also Published As

Publication number Publication date
CN105405162B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
CN105405162A (zh) 基于局部结构和方向感知的树点云三维重建方法
CN102682475B (zh) 一种基于地面激光雷达点云数据自适应构建三维树木骨架的方法
CN103258345B (zh) 一种基于地面激光雷达三维扫描的树木枝干参数提取方法
CN106815847B (zh) 基于激光雷达点云的树木分割方法及单棵树提取方法
CN103065352B (zh) 一种基于图像和扫描数据的植株三维重建方法
CN107146280A (zh) 一种基于切分的点云建筑物重建方法
CN109242862B (zh) 一种实时的数字表面模型生成方法
CN110992473B (zh) 一种基于车载激光扫描点云的树木枝干建模方法及系统
TW201428525A (zh) 房屋屋頂面搜尋及建立屋頂結構線之方法
CN107862744A (zh) 航空影像三维建模方法及相关产品
CN100383823C (zh) 三维扫描的点云孔洞填补方法
CN103714577B (zh) 一种适用于带纹理模型的三维模型简化方法
CN105139379B (zh) 基于分类分层的机载Lidar点云建筑物顶面渐进提取方法
CN105574929A (zh) 一种基于地面LiDAR点云数据的单株植被三维建模方法
CN112102494B (zh) 骨架线引导的树状点云表面重建方法及装置
CN103268631A (zh) 点云骨架提取方法及装置
CN106023312A (zh) 基于航空LiDAR数据的三维建筑物模型自动重建方法
CN103927731A (zh) 无需pos辅助的低空遥感影像快速自动拼接方法
CN103871100A (zh) 基于点云与数据驱动的树木模型重建方法
CN114332366A (zh) 数字城市单体房屋点云立面3d特征提取方法
CN101866495A (zh) 基于骨架点云的树木建模方法
CN104048618B (zh) 一种损毁建筑检测方法
CN104751479A (zh) 基于tin数据的建筑物提取方法和装置
CN108256218A (zh) 一种基于实测腰线数据的地下连通巷道精细建模方法
CN114219912A (zh) 一种从地基激光雷达点云中自动重建树木结构的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171205

Termination date: 20181016

CF01 Termination of patent right due to non-payment of annual fee