📎 GitHub
🗂️ Project Page
📄 Paper
Для генерации 3D объектов по входному изображению активно используются 2D диффузионные модели text2image. Изначально появились работы DreamFusion и Magic3D, которые оптимизировали NeRF-based модели и меши с помощью Score Distillation Sampling функции потерь (sds loss) или же улучшенную функцию - variational score distillation (vsd loss) - ProlificDreamer. Однако такие подходы порой страдают от недостаточной консистентности и не очень хорошего качества. Для улучшения были предложены различные подходы, включая дополнительный кондишнинг диффузионной модели на позу камеры (Zero123), модели с кондишнингом на эпиполярную геометрию (SPAD), улучшение генерации с помощью дополнительной модели, умеющей работать с позами камеры (One-2-3-45, One-2-3-45++). Однако все эти решения всё равно имеют много проблем.
В то же время видео-диффузионные модели уже доказали консистентность генерации на видео. Также они обучались на большом количестве данных, что делает их более обобщаемыми для генерации различных объектов. Именно поэтому авторами предлагается использовать видео-диффузионную модель для задач novel-view synthesis и 3D generation.
В данной работе авторы предлагают Stable Video 3D (SV3D) для генерации консистеных novel-views (NVS), а также предлагают улучшенный пайплайн 3D оптимизации для image-to-3D генерации.
В последующем обзоре мы сначала рассмотрим предложенный подход для NVS, а затем разберёмся, как модель для NVS можно в дальнейшем использовать для генерации 3D объектов.
Основная идея - использовать консистентность по времени, присущую видео-диффузионным моделям для генерации пространственно консистентных результатов. Именно поэтому авторы дообучают Stable-Video-Diffusion (SVD) генерировать орбитальный пролёт камеры вокруг 3D объекта на основе одного входного изображения. Давайте разберёмся с этим подробнее.
Пусть дано изображение $I \in \mathbb{R}^{3 \times H \times W}$, тогда наша задача - сгенерировать орбитальное (по орбите) видео вокруг центрального объекта $J \in \mathbb{R}^{K \times 3 \times H \times W}$, где $K$ - количество muliview изображений вдоль траектории камеры $\pi \in \mathbb{R}^{K \times 2} = \{(e_i, \alpha_i)\}_{i=1}^K$, где $e$ - elevation angle и $\alpha$ - azimuth angle. Предполагается, что камера всегда смотрит в центр объекта. Таким образом видео получается путём последовательного расшумления сэмплов из распределения $p(J|I, \pi)$.
Основная архитектура модели - UNet c: