只需两分钟,玩转图片转3D!
还是高纹理质量、多视角高一致性的那种。
不管是什么物种,输入时的单视图图像还是这样婶儿的:
两分钟后,3D版大功告成:
△上,Repaint123(NeRF);下,Repaint123(GS)
新方法名为Repaint123,核心思想是将2D扩散模型的强大图像生成能力与再绘策略的纹理对齐能力相结合,来生成高质量、多视角一致的图像。
此外,该研究还引入了针对重叠区域的可见性感知自适应再绘强度的方法。
Repaint123一举解决了此前方法多视角偏差大、纹理退化、生成慢等问题。
目前项目代码还未在GitHub公布,就有100+人赶来标星码住:
Repaint123长啥样?
之前,将图像转换为3D的方法通常采用Score Distillation Sampling (SDS)。尽管该方法的结果令人印象深刻,但存在一些问题,如多视角不一致、过度饱和、过度平滑的纹理以及生成速度缓慢。
△从上至下:输入,Zero123-XL,Magic123,Dream gaussian
为了解决这些问题,来自北京大学、鹏城实验室、新加坡国立大学、武汉大学的研究人员提出了Repaint123。
总的来说,Repaint123有这几点贡献:
(1)Repaint123通过综合考虑图像到3D生成的可控重绘过程,能够生成高质量的图片序列,并确保这些图片在多个视角下保持一致。
(2)Repaint123提出了一个简单的单视图3D生成的基准方法。
在粗模阶段,它利用Zero123作为3D先验,并结合SDS损失函数,通过优化Gaussian Splatting几何,快速生成粗糙的3D模型(仅需1分钟)。
在细模阶段,它采用Stable Diffusion作为2D先验,并结合均方误差(MSE)损失函数,通过快速细化网格纹理,生成高质量的3D模型(同样只需1分钟)。
(3)大量的实验证明了Repaint123方法的有效性。它能够在短短2分钟内,从单张图像中生成与2D生成质量相匹配的高质量3D内容。
△实现3D一致且高质量的单视角3D快速生成
下面来看具体方法。
Repaint123专注于优化mesh细化阶段,其主要改进方向涵盖两个方面:生成具有多视角一致性的高质量图像序列以及实现快速而高质量的3D重建。
1、生成具有多视角一致性的高质量图像序列
生成具有多视角一致性的高质量图像序列分为以下三个部分:
△多视角一致的图像生成流程
DDIM反演
为了保留在粗模阶段生成的3D一致的低频纹理信息,作者采用了DDIM反演将图像反演到确定的潜在空间,为后续的去噪过程奠定基础,生成忠实一致的图像。
可控去噪
为了在去噪阶段控制几何一致性和长程纹理一致性,作者引入了ControlNet,使用粗模渲染的深度图作为几何先验,同时注入参考图的Attention特征进行纹理迁移。
此外,为了执行无分类器引导以提升图像质量,论文使用CLIP将参考图编码为图像提示,用于指导去噪网络。
重绘
渐进式重绘遮挡和重叠部分为了确保图像序列中相邻图像的重叠区域在像素级别对齐,作者采用了渐进式局部重绘的策略。
在保持重叠区域不变的同时,生成和谐一致的相邻区域,并从参考视角逐步延伸到360°。
然而,如下图所示,作者发现重叠区域同样需要进行细化,因为在正视时之前斜视的区域的可视分辨率变大,需要补充更多的高频信息。
另外,细化强度等于1-cosθ*,其中θ*为之前所有相机视角与所视表面法向量夹角θ的最大值,从而自适应地重绘重叠区域。
△相机视角与细化强度的关系
为了选择适当的细化强度,以在提高质量的同时保证忠实度,作者借鉴了投影定理和图像超分的思想,提出了一种简单而直接的可见性感知的重绘策略来细化重叠区域。
2、快速且高质量的3D重建
正如下图所展示的,作者在进行快速且高质量的3D重建过程中,采用了两阶段方法。
△Repaint123两阶段单视角3D生成框架
首先,他们利用Gaussian Splatting表示来快速生成合理的几何结构和粗糙的纹理。
同时,借助之前生成的多视角一致的高质量图像序列,作者能够使用简单的均方误差(MSE)损失进行快速的3D纹理重建。
一致性、质量和速度最优
研究人员对多个单视图生成任务的方法进行了比较。
△单视图3D生成可视化比较
在RealFusion15和Test-alpha数据集上,Repaint123取得了在一致性、质量和速度三个方面最领先的效果。
同时,作者也对论文使用的每个模块的有效性以及视角转动增量进行了消融实验:
并且发现,视角间隔为60度时,性能达到峰值,但视角间隔过大会减少重叠区域,增加多面问题的可能性,所以40度可作为最佳视角间隔。
论文地址:https://arxiv.org/pdf/2312.13271.pdf
代码地址:https://pku-yuangroup.github.io/repaint123/
项目地址:https://pku-yuangroup.github.io/repaint123/