基于α-shape的树冠LOD建模

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2017年
6月
图 学 学 报
June 2017第38卷 第3期
JOURNAL OF GRAPHICS
V ol.38
No.3
基于α-shape 的树冠LOD 建模
朱晓强1,2, 周 浩1,2, 宋 磊1,2
(1. 上海大学通信与信息工程学院,上海 200444;2. 上海大学智慧城市研究院,上海 200444)
摘要:以点云形式的树模型为输入,以3D Delaunay 三角化为基础,选取最优α值并生
成点云的最小连通α-shape ;然后计算其距离场并进行滤波处理,以提取α-shape 的光滑等距面;进一步采用Laplacian 骨架提取的分割方法从等距面中分割出树干和树冠点云的包围体。

最后以树冠包围体内点云的多分辨率α-shape 为细节层次(LOD)模型用于非真实感VR 场景。



词:α-shape ;细节层次;虚拟现实;树冠建模
中图分类号:TP 391 DOI :10.11996/JG .j.2095-302X.2017030303 文献标识码:A 文 章 编 号:2095-302X(2017)03-0303-11
Tree Crown LOD Modeling Based on α-Shape
ZHU Xiaoqiang 1,2, ZHOU Hao 1,2, SONG Lei 1,2
(1. School of Communication and Information Engineering, Shanghai University, Shanghai 200444, China;
2. Institute of Smart City, Shanghai University, Shanghai 200444, China)
Abstract: Based on 3D Delaunay theory, an optimal α is selected to construct the minimal connected α-shape from the input point cloud of a tree model. After the calculation and filtering of its distance field, a smooth distance surface is extracted, from which the bounding volumes of tree trunk and crown are segmented respectively based on the Laplacian skeleton-based segmentation approach. Finally, the point cloud within the crown volume is utilized to generate multi-resolution α-shapes, which can be used as levels of detail (LOD) models in non-photorealistic VR environment. Keywords: α-shape; levels of detail; virtual reality; crown modeling
随着虚拟现实软硬件技术的快速发展,消费级别的虚拟VR 头盔及交互产品也逐渐成为普通用户产品,然而其对虚拟场景的快速建模和高效渲染需求也越来越高。

树作为非常常见的自然场景模型,其为虚拟现实场景非常必需的元素[1]。

目前,建模树的常用方法大体可分为设计虚拟的树[2-3]和重建真实的树[4-5]。

基于语法的过程式建模[6]、基于草图的建模[3]和大部分基于图像的建模[2]都属于第一种建模虚拟树类型。

尽管早期的L-系统生成的树基于规则而且很难控制,然而近期的高层次编辑方法可以很好地控制语法规则并生
成所需形状的树[7]。

由于树的种类和细节都较为丰富,对于普通用户很难建模出所需要的形状,因此基于草图的建模方法[8-9]往往很受非专业建模人士的欢迎,尤其运行于Ipad 平台的TreeSketch [10]应用更是非常方便地通过触摸屏即可生成各种复杂的树。

另外一种生成虚拟树的方法是基于图像的建模,MARTINEZ 等[11]提出了一种纯基于图像的建模方法;文献[2]则给出一种结合多幅图像和草图的建模算法;TAN 等[12]则在基于图像的建模方法中引入交互技术以增加建模树的鲁棒性。

随着扫描技术的快速发展,不少学者从点云数据中
304 图形学与可视化 2017年
重建树在近期展开了很多研究。

文献[5]采用首先提取树干骨架并用于重建树的轮廓模型,然后随机加入树叶到各个树枝。

PIRK 等[13]模拟真实树的自然生长过程及其与自然环境的交互现象。

文献[14]采用基于组件的方式高效合成适合视频游戏的低分辨率树木模型。

尽管已经有如此多生成各种树的方法,但所生成树的复杂度太高,对于实时性要求极高的VR 环境仍然需要有更有效的树模型建模及其渲染方法。

加之要在尽可能低配置的消费级硬件平台上模拟VR 环境,本文给出一种基于α-shape 的树冠细节层次(levels of detail ,LOD)模型生成方法,该方法以普通点云数据为输入,通过基本连通α-shape 生成、拉普拉斯骨架提取、等距面提取、树干分割等步骤得到树冠部分的点云,最后根据不同α值创建多分辨率的树冠α-shape ,从而简化的多面体代替复杂丰富细节的树模型。

1 基于3D Delaunay 三角化的α-shape
直观上,α-shape 是点集凸包的推广形式[15]。

