CN101887596B - 树木点云数据基于分割和自动生长的三维模型重建方法 - Google Patents

树木点云数据基于分割和自动生长的三维模型重建方法 Download PDF

Info

Publication number
CN101887596B
CN101887596B CN 201010188292 CN201010188292A CN101887596B CN 101887596 B CN101887596 B CN 101887596B CN 201010188292 CN201010188292 CN 201010188292 CN 201010188292 A CN201010188292 A CN 201010188292A CN 101887596 B CN101887596 B CN 101887596B
Authority
CN
China
Prior art keywords
branch
cloud
withe
point
angle
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.)
Expired - Fee Related
Application number
CN 201010188292
Other languages
English (en)
Other versions
CN101887596A (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.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN 201010188292 priority Critical patent/CN101887596B/zh
Publication of CN101887596A publication Critical patent/CN101887596A/zh
Application granted granted Critical
Publication of CN101887596B publication Critical patent/CN101887596B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种树木点云数据基于分割和自动生长的三维模型重建方法步骤包括:预处理,点云主曲率估计,通过主曲率进行数据分割,利用分割得到的属于树枝部分的点云计算树枝的主枝的骨架,利用分割得到的属于树叶部分的点云从树枝的主枝的骨架上引导生成树枝的细枝,生成树枝网格模型并在在树枝的细枝的末端添加树叶模型。本发明仅利用激光扫描仪的扫描数据,得到忠实于原始实物的三维重建模型。该方法通过数据分割和树枝的细枝的生长获得树木点云数据的重建模型,算法简单,计算结果准确。其计算结果在虚拟现实、电脑游戏、自然场景模拟、城市景观设计、电影制作、树木3D重建、农林业测量等领域具有重要的应用价值。

Description

树木点云数据基于分割和自动生长的三维模型重建方法
技术领域
本发明属于计算机图形学和计算机视觉技术领域,涉及一种利用三维激光扫描仪对树木进行测量得到树木点云数据,并根据点云数据进行基于分割和自动生长的三维模型重建方法。
背景技术
植物在现实生活中扮演着重要的角色,它既是室外场景的重要组成部分,也是室内场景不可缺少的部分。因此植物模型的准确真实的重建在数字娱乐、农业林业和古树名木保护等方面都有重要的应用。
经过几十年的发展,已经出现了多种植物建模技术,这些技术大体上可以分为四类:基于规则的方法,基于几何解析表达的方法,基于草绘的方法以及基于树木数字化的方法。下面对这些方法分别进行介绍。
基于规则的方法的主要特点就是通过数学模型结合植物学的知识和规则来模拟植物的生长过程和形态特征,植物模型的具体形态依靠调整参数进行控制。其中代表性的工作包括L-系统和AMAP系统。
基于几何解析表达的方法利用曲线曲面造型技术来构造植物模型,不需要严格遵守植物学规律,目的在于生成的模型具有较高的真实感。这类方法中树枝一般都由广义圆柱来表达,其中代表性的方法有基于分形的方法以及粒子系统。
基于草绘的方法以手工绘制的树枝或者外形轮廓为基础,然后利用植物学规则或者模型库生成植物三维模型。Makoto Okabe基于“树木在生长过程中将使不同树枝之间距离最大化”的假设,将从二维草图中获得三维树枝模型,并且设计一套手工交互界面,可以简单快速地对树枝和树叶进行交互性的修改,获得了较好的视觉效果。这种方法的缺陷在于无法自动生成树枝的细枝,所有的树枝的细枝都要通过手工交互完成,在树木规模较大的情况下,重建的工作量巨大。
近年来伴随数字化手段的快速发展,基于树木数字化的重建方法在植物重建中获得越来越多的重视,该方法以目前的树木数字化手段获得的树木照片、点云等作为输入数据,利用一些先验知识和规则,获得与输入数据相似的植物模型。除了获得较好的视觉效果外,重建模型的准确性也逐渐成为重建的目标之一。按照输入数据的不同,该方法又可以分为基于照片的重建和基于激光扫描点云的重建。
发明内容
本发明欲解决基于激光点云数据的树木重建过程中无法保证树枝位置准确和保持原模型生长规律的的技术问题,本发明的目的是针对现实世界中由激光扫描得到的树木点云数据,提供一个激光扫描点云模型准确并且保持原始模型生长规律的三维重建方法。
为实现上述目的,本发明的技术解决方案是提供一种树木点云数据基于分割和自动生长的三维模型重建方法,该三维重建步骤包括:
步骤S1:利用激光扫描仪扫描直接采集树木的扫描点云数据并对点云数据预处理,按照点云数据中每个点的坐标进行空间划分,实现三维空间的数据存储结构称为kd树(k-dimensional tree);
步骤S2:对于点云数据的每一个点,利用点云数据的kd树查找多个近邻点,根据最小二乘方法把这些点拟合出一个平面,以这个平面的法向量作为点云法向量的初始估计值,利用其法向量、切平面构造局部三维直角坐标系,利用点云数据的kd树查找多个近邻点;利用这些近邻点拟合二次曲面;利用这些近邻点拟合出的二次曲面计算主曲率;
步骤S3:对于点云数据的每一个点,利用主曲率方向计算轴向分布密度,利用轴向分布密度将属于树枝上的点云与属于树叶上的点云区分;对于属于树枝上的点云,利用主曲率方向进行区域生长,产生过分割的分割结果;对于过分割的树枝上的点云,依照相邻组内的点云数量以及依照分组中所有点云的主曲率方向的平均值所确定的组角度进行区域合并,得到符合树木树枝器官分布的分割结果;
步骤S4:对于分割得到的属于树枝部分的点云,将每一个树枝的点云沿其组方向进一步分割成较小的点云分组,利用较小的点云分组中心获得树枝的主枝的骨架点和对应的半径;
步骤S5:统计不同树枝的主枝的骨架之间的夹角分布规律,利用分割得到的属于树叶部分的点云从树枝的主枝的骨架上引导生长树枝的细枝,通过控制树枝的主枝长出树枝的细枝的位置、树枝的细枝的骨架与树枝的主枝的骨架的夹角,树枝的细枝的长度来控制树冠的形状;
步骤S6:利用各个骨架点和对应的半径建立树木的三维网格模型,在树枝的细枝的末端添加树叶模型完成重建。
其中,所述沿其组方向进一步分割成较小的点云分组,通过下面方法实现:首先在属于每个树枝的点云分组中任选一点p作为根点,之后以p作为坐标原点,以该点云分组的组方向作为z轴,以与z轴垂直平面上任意两个正交方向为x轴和y轴建立局部坐标系,将分组内的点按照其在局部坐标系内的z值进行进一步分离成若干小分组,称每一个小分组为一个点云片。
其中,所述利用较小的点云分组中心获得树枝的主枝的骨架点,其中较小的点云分组中心是该组中的所有点的空间位置的算术平均值。
其中,所述统计不同树枝的主枝的骨架之间的夹角分布规律,是通过下述方法进行的,计算相互连接的树枝的主枝之间的夹角;角度α为其中最小的夹角,角度β为最大的夹角,记树枝的主枝的夹角所在的区间为η=[α,β],将η划分为若干小角度区间η0=[α,ε],η1=[α+ε,α+2ε],...,ηn=[α+nε,β],记区间集合X={η0,η1,...,ηn};ε为角度,设置为5°,n是整数,为(β-α)/ε的整数部分,用概率θx(x=0,1,...,n)表示角度位于角度区间ηx(x=0,1,...,n)的概率,计算每一个概率θx(X=0,1,...,n),这些概率被用来指导后面的树枝的细枝的生长过程。
其中,所述树枝的细枝的长度,通过下述方法确定,对每个树枝的主枝的骨架点pi,定义骨架点pi的吸引点点集为T∈P,T={t0,t1,...,tn},其中点集P为属于树叶的点云;点tx(x={0,1,..n})满足下列条件:点tx和点pi的欧氏距离小于一定的阈值Ω,此处Ω被设置为十倍于扫描间距;假设pi的每一个吸引点都能从点pi处以朝向点tx的方向牵引出一个树枝的细枝,该树枝的细枝以点tx为第一个骨架点,试图向前继续生长,在点tx位置以点tx为下底面中心,以h为高,以r为半径,以点pi朝向点tx的方向为轴向构建圆柱S,在粒子中,高h被设置为10倍于扫描间距,半径r被设置为1.5倍的扫描间距,当满足下列两个条件为在圆柱S内存在属于树叶上的点云和圆柱S内不存在其他已有的树枝的主枝的骨架点时,生成下一个骨架点;圆柱S的中心点被作为树枝的细枝的生长的下一个骨架点,该过程反复运行直到不再满足树枝的细枝的生长的条件。
其中,所述控制树枝的主枝长出树枝的细枝的位置、树枝的细枝的骨架与树枝的主枝的骨架的夹角,是通过下述方法进行的,为模拟植物的形态学特点,假设每个树枝的主枝的骨架点只能生长出最多一个树枝的细枝,而每个骨架点都可能有若干吸引点,每个吸引点都能引出一个树枝的细枝完成生长过程,其中只有骨架数量大于一定阈值ξ的树枝的细枝才会被考虑,在这里ξ阈值被设为4,依靠下列规则从被考虑的树枝的细枝中寻找最合适的一个进行保留:记骨架点pi处牵引出的树枝的细枝的列表为Bi={b0,b1,...,bn},其中Bi为树枝的细枝的集合,bi{i=0,...,n}为树枝的细枝;首先计算每个树枝的细枝与骨架点pi所在的树枝的主枝的夹角,判断该夹角是否位于夹角区间η=[α,β],其中角度α为相互连接的树枝的主枝之间的最小的夹角,角度β为相互连接的树枝的主枝之间的最大的夹角;如果该夹角位于区间内,找到该夹角在X内所对应的小区间ηx对应的概率θx,令该树枝的细枝对应的概率θi=θx,如果该夹角不在区间内,令该树枝的细枝对应的概率θi=0,之后计算每个树枝的细枝的骨架点数量li(i=0,1,...,n);通过比较各树枝的细枝对应的权值δi=lii来保留各树枝的细枝中对应权值δi最大的一个。
本发明的有益效果:本发明以树木的扫描点云为输入数据,获得树木准确的三维重建模型,人工交互少,重建过程易于操作,重建模型能够保持原始数据的形态特征。本发明利用三维激光扫描仪对树木进行测量得到树木点云数据,并根据点云数据进行基于分割和自动生长的三维模型重建方法。其结果在虚拟现实、电脑游戏、自然场景模拟、城市景观设计、电影制作、树木3D重建、农林业测量等领域具有重要的应用价值。
附图说明
图1示出本发明方法的流程图;
图2示出本发明采用的单面扫描数据;
图3a、图3b示出树木点云主方向分布规律示意图;
图4示出圆柱构造示意图;
图5a、图5b示出轴向分布密度的可视化表示和被判断属于树枝上的点云;
图6示出区域生长的结果示意图;
图7示出小分组被合并后的分割情况示意图;
图8a、图8b示出区域合并的角度限制示意图;
图9示出区域合并后的分割结果示意图;
图10示出分组建立局部坐标系;
图11示出树枝点云的进一步分割;
图12示出树枝的主枝的骨架点;
图13示出重建的树枝网格模型;
图14示出完整的重建模型。
具体实施方式
下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
1、方法概述(overview ofapproach)
如图1示出本发明整个方法的流程,其中本发明算法的主要步骤包括:
1)、点云的获取及预处理。
2)、局部几何量计算,包括4个子步骤:(a)点云法方向估计、(b)局部坐标系的构造、(c)利用近邻点拟合二次曲面、(d)利用二次曲面计算主曲率。
3)、对树木点云模型进行分割,包括3个子步骤:(f)计算轴向分布密度并利用轴向分布密度区分属于树枝上的点云与属于树叶上的点云、(g)利用主曲率方向进行区域生长、(h)依照相邻组内的点云数量以及组内点云主曲率平均值的夹角进行区域合并。
4)、计算树枝的主枝的骨架点和对应半径。
5)、利用树叶部分的点云引导生长树枝的细枝。
6)、三维网格模型的重建与树叶模型的添加。
2、点云的获取及预处理
首先,获取真实树木的扫描数据(如图2示出采用的扫描数据)并进行预处理。对点云数据进行预处理包括以下两个步骤:
2.1创建kd树
在计算三维点云数据法向量和主曲率、主方向的过程中都需要用到近邻点,我们使用建立点云数据的3维空间的二分查找树,简称为kd树(k-dimensional tree)来查找近邻点。
首先,建立kd树。kd树基于点的空间位置信息,通过二分法迭代划分三维空间,实现最优存储。在kd树上,进行k近邻查找的时间复杂度为O(log2n),这里n为点云数据的点的个数。
2.2搜索近邻点
由于预处理阶段建立了kd树,以点云模型P中点p为查询点,基于欧式距离查找k近邻,比如k=20近邻或k=30近邻,根据数据扫描精度确定近邻点的个数,扫描精度较低则取15个近邻点,扫描精度较高则取30个近邻点,这里记qi(i=1,2,...,m)为查询得到的m个近邻点。
3、利用二次曲面计算主曲率
利用二次曲面计算主曲率,包括以下4个子步骤:
3.1计算各个点的法向量
对于点云数据的每一个点,利用点云数据的kd树查找15个或30个近邻点,对整个点云模型P中的每个点p选择其近邻点组成的点集N(p;k)={qi;i=1,...,k}表示点p附近的局部形状、qi(i=1,...,k)为点p的k个近邻点进行曲面拟合。点p处的法方向可以用下述方法计算:首先构造矩阵,
M ( p , k ) = Σ q ∈ n ( p ; k ) ( q - p ) ⊗ ( q - p ) ;
其中
Figure BSA00000142870500071
表示向量之间的叉乘,M(p,k)的较小的特征值对应的特征向量即为p点处的法方向。我们记该法方向为
Figure BSA00000142870500072
我们统一的把朝向摄像机的一侧作为法方向
Figure BSA00000142870500073
的正方向。
3.2建立局部坐标系
在点云各个点处建立局部坐标系,设点p的法向量为
Figure BSA00000142870500074
其中nx,p,ny,p,nz,p法向量的三个分量,则这个p点就是局部坐标系的原点,X,Y,Z三个坐标轴分别为
Figure BSA00000142870500075
Figure BSA00000142870500076
Z=N=(nx,p,ny,p,nz,p),其中ψ和
Figure BSA00000142870500077
通过下式计算:ψ=arccos(nz,p),
Figure BSA00000142870500078
3.3拟合二次曲面
点云模型P处待拟合的二次曲面为h(u,v)=c0u2+2c1uv+c2v2,其中(u,v,h(u,v))为空间中的点,该二次曲面h(u,v)=c0u2+2c1uv+c2v2的系数c0c1c2通过最小化
Figure BSA00000142870500079
获得,其中A、B、μ为矩阵:
A = u 1 2 2 u 1 v 1 v 1 2 u 2 2 2 u 2 v 2 v 2 2 . . . . . . . . . u n 2 2 u n v n v n 2 , μ = c 0 c 1 c 2 , B = h 1 h 2 . . . h n
ui,vi,hi为n个近邻点的坐标值,i=1,...,n,c0c1c2为二次曲面的系数,通过μ=[c0c1c2]T=(ATA)-1ATB得到二次曲面的系数,其中T表示转置,[c0c1c2]T表示矩阵[c0c1c2]的转置矩阵;
3.4计算局部几何量
利用二次曲面h(u,v)=c0u2+2c1uv+c2v2,计算p点处的局部几何量,包括两个主曲率k1(p)和k2,k1(p)<=k2(p)以及对应的主曲率方向
Figure BSA000001428705000713
Figure BSA000001428705000714
图3a是各点
Figure BSA000001428705000715
的结果,图3b是主方向局部的特写。
4、对点云数据进行分割
树木点云模型的分割,包括以下三个步骤:
4.1计算轴向分布密度并进行树枝点云与树叶点云的分离
大多数的树枝都近似圆柱形,分布在上面的点云也呈圆柱面分布。圆柱面上对应主曲率值较小的主曲率方向与圆柱的轴向一致,所以树枝上点云处的局部几何量也有相同的性质,即
Figure BSA000001428705000716
与树枝的轴向方向近似一致,所以我们在这里更加关心
Figure BSA000001428705000717
统一朝向地面的方向为
Figure BSA000001428705000718
的正方向,在后面,我们称
Figure BSA00000142870500081
为主方向。
但是仅仅依靠近邻点云的主方向相似度无法实现树枝与树叶的分离,原因有如下的两点:
a、在树枝的某些位置由于形状不规则或遮挡而导致相邻的点也没有相似的主方向。
b、尽管大多数树叶的点云的主方向都杂乱无章,但是在当进行二次拟合时,当k近邻点的选取不能保证在同一平面时,拟合结果将体现出一定的随机性,某些位于树叶上的局部点云也可能具有相似的主方向。
因此,仅仅考虑近邻点云方向的相似度没有充分利用点云的空间位置信息。在综合考虑点云主方向和空间位置关系后,我们注意树枝上点云的另外一个特点:树枝上点云在树枝轴向方向近似均匀分布。我们在树枝点云p1处,以p1为中心,以其主方向为轴向构建细长圆柱,在细长圆柱内近似均匀分布很多点云。而在树叶点云处,尽管某些局部近邻点云具有相似的主方向,但不满足在主方向上分布的特点。具体构建细长圆柱如图4所示。利用这个特点,我们可以实现枝叶分离。
对点云模型中的点p,以点p为中心,以h为高,以r为半径构建圆柱S,圆柱S的轴向与点p的主方向一致;其中高h被设置为10倍于扫描间距,半径r被手工设置为2倍于扫描间距;位于圆柱S内的每一个点p,将点p投影到圆柱S的中心轴上,投影点被记为PS(p),然后再以中心轴为中心,手工设置的固定长度α为长度选定线段u(p,S),称线段u(p,S)为点p在圆柱S内的投影覆盖区域;当将圆柱S内的每一个点p投影到中心轴后,则得到了中心轴上的若干表现为一个个线段的投影覆盖区域,这些区域可能相互重叠,求取这些区域的并集,记为
U ( p , S ) = ∪ p ∈ P , p ∈ S u ( p , S )
记L[U(p,S)]为投影覆盖区域并集的长度,长度L[U(p,S)]能够同时表示圆柱S内的所有点在圆柱S内的分布密度和分布均匀情况,换而言之,表示了点p附近近邻点云是否沿点p的主曲率方向均匀分布;
轴向分布密度C(p),定义为
C(p)=L[U(p,S)]/h,
轴向分布密度C(p)表示了所有投影覆盖区域并集的总长度在圆柱S的轴高度内覆盖的比例。被称为点p的轴向分布密度。
如果点p是位于树枝上的点云,即使树枝比较细或者由于形状不规则而导致附近点主曲率方向不规则,只要点p的主方向与树枝轴向大致一致,也可以保证在点p构建的圆柱S内包含一定数量沿轴向分布的点云,从而获得较大的轴向分布密度C(p)。另一方面,如果点p是位于树叶上的点云,虽然点p附近点云可能与具有与点p相似的主方向,但很难实现在的主方向上分布,所以轴向分布密度C(p)有效的表示了点p位于树枝上的可能性。
在计算出每个点对应的轴向分布密度C(p)之后,我们手工选定一个阈值β,分布密度值大于β被选定为种子点,首先计算没个种子点与最近邻种子点之间的距离,如果这个距离大于一个手工选定的阈值ε,我们认为该种子点为孤立种子点,孤立种子点被去除,随后我们将保留的种子点和种子点对应的圆柱S内所有点标记起来作为树枝上的点云,其余点云被认为是位于树叶上的点云。图5a显示了整个点云按照不同点对应的轴向分布密度C(p)用不同的灰度表示的模型。图5b显示了通过我们的方法确定的属于树枝上的点云,从图中可以看到即使某些树枝比较细小或者被遮挡的比较严重,位于上面的点云仍然能被我们的方法准确的区分出来。
4.2利用主曲率方向进行区域生长
在属于不同树枝的点云分割分组过程中,我们将综合考虑点云的主方向与空间位置关系。我们在区域生长中要保证属于不同树枝的点云不会被划分到同一分组中,尽管经常以过分割为代价,我们会在后一节的区域合并过程中解决过分割的问题。
首先,我们给出本节中近邻点的定义,本节中我们定义点p的近邻点为点云模型P中与点p的欧氏距离小于一定阈值λ的点。λ在本文中被设置为0.2m。
开始,点云模型P中的每个点都被给予单独的标记。首先P中一个随机选取的点被作为种子点,对种子点的所有近邻点进行判断,如果近邻点的主方向与种子点的主方向夹角小于一定的角度阈值θ,此处θ被手工设置为15°,该近邻点会被划入种子点分组Wseed。之后这些近邻点被选为新的种子点进行相同规则的区域生长,试图将更多周围的点云划归到Wseed中,直到没有新点云会被Wseed吸收。之后在点云模型P中寻找未被划分的点作为新的种子点,重复上面的区域生长直到所有的点实现划分。
上述区域生长算法具体表示过程如下所示。
步骤(1)随机在点云模型P中寻找为未划分点p作为种子点;
步骤(2)寻找点p的近邻点点集B={b0,...,bn},计算其中每个点bi与点p的主方向的夹角,如果夹角值小于给定的角度阈值θ,则点bi被划分到与点p相同的分组Wseed,所有在该步骤中被划分到中的新点被记为点集Bin。如果点集Bin为空,则回到步骤(1)。如果Bin为不为空,选取Bin中的点作为新的种子点重复步骤(2)。
步骤(3)选择新的种子点,重新执行步骤(2)。
步骤(4)当P中所有点完成划分后,算法结束。
步骤(2)中角度阈值θ的选取非常重要,如果选取的过小,则点云之间难以被划分到同一分组,形成大量只有一个点的分组,使整个区域生长过程无意义;如果选取的过大又可能导致不同树枝的点云被划分到同一分组中,形成错误的结果。
区域生长结果如图6所示,从图中我们可以看出,这是一个过分割的结果,相同的树枝经常被分解为不同的部分,而且一些分组内只有较少的点,产生这种情况的原因与上一节中提到的树枝形状不规则导致主方向杂乱相同。该结果能够保证不同树枝上的点云不被划分到同一分组中。
4.3区域合并
区域合并的过程中受到下面两个约束的影响:
相邻组对于两个点云分组W1和W2.我们使用Hausdorff距离h(W1,W2)=min{‖p-q‖;点p∈W1,点q∈W2}来衡量两组之间的距离,当该距离小于一定的阈值时,我们称W1和W2为相邻组。
组方向我们定义组W的组角度为
Figure BSA00000142870500101
其中为组内的点的主曲率方向,j为组内点的数量,由于主方向具有180°的随机性,所以我们首先随机从组内选择一个点的主方向D,保证组内每一个点的主曲率方向满足
Figure BSA00000142870500111
在上节中我们知道,过分割导致很多分组点云数量少,而只有点云数量足够大的组的组方向能够表示其所在树枝的轴向,可以指导区域合并,较少数量点云的组,其组方向无法表示其所在树枝的轴向,对于区域合并没有帮助,所以首先我们无条件的将点云数量小于一定阈值N的组合并到其所有相邻组中与之距离最近的组。经过这个过程,所有分组都具有较多数量的点云。图7是将点云数量小的分组合并后的分割情况示意图。
经过上一步处理,每个分组内都有足够的点来表示该组所在树枝的轴向,各个分组的组方向被计算出来,任意两个相邻点云分组W1和W2.夹角用下式计算出来。
θ(W1,W2)=cos-1([(2-D(W1)·D(W2))/2])
其中θ(W1,W2)是两个相邻点云分组W1和W2.的组方向的夹角,夹角θ(W1,W2.)是指导区域合并的重要约束,但是并不是唯一的约束,如果我们简单的把具有较小夹角θ的相邻组合并的话,合并结果将难以保证准确度,图8a是两个属于不同树枝的点云分组,点云组P和点云组Q是相邻组并且具有较小的夹角,但是两组显然不属于同一树枝。
为了避免上述的错误合并,我们引入了一个新的限制条件,点p1和点p2(p1∈P和p2∈Q,)是点云分组P和点云分组Q中距离最近的两个点,店pa是点云分组P中使‖pa-p1‖(pa∈P)最大化的点,点pb是点云分组Q中使‖pb-p2‖(pb∈Q)最大化的点。由点p1和点p2以及点pa和点pb确定两个方向f1=pa-p1,g2=pb-p2,新的限制条件为仅当方向f1和方向f2的夹角α大于一定的阈值,此处阈值设为140°,我们称这个限制为角度限制。图8b显示了由点p1和点p2以及点pa和点pb确定的两个方向形成的角度限制。
在获得了区域合并过程中的参考量和限制条件后,我们对分组进行区域合并,这里我们首先计算任意两个近邻组之间的夹角并且将夹角存储在一张角度表中,从角度表中寻找夹角最小并且满足角度限制的两个组进行合并。形成的新组的组方向被重新计算,角度表格被更新。重复上面的过程指导组之间的夹角大于设定的阈值,此处阈值设定为22°。
我们用不同的颜色表示不同的分组,结合点云数据显示出来。图9展示了经过区域合并后的分割结果。
5、计算树枝的主枝的骨架点和对应半径
首先在属于每个树枝的点云分组中任选一点p作为根点,之后以p作为坐标原点,以该点云分组的组方向作为z轴,以与z轴垂直平面上任意两个正交方向为x轴和y轴建立局部坐标系,将分组内的点按照其在局部坐标系内的z值进行进一步分离成若干小分组,我们称每一个小分组为一个点云片。以各点云片中的所有点的空间位置的算术平均值作为树枝的主枝的骨架点,以各点云片中的所有点到骨架点的欧氏距离的算术平均值作为树枝的主枝的骨架点对应的半径。图10是局部坐标系的建立方式,图11是各树枝的点云沿轴向进一步分割的结果,图12是求取的树枝的主枝的骨架点。
6、利用树叶部分的点云引导生长树枝的细枝
我们的思路为模拟树枝的细枝从树枝的主枝上长出的过程,我们通过控制树枝的主枝长出树枝的细枝的位置、树枝的细枝与树枝的主枝的分叉角度,树枝的细枝的长度来控制树冠的形状。生长过程中,属于树叶的点云被用于引导树枝的细枝。整个生长过程靠设定的参数实现控制,不需要其他的手工交互。
相邻树枝之间的夹角的分布情况是树木的主要特征之一,我们为了使生长的树枝的细枝保持模型本身的生物特征,在树枝的生长过程中我们保证树枝的细枝与父枝的夹角与相互连接的树枝的主枝之间的夹角具有相同的分布规律。
首先计算相互连接的树枝的主枝的夹角。角度α为其中最小的夹角,角度β为最大的夹角,记树枝的主枝的夹角所在的区间为η=[α,β],将η划分为若干小角度区间η0=[α,ε],η1=[α+ε,α+2ε],...,ηn=[α+nε,β],记区间集合X={η0,η1,...,ηn},ε为角度,设置为5°,n是整数,为(β-α)/ε的整数部分,用概率θx(x=0,1,...,n)表示角度位于角度区间ηx(x=0,1,...,n)的概率,我们计算每一个概率θx(X=0,1,...,n),这些概率被用来指导后面的树枝的细枝的生长过程。
树枝的细枝的生长算法以位于树叶上的点云P和之前获得的树枝的主枝的骨架点作为输入,通过以下步骤生成大量的树枝的细枝。
对每个树枝的主枝的骨架点pi,我们定义骨架点pi的吸引点点集为T∈P,T={t0,t1,...,tn},其中点集P为属于树叶的点云。点tx(x={0,1,..n})满足下列条件:点tx和点pi的欧氏距离小于一定的阈值Ω,此处Ω被设置为十倍于扫描间距。我们假设pi的每一个吸引点都可以从点pi处以朝向点tx的方向牵引出一个树枝的细枝,该树枝的细枝以点tx为第一个骨架点,试图向前继续生长,我们在点tx位置以点tx为下底面中心,以h为高,以r为半径,以点pi朝向点tx的方向为轴向构建圆柱S,在我们的粒子中,高h被设置为10倍于扫描间距,半径r被设置为1.5倍的扫描间距,当满足下列两个条件的时候,生成下一个骨架点:1、在圆柱S内存在属于树叶上的点云;2、圆柱S内不存在其他已有的树枝的主枝的骨架点。圆柱S的中心点被作为树枝的细枝生长的下一个骨架点,该过程反复运行直到不再满足树枝的细枝生长的条件。为模拟植物的形态学特点,我们假设每个树枝的主枝的骨架点只能生长出最多一个树枝的细枝,而每个骨架点都可能有若干吸引点,每个吸引点都可以引出一个树枝的细枝完成生长过程,其中只有骨架数量大于一定阈值ξ的树枝的细枝才会被考虑,在这里ξ阈值被设为4,我们依靠下列规则从被考虑的树枝的细枝中寻找最合适的一枝进行保留:记骨架点pi处牵引出的树枝的细枝的列表为Bi={b0,b1,...,bn},其中Bi为树枝的细枝的集合,bi{i=0,...,n}为树枝的细枝。首先计算每个树枝的细枝与骨架点pi所在的树枝的主枝的夹角,判断该夹角是否位于夹角区间η=[α,β],其中角度α为相互连接的树枝的主枝之间的最小的夹角,角度β为相互连接的树枝的主枝之间的最大的夹角;如果该夹角位于区间内,找到该夹角在X内所对应的小区间ηx对应的概率θx,令该树枝的细枝对应的概率θi=θx,如果该夹角不在区间内,令该树枝的细枝对应的概率θi=0,之后计算每个树枝的细枝的骨架点数量li(i=0,1,...,n);我们通过比较各树枝的细枝对应的权值δi=lii来保留各树枝的细枝中对应权值δi最大的一个。
反复执行上面的树枝的细枝的生长过程,在第一轮生长中,在树枝的主枝的骨架点上进行树枝的细枝生长,在后面的步骤中,在上一轮生成的树枝的细枝上进行新的树枝的细枝的生长,直到没有新的树枝的细枝可以生成。最后所有的树枝的细枝随机弯曲以使重建结果更加真实。
7、三维网格模型的重建与树叶模型的添加
树枝的的主枝的骨架点对应的半径从深度图像直接获得,树枝的细枝的骨架点的半径被简单的设置为其父枝半径的70%,在树枝的细枝的末端添加树叶后,实现了完整的树木模型重建。图13展示了没有添加树叶的树枝模型,图14展示了完整的重建模型。
8、实验结果与结论
我们在OpenGL的基础上,用C语言实现了本章介绍的树木点云分割的算法,我们的实验都是在一台Dual Core 3.0G,4GB内存,GeForce9600gso,操作系统为Windows XP的pc机上实现完成。
我们在一个树木点云模型上验证了算法,该模型为一棵8米高的油松,为单侧扫描数据,该模型共有119796个点从实验结果可以看到,虽然重建树枝的细枝的数量不大,但是仍然完整的保留了树冠的形状,而且树枝的细枝具有跟树枝的主枝相似的生长规律,树枝在分叉处形状准确。
本发明的方法的特色和创新在于:在点云中依靠二次曲面拟合计算每个点对应的主曲率方向,按照树枝的形态特征定义判断点位于树枝可能性的轴向分布密度,通过该轴向分布密度树枝点云与树叶点云被区分开。不同树枝上的点云按照其所对应的主曲率方向进行区域生长和区域合并,实现不同树枝上点云的分离将各个树枝的点云沿树枝轴向进行进一步分组,利用分组中心计算树枝的主枝的骨架点,之后在树枝的主枝上生长树枝的细枝,通过控制树枝的主枝生长树枝的细枝的位置、树枝的细枝与树枝的主枝的分叉角度、树枝的细枝的长度来控制树冠的形状。与已有算法相比,该算法能够在保持树冠外形的同时使树冠内树枝的细枝具有与树枝的主枝相同的形态特征。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (6)

