背景
在我们的团队项目中,我们最初的设想是通过拍摄实物照片生成商品海报。然而,由于效果不佳,我们决定转变思路,开发一款帮助设计师从线稿到3D模型的设计产品。我们的目标是简化设计流程,让设计师能够从线稿出发,通过AI技术生成成品图像,并进一步转化为3D模型。以下是我们在这一过程中经历的探索、尝试和反思。
初步设想
新的设想是利用AI技术,通过输入设计师的线稿,生成多幅成品图像。然后,设计师可以从这些生成的图像中选择一幅最满意的,再通过3D建模工具将其转换为3D模型。这一过程的核心步骤包括:
- 线稿输入:设计师提供初步的线稿。
- 成品图生成:使用AI模型生成多幅成品图像。
- 用户选择:设计师从生成的图像中选取一幅最满意的。
- 3D建模:将选定的图像转换为3D模型。
线稿到成品图像的生成
在从线稿生成成品图像方面,我们决定使用Stable Diffusion。这是一种基于扩散过程的图像生成模型,通过逐步去噪生成高质量的图像。我们选择Stable Diffusion是因为它在这一任务中的表现非常出色,生成的图像在细节和质量上都非常优异,因此我们没有调研其他模型。其基本原理在上一篇文章中已经简要概括,此处不再赘述。
成品图像到3D模型的转换
在将成品图像转换为3D模型方面,我们进行了广泛的调研和测试,包括以下几种模型:Wonder3D、Image Dream、MVDream-three studio、HiFA、GeoDream、3DFuse-three studio和Gaussian Dreamer。
Image Dream
Image Dream是一种图像生成工具,可以将线稿转换为成品图像。然而,在我们尝试过程中,生成的图像质量和细节不如Stable Diffusion,且风格化处理过于明显,影响了原始设计的表达。
-
扩散网络训练:
- 蓝色箭头:表示扩散网络的训练过程。
- 多视角渲染:根据标准相机坐标渲染多个视角图像。
- 图像提示渲染:随机设置渲染正视图图像提示。
- 训练目标:多视角图像作为多视角扩散网络的训练目标,图像提示通过多级控制器编码后作为输入进行扩散。
-
NeRF模型训练:
- 绿色箭头:表示NeRF模型的训练过程。
- 评分蒸馏:使用已训练的扩散网络进行图像提示的评分蒸馏
多控制器
含义
多级控制器是指在ImageDream系统中,用于处理和调节图像特征的多个控制器。这些控制器包括全球控制器、局部控制器和像素控制器。每个控制器在不同的层级上对图像特征进行处理,以实现更精细的控制和更高的生成质量。
作用
-
全球控制器(Global Controller):
- 作用:处理图像的全局特征。
- 功能:接收CLIP编码后的图像特征,输出调整后的特征到交叉注意力层。
- 目标:捕捉图像的全局语义信息,确保生成结果具有一致的整体语义。
-
局部控制器(Local Controller):
- 作用:处理图像的局部特征。
- 功能:接收和处理局部区域的图像特征,输出调整后的特征到交叉注意力层。
- 目标:捕捉图像的局部细节,增强生成结果的细腻度和细节丰富度。
-
像素控制器(Pixel Controller):
- 作用:处理图像的像素级特征。
- 功能:将VAE编码的特征发送到扩散网络,在每一层与相应的隐藏特征执行像素级密集自注意力。
- 目标:在像素级别进行精细调整,确保生成结果的高分辨率和细节清晰度。
综合作用
多级控制器通过在不同层级上对图像特征进行处理和调节,确保生成的图像既具有全局一致性,又包含丰富的局部细节和高分辨率的像素级信息。这种多层次的控制机制使得ImageDream能够生成高质量的3D模型,并在各种视角和细节层面上表现出色。
-
全球控制器和局部控制器:
- 输入:接收 CLIP 编码后的图像特征。
- 输出:将调整后的特征输出到交叉注意力层,表示图像的语义信息。
-
像素控制器:
- 输入:将 VAE 编码的特征发送到扩散网络。
- 操作:在四视图 MVDiffusion 的每一层,与相应的隐藏特征执行像素级密集自注意力。
效果
MVDream-three studio
MVDream-three studio专注于多视角图像生成和3D建模,是ImageDream的基础,其功能是从文字生成3D模型,不符合我们的目的,此处不再赘述。
Wonder3D
Wonder3D 能够根据单张图像生成一致的多视图法线图和彩色图像。具体过程如下:
- 输入图像:接收单张输入图像。
- 文本嵌入:利用 CLIP 模型生成的文本嵌入。
- 相机参数:多个视角的相机参数。
- 领域转换器:作为条件输入。
在这些条件下,Wonder3D 生成一致的多视图法线图和彩色图像。随后,Wonder3D 采用创新的法线融合算法,从2D表示中稳健地重建高质量的3D几何形状,最终生成高保真度的纹理网格模型。
效果
TripoSR
TripoSR是一种用于生成高分辨率3D模型的工具。虽然在生成模型的正面效果尚可,但在处理模型的其他面时,效果非常糟糕,导致整体模型质量不佳。TripoSR的技术原理基于超级分辨率算法,试图通过提高图像分辨率来改善3D模型的细节。然而,我们发现其在生成全面和一致的3D模型方面存在显著不足。
效果
尝试
输入图片
输出模型
GeoDream、3DFuse-three studio、Gaussian Dreamer表现均欠佳,和Wonder3D、TripoSR有通病,此处不再赘述,文章后面会总结
HiFA
HiFA(High Fidelity Augmentation)是一种高保真度的图像到3D模型转换工具。经过多次测试,我们发现HiFA在保持原始图像细节和精度方面表现最佳,能够将设计师选定的成品图像高质量地转换为3D模型。
-
预训练的2D潜变量扩散先验:
- 定义:g(θ)表示使用预训练的2D潜变量扩散模型作为先验。
-
评分蒸馏:
- 模型:采用潜变量扩散模型进行评分蒸馏。
- 输入:扩散模型接收渲染图像x作为输入。
- 输出:提供输入渲染图像x的估计值ˆx。
效果
对比与选择
Wonder3D、GeoDream、3DFuse-three studio 和 Gaussian Dreamer
这些模型在发布开源的年份相似,基本都是去年发布的。尽管它们在某些示例模型上表现良好,但在将随机图片转换为3D模型时表现很差。这些模型存在以下共性问题:
- 只在示例模型上表现好:这些模型在预设的示例中可以生成高质量的3D模型,但在处理随机图片时,效果显著下降,生成的模型质量不佳。
- 对性能要求高:这些模型对硬件性能要求较高。如果没有高性能的计算资源,这些模型在加载和运行时可能会出现问题,甚至无法正常工作。
- 实际应用局限性:由于以上问题,这些模型在实际应用中的普适性和稳定性都存在明显不足。
Image Dream
Image Dream 是字节跳动新开源的模型,尽管其生成效果较好,但也存在一些问题:
- 硬件要求高:Image Dream 要求使用高性能的 A100 GPU,这对于一般用户和小型团队来说,硬件门槛过高,难以广泛应用。
- 实际应用局限性:虽然生成效果较好,但由于硬件要求高,限制了其在实际应用中的普及。
HiFA
在我们测试的模型中,HiFA 的表现是最好的,但仍有改进空间:
- 生成效果相对较好:HiFA 在保持原始图像细节和生成高质量3D模型方面表现优异。
- 代码需要修改:尽管HiFA整体表现最佳,但在实际使用中,代码仍需要一定的修改和优化,以进一步提升其性能和易用性。
最终方案
我们最终确定了以下方案:
- 线稿输入:设计师输入初步的线稿。
- 成品图生成:使用Stable Diffusion生成多幅高质量的成品图像。Stable Diffusion在这一过程中表现尤为出色,能够生成细节丰富且质量极高的图像。
- 用户选择:设计师从生成的图像中选取一幅最满意的。
- 3D建模:使用HiFA将选定的图像转换为高质量的3D模型。