假设S 为R 3空间中的有限点集(以下不特别说明情况都针对三维空间),α为0≤α≤∞范围内的实数,则S 的α-shape 为随α变化的多胞体。

当α=∞,α-shape 为S 的凸包,随α的减小,α-shape 逐渐凹陷;当=0α时α-shape 退化为原始点集S 。

当0≤α≤∞时,令α-球体b 为半径为α的开球,若b ∩S =Ø则定义该α-球体b 为空球。

同时,对于S 的任一子集T S ⊂,其中T 的维度=3T ,则定义2-单形T σ为T 的凸壳,且T σ为2维的。

对于0≤k ≤2,如果存在空的α-球b 使得T b S =∂ ,其中b ∂为球面,则称k -单形T σ为α-可见的,因此对于固定的α可定义α-可见的k -单形集合,k F α。

进而可以定义点集S 的α-shape 为以2,F α中的三角形、1,F α中的边和0,F α中的点为边界的混合维多胞体
(0维点+1维线+2维面)。

对于有限点集S ,由其所生产的所有α-shape 可通过对S 的Delaunay 三角化来表示,其每个单形都关联一个α区间,表示该单形属于该区间内α值对应的α-shape 。

因此对于确定的点集S ,可根据α值的变化,将S 的Delaunay 三角化结果分配到不同分辨率的α-shape 中。

尽管点集S 可以生成一系列的α-shape ,每个都单独生成的计算量是巨大的,利用上述算法,可先将S 点集Delaunay 三角化,对于指定的α′值,只需要判定三角化的每个k -单形对应的α区间是否包含α′,从而得知该k -单形是否属于α′对应的α-shape 中(图1)。

因此,不同的α值对应不同细节的点云轮廓形状,从而构成多分辨率的α-shape 序列,关于α-shape 的细节和详细定义请参考文献[15]。

(a) 狗模型点云 (b) 狗模型α-shape1 (c) 狗模型α-shape2
(d) 狗模型α-shape3 (e) 狗模型α-shape4 (f) 狗模型α-shape5
第3期 朱晓强,等:基于α-shape 的树冠LOD 建模
305
2 基于最优连通α-shape 的点云光滑包围体创建
树模型的点云数据,绝大部分集中在树冠部分,因此对于VR 环境中树模型的简化也应该主要针对树冠,而树干模型可以使用固定的单一模型即可。

为实现此目标,需要预先将点云数据分割为树冠和树干,以便只采用树冠点云生成LOD 模型。

为充分利用更加鲁棒的基于网格的模型分割技术,对点云数据创建紧致的包围体:
(1) 针对输入点云P ,提取最小连通α-shape S α使得p P ∀∈,p 在S α边界上或在S α内部,如图2
所示。

但此时的α-shape 可能不是2D 流形网格 (图3),因此常规基于网格的模型分割技术不能直接使用。

(a) 输入点云 (b) 最小连通α-shape
图2 基于点云的最小连通α-shape
(a) 共用顶点 (b) 共用边
图3 非流形α-shape 奇异情况
(2) 以S α中的多边形集合为对象,创建无向距离场F ,然后对F 进行滤波平滑处理得到F ′,并采用Marching Cubes 提取最外层的等值面iso S (图4),
图4 α-shape 的二维流形等距面
3 基于Laplacian 骨架的点云树冠分割
尽管已有基于点云的分割方法[18],但包含拓扑信息的网格分割算法更能体现模型语义信 息[17-19]。

本文首先采用基于Laplacian 网格平滑收缩算法[17]得到二维流形曲面iso S 的骨架信息,并基于此对网格进行分割。

由于树冠相对较为复杂,因此首先从iso S 中分割出树干包围体trunk S ,
然后以crown iso trunk S S S =-为树冠包围体(图5)。

=

图5 树冠包围体分割示意图
3.1 基于Laplacian 的骨架提取及网格分割
采用文献[17]中的拉普拉斯光顺算子提取该树模型的骨架,给定网格G =(V , E ),其中V 为顶点集合;E 为边集合。

通过求解LV =0来沿法向平滑和收缩网格G ,其中L 为拉普拉斯算子,即
,(,)cot cot (,),
0,ij ij ij k ij ik i k E i j E L i j ωαβω∈=+∈⎧⎪⎪
=-=⎨⎪⎪⎩
∑如果如果其他
其中,ij α和ij β为边(i , j )的对角。

另一方面,为防止网格收缩过量,定义牵引因子,从而形成总体方程组
0L W L V ⎡⎤⎡⎤
'=
306 图形学与可视化 2017年
由于此方程组为过约束条件,采用最小二乘求解每次迭代后的顶点位置
2
2
2
,L H i i
i i
W LV W v v ''+-∑
此外该骨架提取算法同时可以生成骨架顶点映射图,即骨架节点k 对应原始网格上的顶点集合Πk (Πk 内顶点收缩至骨架节点k ),如图6所示。

(a) 包围体骨架 (b) 包围体顶点映射图
图6 基于Laplacian 的包围体骨架提取
为自动分割出树干包围体,对骨架Skel 进行分割,如图7所示。

若Skel 构成的无向无环图G 共有N 个终端节点(终端节点邻接点数Nbr end =1,图7中黑色节点),则将G 分割为N +1个子图。

首先从每个终端节点N i 0创建树干候选分割集Seg i ,如果
N i 1和N i 0之间有一条边01i i E G -∈并且Node i 1为连接点(有两个邻域节点定义为连接点Nbr branch =2,如图7中绿色点),则将Node i 1并入Seg i ,以此类推直到Node in 的下一个邻接点为分支点(Nbr branch >2,如图7中红色节点)。

除去上述N 个从终端节点生成的连通子图(图7右上图红线框外部子图)外,剩下中间分支部分构成一个子图:11Seg Seg N
N i i G +==-∑(图7
右上图红线框内子图)。

从骨架中分割出的各个连通子图,并将其各个子图骨架顶点对应的原始网格M i 顶点V i 所在面片进行聚合,从而生成包围体网格的分割结果,如图
8(a)所示,其中彩色区域分别为骨架图终端节点映
射网格顶点面片M 1, M 2, …, M N ,
白色区域为骨架图分支部分映射网格顶点面片M N +1。

然而由于离分支点较近的骨架顶点及其网格映射点的干扰,使得最终分割出的终端骨架子图映射网格会包含分支骨架映射网格(即使是树干部分)。

因此,在对骨架终端顶点进行子图扩展时,去除离分支点较近的骨架连接点(如图7右下子图),
从而保证被分割出来的终端分支网格之一只包含树干上的点,如图8(b)所示。

(a) 全部终端骨架分割 (b) 去除干扰的终端骨架分割
图8 基于骨架映射的网格分割
3.2 树干包围体判定
为从S iso 中分割出S trunk ,需要从M i (i =1, 2, …, N )中识别出具体的树干。

判别标准为计算最像圆柱形的分割部分,具体为将M i 分别沿着其骨架方向及垂直骨架方向投影到二维平面,并根据如下3个进行构造打分函数F (M i ),即
()()()i i i F M ShpCir M ShpRect M αβ=⋅+⋅
其中,
①()exp((,i
i p M ShpCir M UnsignedDist p ∈=
-∑
))CirAppr 表示沿骨架方向投影区域为圆形区域,并且圆周Appr Cir 上投影点密度高于内部,权重分布如图9(a)所示;
②()exp((,i
i p M ShpCir M UnsignedDist p ∈=
-∑
))CirAppr 表示垂直骨架方向投影点为矩形,权重分布如图9(b)所示。

α、β分别为上述2个部分的权重,试验中
将其都设置为1即可取得较好结果,
图10为图8(b)中终端分支投影结果,并且经过上式的判定结果
第3期朱晓强,等:基于α-shape的树冠LOD建模307
(a) 沿骨架圆形投影权重(b) 垂直骨架投影矩形权重
图9终端分支包围体投影形状判定权重分布
(a) 分割1投影
(b) 分割2投影
(c) 分割3投影
图10终端分支(左)分别沿骨架(中)和垂直骨架(右)方向投影
308 图形学与可视化2017年
3.3 树冠点云分割及其多分辨率α-shape
由于前期为了提高识别树干的准确度,将骨架中离分支点较近的连接点从终端骨架中删除。

当确定了M j为(1j N
≤≤)树干包围体网格后,为了得到尽量干净的树冠数据,需要把树干提取完整。

因此,对识别出的骨架Seg j进行扩展,使其包含离分支节点较近的连接点(如图7右上)。

但也不能把所有扩展的骨架离分支点较近的所有连接点及其映射点都加进M j,因为骨架离分枝点较近的连接点映射点集只有部分应该属于M j,如图8(a)红色区域。

扩展方法为,根据扩展前的Seg j和M j估算树干的半径r j,若Node jk为扩展入Seg j的骨架节点,则对节点Node jk 的映射网格顶点集合V jk中任意顶点jk
v V
∈,若
Node
jk j
v r
ω
-<
则将所在面片加入M j,实验中取 1.3
ω=。

