MOCHI: как улучшить motion capture для совместных взаимодействий человека и объекта

MOCHI: как улучшить motion capture для совместных взаимодействий человека и объекта

Представь: ты снимаешь motion capture для сцены, где два человека переносят стол. Руки участников хватают объект, тела синхронизируются, вес распределяется. Камера фиксирует движение — но на выходе получаешь шум: пальцы не совпадают с поверхностью стола, тело дёргается, часть анимации пропадает. Классические системы motion capture в таких сценах падают, потому что они рассчитаны на одного человека, а здесь — два человека и общий объект взаимодействуют одновременно.

Именно эту проблему решает MOCHI (MOtion Enhancement of Collaborative Human-object Interactions) — алгоритм от исследователей Сеульского национального университета, принятый в SIGGRAPH 2026 (Journal Track). Статья 2606.18243 на ArXiv.

Проблема: почему MHOI так сложно захватить

Совместное взаимодействие человека и объекта (MHOI — Multi-human Object Interaction) требует от участников постоянной синхронизации: антиципации движений друг друга, корректировки хвата, согласования усилий. Когда система motion capture записывает такую сцену, возникают характерные артефакты.

Контактное несовпадение — руки фиксируются в воздухе, но не касаются объекта визуально. Кисти «проваливаются» сквозь поверхность или нависают над ней. Это происходит потому, что система отслеживает маркеры на руках и маркеры на объекте по отдельности, не учитывая их физическое взаимодействие.

Джиттер и временные несовместимости — дёрганое движение тела, дрожание сукторв, нарушение фазности между участниками. Два человека не могут идеально синхронизироваться, и система фиксирует микрозадержки, которые при воспроизведении выглядят как дрожание.

Неполная артикуляция пальцев — мелкие движения кисти теряются, потому что маркеры на руках конфликтуют с маркерами на объекте. Когда рука закрывает часть объекта, оптические маркеры на кисти перестают быть видны камерам, и система интерполирует положение.

Корневая причина — стандартные системы motion capture оптимизированы для сольных сцен. Они работают с одной моделью тела и одним набором объектов. Как только в кадре появляется общий объект и два-три человека вокруг него — система не знает, как разделять вклад каждого участника в захват. Тело одного человека частично закрывает датчики другого, и наложение данных создаёт артефакты, которые невозможно убрать простой фильтрацией.

MOCHI: двухэтапный фреймворк

MOCHI решает проблему через два последовательных этапа. На первом — оптимизация хватов (grasp optimization). Из зашумлённого body-level входа алгоритм восстанавливает физически правдоподобные положения кистей и пальцев. Оптимизация учитывает три фактора одновременно: геометрию объекта (точка на поверхности, куда можно дотянуться), позу тела (reachability constraint — может ли кисть дотянуться с текущим положением плеча), и контактные ограничения (рука не может проникнуть внутрь объекта).

Формально: для каждого кадра система решает задачу достижимости — может ли кисть занять данную точку на поверхности с текущей позой? Если reachable — поза принимается. Если нет — корректируется положение локтя или плеча так, чтобы reachability выполнялось. Это вычислительно дорого (итеративный поиск для каждого кадра), но даёт физически согласованный результат.

На выходе первого этапа — набор grasp-поз для каждого участника, согласованных и с телом, и с объектом. Но это ещё не полный motion sequence.

Второй этап — диффузионный noise optimization. Здесь используется prior одиночного человека: диффузионная модель (DDPM), обученная на чистых motion capture записях сольных людей. Важно: модель не знает про объекты и про других людей. Она просто «знает», как выглядит правдоподобное человеческое движение. Это позволяет ей выступать в роли регуляризатора — она «вытягивает» зашумлённый motion в пространство реалистичных траекторий.

Процесс работает так: зашумлённый полнотелый motion всех участников подаётся в диффузионную модель. На каждом шаге денойзинга система сверяется с физическими ограничениями — объекты не проходят сквозь руки, тела не пересекаются, контакты соответствуют объекту. Оптимизационные objectives добавляют две дополнительные энергии: human-object interaction energy (рука в контакте с объектом) и human-human interaction energy (два человека не могут занять одно пространство).

Результат — очищенный motion sequence, где контакты согласованы, jitter убран, артикуляция пальцев восстановлена.

Количественные результаты

MOCHI тестировали на нескольких датасетах: синтетические данные от генеративных моделей (ProxMOI, InterCap) и реальные записи существующих систем захвата. Метрика — FGD (Fréchet Gesture Distance) и контактная точность (hand-object contact alignment).

Результаты на синтетических данных: после MOCHI доля кадров с контактным несовпадением падает с 34% до 6%. Временной джиттер (измеряемый как среднее отклонение от smoothed trajectory) снижается на 41%. Это означает: из 100 кадров записи 28 имели видимый артефакт контакта — после обработки остаётся 6.

На реальных данных (записи с оптических систем motion capture) падение контактных артефактов — с 28% до 9%. Разница меньше, чем на синтетике, потому что реальные данные содержат более сложные шумы, которые не полностью соответствуют модели.

Отдельный эксперимент — генеративная аугментация. MOCHI берёт один захваченный motion sequence и аугментирует его, меняя геометрию объекта. Один и тот же захват двух людей, несущих стол, трансформируется в захват двух людей, несущих стул, коробку, цилиндр. Для этого на этапе grasp optimization система подставляет новую геометрию и пересчитывает reachability constraints. Это критично, потому что MHOI-данные дорогие и редкие — одна запись превращается в целый датасет для обучения.

Почему это важно для индустрии

Motion capture — основа игровой и киноиндустрии. Сцены с совместным взаимодействием с объектами (передача предметов, совместная транспортировка, борьба за объект, такелаж) традиционно требуют ручной доработки аниматоров. По оценкам специалистов индустрии, сцена с некорректными контактами может занимать 2–4 часа ручной правки на каждую минуту анимации. MOCHI автоматизирует значительную часть этой работы.

Второе применение — обучение роботов. MHOI-данные используются для тренировки роботизированных систем, которые должны взаимодействовать с людьми: помогать переносить предметы, подавать инструменты, работать в паре. Чистый, физически согласованный motion capture — основа для реалистичных симуляций. Артефактные данные учат робота ошибаться — неправильный grasp в данных становится целью для обучения.

Третье — VR/AR. Когда виртуальный объект должен реалистично взаимодействовать с руками пользователя, ошибки контакта разрушают погружение. Пользователь берёт виртуальный стакан, а тот проваливается сквозь пальцы. MOCHI потенциально устраняет эти артефакты на этапе пост-обработки, до того как данные попадают в приложение.

Четвёртое — голливудские VFX. Сцены с каскадёрами, которые взаимодействуют с объектами, часто снимаются с нескольких ракурсов и требуют компромиссного merge данных. MOCHI может помочь сшивать эти данные автоматически, снижая need for manual cleanup.

Архитектура: почему диффузионный prior работает

Ключевое решение — использовать диффузионную модель, обученную на сольных данных, для очистки multi-human motion. Это контринтуитивно: модель не видела двух людей и объекта одновременно, как она может помочь?

Ответ в том, что диффузионная модель кодирует не знание о конкретных позах, а знание о структуре человеческого движения: суставы имеют ограниченный диапазон вращения, переходы между позами не могут быть мгновенными, инерция тела имеет конкретные параметры. Это знание применимо независимо от того, один человек или два.

Когда зашумлённый motion проходит через диффузионную модель, она «вытягивает» его в пространство правдоподобных траекторий. Шум — это не хаотическое дрожание, а отклонение от реалистичных паттернов. Модель не знает, какая поза «правильная» для конкретного объекта, но она знает, какая поза «возможна» для человека. Именно это различие позволяет отличить артефакт от намеренного движения.

Контактные ограничения (human-object, human-human) добавляются как дополнительные energy terms в процесс оптимизации. Это не competing constraints — они работают совместно. Если grasp optimization на этапе 1 уже обеспечил правильный контакт, диффузионная модель не «сбрасывает» его, потому что это было бы движение в сторону менее правдоподобной траектории.

Сравнение с существующими подходами

MotionBERT (2022) — ближайший аналог, но заточен под сольные сценарии. Он использует contrastive learning на single-person motion для очистки noisy capture. На MHOI-данных его результат хуже, потому что он не учитывает человеческое взаимодействие: тело одного человека для него — просто ещё один набор маркеров.

Hi夕 (HIC, 2023) — другой подход, использующий иерархический temporal attention для согласования motion нескольких агентов. Он лучше работает на multi-agent сценариях, но не учитывает физику контактов: тела могут «пройти сквозь» друг друга в результате оптимизации, если ограничения не заданы явно.

MOCHI отличается тем, что вводит физические constraints явно: reachability, collision avoidance, contact alignment. Диффузионная модель обеспечивает правдоподобность движения, а constraints обеспечивают физическую согласованность с объектом.

Ограничения и масштабируемость

Текущая реализация — offline. Диффузионный noise optimization требует итераций и вычислительно дорог: один час записи motion capture обрабатывается порядка 2–4 часов на GPU (A100). Для real-time или near-real-time применения потребуется distilling модели в более быстрый inference path.

Объекты должны быть жёсткими (rigid bodies). Деформируемые объекты — мягкие игрушки, ткань, верёвки — не поддерживаются, потому что grasp optimization предполагает известную геометрию поверхности. Если объект деформируется в процессе взаимодействия (например, наполовину полный мешок), текущая модель не применима.

Количество участников ограничено: эксперименты показали работоспособность для 2–4 человек. Для большего числа потребуется модификация human-human interaction energy, потому что текущая формулировка квадратична по числу пар участников — при 10 участниках это уже 45 пар для проверки collision.

Практическое применение: pipeline

Если ты аниматор или технический директор в VFX-студии, вот как выглядит практическое внедрение MOCHI в pipeline. После стандартного захвата (камеры Vicon или OptiTrack) сырые данные экспортируются в формате BVH или FBX. Затем:

Этап 1 (grasp optimization): сырые данные подаются на вход MOCHI. На этом этапе система работает с body-level skeleton и mesh объекта. На выходе — preliminary grasp poses для каждого кадра.

Этап 2 (diffusion refinement): preliminary poses проходят через диффузионную модель. Результат — cleaned motion sequences с физически согласованными контактами.

Этап 3 (quality check): аниматор проверяет результат. Обычно требуется 10–15 минут на проверку минуты анимации вместо 2–4 часов ручной правки.

Часто задаваемые вопросы

Можно ли использовать MOCHI для real-time приложений? Текущая реализация — offline. Диффузионный noise optimization требует итераций и вычислительно дорог. Исследователи отмечают, что для real-time потребуется distilling модели в более быстрый inference path, но это отдельная задача, не covered в текущей статье.

Какие типы объектов поддерживаются? MOCHI работает с произвольными геометриями — результаты показаны для столов, стульев, коробок, цилиндров. Ограничение: объект должен быть жёстким (rigid body). Деформируемые объекты (мягкие игрушки, ткань) не поддерживаются.

Насколько это лучше существующих approaches? Прямое сравнение с MotionBERT и Hi夕 показывает улучшение на 12–18% по FGD метрике на MHOI-специфичных данных. На сольных данных преимущество меньше (3–5%), что ожидаемо — MOCHI заточен под multi-human сценарии.

Что насчёт данных с большим числом участников? Эксперименты проведены для 2–4 человек. Для 5+ участников human-human collision constraints становятся вычислительно сложными (O(n²) по числу пар), но принципиально метод масштабируется.

Как MOCHI справляется с очень короткими записями? Grapple optimization работает для любой длины sequence. Диффузионная модель требует достаточной длины для effective denoising, но even для 1–2 секунд результат показывает улучшение над baseline.

Итог

MOCHI — это не просто улучшение качества motion capture. Это решение конкретной проблемы: совместное взаимодействие нескольких людей с общим объектом, которое ранее требовало ручной доработки. Двухэтапная архитектура (grasp optimization + диффузионная очистка) даёт физически согласованный результат без сбоев контактов и jitter.

Для игровой и киноиндустрии это означает fewer hours на пост-продакшн, больше автоматизации в создании анимации. Для робототехники — лучшие данные для обучения. Для VR/AR — более реалистичный interaction с виртуальными объектами. SIGGRAPH 2026 — серьёзная площадка, и работа из Сеульского национального университета заслуживает внимания.

Источник: MOCHI на ArXiv | Проектная страница | GitHub | Video

← Все записи