3D 生成重建007-Fantasia3D和Magic3d两阶段玩转文生3D

3D生成重建3D 生成重建007-Fantasia3D和magic3d


文章目录

    • 0 论文工作
    • 1 论文方法
      • 1.1 magic3d
      • 1.2 Fantasia3D
    • 2 效果
      • 2.1 magic3d
      • 2.2 fantasia3d

0 论文工作

  两篇论文都是两阶段法进行文生3d,其中fantasia3D主要对形状和外表进行解耦,然后先对geometry进行生成,在结合几何对texture进行生成。在几何阶段是用DMTet形式进行表示,在纹理阶段使用的是PBR对材质进行表达,因为这篇论文使用的是 传统的渲染管线,本来应该比nerf表示的形式要快一些,但是由于使用了两个步骤的扩散,所以一正负,应该也没优势了,他最大的优势就是可以无缝衔接现有的渲染管线,在下游的任务中可以直接使用,这一点是由于nerf表示的形式的。
  其中Magic3D的两阶段,是先生成一个coarse nerf,提取出mesh在第二阶段进行生成优化提升到高分辨率。不过magic3d生成风格上还是略显不足。但是相比于freamfusion的6464的低分辨率,magic3d提升到512512在高频信息和细节这个点上,magic3d还是提供一个优化思路的。速度上由于粗体低分使用更高效的instantNGP和第二阶段使用的传统渲染的优势,在速度上较dreamfusion还是提升了2倍左右。论文还讨论了使用dreambooth 这个Personalized 文生图扩散模型进行更加细致的3d生成,因为文本的描述是不同图像中的细节丰富。dreambooth3d也是使用想的思路进行的。
  他们的共同的另外一个优势是,因为是最终的形态是以mesh形式表示,所以即使生成更高分辨率的时候计算量也不会比nerf形式的表达增加的多。
  他们在两个阶段都是使用sds损失,这一点上并没有变化。有趣的是,fantasia3d使用的dmtet表达形式是magic3d作者他们组的前期工作,这篇论文时间线也是在magic3d之后,应该又受到magic3d的启发。此前学习magic3d作者的一些其他工作比如GET3D等,膜拜,心向往之。
参考
magic3D
fantasia3d

1 论文方法

1.1 magic3d

请添加图片描述
  这个论文应该是围绕003dreamFusion中提到生成的结果分辨率比较低的问题的一种解答方式。前面虽然提到他的风格问题,但是由于分辨率的提升他的细节确实更加丰富。
  如上图所示,第一个阶段等价于dreamfusion不过它采用的是InstantNGP表达形式(一个更快速的nerf方案),他实在一个低分辨率的阶段进行的,一方面可以节省算力,一方面是因为nerf的表达形式先天具有一个一致性优势,所以在coarse阶段用nerf表达还是能带来很多优势。
  经过第一个阶段对mesh进行提取,采用的是DMtet这种mesh表达形式。在第二阶段中会额外增加了一个编码器在隐空间进行,所以在接下来有利于提升到高分辨率。
整体来说,先用nerf在视角一致性的优势,第二阶段使用mesh管线的速度优势,使得该方法在速度和结果上面都取得一定的效果。

1.2 Fantasia3D

请添加图片描述
如上图所示,fantasia3d采用的是一种解耦的思路,将3d物体解耦为geometry和appearance,然后先进行geometry进行生成,在生成外观。在第一阶段,直接用一个dmtet形式表示一个初始化的球,然后进行渲染,得到mask和法线,将二者输入到扩散模型中进行优化,可以对geometry进行优化。第二阶段是用PBR进行材质标识,然后基于几何进行外表的优化。得益于伦恩使用的PBR表示appearance的形式,他的材质标识结果确实更加真实一些。
比较有意思的点就是论文是将法线和mask作为扩散模型的输入,虽然在controlnet中作者证明了可以使用法线和深度作为条件进行扩散,但是直接用发现作为输入也是很震惊。

2 效果

2.1 magic3d

请添加图片描述

2.2 fantasia3d

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/133983.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UGUI不规则响应区域(例如多个按钮重叠,避免点击错误)

1、UI的默认响应区域是UI元素所在的矩形框线内的区域。这也就意味着,当UI的图形为不规则形状时,点击图形的外部也可能会触发事件。 2、但其实Unity自带了一种不规则区域点击策略。要想使用它,我们首先要将精灵的「Read/Write」属性设置为开启…

虚拟机独立 IP 配置

虚拟机独立 IP 配置 1. 点击虚拟网络编辑器 2. 点击更改设置 3. 查看本地电脑网卡型号并设置虚拟网络编辑器桥接网卡为同型号网卡 4. 设置有限网络信息 5. 点击网络编辑按钮并点击身份 6. 编辑名称并选择MAC地址 7. 配置 IPv4 地址后点击应用即可

计算机毕业设计选什么题目好?springboot 高校就业管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

【Java 进阶篇】JavaScript变量详解

JavaScript是一门广泛应用于网页开发的脚本语言,而变量则是JavaScript编程中不可或缺的一部分。在这篇博客中,我们将深入探讨JavaScript变量,包括其定义、命名规则、数据类型、作用域、声明关键字和最佳实践。我们将尽可能以通俗易懂的方式向…

【Spring Boot】RabbitMQ消息队列 — RabbitMQ入门

💠一名热衷于分享知识的程序员 💠乐于在CSDN上与广大开发者交流学习。 💠希望通过每一次学习,让更多读者了解我 💠也希望能结识更多志同道合的朋友。 💠将继续努力,不断提升自己的专业技能,创造更多价值。🌿欢迎来到@"衍生星球"的CSDN博文🌿 🍁本…

Nacos安装

Nacos安装 1.Windows安装 1.1.下载安装包 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: GitHub主页:https://github.com/alibaba/nacos GitHub的Release下载页:https://github.co…

C++的指针简明教程

C的指针简明教程 【C的指针权威文档 英文 https://en.cppreference.com/w/cpp/language/pointer 中文 https://zh.cppreference.com/w/cpp/language/pointer 】 在C中,地址和指针是紧密相关的。地址是一个变量或对象在内存中的位置,而指针是一个变量&…

Excel——对其他工作表和工作簿的引用

一、引用其他sheet页表区域 若希望在公式中引用其他工作表的单元格区域,可以在公式编辑状态下,通过鼠标单击相应的工作表标签,然后选择相应的单元格区域。 例1 跨sheet页引用其他工作表区域 如图1所示的工作表Sheet2为工资表。 在Sheet1表…

高效数据传输:Java通过绑定快速将数据导出至Excel

摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 把数据导出至 Excel 是很常见的需求,而数据的持久化,往往又放在…

入行CSGO游戏搬砖项目前,这些问题一定要了解

最近咨询的人也不少,针对大家平时问到的问题,在这里做一个统一汇总和解答。 1、什么是国外steam游戏装备汇率差项目? 通俗易懂的理解就是,从国外steam游戏平台购买装备,再挂到国内网易buff平台上进行售卖。充值汇率差…

接口测试总结及其用例设计方法

接口测试的总结文档 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分:主要介绍为什…

使用宝塔面板在Linux上搭建网站,并通过内网穿透实现公网访问

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板,它支持Linux/Windows系统,我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…