Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think

Gonzalo Martin Garcia, Karim Knaebel, Christian Schmidt, Daan de Geus, Alexander Hermans +1 more
9/17/2024
cs.CV

No official code found. Best implementation: VisualComputingInstitute/diffusion-e2e-ft (521 stars, last commit 2026-01-26).

Abstract

Recent work showed that large diffusion models can be reused as highly precise monocular depth estimators by casting depth estimation as an image-conditional image generation task. While the proposed model achieved state-of-the-art results, high computational demands due to multi-step inference limited its use in many scenarios. In this paper, we show that the perceived inefficiency was caused by a flaw in the inference pipeline that has so far gone unnoticed. The fixed model performs comparably to the best previously reported configuration while being more than 200$\times$ faster. To optimize for downstream task performance, we perform end-to-end fine-tuning on top of the single-step model with task-specific losses and get a deterministic model that outperforms all other diffusion-based depth and normal estimation models on common zero-shot benchmarks. We surprisingly find that this fine-tuning protocol also works directly on Stable Diffusion and achieves comparable performance to current state-of-the-art diffusion-based depth and normal estimation models, calling into question some of the conclusions drawn from prior works.

View on arXivView PDF

Code Implementations(1)

[WACV'25 Oral] Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think

52122Shell, PythonSep 13, 20248 months ago
diffusionin-the-wildmonocular-depth-estimationmonocular-normals-estimationsingle-step+1 more

Similar Papers

Cite this paper

@article{garcia2024finetuning,
  title  = {Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think},
  author = {Gonzalo Martin Garcia and Karim Knaebel and Christian Schmidt and Daan de Geus and Alexander Hermans and Bastian Leibe},
  year   = {2024},
  eprint = {2409.11355},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2409.11355v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2409.11355.svg)](https://codeofpaper.com/paper/2409.11355)

Discussion