4DAnyone: открытый фреймворк строит 4D-модель человека из видео, снятого одной камерой

4DAnyone Create Anyone in 4D from a Casual Monocular Video

Исследователи из Zhejiang University, Robbyant, Ant Group и HKUST представили 4DAnyone — фреймворк для превращения снятого одной камерой видео с участием человека в 4D-модель этого человека, которую можно крутить и смотреть с любой стороны. Всего модель генерирует 16 ракурсов, согласованных между собой, а по ним уже собирается объёмная сцена в формате 4D Gaussian Splatting. Раньше для такого требовалась студия с десятками синхронных камер. По качеству реконструкции 4DAnyone обходит все существующие методы: 24.15 PSNR против 20.55 у ближайшего конкурента на DNA-Rendering и 23.28 против 19.86 на DyMVHumans. В основе модели лежит видеодиффузионный трансформер Wan2.2-TI2V-5B, который дообучили генерировать новые ракурсы человека по 3D-скелету, сохраняя внешность из исходного видео. Проект открытый: код опубликован на GitHub, веса — на Hugging Face.

Ограничения существующих методов

 

3D-модель — это статичная геометрия: объект, который можно обойти со всех сторон, но он застыл в одной позе. 4D-модель добавляет четвёртую ось — временную. Cцена меняется от кадра к кадру, человек двигается, и при этом на каждый момент времени существует его полное объёмное представление. То есть можно одновременно перематывать время и менять точку обзора, независимо друг от друга.

Для создания 4DGS-модели человека обычно нужна калиброванная студия с десятками синхронных камер, например установка на 48 камер в DNA-Rendering. Логичная альтернатива — сначала сгенерировать недостающие ракурсы видеодиффузией, а потом реконструировать. Существующие модели с управлением камерой такие видео действительно рисуют, но при переходе к десяткам ракурсов согласованность рассыпается.

Авторы объясняют это ограничением архитектуры: контекст внимания одного прохода DiT упирается в память и вычисления. Когда целевых ракурсов больше, чем влезает за раз, их приходится делить на группы, и появляются два узких места. Первое на стороне референсов: если каждой группе давать все ранее сгенерированные виды, длина контекста быстро переполняется, а если её урезать, слабеет подсказка по внешнему виду. Второе на стороне целевых видов: группы шумоподавляются независимо и не обмениваются информацией, поэтому глобальная структура человека «уплывает» от группы к группе.

Архитектура 4DAnyone: HMR-модель строит 3D-скелет, скелетный энкодер добавляет остаточные токены к латентам, DiT обрабатывает видео-внимание, мультивью-внимание и кросс-внимание, на выходе целевые видео и обучение 4DGS
Полный пайплайн: оценка скелета, скелетный энкодер, DiT с тремя типами внимания и обучение 4DGS через FreeTimeGS

Скелет вместо карты глубины

Методы вроде Gen3C или TrajectoryCrafter опираются на плотную геометрию: карты глубины и параметры камеры. Для случайных видео такие оценки ненадёжны, а ошибки в них дают противоречивые ограничения, и генерация расходится. Авторы формулируют принцип «точность важнее плотности» и берут разреженный, но надёжный сигнал: 3D-скелет, который современные методы восстановления позы (здесь это GVHMR) уверенно достают из монокулярного видео.

Скелет модель получает не списком координат, а картинкой, отрисованной для каждого целевого ракурса. Если рисовать его плоско, теряется информация о глубине: рука перед грудью и рука за спиной дают одну и ту же линию поверх торса, и модель не понимает, какую позу воспроизводить. Поэтому при отрисовке учитывают расстояние до камеры, и ближние части тела перекрывают дальние, как в обычном 3D-рендере.

В скелете оставили 40 ключевых точек: 17 на теле, 6 на стопах, 10 на уровне ладоней и 7 вспомогательных. Детальную разметку лица и суставов пальцев отбросили: такие точки определяются неточно, и модель, следуя за ошибочным положением, выдаёт артефакты. Мимику и форму кистей она вместо этого берёт из исходного видео.

Два механизма против рассогласования

Reference Context Packing (RCP) решает проблему растущего контекста. Соседние ракурсы сильно избыточны, поэтому хранить их в полном разрешении бессмысленно. RCP использует патчификацию с разным шагом: вместо стандартного ядра (1, 2, 2) применяются варианты со сжатием в 2 и 4 раза, дающие в 4 и 16 раз меньше токенов. Референсы упаковываются в фиксированный набор слотов, и сложность референсного контекста падает с O(N) до O(1) независимо от того, сколько видов уже сгенерировано.