1.一种树木点云数据基于分割和自动生长的三维模型重建方法,其特征在于,该三维模型重建步骤包括:
步骤S1:利用激光扫描仪扫描直接采集树木的扫描点云数据并对点云数据预处理,按照点云数据中每个点的坐标进行空间划分,实现三维空间的数据存储结构称为kd树(k-dimensional tree);
步骤S2:对于点云数据的每一个点,利用点云数据的kd树查找多个近邻点,根据最小二乘方法把这些点拟合出一个平面,以这个平面的法向量作为点云法向量的初始估计值,利用点云数据的每一个点的法向量、切平面构造局部三维直角坐标系,利用点云数据的kd树查找多个近邻点;利用这些近邻点拟合二次曲面;利用这些近邻点拟合出的二次曲面计算主曲率;
步骤S3:对于点云数据的每一个点,利用主曲率方向计算轴向分布密度,利用轴向分布密度将属于树枝上的点云与属于树叶上的点云区分;对于属于树枝上的点云,利用主曲率方向进行区域生长,产生过分割的分割结果;对于过分割的树枝上的点云,依照相邻组内的点云数量以及依照分组中所有点云的主曲率方向的平均值所确定的组角度进行区域合并,得到符合树木树枝器官分布的分割结果;
步骤S4:对于分割得到的属于树枝部分的点云,将每一个树枝的点云沿其组方向进一步分割成较小的点云分组,利用较小的点云分组中心获得树枝的主枝的骨架点和对应的半径;
步骤S5:统计不同树枝的主枝的骨架之间的夹角分布规律,利用分割得到的属于树叶部分的点云从树枝的主枝的骨架上引导生长树枝的细枝,通过控制树枝的主枝长出树枝的细枝的位置、树枝的细枝的骨架与树枝的主枝的骨架的夹角,树枝的细枝的长度来控制树冠的形状;
步骤S6:利用各个骨架点和对应的半径建立树木的三维网格模型,在树枝的细枝的末端添加树叶模型完成重建。
2.按权利要求1所述的树木点云数据基于分割和自动生长的三维模型重建方法,其特征在于,所述沿其组方向进一步分割成较小的点云分组,通过下面方法实现:首先在属于每个树枝的点云分组中任选一点p作为根点,之后以p作为坐标原点,以该点云分组的组方向作为z轴,以与z轴垂直平面上任意两个正交方向为x轴和y轴建立局部坐标系,将分组内的点按照其在局部坐标系内的z值进行进一步分离成若干小分组,称每一个小分组为一个点云片。
3.按权利要求1所述的树木点云数据基于分割和自动生长的三维模型重建方法,其特征在于,所述利用较小的点云分组中心获得树枝的主枝的骨架点,其中较小的点云分组中心是该组中的所有点的空间位置的算术平均值。
4.按权利要求1所述的树木点云数据基于分割和自动生长的三维模型重建方法,其特征在于,所述统计不同树枝的主枝的骨架之间的夹角分布规律,是通过下述方法进行的,计算相互连接的树枝的主枝之间的夹角;角度α为其中最小的夹角,角度β为最大的夹角,记树枝的主枝的夹角所在的区间为η=[α,β],将η划分为若干小角度区间η0=[α,ε],η1=[α+ε,α+2ε],...,ηn=[α+nε,β],记区间集合X={η0,η1,...,ηn};ε为角度,设置为5°,n是整数,为(β-α)/ε的整数部分,用概率θx表示角度位于角度区间ηx的概率,计算每一个概率θx,其中x=0,1,...,n,这些概率被用来指导后面的树枝的细枝的生长过程。
5.按权利要求1所述的树木点云数据基于分割和自动生长的三维模型重建方法,其特征在于,所述树枝的细枝的长度,通过下述方法确定,对每个树枝的主枝的骨架点pi,定义骨架点pi的吸引点点集为T∈P,T={t0,t1,...,tn},其中点集P为属于树叶的点云;点tx满足下列条件:点tx和点pi的欧氏距离小于一定的阈值Ω,此处Ω被设置为十倍于扫描间距;假设pi的每一个吸引点都能从点pi处以朝向点tx的方向牵引出一个树枝的细枝,该树枝的细枝以点tx为第一个骨架点,试图向前继续生长,在点tx位置以点tx为下底面中心,以h为高,以r为半径,以点pi朝向点tx的方向为轴向构建圆柱S,在粒子中,高h被设置为10倍于扫描间距,半径r被设置为1.5倍的扫描间距,当圆柱S内存在属于树叶上的点云,并且圆柱S内不存在其他已有的树枝的主枝的骨架点时,生成下一个骨架点;圆柱S的中心点被作为树枝的细枝的生长的下一个骨架点,该过程反复运行直到不再满足树枝的细枝的生长的条件,其中x=0,1,..n。
6.按权利要求1所述的树木点云数据基于分割和自动生长的三维模型重建方法,其特征在于,所述控制树枝的主枝长出树枝的细枝的位置、树枝的细枝的骨架与树枝的主枝的骨架的夹角,是通过下述方法进行的,模拟植物的形态学特点,假设每个树枝的主枝的骨架点只能生长出最多一个树枝的细枝,而每个骨架点都可能有若干吸引点,每个吸引点都能引出一个树枝的细枝完成生长过程,其中只有骨架数量大于一定阈值ξ的树枝的细枝才会被考虑,在这里ξ阈值被设为4,依靠下列规则从被考虑的树枝的细枝中寻找最合适的一个进行保留:记骨架点pi处牵引出的树枝的细枝的列表为Bi={b0,b1,...,bn},其中Bi为树枝的细枝的集合,bi为树枝的细枝;首先计算每个树枝的细枝与骨架点pi所在的树枝的主枝的夹角,判断该夹角是否位于夹角区间η=[α,β],其中角度α为相互连接的树枝的主枝之间的最小的夹角,角度β为相互连接的树枝的主枝之间的最大的夹角;如果该夹角位于区间内,找到该夹角在X内所对应的小区间ηx对应的概率θx,令该树枝的细枝对应的概率θi=θx,如果该夹角不在区间内,令该树枝的细枝对应的概率θi=0,之后计算每个树枝的细枝的骨架点数量li;通过比较各树枝的细枝对应的权值δi=lii来保留各树枝的细枝中对应权值δi最大的一个,其中i=0,1...,n。
CN 201010188292 2010-06-01 2010-06-01 树木点云数据基于分割和自动生长的三维模型重建方法 Expired - Fee Related CN101887596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010188292 CN101887596B (zh) 2010-06-01 2010-06-01 树木点云数据基于分割和自动生长的三维模型重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010188292 CN101887596B (zh) 2010-06-01 2010-06-01 树木点云数据基于分割和自动生长的三维模型重建方法

