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

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

1.2 Fantasia3D

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

2 效果

2.1 magic3d

2.2 fantasia3d

3D 生成重建007-Fantasia3D和Magic3d两阶段玩转文生3D_第3张图片

你可能感兴趣的:(3d)