Target Context Routing (TCR) решает проблему изолированных групп. Наблюдение простое: на шагах с высоким уровнем шума формируется глобальная структура, на шагах с низким шумом дорисовываются детали. Поэтому на высоком шуме индексы ракурсов циклически сдвигаются, группы пересобираются каждый шаг, и информация растекается по всем ракурсам. На низком шуме группы фиксируются на соседних ракурсах, чтобы стабильно доводить детали. Момент переключения подобрали перебором: качество растёт до t_s/T = 0.2 (16 из 20 шагов со сдвигом) и дальше выходит на плато.

Схема прогрессивного вывода: упаковка референсных токенов со сжатием 2x и 4x, перегруппировка целевых ракурсов на высоком шуме и фиксированные соседние группы на низком шуме
RCP слева упаковывает референсы, TCR справа перетасовывает группы ракурсов по ходу шумоподавления

Данные и обучение

Отдельный вклад работы — синтетический датасет MVGameHuman, отрендеренный в собственном игровом движке авторов. Вместо реальной студии персонажа снимают 24 виртуальные камеры одновременно, что даёт идеально синхронные ракурсы: всего 38 тыс. видео с 318 персонажами в разрешении 2560×1440. К нему добавили синтетический SynCamVideo (34 тыс. видео), записи настоящей студии DNA-Rendering (51 тыс. видео с 48 камер) и обычные монокулярные TedTalk и Pexels, чтобы модель справлялась и с бытовыми съёмками.

Обучение идёт в три этапа:

  • cначала только DNA-Rendering с вырезанным фоном: модель учится главному навыку, поворачивать человека вслед за скелетом;
  • затем подключают все мультиракурсные датасеты уже с фоном, чтобы модель видела освещение и тени, а не только силуэт на зелёном экране;
  • на последнем этапе добавляют монокулярные съёмки и убирают из скелета точки пальцев.

Результаты

4DAnyone cравнивали с MV-Performer, TrajectoryCrafter и ReCamMaster, причём последний дообучили на тех же данных и снабдили теми же RCP и TCR, чтобы честно сопоставить неявное обусловливание параметрами камеры и явное обусловливание скелетом. 4DAnyone выигрывает по всем трём измерениям: согласованность сгенерированных видео (24.33 PSNR против 21.47), качество итогового 4DGS и точность самих видео относительно эталона.

Таблица с метриками PSNR, SSIM и LPIPS для MV-Performer, TrajectoryCrafter, ReCamMaster и 4DAnyone на бенчмарках DNA-Rendering и DyMVHumans
Сравнение по PSNR, SSIM и LPIPS на двух бенчмарках в трёх измерениях оценки

Качественно картина такая: MV-Performer нормально рисует фронт, но искажает боковые и задние виды, TrajectoryCrafter накапливает ошибки глубины и разваливается при развороте на 180 градусов, ReCamMaster выдаёт правдоподобные видео с неточным положением камеры, из-за чего 4DGS получается шумным.

Ablation подтверждает, что оба механизма нужны вместе. Без TCR и RCP согласованность падает до 21.09 PSNR, по отдельности каждый компонент даёт около 22.0–22.2, полный вариант со скользящей перегруппировкой 22.63. Любопытно, что случайная перестановка ракурсов не даёт прироста, а перестановка с шагом даже ухудшает метрики: сохранять локальное соседство видов важно.

Визуальное сравнение сгенерированных ракурсов и 4DGS-рендеров для трёх людей: результаты 4DAnyone, MV-Performer и ReCamMaster рядом с эталоном
Визуальное сравнение с базовыми методами на DNA-Rendering

Где модель ломается

Скелет ничего не говорит об одежде, которая живёт отдельно от тела. Длинное развевающееся платье генерируется по-разному в разных ракурсах, и реконструкция деградирует. Второй режим отказа наследственный: если оценка позы ошиблась, генерация честно следует неправильному скелету. В примере из пейпера балерина стоит на пуантах, а HMR предсказывает плоскую стопу, и эта ошибка повторяется во всех 16 ракурсах.

Авторы отдельно оговаривают риски: модель синтезирует реалистичные видео людей, поэтому её можно использовать для дипфейков и нарушения приватности. Позиция команды в том, что результаты нужно помечать как синтетические и создавать только с согласия человека на видео.


neurohive telegram
Подписаться
Уведомить о
guest

0 Comments
Старые
Новые Популярные