Publications (2)

Publication Number Publication Date
CN101887596A CN101887596A (zh) 2010-11-17
CN101887596B true CN101887596B (zh) 2013-02-13

Family

ID=43073505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010188292 Expired - Fee Related CN101887596B (zh) 2010-06-01 2010-06-01 树木点云数据基于分割和自动生长的三维模型重建方法

Country Status (1)

Country Link
CN (1) CN101887596B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254339A (zh) * 2011-03-28 2011-11-23 深圳市蓝韵实业有限公司 一种实时医学超声三维成像方法
CN102163342B (zh) * 2011-04-07 2012-07-04 北京农业信息技术研究中心 基于多尺度测量数据的果树形态结构三维重建方法
CN102810213B (zh) * 2011-06-01 2015-07-08 华东师范大学 一种动态3d绿值模型的建立方法
CN102184569B (zh) * 2011-06-11 2012-12-26 福州大学 一种领域本体驱动的单株木建模方法
CN102305622A (zh) * 2011-06-14 2012-01-04 北京林业大学 一种基于三维激光扫描仪的乔木三维绿量测定方法
CN102521835B (zh) * 2011-12-14 2013-09-18 武汉大学 一种基于空间三维模板的点云数据树高提取方法
CN102646287B (zh) * 2012-03-21 2014-10-29 浙江工业大学 一种基于场景漫游的虚拟森林仿真信息多级联动方法及其系统
CN102750729A (zh) * 2012-04-24 2012-10-24 北京林业大学 一种使用近景普通数码相机的快速单木建模方法
CN103268631B (zh) 2013-05-23 2015-09-30 中国科学院深圳先进技术研究院 点云骨架提取方法及装置
CN103337092B (zh) * 2013-06-05 2015-09-30 北京农业信息技术研究中心 果树枝干骨架提取方法
CN103426200B (zh) * 2013-08-26 2017-05-03 天津大学 基于无人机航拍序列图像的树木三维重建方法
CN103824325B (zh) * 2014-02-28 2016-09-28 北京农业信息技术研究中心 一种果树枝干交互式三维重建方法及系统
CN103871100B (zh) * 2014-04-02 2016-09-21 中国科学院自动化研究所 基于点云与数据驱动的树木模型重建方法
CN104484873B (zh) * 2014-11-28 2018-01-23 浙江大学 植株三维点云的叶杆分离方法
CN104504709B (zh) * 2014-12-28 2017-05-03 大连理工大学 一种基于特征球的室外场景三维点云数据的分类方法
CN105205856B (zh) * 2015-09-15 2018-01-12 江苏大学 基于手绘的3d植物枝干建模方法
CN105354829A (zh) * 2015-10-08 2016-02-24 西北农林科技大学 一种自适应的点云数据分割方法
CN105608735B (zh) * 2015-12-24 2018-07-06 北京农业信息技术研究中心 作物根系空间划分方法及系统
CN105844600B (zh) * 2016-04-27 2018-03-16 北京航空航天大学 一种空间目标三维点云光顺去噪方法
CN106447771B (zh) * 2016-10-18 2019-01-11 中国科学院深圳先进技术研究院 花朵开放过程的重建方法及装置
CN107016725A (zh) * 2017-02-27 2017-08-04 电子科技大学 一种顾及LiDAR点云数据分布差异的植被三维实景建模方法
KR101888963B1 (ko) * 2017-03-06 2018-08-17 (주)오앤드리메디컬로봇 레이저 치료를 위한 영역 분할 방법, 그를 이용한 레이저 치료 방법 및 장치
CN108010135B (zh) * 2017-12-04 2021-04-02 东北林业大学 一种树洞三维模型合并的方法
CN108229502B (zh) * 2017-12-20 2020-08-04 中国农业大学 一种树冠层的三维点云数据中叶片基点提取方法
CN109444937B (zh) * 2018-08-08 2021-04-02 北京木业邦科技有限公司 树木建模及抚育方法、装置、电子设备及存储介质
CN109241936B (zh) * 2018-09-26 2022-10-11 西安电子科技大学 基于空间约束和kd树的语义线段聚集集合的计算方法
CN109636911A (zh) * 2018-11-06 2019-04-16 深圳华侨城文化旅游科技股份有限公司 一种基于体感设备的扫描方法及系统
CN109446691B (zh) * 2018-11-08 2022-12-20 南京林业大学 基于激光点云与空气动力学的活立木抗风性能分析方法
CN109684914A (zh) * 2018-11-09 2019-04-26 武汉伊莱维特电力科技有限公司 基于无人机影像智能识别方法
CN109816643A (zh) * 2019-01-16 2019-05-28 云南电网有限责任公司昭通供电局 一种基于线路缺陷识别的树线距离智能分析方法
CN112381863B (zh) * 2020-11-12 2022-04-05 中国电建集团江西省电力设计院有限公司 森林场景的地面激光点云方法
CN112799517B (zh) * 2021-02-23 2022-08-16 中国科学院深圳先进技术研究院 基于手势交互的植物建模方法及其植物建模装置、设备
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
CN115205472B (zh) * 2022-09-16 2022-12-02 成都国星宇航科技股份有限公司 实景重建图片的分组方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488226A (zh) * 2008-01-16 2009-07-22 中国科学院自动化研究所 基于单次三维激光扫描的树木测量和重建方法
CN101533529A (zh) * 2009-01-23 2009-09-16 北京建筑工程学院 基于深度图像的三维空间数据处理方法与装置
WO2010024212A1 (ja) * 2008-08-29 2010-03-04 三菱電機株式会社 俯瞰画像生成装置、俯瞰画像生成方法および俯瞰画像生成プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488226A (zh) * 2008-01-16 2009-07-22 中国科学院自动化研究所 基于单次三维激光扫描的树木测量和重建方法
WO2010024212A1 (ja) * 2008-08-29 2010-03-04 三菱電機株式会社 俯瞰画像生成装置、俯瞰画像生成方法および俯瞰画像生成プログラム
CN101533529A (zh) * 2009-01-23 2009-09-16 北京建筑工程学院 基于深度图像的三维空间数据处理方法与装置

