基于点云与数据驱动的树木模型重建方法
【专利摘要】本发明公开了一种基于点云与数据驱动的树木模型重建方法,该方法包括以下步骤:获取树木点云数据,对其进行预处理,并定义树木模型的分级表示;提出移动圆柱体方法并用于从所述树木点云数据中提取得到主枝骨架点,并进行枝叶分离处理;从所述树木点云数据中提取得到树冠特征点;提出分级离子流方法并用于对主枝骨架点和树冠特征点进行结构化;根据已经结构化的所有树枝的骨架点和半径,重建得到完整的树木模型。本发明为从三维点云数据中重建出完整的树木模型提供了解决方案,获取的重建模型与原始点云具有很高的吻合度,而且对遮挡严重、形态复杂的模型都能获得较好的重建结果。
【专利说明】基于点云与数据驱动的树木模型重建方法
【技术领域】
[0001]本发明属于植物建模和计算机图形处理的交叉【技术领域】,涉及利用三维激光扫描仪进行实物测量得到树木点云数据,特别涉及一种从扫描的三维点云数据中重建出完整的三维树木模型的方法。
【背景技术】
[0002]植物在我们日常生活中起着重要的作用,既可以调节生态平衡,也可以绿化环境,清新空气。植物模型的准确重建可以应用于许多领域,如指导农业林业的生产,保护濒危的古树,或者在数字电影和娱乐游戏中提供虚拟的环境。目前植物建模的技术大体上可以分为四类:基于规则的方法,基于几何解析表达的方法,基于草绘的方法以及基于树木数字化的方法。
[0003]近年来由于数字化手段的快速发展,基于树木数字化的重建方法在植物重建中获得越来越多的重视,该方法目前主要以树木数字化手段获得的树木照片、点云等作为输入数据,利用一些先验知识和规则,获得与输入数据相似的植物模型。除了获得较好的视觉效果外,重建模型的准确性也逐渐成为重建的目标之一。其中,基于照片的重建方法具有数据采集方便,重建模型视觉效果好的特点,但是准备工作多,手工交互工作量大,重建模型与真实模型只能保持在某一个或某几个角度相似,并不能反映出植物的真实形态。基于三维扫描点云的方法以树的三维扫描数据作为输入,几何信息丰富,精度高,可以获得较照片精度高得多的模型。Cheng2007 (Z.Cheng, X.Zhang and B.Chen, “Simple Reconstructionof Tree Branches From a Single Range Image,,’Journal of Computer Science and Technology, vol.22, n0.6, pp.846C858, 2007)提出的树木点云数据的重建方法中,通过手工分割的方法将树冠部分与树干部分实现分离,对于树干部分,首先通过扫描图像的深度检测实现枝干之间的分离,再利用圆柱拟合获得骨架点以及骨架点对应的半径,该方法可以获得相对准确的骨架位置和树枝半径,但是无法对细枝以及树冠进行重建。Neubert2007(Neubert, T.Franken and 0.Deussen, Approximate Image Based Tree-Modeling UsingParticle Flows, ACM Transactions on Graphics (TOG).ACM, 26 (3): 88, 2007.)将粒子流的方法用于数据驱动的树木建模中,他们首先从两张正交拍摄的树木图片中提取出方向场,然后沿方向场采用粒子流方法将树冠与主枝进行连接,从而使得重建的模型与输入的照片相吻合。但是该方法使用的是单层粒子流的运动,因此只适用于二级结构。本发明将该方法进行了扩展,使用分级的粒子流方法来提取树木的多级结构,而且本发明是从点云数据中重建模型。Livny2010 (Y.Livny, F.Yan, M.0lson, B.Chen, H.Zhang andJ.El-Sana, “Automatic Reconstruction of Tree Skeletal Structures from PointClouds, ”ACM Trans.Graph, vol.29, n0.151, pp.1C8, 2010.)提出了一种基于全局拟合优化的方法提取点云数据的骨架结构,该方法更加鲁棒,但在遮挡严重的情况下仍然无法准确地重构出主枝和树冠的骨架。Livny2011 (Y.Livny, S.Pirk, Z.Cheng, F.Yan, 0.Deussen, D.Cohen-Or and B.Chen.Texture-1obes for Tree Modelling, ACM Transactions onGraphics (Proceedings of SIGGRAPH2011), vol.30, n0.4, 2011.)提出了一种基于裂片的树木表示方法,该方法可以用于树木的重建,也可以对现有的树木模型进行重新表示,本发明对该方法进行了扩展,同时考虑了树冠和可见主枝的信息,并采用分级粒子流的方法对树冠和主枝进行填充。
【发明内容】
[0004]本发明提供一种基于点云与数据驱动的树木模型重建方法,以解决现有的树木重建方法准确性不高,且只能处理较为简单的模型,对于遮挡严重、形态复杂的模型难以获得较好重建结果的缺点。
[0005]为实现上述目的,本发明提供一种基于点云与数据驱动的树木模型重建方法,该方法包括以下步骤:
[0006]步骤S1、获取树木点云数据,对其进行预处理,并定义树木模型的分级表示;
[0007]步骤S2、从所述树木点云数据中提取得到主枝骨架点及其半径,并进行枝叶分离处理;
[0008]步骤S3、从所述树木点云数据中提取得到树冠特征点;
[0009]步骤S4、对于主枝骨架点进行结构化;
[0010]步骤S5、对于树冠特征点进行结构化并计算得到各个小枝的半径;
[0011]步骤S6、根据已经结构化的所有树枝的骨架点和半径,重建得到完整的树木模型。
[0012]本发明采用计算机图形处理的技术,从扫描的三维树木点云数据中重建出完整的树木模型,本发明通过对点云局部几何量和空间位置关系的综合分析,既自动准确地在复杂点云数据中计算出主枝的骨架点并获得准确的半径,又完整地恢复了树冠形状,符合生物学特征地模拟出大量细枝,使重建模型在准确的基础上获得了较高的真实感。
【专利附图】
【附图说明】
[0013]图1是本发明点云与数据驱动的树木模型重建方法的流程图;
[0014]图2是根据本发明一实施例获取的白皮松树扫描点云数据;
[0015]图3是根据本发明一实施例的树木分级表示示意图;
[0016]图4是根据本发明一实施例中圆柱体搜索空间的示意图;
[0017]图5是根据本发明一实施例圆柱体移动搜索方法流程图;
[0018]图6是根据本发明一实施例用分级离子流提取的主枝骨架点;
[0019]图7是根据本发明一实施例得到的枝叶分离结果示意图;
[0020]图8是根据本发明一实施例提取得到的树冠特征点的结果示意图;
[0021]图9是根据本发明一实施例结构化的主枝和树冠细枝示意图;
[0022]图10是根据本发明一实施例重建出的完整白皮松树模型;
[0023]图11是输入点云数据遮挡严重情况下本发明与现有技术的结果对比图;
[0024]图12是利用本发明对扫描的树林点云进行重建得到的结果示意图。
【具体实施方式】
[0025]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0026]图1是本发明点云与数据驱动的树木模型重建方法的流程图,如图1所示,本发明方法包括以下步骤:s1、树木点云数据的获取及预处理,并定义树木模型的分级表示;S2、主枝骨架点提取及枝叶分离;S3、树冠特征点提取;S4、主枝骨架点的结构化;S5、树冠特征点的结构化;S6、完整模型的重建。
[0027]下面对上述每个步骤进行更加详细的说明。
[0028]步骤S1、获取树木点云数据,对其进行预处理,并定义树木模型的分级表示;
[0029]要实现真实的植物三维建模首先要获得植物的原始模型,目前获取植物原始模型的方法主要有两种,分别为依靠照相机获取图像模型和依靠激光扫描仪获取三维点云模型。本发明利用三维激光扫描仪(如Cyrax)、视觉照相等工具获取树木点云数据,基于点云分析技术保留需要重建的单个和多个树木上的点云,去掉其它对象的点,即预处理。图2是根据本发明一实施例获取的白皮松树扫描点云数据。
[0030]另外,根据植物学的知识,本发明将树木的形状进行分级表示:主枝、细枝和树叶,其中主枝包含2到4级枝,细枝包含2-5级枝,具体的级数与树种、树龄有关,一般来说,树龄大的分级数也多,主枝分级数记为NL,细枝分级数记为NS,细枝和树叶合起来构成树冠。图3是根据本发明一实施例的树木分级表示示意图,以5级为例,其中,图3A显示了树木的主要结构,图3B显示了 5级分级的元素,图3C显示了 5级的树木模型。
[0031]步骤S2、从所 述树木点云数据中提取得到主枝骨架点及其半径,并进行枝叶分离处理;
[0032]该步骤首先从所述树木点云数据中提取出主枝骨架点,并利用提取得到的主枝骨架点实现枝叶分离,然后在后续的步骤中完成主枝和树冠的结构化。
[0033]所述步骤S2包括以下步骤:
[0034]步骤S2.1、计算点云各个点P处的局部几何量;
[0035]所述点云各个点P处的局部几何量包括法方向--(ρ)、主曲率Ic1 (P)和k2 (P)
Gi1(P) ( k2(p)),以及主曲率对应的主方向Cii1 (P)和?^2(P)。
[0036]所述步骤S2.1进一步包括以下步骤:
[0037]步骤S2.1.1、建立整个点云数据的kd树;
[0038]在计算几何中,kd树是已经被证明的查找近邻的最快捷的数据结构之一,kd树的建立方法在此不作赘述。
[0039]步骤S2.1.2、对于点云数据中的每一个点p,利用kd树查找其多个,比如15个或30个近邻点,假设这些近邻点来自于同一个平面,利用最小二乘方法拟合出这个平面,以这
个平面的法向量作为点P的法方向;
[0040]步骤S2.1.3、在点P处建立局部坐标系,并拟合出一个二次曲面h(u, V) =CciUMc1In^c2V2,其中(u, v, h(u, V))是表示空间中的一点,cQ, C1, C2是曲面系数。求得二次曲面的系数后,利用该二次曲面计算出点P处的主曲率h (P)和匕㈦以及主方向
[0041]步骤S2.1.4、定义P点处的曲率圆半径为r(p)=l/k2(p),曲率圆心为
【权利要求】
1.一种点云与数据驱动的树木模型重建方法,其特征在于,该方法包括以下步骤: 步骤S1、获取树木点云数据,对其进行预处理,并定义树木模型的分级表示; 步骤S2从所述树木点云数据中提取得到主枝骨架点及其半径,并进行枝叶分离处理; 步骤S3、从所述树木点云数据中提取得到树冠特征点; 步骤S4、对主枝骨架点进行结构化; 步骤S5、对树冠特征点进行结构化并计算得到各个小枝的半径; 步骤S6、根据已经结构化的所有树枝的骨架点和半径,重建得到完整的树木模型。
2.根据权利要求1所述的方法,其特征在于,所述步骤SI中,利用三维激光扫描仪、视觉照相工具获取所述树木点云数据,基于点云分析技术保留需要重建的单个和多个树木上的点云,去掉其它对象的点。
3.根据权利要求1所述的方法,其特征在于,所述步骤SI中,树木的形状分为主枝、细枝和树叶,其中,主枝的分级数记为NL,细枝的分级数记为NS,细枝和树叶构成树冠。
4.根据权利要求1所述的方法,其特征在于,所述步骤S2中利用移动圆柱体方法从所述树木点云数据中提取得到主枝骨架点及其半径,所述步骤S2进一步包括以下步骤: 步骤S2.1、计算点云各个点P处的局部几何量:法方l.'彳H(p)、主曲率Ii1 (P)和k2(p),其中k? ( k2 (p),以及主曲率对应的主方向Κ(ρ)和石(p); 步骤S2.2、基于点云各`个点P处的局部几何量来定义一个拟合P点枝干形状的圆柱,利用圆柱体的移动来搜索潜在的枝干,从而提取得到主枝骨架点及其半径; 步骤S2.3、利用提取得到的主枝骨架点,将所述点云数据分为主枝上的点云沪b和树冠上的点云Pl,实现枝叶分离。
5.根据权利要求4所述的方法,其特征在于,所述步骤S2.1进一步包括以下步骤: 步骤S2.1.1、建立整个点云数据的kd树; 步骤S2.1.2、对于点云数据中的每一个点p,利用kd树查找其多个近邻点,假设这些近邻点来自于同一个平面,利用最小二乘方法拟合得到该平面,以该平面的法向量作为点P的法方向H(p); 步骤S2.1.3、在点P处建立局部坐标系,并拟合得到一个二次曲面,利用该二次曲面计算得到点P处的主曲率kl (P)和1^2&)以及主方向(I1(P)和d2(P); 步骤S2.1.4、定义P点处的曲率圆半径为r(p) l/k2(p),曲率圆心为b(p) = P — 1"(^)穴(^),用(11(^)表示?处树枝的轴向,1'&)表示该点处的树枝半径,b (P)表示该点处的树干轴线的位置,即树枝骨架点。
6.根据权利要求4所述的方法,其特征在于,所述步骤S2.2进一步包括以下步骤: 步骤S2.2.1、从点云数据中任选一点Ptl,构造初始圆柱体S(P0)=Sl1) = (^⑴^⑴^⑴…⑴^其中,b(1)表示初始圆柱体S(1)的底面圆心,r(1)表示初始圆柱体Sa)的底面圆半径,?⑴表示初始圆柱体S(1)的轴向,Ηω表示初始圆柱体S(1)的高度,将初始圆柱体S(1)的拓展圆柱体记为T(Sw),T(S⑴)=(b⑴,人八⑴,.^⑴,2H⑴),其中,入1为一定值,集合矽6(1))代表1'(5(1))中的所有点;步骤S2.2.2、判断集合沪(S⑴)中的任意一点q是否是有效的,如果集合炉(S⑴)中有效点的数目大于第一阈值N1,则认为初始圆柱体S(1)的后继圆柱体S(2)存在,且其参数b(2),r(2), H⑵分别是集合<KS⑴)中所有点的曲率圆心、曲率半径和主方向的平均值,并将初始圆柱体S(1)中的所有点标记为已处理;步骤S2.2.3、从与初始圆柱体S⑴的轴向相反的伴生圆柱体S(_i) = (b⑴,⑴,~3ω,Η⑴)出发按照步骤S2.2.2寻找后继圆柱体S⑶; 步骤S2.2.4、在后继圆柱体S(2)或其伴生圆柱体S(_2)的基础上继续执行搜索直到没有找到任何后继圆柱体,如果找到的圆柱体的数目大于第二阈值N2,则这些圆柱体构成一个主枝片段,其圆心作为主枝骨架点;步骤S2.2.5、在点云数据中重新选择一个未被处理的点并重复执行上面四个步骤,直到所有点都被标记为已处理,此时得到一个有序的圆柱序列以及一个有序骨架点序列Tj = {ci,h = I, IljI,其中每个Ci代表一段主枝,j表示第j段主枝,nj表示第j段主枝包含骨架点的数目。
7.根据权利要求6所述的方法,其特征在于,所述步骤S2.2.2中,如果圆柱体S (P0)和 s(q)满足:l)b(q) e S(PO) ; 2) r(q)/r(p0) = 1.0; 3) i(q)和5(p0)之间的夹角较小,其中,S (q)表示点处的圆柱体,b(q)表示圆柱体S (q)的曲率圆心,r(q)表示圆柱体S(q)的曲率半径,Hptl)表示圆柱体S(Ptl)的曲率半径,K(q)表示圆柱体S (q)的轴向,(I1 (Po)表示圆柱体S(Pci)的轴向,则点q为一个有效的点。
8.根据权利要求4所述的方法,其特征在于,所述步骤2.3中,位于圆柱搜索区域内的点云认为是位于主枝上的点云,其它点云认为是位于树冠上的点云。
9.根据权利要求1所述的方法,其特征在于,所述步骤S3中,利用多尺度方法提取所述树冠特征点,其中,每一尺度对应树木的一级表不,NS个尺度Ωρ Ω2、…、ΩΝ?分别对应树木的NS级细枝表不,并且Q1 > Ω2;^..> Qns ;对于每一尺度Ω」,将树冠点的包围盒划分为若干均匀且等尺寸的立方体IVJ,有效Vi的重心匕认为是树冠在尺度Ω]上的一个特征点;计算每一尺度Ω」下所有有效Vi的重心bi;得到树冠在尺度Ω」上的所有特征点。
10.根据权利要求9所述的方法,其特征在于,当一个立方体voxelVi满足下列两个条件的时候,称Vi是有效的: DVi中属于夕I的点的数量不小于第三阈值N3 ; 2)Vi中没有属^ Pb Il勺点。
11.根据权利要求1所述的方法,其特征在于,所述步骤S4和步骤S5中,采用三维分级粒子流运动方法对主枝骨架点和树冠特征点进行结构化,即: 1)将主枝骨架点全面连接起来; 2)将对应的树木第一级树冠特征点作为粒子流的起点运动到主枝骨架点上,粒子运行的轨迹作为该级细枝的骨架点; 3)将树木其它级别对应的树冠特征点作为粒子流的起点运动到上一级主枝骨架点上,粒子运行的轨迹仍然作为该级的骨架点; 4)最后根据主枝的半径估计得到各个小枝的半径。
12.根据权利要求1所述的方法,其特征在于,所述步骤S6中,首先利用已经结构化的所有树枝的结构和半径,使用不同半径的三角网格模型的圆柱体对树枝进行拟合,重建得到树木的三维网格模型;然后在网格模型上添加合适的纹理;最后根据输入点云数据的规模和树叶的种类,决定所需树叶的信息,并将不同的树叶添加到所述三维网格模型细枝的末端,最终实现树木三维模型的完整重建。
【文档编号】G06T17/00GK103871100SQ201410131203
【公开日】2014年6月18日 申请日期:2014年4月2日 优先权日:2014年4月2日
【发明者】张晓鹏, 李红军, 郭建伟, 代明睿, 刘佳 申请人:中国科学院自动化研究所