苏黎世联邦理工学院的研究人员推出一个基于扩散模型(diffusion-based models)的微调协议Marigold,用于各种图像分析任务,例如单目深度估计、表面法线预测和内在图像分解。Marigold的核心思想是利用现代生成图像模型中丰富的视觉知识,通过微调预训练的潜扩散模型(如Stable Diffusion)来适应这些密集图像分析任务。
- 项目主页:https://www.obukhov.ai/marigold
- GitHub:https://github.com/prs-eth/marigold
- 模型:https://huggingface.co/collections/prs-eth/marigold-computer-vision-6669e9e3d3ee30f48214b9ba
- Demo:https://huggingface.co/spaces/prs-eth/marigold
Marigold的目标是将预训练的文本到图像的生成模型(如Stable Diffusion)转化为用于图像分析的模型。这些生成模型在大规模图像数据集上训练,能够生成逼真的图像,这表明它们对视觉世界有深刻的理解。Marigold通过微调这些模型,使其能够执行图像分析任务,例如从单目图像中估计深度、预测表面法线或进行内在图像分解。

主要功能
- 单目深度估计:从单目图像中估计场景的深度信息。
- 表面法线预测:预测图像中每个像素的表面法线方向。
- 内在图像分解:将图像分解为其内在属性,如反照率(albedo)、粗糙度(roughness)和金属性(metallicity)。
- 零样本泛化:在未见过的数据集上进行测试时,能够提供最先进的结果,而无需在这些数据集上进行训练。

主要特点
- 简单高效:Marigold的微调协议简单且资源高效,仅需在单个GPU上训练几天即可完成。
- 强大的视觉先验:利用Stable Diffusion等预训练模型的丰富视觉知识,能够生成逼真的图像并理解视觉世界。
- 零样本泛化能力:在未见过的数据集上表现出色,能够泛化到各种场景和条件。
- 快速推理:通过优化和改进,Marigold能够在不到100毫秒的时间内完成推理,适合实时应用。
工作原理
Marigold的工作原理基于以下几个关键步骤:
- 预训练模型的选择:选择Stable Diffusion等预训练的潜扩散模型作为基础。
- 微调协议:使用少量合成数据对预训练模型进行微调,使其适应图像分析任务。微调过程中,仅调整模型的一部分(如U-Net),而保持其他部分(如VAE)不变。
- 编码和解码:将输入图像和目标模态(如深度图、表面法线图)编码到潜空间中,然后通过微调的U-Net进行处理,最后解码回像素空间。
- 推理过程:在推理时,通过多次采样和集成预测结果来提高预测质量。例如,通过改变噪声初始化,可以生成多个预测结果,并通过优化方法将它们组合起来,以获得更准确的深度图或表面法线图。
测试结果
Marigold在多个基准数据集上进行了测试,表现出色:
- 单目深度估计:在NYUv2、KITTI、ETH3D、ScanNet和DIODE等数据集上,Marigold的性能优于或接近其他最先进的方法,尤其是在零样本泛化能力方面。
- 表面法线预测:在ScanNet、NYUv2、iBims-1和DIODE等数据集上,Marigold-Normals的性能优于其他扩散模型和传统方法。
- 内在图像分解:在InteriorVerse和HyperSim数据集上,Marigold-IID-Appearance和Marigold-IID-Lighting的性能与现有方法相当或更好。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...