从原始树模型点云中删除属于树干部分的点云,即可得到树冠部分点云,通过设置不同的α值从而生成多分辨率的树干LOD模型,如图11所示。

(a) 树冠点云(b) 树冠α-shape1 (c) 树冠α-shape2 (d) 树冠α-shape3
图11分割出的树冠点云及其LOD α-shape模型
4 实验结果与分析
为验证本文算法的有效性,采用了更多数据
进行测试,图12为其中一棵树的点云、α-shape及
其等距面、骨架和分割,通过本文算法分割出骨架
对应终端并通过图13中两种投影来判定出树干图
12(a),并进一步分割出树冠点云(图14(a))、和多
分辨率树冠(图14(b)~(d))。

类似的树2模型及算法
分析结果如图15~17所示。

尽管图11、13、17中只列出了3个分辨率的
α-shape,在实际的应用中,可以根据需要对分割出
的树冠点云生成更多层次的多分辨率α-shape。

从图
12(d)中可以看出该树骨架共有5段终端骨架,但是
实际上在投影阶段(图14)只需要处理3段即可,因
为其中两端骨架只有2个骨架节点,这种太短的终
端部分可在预处理阶段直接淘汰。

在图15(d)中的骨
架终端节点共有12段,预处理阶段淘汰较短的终端
8段,经过投影可以淘汰另外3段(图17(b)~(d))。

(a) 点云(b)α-shape (c) 等距面(d) 骨架(e) 骨架映射 (f) 分割
图12树1分割流程
第3期朱晓强,等:基于α-shape的树冠LOD建模309
(a) 分割1投影
(b) 分割2投影
(c) 分割3投影
图13树1终端分支(左)分别沿骨架(中)和垂直骨架(右)方向投影
(a) 树冠点云(b) 树冠α-shape1 (c) 树冠α-shape2 (d) 树冠α-shape3
图14 树1分割出的树冠点云及其LOD α-shape模型
310 图形学与可视化2017年
(a) 点云(b) α-shape
(c) 等距面(d) 骨架
(e) 骨架映射 (f) 分割
第3期朱晓强,等:基于α-shape的树冠LOD建模311
(a) 分割1投影
(b) 分割2投影
(c) 分割3投影
(d) 分割4投影
图16树2终端分支(左)分别沿骨架(中)和垂直骨架(右)方向投影
312 图形学与可视化 2017年
(a) 树冠点云 (b) 树冠α-shape1
(c) 树冠α-shape2 (d) 树冠α-shape3
图17 树2分割出的树冠点云及其LOD α-shape 模型
为验证本文LOD 树模型渲染的有效性,试验中从精细的真实树模型分离出树冠和树干,提取树冠点云数据,并生成2个不同精度的α-shape ,然后将各α-shape 和真实树共同形成不同层次的
LOD 模型。

试验过程设计2个场景分别放置真实树和相同数目的LOD 树,渲染效果分别如图
18(a)、(b)所示。

当场景中放置42颗树,真实树场景渲染帧数6.5帧/秒左右,此时场景每秒需渲染
1.4亿面片,巨量面片数是导致低帧率的主要原因。

而采用LOD 模型树的场景二,帧率约30帧/秒,每秒只需渲染三角面片数 4 000万左右,因此采用
LOD 模型可节约大量的系统资源。

为进一步测试LOD 渲染效果,向场景二加入更多LOD 树模型,如图18(c)所示。

整个场景中
LOD 树模型共1 300棵,平均渲染效率为10帧/秒左右,仍高于场景一中42棵全部真实树的帧率。

试验中发现,LOD 树的数量到达一定程度后,继续增加更多模型对渲染效果的影响微乎其微,因为LOD 机制会根据模型与视点的距离来选择性地渲染对应层次精度的模型。

在高质量绘制近处精细模型的同时,仅简化渲染较远处的LOD 粗糙模型,从而既获得高质量渲染效果又保证较高渲染
(a) 真实树在场景中的渲染效果
(b) LOD 树模型在同一场景中的渲染效果
(c) 大场景LOD 模型渲染
第3期朱晓强,等:基于α-shape的树冠LOD建模313
5 结论
尽管随着计算机硬件尤其是显卡的快速发展,大场景复杂模型的实时渲染越来成为现实。

然而随着虚拟现实的快速普及,VR头盔等设备正在逐渐进入普通消费者家庭,如何在中等配置的PC上高效显示复杂大场景,仍有不少问题亟待解决。

本文针对虚拟场景中最常用、同时也是较为复杂的树模型进行简化处理,以降低其渲染时的资源消耗。

树模型最为复杂的部分在于树冠,然而实际场景应用中树模型只是环境元素,很多时候只需要绘制其轮廓就已经足够,因此本文给出了一种基于α-shape的多分辨率树冠多面体模型生成方法。

借助点云模型的α-shape及其等距面,并利用基于拉普拉斯的网格收缩算法得到等距面骨架。

该骨架一方面可以用于对等距面进行分割,另一方面骨架方向可用于判定具体哪个分割片段为树干部分,从而得到最终的树冠点云及其多分辨率α-shape。

参考文献
[1]ZHU X Q, JIN X G, YOU L H. High-quality tree
structures modelling using local convolution surface approximation [J]. The Visual Computer, 2015, 31(1): 69-82.
[2]NEUBERT B, FRANKEN T, DEUSSEN O. Approximate
image-based tree-modeling using particle flows [J]. ACM Transactions on Graphics, 2007, 26(3): 88.
[3]OKABE M, OWADA S, IGARASHI T. Interactive design
of botanical trees using freehand sketches and example- based editing [J]. Computer Graphics Forum, 2005, 24(3): 487-496.
[4]LIVNY Y, YAN F L, OLSON M, et al. Automatic
reconstruction of tree skeletal structures from point clouds [J]. ACM Transactions on Graphics, 2010, 29(6): 151.
[5]XU H, GOSSETT N, CHEN B Q. Knowledge and
heuristic-based modeling of laser-scanned trees [J]. ACM Transactions on Graphics, 2007, 26(4): 19.
[6]DEUSSEN O, LINTERMANN B. Digital design of
nature-computer generated plants and organics [M]. Berlin: Springer, 2005: 1-295. [7]TALTON J O, LOU Y, LESSER S, et al. Metropolis
procedural modeling [J]. ACM Transactions on Graphics,
2011, 30(2): 11.
[8]CHEN X J, NEUBERT B, XU Y Q, et al. Sketch-based
tree modeling using Markov random field [J]. ACM Transactions on Graphics, 2008, 27(5): 109.
[9]PALUBICKI W, HORELK, LONGAY S, et al. Self-
organizing tree models for image synthesis [J]. ACM Transactions on Graphics, 2009, 28(3): 58.
[10]LONGAY S, RUNIONS A, BOUDON F, et al. TreeSketch:
interactive procedural modeling of trees on a tablet [C]// Sketch Based Interfaces and Modeling 20112. Geneve: European Association for Computer Graphics, 2012: 107-120.
[11]MARTINEZ A R, MARTIN I, DRETTAKIS G.
V olumetric reconstruction and interactive rendering of trees from photographs [J]. ACM Transactions on Graphics, 2004, 23(3): 720-727.
[12]TAN P, FANG T, XIAO J X, et al. Single image tree
modeling [J]. ACM Transactions on Graphics, 2008, 27(5): 108.
[13]PIRK S, STA V A O, KRATT J, et al. Plastic trees:
interactive self-adapting botanical tree models [J]. ACM Transactions on Graphics, 2012, 31(4): 50:1-50:10.
[14]MARÉCHAL N, GALIN E, GUÉRIN E, et al.
Component-based model synthesis for low polygonal models [C]//GI’10 Proceeding of Graphics Interface 2010.
New York: Association for Computer Machinery, 2010: 217-224.
[15]EDELSBRUNNER H, MÜCHE E P. Three-dimensional
alpha shapes [J]. ACM Transactions on Graphics , 1994, 13(1): 43-72.
[16]SHAPIRA L, SHAMIR A, COHEN-OR D. Consistent
mesh partitioning and skeletonisation using the shape diameter function [J]. The Visual Computer, 2008, 24(4):
249-259.
[17]AU O K C, TAI C L, CHU H K, et al. Skeleton extraction
by mesh contraction [J]. ACM Transactions on Graphics,
2008, 27(3): 44.
[18]CAO J J, TAGLIASACCHI A, OLSON M, et al. Point
cloud skeletons via laplacian-based contraction [C]// Proceedings of the IEEE Conference on Shape Modeling
and Application. Washington: IEEE Computer Society, 2010: 187-197.
[19]ZHENG Y Y, TAI C L, AU O K C. Dot scissor: a
single-click interface for mesh segmentation [J]. IEEE Transaction on Visualization and Computer Graphics.
2012, 18(8): 1304-1312.。

相关文档
最新文档