可直接编辑的高质量3D生成模型:中科院计算所等提出高质量三维深度生成方法SDM-NET

简介: 中科院计算所、香港城市大学、英国卡迪夫大学以及加拿大西蒙弗雷泽大学的研究者,近日提出了一种能够表达几何细节和复杂拓扑结构的三维模型深度生成方法 SDM-NET,解决了之前方法的一部分局限性,使得生成的模型具有高质量的几何细节并可以支持快速编辑。该研究已被计算机图形学顶会 Siggraph Asia 2019 接收。
中科院计算所、香港城市大学、英国卡迪夫大学以及加拿大西蒙弗雷泽大学的研究者,近日提出了一种能够表达几何细节和复杂拓扑结构的三维模型深度生成方法 SDM-NET,解决了之前方法的一部分局限性,使得生成的模型具有高质量的几何细节并可以支持快速编辑。该研究已被计算机图形学顶会 Siggraph Asia 2019 接收。


三维模型的生成一直是计算机图形学领域一个热门方向。不同于三维模型,二维图像的生成在深度神经网络的帮助下,已经有了高质量的结果,基于深度网络的图像生成方法生成的图像已经足够以假乱真。


例如,Deep Fake 已经可以做到非常真实的人脸替换。许多研究者尝试将深度网络类似地应用于三维模型的生成上,但因为缺乏有效的表示方法,生成的模型不具有精细的几何细节。例如,基于点云的方法,是在空间中离散分布的采样,无法刻画几何模型的细节和拓扑;基于体素的方法受限于复杂度的问题,分辨率较低;基于片网的方法对模型的表面进行逼近,但是仍然无法表示连续曲面。因此,学界及业界尚未有合适的高质量的三维模型深度生成方法。


中国科学院计算技术研究所的学者在三维模型的高质量生成方法上进行探索,在三维模型的表示上有了系列的研究基础 [1,2,3]。为了进一步生成具有复杂拓扑结构及高质量几何的三维模型,中科院计算所,联合香港城市大学、英国卡迪夫大学以及加拿大西蒙弗雷泽大学的研究者,提出了一种能够表达几何细节和复杂拓扑结构的三维模型深度生成方法 SDM-NET,解决了之前方法的一部分局限性,使得生成的模型具有高质量的几何细节并可以支持快速编辑。


论文地址:https://arxiv.org/pdf/1908.04520.pdf

项目主页:http://geometrylearning.com/sdm-net/


论文:SDM-NET: Deep Generative Network for Structured Deformable Mesh


该方法涉及一种新的三维模型编码方式,同时深度生成网络的设计也与这种编码方式耦合在一起,完成对三维模型的生成,生成的三维模型可以直接进行编辑。图一展示了在 SDM-NET 隐含层上插值生成的高质量结果,能够实现模型拓扑之间的连续变换,如飞机引擎的从无到有。图二展示了 SDM-NET 与其他方法在细节上的比较。


微信图片_20211202123513.jpg

图一:SDM-NET 隐含层插值生成模型结果


image.gif

图二:细节展示及对比


SDM-NET 的生成模型具有的另一大优势是可直接编辑,如下面这段动图所展示的,由 SDM-NET 生成的模型可以直接进行交互式的变形(如删除扶手、拉长椅腿及椅背等)。


image.gif

SDM-NET 生成的模型可以直接变形编辑


研究人员在最近于澳大利亚布里斯班举行的 Siggraph Asia 2019 上展示了他们的研究成果,Siggraph Asia 是 CCF A 类会议,计算机图形学领域的顶级会议,每年都会发布图形学领域中高质量的最新研究和学术成果,今年的会议吸引了将近一万人参会,包括学者、工程师、艺术家和学生等。
被该会议接收的论文都会发表在 ACM Transactions on Graphics 期刊上。该期刊的 SCI 影响因子在 ACM 出版的所有期刊中排名第一,享有极高的声誉,是被学界及业界高度认可的 ACM 汇刊。如下图(来自 ACM TOG 官网)所示,SIGGRAPH、SIGGRAPH ASIA 和 ACM Transactions on Graphics 具有同样高的质量。


微信图片_20211202123625.jpg


方法概述



一个咖啡杯能够由一个简单的圆圈变换得到,如图三所示,这是因为它们实际上是同胚的。一个咖啡杯的细节可以由变换来刻画,研究人员便利用细节等同于变换的思想来表示三维几何模型的细节。
同时,直接对模型整体建模比分块建模要更困难,为了实现高质量的三维模型生成,论文作者将完整的模型分割为具有特定语义标签的部件,逐一对每个部件进行建模。
如图四所示,为每一个部件构建轴对齐的包围盒,将包围盒同胚变换到被包围的部件上,刻画几何细节。对一类模型(如椅子类别)的不同部件分别进行上述操作,便将模型转换为几个同胚集合的并集。每个标签的部件集合对应一个同胚集合,集合中的变换进一步送到每个部件语义标签各自的变分自编码器(VAE)进行编码与学习。


image.gif

图三:咖啡杯和圆圈是同胚的


