基于骨架点云的树木建模方法

文档序号:6603357阅读:210来源:国知局
专利名称:基于骨架点云的树木建模方法
技术领域
本发明属于计算机图形学和计算机视觉技术领域,涉及一种根据草图进行树木建 模的方法。
背景技术
计算机游戏设计、三维电影制作等应用领域需要大量具有逼真视觉效果的植物模 型。植物建模系统在这些领域中的应用要满足建模速度和视觉效果两个方面的要求。因此 研究使用方便、运行速度快的植物建模方法对实际应用具有重要意义。目前的植物建模方法大致可分为四大类第一类是基于植物学知识对植物形态进行建模的方法。这类方法主要考虑植物生 长规律,如Lindenmayer提出的L系统;第二类是基于图像的植物建模方法。这类方法以植物图片作为输入信息,通过各 种视觉重建方法构建植物模型,如2006年Quan提出的植物建模方法;第三类是基于三维扫描的植物建模方法。这类方法以三维扫描数据作为输入构建 植物模型,如2006年Xu提出的树木建模方法;第四类是基于手工交互的植物建模方法。这类方法以用户勾画的二维草图作为输 入,或通过三维交互直接控制输出的三维模型形状,如2005年Okabe提出的植物建模方法。基于生长机理的方法适用于生长模拟,农业分析等,但是一般需要调整参数,不便 于控制输出,因此不适用于真实植物建模;基于三维扫描的方法以树的三维扫描数据作为 输入,几何信息丰富,精度高,适用于对模型精度要求较高的应用,但三维扫描设备价钱昂 贵,扫描过程花费时间较长,三维数据量大,不适于快速建模;基于图像的方法输入信息获 取方便,建模方法灵活,可适用于各种精度要求的应用,但它比基于三维扫描的建模方法精 度低;基于手工交互的方法是一种更加灵活的方法,可用于树模型的设计。

发明内容
本发明的目的在于,针对现实世界中存在的树木,提供一个基于图像和草图的、能 够反映树木主要形态的快速建模方法,并使该方法可用于各种树木模型设计。为实现上述目的,本发明提供一种基于骨架点云的树木建模方法,该树木建模方 法的步骤包括步骤1 用户在两幅树木图片上用单像素画笔或者画刷手工勾画出具有树冠轮 廓、具有不同的主枝笔画的树木草图,将具有不同的主枝笔画的两幅草图输入到图像处理 设备;步骤2 图像处理设备对草图中每个主枝笔画像素的近邻像素进行分析,从而提 取二维骨架;步骤3 基于等高同位置对应原则从两个二维骨架构建三维骨架点云,使该三维 点云在两个输入方向的平行投影满足二维骨架约束;
步骤4 基于三维骨架点云,将一个二维骨架扩展为三维主枝骨架;步骤5 以构建的三维主枝骨架为模版,在二维树冠轮廓约束内,通过主枝的复制、平移、旋转操作构建第一级细枝骨架,然后以第一级细枝骨架为模版按相同方法构建第 二级细枝骨架,依此类推,得到指定级数的细枝骨架;步骤6 根据对骨架切向量、法向量和副法向量的估算创建广义圆柱,通过圆柱拟 合得到树枝的几何模型;步骤7 在树枝几何模型上添加叶子或水果完成整个树木模型,每个叶子或水果 由映射了一个四通道图像纹理的四边形来表示,将一个序列的叶子模型放置到细枝骨架点 上,然后在叶子位置、叶子朝向以及叶与枝的距离参数中引入随机因素。其中,所述等高同位置对应原则是指对于两个二维骨架,相同高度上处于相同位 置的骨架点为对应点。其中,所述二维骨架扩展为三维主枝骨架是通过在三维骨架点云中搜索该二维骨 架的三维匹配点实现。其中,所述由二维骨架扩展得到的三维主枝骨架的任意两个骨架点的欧式距离不 超过阈值。本发明的有益效果是提出了一种基于图像和草图的快速建模新方法,该方法利用 图像信息和智能交互构建三维形态。本发明与前人方法的区别主要体现在三维信息的构 建不是通过图像配准和视觉重建,而是首先基于规则构建近似的三维骨架点云,然后通过 点云信息构建三维主枝结构,因此,本发明的计算时间和模型效果较以往方法优越,实验表 明,构造的树木模型保留了二维输入信息,并具有真实感。该发明利用图像信息和手工交互创建二维输入,通过像素分析提取二维骨架,基 于规则构建近似的三维骨架点云,通过匹配点搜索从一个二维骨架构建三维主枝,最后添 加细枝和叶子。本发明所获得的建模结果能用于计算机图形学各应用领域,包括计算机游 戏、三维电影、网络漫游、城市景观设计等。利用本发明可快速创建各种具有真实感的树木 模型。


图1示出本发明方法流程图。图2 (a)至图2 (f)示出由单像素笔画构建二维骨架。图3(a)至图3(f)示出笔画像素点0处的局部分析和连接。图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得到的三维骨架k*。图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米X 40米区 域内的12X12棵桔子树构成。
具体实施例方式下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是, 所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。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)示出笔画 像素点0处的局部分析和连接过程。已知G、D和0是 该区域已确定且已连接到当前枝的骨架点,为了获得0后面的新的骨架点,在0处进行如下 局部分析1)、读入笔画像素点0。2)、搜索0的8近邻像素和16近邻像素,以及该区域已确定的骨架点。对于任意一 个笔画像素点0,本发明称处于紧邻它的第一层8个位置的笔画像素为0的“8近邻像素”, 而处于其第二层16个相连位置的笔画像素点为0的“16近邻像素”,如图3(b)所示,A、B、C 和D是0的8近邻,Ε、F和G是0的16近邻。由已知条件知G、D和0是已确定的骨架点, 如图3(a)所示。3)、0的16近邻聚类。根据像素位置,相邻的16近邻像素聚类为一组,这样所有 的16近邻像素会聚类成一些不相邻的像素组。如图3(c)所示,所有的16近邻像素聚类成 三个组,且每个组只有一个像素,即Ε、F、和G各成一组。4)、确定“外部有效组”和“内部有效像素”。对于由16近邻像素聚类成的任意一 个像素组,如果其中不包含已确定的骨架点,那么这一组称为“外部有效组”;对于所有8近 邻像素,如果它不是已确定的骨架点,那么它被称为“内部有效像素”。如图3(d)所示,E和 F为两个外部有效组,A、B和C为三个内部有效像素。5)、确定新骨架点。对于每一个外部有效组,选取任意一个相邻的内部有效像素作 为新的骨架点,例如图3(e)所示的A和C。这样就得到了像素0后面的新骨架点。在像素点0处进行局部分析后,得到了新的骨架点Pi, i = 1,2...N0分以下几种 情况进行连接处理1)、如果N= 1,将这一点P1作为一个新骨架点连接到当前枝。然后在P1进行同 样的局部分析找到后面的骨架点。2)、如果N > 1,在Pi, i = 1,2... N中选择一点,例如Px,作为当前枝新的骨架点, 然后在这一点进行同样的局部分析。选取当前枝新的骨架点的原则是尽量选取与当前枝 切向夹角较小的点。其余的点作为其它新枝的第二个骨架点(这些新枝的第一个骨架点为 0)被保存下来,等待后面的处理。如图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为一笔画的中心点,该点处的枝的直径为 Cl1。在点P所在的竖直方向上,向上向下搜索P点所在笔画的两个竖直边界点,其距离为d2。 如果Cl1 < 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、\、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 点,该点为其扫描行中笔画宽度Ia的中点。对于每一行中的所有中心点,按照从左到右的 位置顺序编号为1号、2号、3号…m号。2)、以相同方式扫描草图B的每一行,并对每一行的笔画像素中心点从左到右编 号为1号、2号、3号...η号。3)、草图A的每一个笔画像素中心点都可以获得同一高度扫描行上草图B的一个 笔画像素中心点作为其对应点。在同一高度扫描行上,如果m Sn,那么这一扫描行上A和 B中具有相同编号的两个中心点为一组对应点;如果m > n,A中第χ号(χ > η)中心点与 B中第χ-η或者第η号中心点为对应点。4)、从两个二维对应点,可以构建一个三维点。例如在图10中,高度为y的扫描行 上,草图A中的Pa(Xl,y)点与草图B中的Pb(x2,y)点为对应点,用Pa0q,y)与Pb(x2,y)构 建一个三维 点P(Xl,y,x2),该三维点的XA、Ya轴坐标值与点Pa相同,其24轴坐标值为点Pb 的Xb轴坐标值。这个过程也可以看作草图A中的Pa(Xl,y)点从其对应点Pb获得了一个Za轴坐标值,从而扩展到了三维空间,变成了三维点P(Xl,y,X2) O按这种方式,可以得到一个 由三维点组成的集合,即点云。从草图笔画直接构建的三维骨架点云可用作树木形状估计。4. 2从二维骨架构建三维骨架点云如果首先从草图笔画提取二维骨架,然后根据二维骨架点构造三维骨架点云,那 么在上述步骤中就不需要计算笔画中心点了,而是将所有二维骨架点作为中心点,以相似 方式为每行中心点编号、查找对应点、构造点云。图11为从草图提取二维骨架再构建骨架 点云的实例,其中猕猴桃树图片出自news, eastday. com。用这种方式构建的三维骨架点云 可用作树木模型的构建。 5、三维主枝骨架的构建树木模型的三维骨架由各级树枝组成,每个树枝又由一系列的骨架点组成。三维 骨架X可表示为X= {λ ; = 1,2...Ιχ}(1)其中,树枝λ i由三维点组成,表示为Ai = (Pija(XijajyijajZija) ; a = 1,2. ..mj(2)\,。,71。,&,。,&,。为骨架点?1。的坐标。根据图9给出的坐标系关系,二维骨 架A中的骨架点也可以表示为三维点的形式,如Pi, a Ui, a,yi, a,0),其中Za轴坐标值为0, 因此骨架A中的一个二维枝可以由公式3表示。Ai = (Pija(XijajyijaiO) ; a = 1,2. ..mj(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= [(xl-x2)2+(yl-y2)2+(zl-z2 )2]1/2)。算法的具体操作步骤为1)、读取二维骨架A中的枝Ai,如公式3所示。2)、按连接顺序处理λ i的每一个骨架点。对于λ i的任意一个骨架点Pi, α (xi; α, yi,a,0),采用步骤(2. 1)或者(2. 2)将其转化为图12所示的具有Za轴坐标值Zi, α的三维
点 Pi, α (Xi, α,Yi, α,^i, α ) 02. 1)、当Pi, α为枝Xi的第一个骨架点,即Pi, α中α = 1、i彡1时,分下面两种 情况讨论2. 1. 1)、当枝Xi为骨架A的第一个树枝(树干)时,SPPi, α中α = 1、i = 1时 (这时Pi,a为整个骨架的根点),在点云M中搜索Pi, a的三维匹配点,例如Q(x,y,z),使该 点满足 χ = Xi, a 和 y = Yi, a。Pi, a Ui, a,yija,0)就被转化为一个三维点 Pi^Ui, a,yija,
ζ) O2. 1.2)、当枝λ if是骨架A的第一个树枝(树干)时,g卩Pi, a中a = 1、i > 1 时,首先在骨架A中查找枝XiW父枝及其父枝上长出Xi的节点(即入^勺父节点丨,假设 其父节点为Pj,χ (Χ ,α,Υ ,α,Ο).,化成的三维点Pj,/ Uua^uajZiJ的坐标值就是Pi,/的坐标值,即 Pi,/(Xi, α,Yi, α,Zj,x)。
2. 2)、当Pi, α不是枝Ai的第一个骨架点,即Pi, α中α > 1、i彡1时,已知在 枝、上,Pi, a-! (Xi, H,Yi, α-1 0)为Pi, α的前一个骨架点,并且Pi, 转化成的三维点为
Ka-\(X,,a-\'兄>1,Zi,a~l ) ° 在点云 M 中搜索一个三维 Q (X,y, Z),使其满足 X = Xi, a、y =
Yi, a,并且巧!《-,和Q之间的距离小于阈值L。2.2. 1)、如果 Q(x,y,Z)存在,得到 Pi,/(Xi, a,Yi, a,ζ)。2. 2. 2)、如果Q(x,y,ζ)不存在,通过来得到Pi, α*的坐标值2. 2. 2. 1)、当 1 < α <叫时,已知在枝 λ i 上,Pi, a+1(Xi, a+1,Yij a+1,0)为 Pi, a 的 后一个骨架点。在点云M中搜索点S(x',y',ζ'),使其满足χ' =Xi,a+1、y' =yija+1o 如果S(x' , y' , ζ')存在,我们得到?1,/0^。,7^,2^_1+1)(2'彡 ,^的情况下) 或者 Pi,/(Xi^yiia ,ZiH-IMz'〈Zi,^ 的情况下);如果 S(x',y',ζ')不存在,得 到 Pi, a α,Yi, α,a -l) 02·2·2·2)』1<α = Hii 时,我们得到 Pi,/(Xi, α,yi, α,Zi, ^1)。3)、如果骨架A中的所有枝都获得了 Za轴坐标值,三维构建过程结束,得到三维骨 架k*,图13所示为由二维骨架A、B得到的三维骨架k* ;否则转到步骤1。6、细枝建模完成主枝骨架的构建后,需要加上细枝和叶子完成整个树木模型。在这个过程中, 要保证模型的树冠形状符合二维树冠轮廓约束。基于自相似原理,从主枝形状推导出细枝 形状,并将它们合理地连接到主枝上,这样新生细枝保留了主枝的结构特征。完整的树枝骨架是从主枝结构开始,经过几级细枝生长形成的,如图14所示。每 一级子枝都是通过复制其父枝的一部分,然后将这一部分平移、旋转、连接到父枝骨架点得 到的。= 2.(4)细枝的建模原理如图15所示,nk代表一个三维主枝,由公式4表示。它的子枝 n15·^! = 1,2...N)是通过下面步骤得到的1)、复制枝Jlk的一部分——从其芽节点片到一个中间骨架点紀。复制的这部分称 为子枝模版nk[。],由公式5表示,其中系数ο< σ77A[(r]={^;r = l,2...,m}, m^a-lk(5)2)、将ilk
的第一个骨架点连接到nk的骨架点WlSxSO,并旋转一定的
角度。紀被称为新芽。
Ik-- F(VHAWw)(6)公式6中,0,是枝Iik与其子枝η"之间的夹角,该夹角需要满足^仝 仏:, 同时两个子枝Ci和nk’H之间的夹角需要满足外$<_<%。参数N、σ、Θ” Θ2、 φι、以及父枝上长出子枝的新芽位置可根据不同植物种类进行调整。本发明可以通过控制父枝上的新芽分布来控制生成的细枝密度。具体操作过程是在每一个新芽位置处计算树枝的局部密度,如果该区域密度过大,则舍弃该新芽。模型的树冠形状控制主要通过设置细枝总级数,以及用输入草图中的树冠轮廓笔画约束细枝生长来 实现。在细枝生长过程中,将细枝骨架投影到两个输入草像平面进行判别,如果骨架点 在树冠轮廓内则保留,否则就舍去,这样得到的三维树枝模型就可以满足两个方向上的树 冠约束。由于细枝形状由主枝形状决定,因此不同种类的植物建模对细枝生长中的参数信 息不敏感。为了普通用户使用方便,本发明采用一组典型的细枝生长参数值创建多种类的 树木模型。这样对于一般的应用就不需要进行参数调整了。本发明也给出了另外2 3组 备用参数值,以适应不同用户对树枝密度的调整需要。7、树枝几何模型的创建以单像素笔勾勒的主枝草图作为输入时,树枝的半径由Da Vinci发现的规则
确定。该规则描述了父枝半径r和其所有子枝半径A之间的关系。在以画刷
勾勒的主枝草图作为输入的情况下,三维主枝的半径可以由二维骨架的半径得到,也可以 由规则计算出来。为了获得树枝的网格模型,本发明根据对骨架切向量、法向量和副法向量 的估算,对每个选取的骨架点计算一个局部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. OG 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米X40米区域内的12X12棵桔子树 构成,图21 (a)为果园远景;图21(b)为果园近景。本发明提出的树木建模方法的特征在于利用两幅具有主枝形状和树冠轮廓的草 图快速构建具有真实感的树木模型。上述实验结果和基于骨架点云的树木建模方法,可以用于计算机图形学各应用领 域,具有操作简单、建模速度快、模型逼真、应用前景广的特点。以上所述,仅为本发明中的具体实施方式
,但本发明的保护范围并不局限于此,任 何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在 本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
一种基于骨架点云的树木建模方法,其特征在于,该树木建模方法的步骤包括步骤1用户在两幅树木图片上用单像素画笔或者画刷手工勾画出具有树冠轮廓、具有不同的主枝笔画的树木草图,将具有不同的主枝笔画的两幅草图输入到图像处理设备;步骤2图像处理设备对草图中每个主枝笔画像素的近邻像素进行分析,从而提取二维骨架;步骤3基于等高同位置对应原则从两个二维骨架构建三维骨架点云,使该三维点云在两个输入方向的平行投影满足二维骨架约束;步骤4基于三维骨架点云,将一个二维骨架扩展为三维主枝骨架;步骤5以构建的三维主枝骨架为模版,在二维树冠轮廓约束内,通过主枝的复制、平移、旋转操作构建第一级细枝骨架,然后以第一级细枝骨架为模版按相同方法构建第二级细枝骨架,依此类推,得到指定级数的细枝骨架;步骤6根据对骨架切向量、法向量和副法向量的估算创建广义圆柱,通过圆柱拟合得到树枝的几何模型;步骤7在树枝几何模型上添加叶子或水果完成整个树木模型,每个叶子或水果由映射了一个四通道图像纹理的四边形来表示,将一个序列的叶子模型放置到细枝骨架点上,然后在叶子位置、叶子朝向以及叶与枝的距离参数中引入随机因素。
2.按权利要求1所述的方法,其特征在于,所述等高同位置对应原则是指对于两个二 维骨架,相同高度上处于相同位置的骨架点为对应点。
3.按权利要求1所述的方法,其特征在于,所述二维骨架扩展为三维主枝骨架是通过 在三维骨架点云中搜索该二维骨架的三维匹配点实现。
4.按权利要求1所述的方法,其特征在于,所述由二维骨架扩展得到的三维主枝骨架 的任意两个骨架点的欧式距离不超过阈值。
全文摘要
本发明涉及一种基于骨架点云的树木建模方法。该方法以手工勾画的树木主枝和树冠轮廓作为输入自动创建树木模型,其主要步骤包括通过像素分析从勾画的笔画中提取二维骨架、由两个二维骨架构建三维骨架点云、在三维点云信息指导下将一个二维骨架扩展为三维主枝骨架、基于树冠轮廓约束创建细枝和叶子。本发明易于使用、算法简单、建模效率高,能够创建出具有真实感的树木模型。其建模结果在计算机游戏、三维电影、网络漫游、城市景观设计等领域具有重要的应用价值。
文档编号G06T17/00GK101866495SQ20101018828
公开日2010年10月20日 申请日期2010年6月1日 优先权日2010年6月1日
发明者刘佳, 张晓鹏, 李红军 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1