Разработчики Roblox научили статичные 3D‑модели повторять движения из видео без готового рига

Исследователи из команды Roblox, Массачусетского университета в Амхерсте (США) и Критского института технологического образования (Греция) представили BLARM (Blending LAtent Rigid Motion Primitives) — систему, которая переносит движение из видео на статичную 3D‑модель. Для этого не нужен заранее подготовленный скелет или размеченные веса скиннинга. Модель машинного обучения сама определяет, какие части объекты должны двигаться.

Обычно перед анимацией 3D‑модель приходится риггить — формировать внутри объекта виртуальный скелет, связывать его кости с поверхностями модели и настраивать то, как каждая вершина должна реагировать на движение каждой кости. Некоторые современные методы автоматизации пытаются обойти этот этап и сразу предсказывают положение вершин в каждом кадре. В таком случае точки начинают двигаться несогласованно, и в анимации появляются дрожание и деформации.

Вместо этого BLARM использует промежуточный вариант. Система представляет движение объекта в виде набора небольшого числа скрытых двигательных компонентов. В конфигурации содержится 31 такой компоненты и ещё один, который отвечает за перемещение объекта целиком. Для каждого кадра нейросеть определяет поворот и смещение каждого компонента, и параллельно вычисляет постоянные веса, показывающие, какие вершины 3D‑модели должны следовать за каждым из них. 

После этого движения смешиваются с помощью стандартного скиннинг методом Linear Blend Skinning. В итоге получается структура, похожая по принципу на традиционный риггинг, хотя система не строит явный скелет.

На вход BLARM получает монокулярное видео и статичную 3D‑модель. За анализ геометрии отвечает энкодер TripoSG, для кадров используют признаки DINOv3, а PartField помогает учитывать смысловые части поверхности. Нейросеть сопоставляет признаки формы с изображениями и отдельно отслеживает взаимодействие частей объекта внутри кадра и их движение во времени. Если 3D‑модели нет, то её можно сгенерировать по первому кадру видео с помощью TRELLIS2.

Для обучения нейросети исследователи использовали примерно 10 тысяч анимированных объектов из Objaverse. Из них рендерили монокулярные ролики с разрешением 512 × 512 пикселей. Для обучения использовали восемь GPU Nvidia H200. Система работает блоками по 16 кадров, а более длинные видео обрабатывает последовательно.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев