CN101866495A - 基于骨架点云的树木建模方法 - Google Patents
基于骨架点云的树木建模方法 Download PDFInfo
- Publication number
- CN101866495A CN101866495A CN201010188287A CN201010188287A CN101866495A CN 101866495 A CN101866495 A CN 101866495A CN 201010188287 A CN201010188287 A CN 201010188287A CN 201010188287 A CN201010188287 A CN 201010188287A CN 101866495 A CN101866495 A CN 101866495A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- skeleton
- point
- branch
- dimensional framework
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 241001640034 Heteropterys Species 0.000 claims description 31
- 239000004744 fabric Substances 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 9
- 235000013399 edible fruits Nutrition 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 6
- 241000196324 Embryophyta Species 0.000 description 15
- 230000012010 growth Effects 0.000 description 7
- 244000298715 Actinidia chinensis Species 0.000 description 6
- 235000009434 Actinidia chinensis Nutrition 0.000 description 6
- 235000009436 Actinidia deliciosa Nutrition 0.000 description 6
- 235000021028 berry Nutrition 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 244000144730 Amygdalus persica Species 0.000 description 5
- 235000006040 Prunus persica var persica Nutrition 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 239000002420 orchard Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 241000548268 Citrus deliciosa Species 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000003447 ipsilateral effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008635 plant growth Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种基于骨架点云的树木建模方法。该方法以手工勾画的树木主枝和树冠轮廓作为输入自动创建树木模型,其主要步骤包括:通过像素分析从勾画的笔画中提取二维骨架、由两个二维骨架构建三维骨架点云、在三维点云信息指导下将一个二维骨架扩展为三维主枝骨架、基于树冠轮廓约束创建细枝和叶子。本发明易于使用、算法简单、建模效率高,能够创建出具有真实感的树木模型。其建模结果在计算机游戏、三维电影、网络漫游、城市景观设计等领域具有重要的应用价值。
Description
技术领域
本发明属于计算机图形学和计算机视觉技术领域,涉及一种根据草图进行树木建模的方法。
背景技术
计算机游戏设计、三维电影制作等应用领域需要大量具有逼真视觉效果的植物模型。植物建模系统在这些领域中的应用要满足建模速度和视觉效果两个方面的要求。因此研究使用方便、运行速度快的植物建模方法对实际应用具有重要意义。
目前的植物建模方法大致可分为四大类:
第一类是基于植物学知识对植物形态进行建模的方法。这类方法主要考虑植物生长规律,如Lindenmayer提出的L系统;
第二类是基于图像的植物建模方法。这类方法以植物图片作为输入信息,通过各种视觉重建方法构建植物模型,如2006年Quan提出的植物建模方法;
第三类是基于三维扫描的植物建模方法。这类方法以三维扫描数据作为输入构建植物模型,如2006年Xu提出的树木建模方法;
第四类是基于手工交互的植物建模方法。这类方法以用户勾画的二维草图作为输入,或通过三维交互直接控制输出的三维模型形状,如2005年Okabe提出的植物建模方法。
基于生长机理的方法适用于生长模拟,农业分析等,但是一般需要调整参数,不便于控制输出,因此不适用于真实植物建模;基于三维扫描的方法以树的三维扫描数据作为输入,几何信息丰富,精度高,适用于对模型精度要求较高的应用,但三维扫描设备价钱昂贵,扫描过程花费时间较长,三维数据量大,不适于快速建模;基于图像的方法输入信息获取方便,建模方法灵活,可适用于各种精度要求的应用,但它比基于三维扫描的建模方法精度低;基于手工交互的方法是一种更加灵活的方法,可用于树模型的设计。
发明内容
本发明的目的在于,针对现实世界中存在的树木,提供一个基于图像和草图的、能够反映树木主要形态的快速建模方法,并使该方法可用于各种树木模型设计。
为实现上述目的,本发明提供一种基于骨架点云的树木建模方法,该树木建模方法的步骤包括:
步骤1:用户在两幅树木图片上用单像素画笔或者画刷手工勾画出具有树冠轮廓、具有不同的主枝笔画的树木草图,将具有不同的主枝笔画的两幅草图输入到图像处理设备;
步骤2:图像处理设备对草图中每个主枝笔画像素的近邻像素进行分析,从而提取二维骨架;
步骤3:基于等高同位置对应原则从两个二维骨架构建三维骨架点云,使该三维点云在两个输入方向的平行投影满足二维骨架约束;
步骤4:基于三维骨架点云,将一个二维骨架扩展为三维主枝骨架;
步骤5:以构建的三维主枝骨架为模版,在二维树冠轮廓约束内,通过主枝的复制、平移、旋转操作构建第一级细枝骨架,然后以第一级细枝骨架为模版按相同方法构建第二级细枝骨架,依此类推,得到指定级数的细枝骨架;
步骤6:根据对骨架切向量、法向量和副法向量的估算创建广义圆柱,通过圆柱拟合得到树枝的几何模型;
步骤7:在树枝几何模型上添加叶子或水果完成整个树木模型,每个叶子或水果由映射了一个四通道图像纹理的四边形来表示,将一个序列的叶子模型放置到细枝骨架点上,然后在叶子位置、叶子朝向以及叶与枝的距离参数中引入随机因素。
其中,所述等高同位置对应原则是指对于两个二维骨架,相同高度上处于相同位置的骨架点为对应点。
其中,所述二维骨架扩展为三维主枝骨架是通过在三维骨架点云中搜索该二维骨架的三维匹配点实现。
其中,所述由二维骨架扩展得到的三维主枝骨架的任意两个骨架点的欧式距离不超过阈值。
本发明的有益效果是提出了一种基于图像和草图的快速建模新方法,该方法利用图像信息和智能交互构建三维形态。本发明与前人方法的区别主要体现在三维信息的构建不是通过图像配准和视觉重建,而是首先基于规则构建近似的三维骨架点云,然后通过点云信息构建三维主枝结构,因此,本发明的计算时间和模型效果较以往方法优越,实验表明,构造的树木模型保留了二维输入信息,并具有真实感。
该发明利用图像信息和手工交互创建二维输入,通过像素分析提取二维骨架,基于规则构建近似的三维骨架点云,通过匹配点搜索从一个二维骨架构建三维主枝,最后添加细枝和叶子。本发明所获得的建模结果能用于计算机图形学各应用领域,包括计算机游戏、三维电影、网络漫游、城市景观设计等。利用本发明可快速创建各种具有真实感的树木模型。
附图说明
图1示出本发明方法流程图。
图2(a)至图2(f)示出由单像素笔画构建二维骨架。
图3(a)至图3(f)示出笔画像素点O处的局部分析和连接。
图4(a)至图4(d)示出由画刷笔画构建二维骨架。
图5示出中心点判别。
图6(a)至图6(c)示出点H处的像素简化。
图7(a)至图7(b)示出骨架连接。
图8(a)至8(e)示出由两幅草图直接构建三维骨架点云。
图9示出两幅草图以及三维模型的参考坐标系。
图10示出两个草图中的对应点。
图11示出从草图提取二维骨架再构建骨架点云。
图12示出二维骨架A到三维骨架A*的转化。
图13示出由二维骨架A、B得到的三维骨架A*。
图14示出细枝生长过程。
图15示出细枝建模原理。
图16(a)至16(c)示出从草图创建猕猴桃树模型。
图17(a)至17(c)示出从草图创建桃树树枝模型。
图18(a)至18(b)示出从草图创建新颖的树木模型。
图19(a)至19(c)示出本发明方法与Neubert方法的效果对比。
图20(a)至20(c)示出本发明方法与Tan方法的效果对比。
图21(a)至21(b)示出由桔子树模型构建的虚拟果园。该果园由40米×40米区域内的12×12棵桔子树构成。
具体实施方式
下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
1、方法概述(overview of approach)
图1给出了整个方法的流程。本发明方法的主要步骤包括:
1)、草图的创建;
2)、二维骨架的提取,分两种情况:(a)基于单像素笔画的二维骨架提取、(b)基于画刷笔画的二维骨架提取;
3)、三维骨架点云的构建,分两种情况:(a)从草图笔画直接构建三维骨架点云、(b)从二维骨架构建三维骨架点云;
4)、基于骨架点云构建三维主枝骨架;
5)、细枝建模;
6)、树枝几何模型创建;
7)、叶子建模;
8)、树木模型的绘制输出。
在本发明说明书中,“树木”是由全部树枝和叶子组成的完整植物;“树枝”指树木中叶子以外的部分,树枝分为主枝和细枝两种;“主枝”是指树木的主要树枝,由较粗的树枝组成;“细枝”指树枝中主枝以外的部分;“树干”指树的主茎;“树冠”指树木中树干的上部及其枝叶。
2、草图的创建
图2(a)至图2(f)示出由单像素笔画构建二维骨架;图2(a)和图2(d)为一棵桃树的两张照片;图2(b)和图2(e)为在照片上用单像素笔勾画出主枝和树冠轮廓的草图;图2(c)和图2(f)为构建的二维骨架。该建模方法以两幅相同像素大小的、勾画有不同主枝和树冠轮廓的草图作为输入。一棵树的反映其两个侧面(近似成直角)的两张照片或者反映其一个侧面的一张照片可以用于创建草图。以两张照片的情况为例,用户在每幅照片上用单像素笔或者画刷勾出树的主枝和树冠轮廓。在空白图像上,也可以通过想象勾画主枝和树冠轮廓作为草图。草图创建过程一般需要2~3分钟。
3、二维骨架的提取
本发明采用两种二维骨架提取方法,分别用于从草图上的单像素笔画和画刷笔画中提取二维骨架。
3.1基于单像素笔画的二维骨架提取
从单像素笔画提取二维骨架的方法适用于所有笔画都是连通的情况。该方法主要通过分析每个笔画像素近邻情况得到下一个连接点。图2给出了一个构建二维骨架的实例。
图3(a)至图3(f)示出笔画像素点O处的局部分析和连接过程。已知G、D和O是该区域已确定且已连接到当前枝的骨架点,为了获得O后面的新的骨架点,在O处进行如下局部分析:
1)、读入笔画像素点O。
2)、搜索O的8近邻像素和16近邻像素,以及该区域已确定的骨架点。对于任意一个笔画像素点O,本发明称处于紧邻它的第一层8个位置的笔画像素为O的“8近邻像素”,而处于其第二层16个相连位置的笔画像素点为O的“16近邻像素”,如图3(b)所示,A、B、C和D是O的8近邻,E、F和G是O的16近邻。由已知条件知G、D和O是已确定的骨架点,如图3(a)所示。
3)、O的16近邻聚类。根据像素位置,相邻的16近邻像素聚类为一组,这样所有的16近邻像素会聚类成一些不相邻的像素组。如图3(c)所示,所有的16近邻像素聚类成三个组,且每个组只有一个像素,即E、F、和G各成一组。
4)、确定“外部有效组”和“内部有效像素”。对于由16近邻像素聚类成的任意一个像素组,如果其中不包含已确定的骨架点,那么这一组称为“外部有效组”;对于所有8近邻像素,如果它不是已确定的骨架点,那么它被称为“内部有效像素”。如图3(d)所示,E和F为两个外部有效组,A、B和C为三个内部有效像素。
5)、确定新骨架点。对于每一个外部有效组,选取任意一个相邻的内部有效像素作为新的骨架点,例如图3(e)所示的A和C。这样就得到了像素O后面的新骨架点。
在像素点O处进行局部分析后,得到了新的骨架点Pi,i=1,2...N。分以下几种情况进行连接处理:
1)、如果N=1,将这一点P1作为一个新骨架点连接到当前枝。然后在P1进行同样的局部分析找到后面的骨架点。
2)、如果N>1,在Pi,i=1,2...N中选择一点,例如Px,作为当前枝新的骨架点,然后在这一点进行同样的局部分析。选取当前枝新的骨架点的原则是:尽量选取与当前枝切向夹角较小的点。其余的点作为其它新枝的第二个骨架点(这些新枝的第一个骨架点为O)被保存下来,等待后面的处理。如图3(f)所示,A作为新的骨架点被连接到当前枝,C作为一个新的第二骨架点保留下来。
3)、如果N=0,当前枝结束。如果存在新的第二骨架点,那么转到这个骨架点进行局部分析。如果不存在这样的骨架点,连接过程结束。
该方法从最低的笔画像素点开始进行局部分析,直到所有的像素都经过处理最后连接成一个树状的骨架。
3.2基于画刷笔画的二维骨架提取
图4(a)至图4(d)示出由画刷笔画构建二维骨架。图4(a)示出画刷笔画;图4(b)示出二维骨架;图4(c)示出画刷笔画;图4(d)示出二维骨架。在基于深度检索的建模系统中,用户可以使用画刷勾画主枝,并且用粗细不同的笔画代表不同的树枝半径。这种从画刷笔画中快速提取二维骨架的方法主要通过横向和纵向的扫描获取笔画像素中心点,然后将中心点连接起来构建骨架。该方法不要求所有笔画都是连通的。它可用于从树状区域快速提取带有半径信息的二维骨架。
3.2.1中心点判别
首先在每个图像上搜索合格的笔画像素中心点作为候选的骨架点。在每幅勾画了主枝的图像上,从左到右横向扫描每一行像素,查找所有笔画像素点,并记录每一笔画的两个水平边界点,求出它们的中心点和对应直径(即为两个水平边界点距离)。如图5所示的中心点判别过程为:在一个水平扫描线上,点P为一笔画的中心点,该点处的枝的直径为d1。在点P所在的竖直方向上,向上向下搜索P点所在笔画的两个竖直边界点,其距离为d2。如果d1<d2,则P是一个合格的中心像素点,否则P就被舍去。然后对同一幅图像,本发明纵向扫描每一列像素,以相似的方法得到一组中心像素点并进行判别,如果该点所在笔画的竖直边界距离小于等于其水平边界距离,则该点为合格的中心像素点,否则被舍去。这样可以得到两组合格的中心点,将其合并为一组作为候选骨架点。
3.2.2中心点简化
根据位置关系,得到的合格的中心像素点可聚类成一个个像素组。所有相连的像素点聚类为一组。以H为例,在每个小组内每个像素处的简化过程如下:
a.读入某小组的像素H;
b.在该组内查询H的8近邻像素,如果8近邻像素数大于2,转到第3步,否则转到第1步;
c.在该组内查询H的16近邻像素。对于H的每一个16近邻像素,任意选取一个与之相连的8近邻像素。所有选取的8近邻像素组成像素组S。
d.简化。对于所有8近邻像素,如果包含在像素组S中或者具有横纵坐标极值,那么就被保留下来,其余8近邻像素都作为冗余点被去除。这样可以保证有最少的8近邻像素点与16近邻像素相连。
图6(a)至图6(c)示出点H处的像素简化。如图6(a)示出初始像素分布,像素点A~H、i、j是聚类得到的一个像素组的一部分;如图6(b)示出简化后分布(一种可能情况),在H点的简化完成后,去除了五个像素,保留了两个像素——A(或者G)和C(或者D、E),因为这两个像素分别将16近邻点i和j与H相连;图6(c)示出一个像素简化实例。
3.2.3骨架连接
每个像素点处的简化完成后,剩余的像素都可以看作二维点。在每个像素组中,需要找到一个起始点,从这一点开始将组内的所有点连接成一个点序列,即树枝的初始形态。
为了确定一个组的起始点,根据组内每个点的位置和近邻情况为其打分,得分最高的点作为该组的起始点。每个点的初始分数为0,分数计算过程如下:
第一步如果该点的横坐标值为该组所有点横坐标值的最大值或者最小值,则该点分数值加3,否则不加分;
第二步如果该点的纵坐标值为该组所有点纵坐标值的最大值或者最小值,则该点分数值加3,否则不加分;
第三步如果该点只有一个8近邻点,则该点分数值加2,否则不加分。
经过上面三步判断,得分最高的点就是起始点(如果有两个或者更多的点得到相同的最高分,那么就任选一个作为起始点)。从起始点开始,所有点依次连接成一个序列,在这个过程中要保证每个点最多与两个点相连。
在每个序列中,所有点都是从起始点到末端点依次相连。我们为每个序列设置的初始方向为从它的起始点到末端点方向。骨架的连接过程是:从一个具有最低端点的序列开始,沿着序列点不断搜索并连接其余序列,最终形成一个完整骨架。“具有最低端点的序列”的起始点或者末端点在所有序列端点中具有最小的纵坐标。
从最低端点开始,沿着该点所在序列向它的另一端点移动一个圆,这个圆以序列点为圆心,以每一点的骨架半径的2倍为半径。在移动过程中,被包围进这个圆的其它序列的端点就被连接起来。如图7(a)所示,三个不同颜色的序列尚未连接,A、B、C分别为三个序列的起始点,从最低的端点A开始,沿着红色的序列移动一个圆;在这个过程中黄色序列和绿色序列都分别被连接进来,并且每个序列的方向得到了矫正,如图7(b)所示。用这种方式,所有的序列都可以被连接起来,组成树状的具有分级结构的二维骨架。
4、三维骨架点云的构建
4.1从草图笔画直接构建三维骨架点云
如图8(a)和8(b)所示,A和B为两幅输入草图,它们可以看作一棵树的主枝的成直角的两个侧面。图9示出两幅草图以及三维模型的参考坐标系。草图A以XA、YA为坐标轴;草图B以XB、YB为坐标轴;三维点云及三维树木模型在XA、YA、ZA确定的坐标系中。通过两个草图的位置关系可知:草图B是草图A的深度信息。本发明用简单方法构建一个三维点云,使该点云的两个侧面(成直角的侧面)分别符合两个输入草图形状。从图8(a)和8(b)两幅草图构建的三维点云如图8(c)至8(e)所示,图8(c)为骨架点云正视图-对应A;图8(d)为骨架点云侧视图-对应B;图8(e)为骨架点云的新方向视图。基于等高同位置的对应规则,以图B的中心像素空间位置为深度,把草图A的中心像素点转化为三维空间中的离散点即骨架点云的步骤如下:
1)、由于草图A和B具有相同的像素大小,首先扫描草图A的每一行像素。在每一行中,按照从左到右的顺序检查所有笔画像素,找到每个笔画像素的中点,例如图10中的Pa点,该点为其扫描行中笔画宽度la的中点。对于每一行中的所有中心点,按照从左到右的位置顺序编号为1号、2号、3号…m号。
2)、以相同方式扫描草图B的每一行,并对每一行的笔画像素中心点从左到右编号为1号、2号、3号...n号。
3)、草图A的每一个笔画像素中心点都可以获得同一高度扫描行上草图B的一个笔画像素中心点作为其对应点。在同一高度扫描行上,如果m≤n,那么这一扫描行上A和B中具有相同编号的两个中心点为一组对应点;如果m>n,A中第x号(x>n)中心点与B中第x-n或者第n号中心点为对应点。
4)、从两个二维对应点,可以构建一个三维点。例如在图10中,高度为y的扫描行上,草图A中的Pa(x1,y)点与草图B中的Pb(x2,y)点为对应点,用Pa(x1,y)与Pb(x2,y)构建一个三维点P(x1,y,x2),该三维点的XA、YA轴坐标值与点Pa相同,其ZA轴坐标值为点Pb的XB轴坐标值。这个过程也可以看作草图A中的Pa(x1,y)点从其对应点Pb获得了一个ZA轴坐标值,从而扩展到了三维空间,变成了三维点P(x1,y,x2)。按这种方式,可以得到一个由三维点组成的集合,即点云。从草图笔画直接构建的三维骨架点云可用作树木形状估计。
4.2从二维骨架构建三维骨架点云
如果首先从草图笔画提取二维骨架,然后根据二维骨架点构造三维骨架点云,那么在上述步骤中就不需要计算笔画中心点了,而是将所有二维骨架点作为中心点,以相似方式为每行中心点编号、查找对应点、构造点云。图11为从草图提取二维骨架再构建骨架点云的实例,其中猕猴桃树图片出自news.eastday.com。用这种方式构建的三维骨架点云可用作树木模型的构建。
5、三维主枝骨架的构建
树木模型的三维骨架由各级树枝组成,每个树枝又由一系列的骨架点组成。三维骨架X可表示为:
X={λi;i=1,2...IX} (1)
其中,树枝λi由三维点组成,表示为:
λi={Pi,α(xi,α,yi,α,zi,α);α=1,2...mi} (2)
xi,α,yi,α,zi,α,zi,α为骨架点Pi,α的坐标。根据图9给出的坐标系关系,二维骨架A中的骨架点也可以表示为三维点的形式,如Pi,α(xi,α,yi,α,0),其中ZA轴坐标值为0,因此骨架A中的一个二维枝可以由公式3表示。
λi={Pi,α(xi,α,yi,α,0);α=1,2...mi} (3)
在4节中,由草图A和B通过骨架提取得到二维骨架A和B,再由骨架A和B构建骨架点云M。这里本算法通过在三维骨架点云M中进行匹配点搜索把二维骨架A转化为一个三维骨架A*。其主要过程为:在点云M中搜索A的骨架点的匹配点(即M中与A的骨架点的横纵坐标最相似的三维点),用匹配点为骨架A的所有点设置ZA轴坐标值,同时保证得到的任意两个相邻三维骨架点的欧式距离小于阈值L(L为一个常数,取L=5)(欧氏距离(Euclidean distance)是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。在三维空间中的欧式距离的就是两点之间的距离:d=[(x1-x2)2+(y1-y2)2+(z1-z2)2]1/2)。算法的具体操作步骤为:
1)、读取二维骨架A中的枝λi,如公式3所示。
2)、按连接顺序处理λi的每一个骨架点。对于λi的任意一个骨架点Pi,α(xi,α,yi,α,0),采用步骤(2.1)或者(2.2)将其转化为图12所示的具有ZA轴坐标值zi,α的三维点Pi,α *(xi,α,yi,α,zi,α)。
2.1)、当Pi,α为枝λi的第一个骨架点,即Pi,α中α=1、i≥1时,分下面两种情况讨论:
2.1.1)、当枝λi为骨架A的第一个树枝(树干)时,即Pi,α中α=1、i=1时(这时Pi,α为整个骨架的根点),在点云M中搜索Pi,α的三维匹配点,例如Q(x,y,z),使该点满足x=xi,α和y=yi,α。 Pi,α(xi,α,yi,α,0)就被转化为一个三维点Pi,α *(xi,α,yi,α,z)。
2.1.2)、当枝λi不是骨架A的第一个树枝(树干)时,即Pi,α中α=1、i>1时,首先在骨架A中查找枝λi的父枝及其父枝上长出λi的节点(即λi的父节点),假设其父节点为Pj,x(xi,α,yi,α,0)。Pj,x转化成的三维点Pj,x *(xi,α,yi,α,zj,x)的坐标值就是Pi,α *的坐标值,即Pi,α *(xi,α,yi,α,zj,x)。
2.2)、当Pi,α不是枝λi的第一个骨架点,即Pi,α中α>1、i≥1时,已知在枝λi上,Pi,α-1(xi,α-1,yi,α-1,0)为Pi,α的前一个骨架点,并且Pi,α-1转化成的三维点为。在点云M中搜索一个三维Q(x,y,z),使其满足x=xi,α、y=yi,α,并且和Q之间的距离小于阈值L。
2.2.1)、如果Q(x,y,z)存在,得到Pi,α *(xi,α,yi,α,z)。
2.2.2.1)、当1<α<mi时,已知在枝λi上,Pi,α+1(xi,α+1,yi,α+1,0)为Pi,α的后一个骨架点。在点云M中搜索点S(x′,y′,z′),使其满足x′=xi,α+1、y′=yi,α+1。如果S(x′,y′,z′)存在,我们得到Pi,α *(xi,α,yi,α,zi,α-1+1)(z′≥zi,α-1的情况下)或者Pi,α *(xi,α,yi,α,zi,α-1-1)(z′<zi,α-1的情况下);如果S(x′,y′,z′)不存在,得到Pi,α *(xi,α,yi,α,zi,α-1)。
2.2.2.2)、当1<α=mi时,我们得到Pi,α *(xi,α,yi,α,zi,α-1)。
3)、如果骨架A中的所有枝都获得了ZA轴坐标值,三维构建过程结束,得到三维骨架A*,图13所示为由二维骨架A、B得到的三维骨架A*;否则转到步骤1。
6、细枝建模
完成主枝骨架的构建后,需要加上细枝和叶子完成整个树木模型。在这个过程中,要保证模型的树冠形状符合二维树冠轮廓约束。基于自相似原理,从主枝形状推导出细枝形状,并将它们合理地连接到主枝上,这样新生细枝保留了主枝的结构特征。
完整的树枝骨架是从主枝结构开始,经过几级细枝生长形成的,如图14所示。每一级子枝都是通过复制其父枝的一部分,然后将这一部分平移、旋转、连接到父枝骨架点得到的。
细枝的建模原理如图15所示,ηk代表一个三维主枝,由公式4表示。它的子枝ηk,i(i=1,2...N)是通过下面步骤得到的:
本发明可以通过控制父枝上的新芽分布来控制生成的细枝密度。具体操作过程是在每一个新芽位置处计算树枝的局部密度,如果该区域密度过大,则舍弃该新芽。模型的树冠形状控制主要通过设置细枝总级数,以及用输入草图中的树冠轮廓笔画约束细枝生长来实现。在细枝生长过程中,将细枝骨架投影到两个输入草图图像平面进行判别,如果骨架点在树冠轮廓内则保留,否则就舍去,这样得到的三维树枝模型就可以满足两个方向上的树冠约束。
由于细枝形状由主枝形状决定,因此不同种类的植物建模对细枝生长中的参数信息不敏感。为了普通用户使用方便,本发明采用一组典型的细枝生长参数值创建多种类的树木模型。这样对于一般的应用就不需要进行参数调整了。本发明也给出了另外2~3组备用参数值,以适应不同用户对树枝密度的调整需要。
7、树枝几何模型的创建
以单像素笔勾勒的主枝草图作为输入时,树枝的半径由Da Vinci发现的规则确定。该规则描述了父枝半径r和其所有子枝半径ri之间的关系。在以画刷勾勒的主枝草图作为输入的情况下,三维主枝的半径可以由二维骨架的半径得到,也可以由规则计算出来。为了获得树枝的网格模型,本发明根据对骨架切向量、法向量和副法向量的估算,对每个选取的骨架点计算一个局部Frenet标架,然后根据Frenet标架和半径信息创建广义圆柱。这些圆柱的连接形成了树枝的几何模型。
8、叶子建模
每个叶子和水果是由映射了一个四通道图像纹理(由红、绿和蓝色值和透明度(alpha)通道组成)的四边形来表示的。首先把一个序列的叶子模型放置到细枝骨架点上,然后在叶子位置、叶子朝向以及叶与枝的距离参数中引入随机因素。叶与枝的平均夹角可以根据先验知识或者测量数据进行调整。最终可以得到一个带纹理的树木模型,该模型在输入草图对应方向上的投影满足两张图片约束。
9、树木模型的绘制输出
对于建模的结果,本发明把树木模型的网格信息以文件形式存储,再由专业软件进行显示。
10、实验结果与结论
我们将本发明应用于各种形态的树木建模和树木模型设计,与之前的两种主要的树木建模方法进行了比较。通过实验证明,本发明建模速度更快、构建的树木模型更好地保留了二维输入信息,鲁棒性也更强。
10.1各种树木建模结果
图16(a)至16(c)示出基于互联网上下载的一张图片构建猕猴桃树模型,图16(a)为猕猴桃树枝模型的正视图;图16(b)为猕猴桃树枝模型的俯视图;图16(c)为加上叶子和果实的猕猴桃树模型。图17(a)至图17(c)为基于一棵桃树的两张照片构建桃树树枝模型,图17(a)为草图A;图17(b)为草图B;图17(c)为树枝模型的三个方向。如果输入具有想象力的草图,系统就可以得到有趣的树木模型,如图18所示为从草图创建新颖的树模型,图18(a)为输入草图A、B;图18(b)为树枝模型的三个不同侧面。所有这些建模实例都不需要参数调节。该建模系统运行效率高,输入勾画的草图后,树枝的建模时间一般不超过30秒(双核2.0G CPU),例如图17(c)中的桃树建模需要7秒钟。
10.2树木建模对比实验
如图19(a)至图19(c)所示,本发明采用与Neubert方法相同的输入图片构建树模型,与该方法相比,本方法能够保证模型主枝结构的投影与输入图片吻合。图19(a)示出输入图片;图19(b)示出Neubert方法构建的树枝模型在输入图片方向的视图;图19(c)示出本发明方法得到的树枝模型在输入图片方向的视图。
如图20(a)至图20(c)所示,与Tan方法相比较,本发明的方法建模速度更快并且可以控制隐藏在叶子中的主枝形状(本发明的方法树枝建模时间不超过一分钟(1.14GHz CPU),而Tan方法中树枝建模需要20分钟(2.4GHzCPU))。
10.3本发明在复杂场景绘制中的应用
本发明得到的树木模型可用于构建虚拟树林场景。选取上面得到的一些模型,可构建果园,如图21(a)至图20(b)所示,该果园由40米×40米区域内的12×12棵桔子树构成,图21(a)为果园远景;图21(b)为果园近景。
本发明提出的树木建模方法的特征在于利用两幅具有主枝形状和树冠轮廓的草图快速构建具有真实感的树木模型。
上述实验结果和基于骨架点云的树木建模方法,可以用于计算机图形学各应用领域,具有操作简单、建模速度快、模型逼真、应用前景广的特点。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (4)
1.一种基于骨架点云的树木建模方法,其特征在于,该树木建模方法的步骤包括:
步骤1:用户在两幅树木图片上用单像素画笔或者画刷手工勾画出具有树冠轮廓、具有不同的主枝笔画的树木草图,将具有不同的主枝笔画的两幅草图输入到图像处理设备;
步骤2:图像处理设备对草图中每个主枝笔画像素的近邻像素进行分析,从而提取二维骨架;
步骤3:基于等高同位置对应原则从两个二维骨架构建三维骨架点云,使该三维点云在两个输入方向的平行投影满足二维骨架约束;
步骤4:基于三维骨架点云,将一个二维骨架扩展为三维主枝骨架;
步骤5:以构建的三维主枝骨架为模版,在二维树冠轮廓约束内,通过主枝的复制、平移、旋转操作构建第一级细枝骨架,然后以第一级细枝骨架为模版按相同方法构建第二级细枝骨架,依此类推,得到指定级数的细枝骨架;
步骤6:根据对骨架切向量、法向量和副法向量的估算创建广义圆柱,通过圆柱拟合得到树枝的几何模型;
步骤7:在树枝几何模型上添加叶子或水果完成整个树木模型,每个叶子或水果由映射了一个四通道图像纹理的四边形来表示,将一个序列的叶子模型放置到细枝骨架点上,然后在叶子位置、叶子朝向以及叶与枝的距离参数中引入随机因素。
2.按权利要求1所述的方法,其特征在于,所述等高同位置对应原则是指对于两个二维骨架,相同高度上处于相同位置的骨架点为对应点。
3.按权利要求1所述的方法,其特征在于,所述二维骨架扩展为三维主枝骨架是通过在三维骨架点云中搜索该二维骨架的三维匹配点实现。
4.按权利要求1所述的方法,其特征在于,所述由二维骨架扩展得到的三维主枝骨架的任意两个骨架点的欧式距离不超过阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101882877A CN101866495B (zh) | 2010-06-01 | 2010-06-01 | 基于骨架点云的树木建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101882877A CN101866495B (zh) | 2010-06-01 | 2010-06-01 | 基于骨架点云的树木建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101866495A true CN101866495A (zh) | 2010-10-20 |
CN101866495B CN101866495B (zh) | 2012-03-28 |
Family
ID=42958209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101882877A Expired - Fee Related CN101866495B (zh) | 2010-06-01 | 2010-06-01 | 基于骨架点云的树木建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101866495B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163342A (zh) * | 2011-04-07 | 2011-08-24 | 北京农业信息技术研究中心 | 基于多尺度测量数据的果树形态结构三维重建方法 |
CN102682475A (zh) * | 2012-05-11 | 2012-09-19 | 北京师范大学 | 一种基于地面激光雷达点云数据自适应构建三维树木骨架的方法 |
WO2014187046A1 (zh) * | 2013-05-23 | 2014-11-27 | 中国科学院深圳先进技术研究院 | 点云骨架提取方法及装置 |
CN104851126A (zh) * | 2015-04-30 | 2015-08-19 | 中国科学院深圳先进技术研究院 | 基于广义圆柱体的三维模型分割方法及装置 |
WO2015149302A1 (zh) * | 2014-04-02 | 2015-10-08 | 中国科学院自动化研究所 | 基于点云与数据驱动的树木模型重建方法 |
CN105096387A (zh) * | 2015-07-16 | 2015-11-25 | 青岛科技大学 | 一种二维草图智能三维化处理方法 |
CN105205856A (zh) * | 2015-09-15 | 2015-12-30 | 江苏大学 | 基于手绘的3d植物枝干建模算法 |
CN105303606A (zh) * | 2015-10-28 | 2016-02-03 | 中国科学院自动化研究所 | 基于bp神经网络的番茄植株建模方法 |
CN109444937A (zh) * | 2018-08-08 | 2019-03-08 | 北京木业邦科技有限公司 | 树木建模及抚育方法、装置、电子设备及存储介质 |
CN109887009A (zh) * | 2019-01-24 | 2019-06-14 | 西北大学 | 一种点云局部匹配方法 |
WO2019200683A1 (zh) * | 2018-04-19 | 2019-10-24 | 浙江大学 | 一种基于草图实现形状保持的树木变形动画方法 |
CN112328821A (zh) * | 2020-10-27 | 2021-02-05 | 同济大学 | 一种基于树型空间的三维树木模型匹配方法 |
CN112372633A (zh) * | 2020-10-09 | 2021-02-19 | 江苏大学 | 机器人的果园树形架型自主推理与场景理解方法 |
CN112450527A (zh) * | 2020-11-24 | 2021-03-09 | 上海市建工设计研究总院有限公司 | 外包装树树枝结构的建立方法 |
CN113838188A (zh) * | 2021-09-02 | 2021-12-24 | 深圳先进技术研究院 | 基于单幅图像的树木建模方法、树木建模装置、设备 |
CN117952766A (zh) * | 2024-03-26 | 2024-04-30 | 吉林省林业科学研究院(吉林省林业生物防治中心站) | 一种用于林木数据的定向监管方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000306118A (ja) * | 1999-04-16 | 2000-11-02 | Atr Media Integration & Communications Res Lab | 樹木のテクスチャ生成装置 |
JP2001134778A (ja) * | 1999-11-02 | 2001-05-18 | Atr Media Integration & Communications Res Lab | 樹木の3次元形状生成装置 |
CN101251932A (zh) * | 2008-03-18 | 2008-08-27 | 中国科学院软件研究所 | 基于物理的植物叶子模拟方法 |
US7599535B2 (en) * | 2004-08-02 | 2009-10-06 | Siemens Medical Solutions Usa, Inc. | System and method for tree-model visualization for pulmonary embolism detection |
CN101639945A (zh) * | 2009-08-26 | 2010-02-03 | 北京农业信息技术研究中心 | 园艺植物几何造型建模方法及系统 |
-
2010
- 2010-06-01 CN CN2010101882877A patent/CN101866495B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000306118A (ja) * | 1999-04-16 | 2000-11-02 | Atr Media Integration & Communications Res Lab | 樹木のテクスチャ生成装置 |
JP2001134778A (ja) * | 1999-11-02 | 2001-05-18 | Atr Media Integration & Communications Res Lab | 樹木の3次元形状生成装置 |
US7599535B2 (en) * | 2004-08-02 | 2009-10-06 | Siemens Medical Solutions Usa, Inc. | System and method for tree-model visualization for pulmonary embolism detection |
CN101251932A (zh) * | 2008-03-18 | 2008-08-27 | 中国科学院软件研究所 | 基于物理的植物叶子模拟方法 |
CN101639945A (zh) * | 2009-08-26 | 2010-02-03 | 北京农业信息技术研究中心 | 园艺植物几何造型建模方法及系统 |
Non-Patent Citations (2)
Title |
---|
《ACM Transactions on Graphics》 20070731 Ping Tan等 Image-based Tree Modeling 第87-1-87-7页 1-4 第26卷, 第3期 2 * |
《计算机学报》 20020930 刘彦宏 等 基于图像的树类物体的三维重建 第930-935页 1-4 第25卷, 第9期 2 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163342A (zh) * | 2011-04-07 | 2011-08-24 | 北京农业信息技术研究中心 | 基于多尺度测量数据的果树形态结构三维重建方法 |
CN102682475A (zh) * | 2012-05-11 | 2012-09-19 | 北京师范大学 | 一种基于地面激光雷达点云数据自适应构建三维树木骨架的方法 |
US9390552B1 (en) | 2013-05-23 | 2016-07-12 | Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences | Method and device for extracting skeleton from point cloud |
WO2014187046A1 (zh) * | 2013-05-23 | 2014-11-27 | 中国科学院深圳先进技术研究院 | 点云骨架提取方法及装置 |
WO2015149302A1 (zh) * | 2014-04-02 | 2015-10-08 | 中国科学院自动化研究所 | 基于点云与数据驱动的树木模型重建方法 |
CN104851126A (zh) * | 2015-04-30 | 2015-08-19 | 中国科学院深圳先进技术研究院 | 基于广义圆柱体的三维模型分割方法及装置 |
CN104851126B (zh) * | 2015-04-30 | 2017-10-20 | 中国科学院深圳先进技术研究院 | 基于广义圆柱体的三维模型分割方法及装置 |
CN105096387A (zh) * | 2015-07-16 | 2015-11-25 | 青岛科技大学 | 一种二维草图智能三维化处理方法 |
CN105205856B (zh) * | 2015-09-15 | 2018-01-12 | 江苏大学 | 基于手绘的3d植物枝干建模方法 |
CN105205856A (zh) * | 2015-09-15 | 2015-12-30 | 江苏大学 | 基于手绘的3d植物枝干建模算法 |
CN105303606B (zh) * | 2015-10-28 | 2018-01-26 | 中国科学院自动化研究所 | 基于bp神经网络的番茄植株建模方法 |
CN105303606A (zh) * | 2015-10-28 | 2016-02-03 | 中国科学院自动化研究所 | 基于bp神经网络的番茄植株建模方法 |
WO2019200683A1 (zh) * | 2018-04-19 | 2019-10-24 | 浙江大学 | 一种基于草图实现形状保持的树木变形动画方法 |
CN109444937B (zh) * | 2018-08-08 | 2021-04-02 | 北京木业邦科技有限公司 | 树木建模及抚育方法、装置、电子设备及存储介质 |
CN109444937A (zh) * | 2018-08-08 | 2019-03-08 | 北京木业邦科技有限公司 | 树木建模及抚育方法、装置、电子设备及存储介质 |
CN109887009A (zh) * | 2019-01-24 | 2019-06-14 | 西北大学 | 一种点云局部匹配方法 |
CN109887009B (zh) * | 2019-01-24 | 2022-12-09 | 西北大学 | 一种点云局部匹配方法 |
CN112372633A (zh) * | 2020-10-09 | 2021-02-19 | 江苏大学 | 机器人的果园树形架型自主推理与场景理解方法 |
CN112328821A (zh) * | 2020-10-27 | 2021-02-05 | 同济大学 | 一种基于树型空间的三维树木模型匹配方法 |
CN112450527A (zh) * | 2020-11-24 | 2021-03-09 | 上海市建工设计研究总院有限公司 | 外包装树树枝结构的建立方法 |
CN112450527B (zh) * | 2020-11-24 | 2023-08-11 | 上海市建工设计研究总院有限公司 | 外包装树树枝结构的建立方法 |
CN113838188A (zh) * | 2021-09-02 | 2021-12-24 | 深圳先进技术研究院 | 基于单幅图像的树木建模方法、树木建模装置、设备 |
CN117952766A (zh) * | 2024-03-26 | 2024-04-30 | 吉林省林业科学研究院(吉林省林业生物防治中心站) | 一种用于林木数据的定向监管方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101866495B (zh) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101866495B (zh) | 基于骨架点云的树木建模方法 | |
CN101847267B (zh) | 基于深度检索的树木建模方法 | |
CN110992473B (zh) | 一种基于车载激光扫描点云的树木枝干建模方法及系统 | |
CN102999942B (zh) | 三维人脸重建方法 | |
CN101887596B (zh) | 树木点云数据基于分割和自动生长的三维模型重建方法 | |
CN102467753B (zh) | 基于骨架配准的时变点云重建方法及系统 | |
CN103745497B (zh) | 植物生长建模方法和系统 | |
CN109255831A (zh) | 基于多任务学习的单视图人脸三维重建及纹理生成的方法 | |
CN105574929A (zh) | 一种基于地面LiDAR点云数据的单株植被三维建模方法 | |
WO2015149302A1 (zh) | 基于点云与数据驱动的树木模型重建方法 | |
JP2011512606A (ja) | 樹冠植生ポイントのグループに対しシミュレーションによる木の幹と枝とを与えるジオスペースモデリングシステム及び関連方法 | |
Zhang et al. | Data-driven synthetic modeling of trees | |
CN107016725A (zh) | 一种顾及LiDAR点云数据分布差异的植被三维实景建模方法 | |
CN103942838A (zh) | 基于点云数据的单树三维建模与形态参数提取的方法 | |
CN110136246A (zh) | 基于类主干点的三维树木几何模型重建方法 | |
CN101783016B (zh) | 一种基于形状分析的树冠外形提取方法 | |
CN111612896B (zh) | 一种基于机载激光雷达树点云重建三维树模型的方法 | |
Zhao | Application of 3D CAD in landscape architecture design and optimization of hierarchical details | |
CN103646421B (zh) | 基于增强型PyrLK光流法的树木轻量化3D重建方法 | |
CN104616286A (zh) | 快速的半自动多视图深度修复方法 | |
CN101739721A (zh) | 基于时变和无序多图像的四维场景建模方法 | |
CN105205861A (zh) | 基于Sphere-Board的树木三维可视化模型实现方法 | |
CN103824324A (zh) | 一种果树冠层叶子和果实三维重建方法及系统 | |
CN112819951A (zh) | 一种基于深度图修复的带遮挡三维人体重建方法 | |
Zhang et al. | [Retracted] 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 Termination date: 20210601 |