中科院计算所高林团队和腾讯游戏数字内容技术中心合作,在NeurIPS 2021上发表了一项研究工作OctField[1],该工作提出了一种可微分递归编码的八叉树隐式场方法来表示和建模几何形状,达到了高精度的几何建模效果,并开源基于计图的实现代码。
Part 1
研究问题和背景
3D几何形状表示和建模是计算机图形学和计算机视觉的核心任务之一。从场景理解、物体识别与分类等上层应用到形状重建和编辑等底层任务的算法设计都依赖于三维几何表示。理想的三维表示方法应该能够处理灵活的拓扑、在各种尺度下表示模型的细节并且可以高效的进行编辑和渲染,现有的用于深度几何学习的表示方法难以同时满足以上的要求。
传统的显式几何表示方法,如点云、体素和三维网格在应用于深度学习时面临许多问题。点云和体素表示缺乏精细的几何细节,而基于三维网格方法通常基于特定模板变形,受限于对具有不同拓扑的几何形状进行处理的能力。
深度隐式场是近年来3D几何学习的重要进展,早期的深度隐式场方法(如IM-Net[2],OccNet[3])存在对细节表示不佳的问题,此后的一些改进方法[6]通过对空间进行规则划分来改善模型细节的表达能力,但是固定的网格划分导致很难在模型表示精度和计算性能上取得平衡。
本工作得益于局部隐式场表示的灵活性和分层次递归表示的细节表达能力强的优势,如图1所示。通过将局部隐式场与每个八叉树节点单元相关联,解决了基于局部隐式场的几何建模和重建方法效率低下的问题。本工作提出的表示可以使用紧凑的存储对具有精细细节的大规模形状进行建模,并且可以用于表示具有任意拓扑的三维形状。
图1 八叉树隐式场表示方法示意图
Part 2
方法概述
本工作提出了一种针对3D表面的可学习的分层次隐式表示方法,可以用较低的内存和计算代价对复杂表面进行高精度的编码。我们进一步地提出了一种以可微分的方式递归编码和解码八叉树结构和几何形状的神经网络。
图2 八叉树隐式场的编码器-解码器网络
该网络由分层递归变分自编码器和表示局部几何的深度隐式函数组成。网络的编码器由多个局部编码器组成,分层次地将局部几何特征和八叉树结构编码到隐空间。编码过程以自下而上的方式从最精细的叶子节点开始。在为输入模型构建八叉树之后,方法将包含在节点对应空间中的三维几何表面体素化,采用三维体素卷积来提取局部几何特征。网络的分层解码器旨在从输入的全局特征中解码八叉树结构和局部空间中的特征编码。与编码器相反,解码过程从根节点开始,以自顶向下的方式递归解码其子节点的特征。
在编码过程中,对于每个节点,首先计算其指标 α 和 β,这两个指标表示该节点是否包含表面以及节点中的几何细节是否足够丰富以至于需要细分,之后提取几何特征 g。接下来,通过级联几何特征 g 与其结构特征 α 和 β 来获得节点的特征,递归执行特征编码和聚合,直到处理完根节点。在应用于生成任务时,编码器的最后利用 VAE 的重参数化技术来使得潜空间的分布逼近正态分布。
在解码过程中,对于每个节点先解码出指标 α 和 β,通过这两个指标确定是否需要进一步对特征解码得到子节点特征,重复处理直到叶子节点或者达到最大深度。最后,每个叶节点都对应一个深度隐式函数,通过隐式函数可以查询得到该点在几何模型内外的属性。进一步,结合行军立方体方法MarchingCubes来提取出相应三角网格。
图3 分层编码器/解码器的结构
该网络的损失函数包括几何损失、结构损失、细分损失和KL散度损失四部分函数。几何损失为采样点在几何表面内/外的二分类交叉熵;结构损失和细分损失分别对应在各节点预测三维表面存在性和是否需要进一步细分的二分类交叉熵;KL散度用于使得VAE的潜空间逼近正态分布。
Part 3
结果展示
在对比实验中,提出的方法与已有其他方法相比显著提高了重建精度并且大幅减少了计算开销。
1)形状重建
下图展示了该方法和其他方法重建结果的可视化比较 ((a) 输入, (b) AOCNN[4], (c) OGN[5], (d) LIG[6], (e)OccNet[3], (f) ConvONet[7], (g) IM-Net[2], 以及(h) OctField[1])
图4 与现有方法的可视化结果对比
表1中展示了形状重建的定量评估结果。与现有的基于八叉树和隐函数的方法相比,我们的方法可以实现更好的重建精度。
表1 与现有方法的量化指标对比
2)形状插值
根据插值实验的结果可以看出,该方法可以学习一个平滑且结构化的潜在空间。因此,该方法可以应用在各类应用中,例如模型插值,生成等任务。
图5 形状插值结果
3)形状生成
因为该方法在隐空间上逼近正态分布,因此在该正态分布上采样并递归解码可以生成新的几何形状。该方法可以合成具有复杂结构和精细几何细节的高质量三维几何形状,如图6所示。
图6 形状生成结果
该工作由中科院计算所和腾讯游戏数字内容技术中心的研究团队合作完成,论文通讯作者为中科院计算所高林副研究员,作者包括硕士生汤嘉恒和陈伟凯博士(共同一作)、杨博博士等。目前项目的Jittor代码已在github上开源:
https://github.com/IGLICT/OctField
在Jittor框架的加持下,对比pytorch实现,Jittor实现推理速度提升1.24倍。
参考文献
- Jia-Heng Tang*, Weikai Chen*, Jie Yang, Bo Wang, Songrun Liu, Bo Yang, and Lin Gao,OctField: Hierarchical Implicit Functions for 3D Modeling,NeurIPS, 2021.
- Zhiqin Chen and Hao Zhang, Learning implicit fields for generative shape modeling, IEEE CVPR, 2019, 5939–5948.
- Lars Mescheder, Michael Oechsle, Michael Niemeyer, Sebastian Nowozin, and Andreas Geiger, Occupancy networks: Learning 3D reconstruction in function space, IEEE CVPR, 2019, 4460–4470.
- Peng-Shuai Wang, Chun-Yu Sun, Yang Liu, and Xin Tong, Adaptive O-CNN: A patch-based deeprepresentation of 3d shapes, ACM Transactions on Graphics, 2018, Vol. 37, No. 6, article no. 217.
- Maxim Tatarchenko, Alexey Dosovitskiy, and Thomas Brox, Octree generating networks: Efficient convolutional architectures for high-resolution 3D outputs. IEEE ICCV, 2017, 2088–2096.
- Chiyu Jiang, Avneesh Sud, Ameesh Makadia, Jingwei Huang, Matthias Nießner, and Thomas Funkhouser, Local implicit grid representations for 3d scenes. IEEE CVPR, 2020, 6001–6010.
- Songyou Peng, Michael Niemeyer, Lars Mescheder, Marc Pollefeys, and Andreas Geiger, Convolutional occupancy networks, ECCV, 2020, 523-540.
GGC往期回顾
3. CVMJ入选2021年度"中国国际影响力优秀学术期刊"
您可通过下方二维码,关注清华大学图形学实验室,了解图形学、Jittor平台、CVMJ期刊的相关资讯。