大致可以分成3类:

  1. 3D Native生成模型:使用真实3D数据训练一个生成式模型:
    • 标志性工作:Point-E、Shap-E
    • 缺点是真实的3D数据太少,训练得到的模型生成效果一般
  2. 基于2D先验:
    1. 这种方法生成3D内容基于以下假设:如果这个3D场景(物体)从每个角度看都足够真实,那么这个3D物体就足够真实
    2. 利用预训练的2D图像生成模型(训练数据很多,图像生成质量好)作为先验
    3. 基于一个3D表示方法(例如NeRF),渲染出某个角度的图像,交给预训练2D图像生成模型先验去判断是否真实,如果不够真实则会产生一个loss
    4. 优化这个3D表示,降低每个角度渲染图像的loss
    5. 这种方法有点是完全不需要3D数据,甚至2D数据都不需要(已经有训练好的2D生成模型了)
    6. 主要的缺点是生成时间较长,因为要确保每个角度都足够真实,当场景变大的时候就特别困难
    7. 标志性工作:DreamFusion(SDS)
  3. 2D-3D混合方法:
    1. 微调预训练2D图像生成模型,使得能够生成多视角一致的RGB、法线图(从3D数据来)等图像
    2. 结合3D重建方法,将多个视角一致的图像重建为3D模型
    3. 这个方法需要少量的3D数据来微调模型,训练量能够接受
    4. 挑战是要保证多个视角图像的一致性足够高,不能正面是一个物体,背面是另一个物体
    5. 标志性工作:Wonder3D,Zero-1-to-3

参考资料

[1] A Comprehensive Survey on 3D Content Generation 中的3, 4, 5章节

转载时请包括本文地址:https://dw-dengwei.cn/posts/3D-Object-Gen