微信图片_20211202123747.jpg

图四:对模型逐部件分析,构建网格包围盒,通过包围盒的变换刻画几何细节


三维模型不只具有精细的几何细节,同时还有复杂的拓扑结构。如图五所示,研究人员通过部件包围盒之间的支撑关系、对称关系来对模型的复杂结构进行建模。相比采用相邻关系,支撑关系更能准确描述部件之间的物理支持属性,从而保证生成的三维模型是物理上具有稳定支撑的特性。


微信图片_20211202123802.jpg

图五:分析部件之间的支撑关系、对称关系对模型复杂拓扑结构建模


将结构信息与刻画部件细节的变形信息串联在一起,得到模型部件完整的编码,如图六所示。研究人员进一步构建一个变分自编码器来联合编码模型的几何形状与拓扑结构,保证生成模型的几何与结构的一致性。这也是第一次尝试运用神经网络结构,对支撑形状结构进行编码。最终的网络由两级 VAE 组成,部件层次编码变形的 VAE 与模型层次联合编码几何和结构的 VAE,用于结构化变形网格的编码与生成,被称作 SDM-NET。在网络训练完成后,可生成高质量、平滑的三维模型。 


微信图片_20211202123822.jpg

图六:模型部件的完整编码


结果展示


微信图片_20211202123832.jpg


图七:与基于点云和片网的三维模型表示方法的比较


微信图片_20211202124008.jpg

图八:与基于体素的三维模型生成方法的比较


如图八所示,作者与基于体素的三维模型生成方法做了比较,可以看到在生成模型的质量上 SDM-NET 具有很大的优势。
下面这个动图展示了模型插值的结果,可以看到 SDM-NET 可以实现在不同拓扑结构模型之间的插值。


image.gif

SDM-NET 可以在不同拓扑结构模型之间插值


有关论文的更多细节,及论文、视频、代码的下载,请浏览项目主页。


微信图片_20211202124056.jpg


参考文献:[1] Lin Gao, Jie Yang, Yi-Ling Qiao, Yu-Kun Lai, Paul L. Rosin, Weiwei Xu, and Shihong Xia. 2018. Automatic unpaired shape deformation transfer. ACM Trans. Graph. 37, 6 (2018), 237:1–237:15.[2] Qingyang Tan, Lin Gao, Yu-Kun Lai, Jie Yang, Shihong Xia. 2018. Mesh-based Autoencoders for Localized Deformation Component Analysis. AAAI Conference on Artificial Intelligence (spotlight). 2452-2459.[3] Lin Gao, Yu-Kun Lai, Jie Yang, Ling-Xiao Zhang, Shihong Xia, and Leif Kobbelt. 2019. Sparse Data Driven Mesh Deformation. IEEE Trans. Vis. Comput. Graph. (2019).


相关文章
|
开发框架 .NET 数据库
.NETCore 获取数据库上下文[实例的方法和配置连接字符串
.NETCore 获取数据库上下文[实例的方法和配置连接字符串
704 1
|
6月前
|
Windows
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
579 0
|
10月前
|
C#
.NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法
.NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法
122 0
|
SQL 数据可视化 BI
十三、.net core(.NET 6)搭建ElasticSearch(ES)系列之dotnet操作ElasticSearch进行存取的方法
.net core操作ES进行读写数据操作在Package包项目下,新增NEST包。注意,包版本需要和使用的ES的版本保持一致,可以避免因为不兼容所导致的一些问题。例如我本机使用的ES版本是7.13版本,所以我安装的NEST包也是7.13版本:
624 0
十三、.net core(.NET 6)搭建ElasticSearch(ES)系列之dotnet操作ElasticSearch进行存取的方法
|
开发框架 程序员 API
【C#】.net core2.1,通过扩展状态代码页方法对404页面进行全局捕抓并响应信息
在开发一个网站项目时,除了异常过滤功能模块,还需要有针对404不存在的api接口和页面处理功能 本篇文章就来讲讲,如何自定义全局请求状态类来统一处理
184 0
|
缓存 移动开发 C#
【.Net实用方法总结】 整理并总结System.IO中TextWriter类及其方法介绍
本文主要介绍System.IO命名空间的TextWriter类,介绍其常用的方法和示例说明。
|
C# 开发者 索引
【.Net实用方法总结】 整理并总结System.IO中TextReader类及其方法介绍
本文主要介绍System.IO命名空间的TextReader类,介绍其常用的方法和示例说明。
|
存储 缓存 C#
【.Net实用方法总结】 整理并总结System.IO中StringWriter类及其方法介绍
本文主要介绍System.IO命名空间的StringWriter类,介绍其常用的方法和示例说明。
|
C# 开发者 索引
【.Net实用方法总结】 整理并总结System.IO中StringReader类及其方法介绍
本文主要介绍System.IO命名空间的StringReader类,介绍其常用的方法和示例说明。
|
存储 网络协议 程序员
【.Net实用方法总结】 整理并总结System.IO中Stream类及其方法介绍
本文主要介绍System.IO命名空间的Stream类,介绍其常用的方法和示例说明。