Also Published As

Publication number Publication date
CN101887596A (zh) 2010-11-17

Similar Documents

Publication Publication Date Title
CN101887596B (zh) 树木点云数据基于分割和自动生长的三维模型重建方法
CN101839701B (zh) 树木点云数据的自动分割方法
CN103871100B (zh) 基于点云与数据驱动的树木模型重建方法
CN103942838A (zh) 基于点云数据的单树三维建模与形态参数提取的方法
Xu et al. Knowledge and heuristic-based modeling of laser-scanned trees
CN101783016B (zh) 一种基于形状分析的树冠外形提取方法
CN111612896B (zh) 一种基于机载激光雷达树点云重建三维树模型的方法
CN108595858A (zh) 基于bim的轻量化深度处理工作方法
CN103914571B (zh) 一种基于网格分割的三维模型检索方法
CN103871102B (zh) 一种基于高程点和道路轮廓面的道路三维精细建模方法
CN100570641C (zh) 基于物理的植物叶子模拟方法
CN104166748B (zh) 一种基于关系模型的林分生长建模方法
CN102306180A (zh) 一种基于海量激光雷达栅格点云数据的建模方法
CN105574929A (zh) 一种基于地面LiDAR点云数据的单株植被三维建模方法
CN110992473B (zh) 一种基于车载激光扫描点云的树木枝干建模方法及系统
CN101751695A (zh) 点云数据的主曲率和主方向估计方法
CN101866495A (zh) 基于骨架点云的树木建模方法
CN102855661B (zh) 基于空间相似性的大规模森林场景快速生成方法
CN102289846A (zh) 一种基于广义参数化建模的树木模拟方法
CN110322497A (zh) 一种基于三维可视化的交互式点云对象提取方法
CN103824324A (zh) 一种果树冠层叶子和果实三维重建方法及系统
CN109344533A (zh) 地下工井电缆网络模型的建立方法
CN115205690A (zh) 基于mls点云数据的行道树单体化提取方法及装置
CN105785919B (zh) 点云五轴无全局干涉刀轴矢量可行域计算方法
Zhang et al. Virtual reality design and realization of interactive garden landscape

Legal Events

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

Granted publication date: 20130213

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