Суть технологии: от видео к .glb за минуты
Разработчик MaxLiu22 представил инструмент Motion2MixamoRig (версия 0.1.0), который автоматизирует ретаргетинг (перенос) движений. Система берет видео или фото с одним человеком, извлекает 3D-скелет с помощью модели SMPL-X и нейросети GVHMR, а затем проецирует эти данные на любую модель, предварительно подготовленную в Adobe Mixamo. Результатом становится файл .glb (skinned character), готовый к импорту в Blender или Unity.
Технические требования и производительность
Инструмент работает на Python 3.10+ и требует загрузки около 5 ГБ весов инференса при первом запуске. Производительность сильно зависит от аппаратного обеспечения. Ниже приведены типичные времена обработки для клипа длительностью ~30 секунд:
| Этап / Условия | Время выполнения | Примечание |
|---|---|---|
| Первый запуск (CPU) | 8–15 минут | Включает скачивание весов (~5 ГБ) и извлечение движения |
| Повторный запуск (CPU, кэш весов) | 3–5 минут | Только извлечение движения |
| Ретаргетинг и рендеринг | 1–2 минуты | Проекция на скелет Mixamo |
| Использование флага --skeleton | Несколько десятков секунд | Пропуск этапа извлечения, только перенос на новую модель |
Ключевые возможности и ограничения
Инструмент поддерживает два типа входных данных:
- Видео: Извлекает последовательность поз. Требует, чтобы человек был виден полностью (от головы до ног) и не выходил за кадр.
- Фото: Восстанавливает статичную 3D-позу. Генерирует превью в виде 4-х ракурсов и клипа с вращением (orbit) на 360 градусов.
Важное ограничение: система некорректно обрабатывает сцены с двумя и более людьми. Команда m2mr doctor позволяет проверить наличие необходимых ассетов (модель SMPL-X, FBX-файл персонажа Mixamo, видео/фото) перед запуском.
Структура вывода
Каждый запуск создает директорию с временной меткой, содержащую:
skeleton_motion.npz— данные 3D-скелета человека (можно переиспользовать через--skeleton).mixamo_rotations.npz— по-костные вращения для ригга Mixamo.mixamo_character.glb— финальная анимированная 3D-модель.videos/илиimages/— папки с превью (оригинал, скелет человека, скелет Mixamo, скиннированный персонаж и сравнительный коллаж).
Лицензирование
Код проекта распространяется под лицензией Apache-2.0. Однако используемые ассеты имеют свои условия: модель SMPL-X требует регистрации (по умолчанию некоммерческое использование), а FBX-файлы Mixamo можно использовать в коммерческих продуктах, но запрещено их перераспространение в виде пакетов ассетов.
Источник: Github ↗
