Предсказание траекторий в 3D из облаков точек (горизонт 10 шагов, WIP)
Представьте себе, что есть система, которая достраивает все движение 3-хмерного окружения в зависимости от ситуации и контекста, а если видит незнакомый объект, то не ломается, а на ходу собирает датасет поведения объекта и дообучается в реальном времени.
TL;DR. Мы делаем point‑native прототип, который по краткой истории облаков точек объектов предсказывает следующие 10 шагов их движения в сцене Unity (лодка + плавающие ящики). Движок не использует скрытые состояния из физики Unity — только точки. Сейчас сеть выдаёт будущие облака точек объектов.
▶️ Демо‑видео: https://youtu.be/p0Uackg41iw
Слабое место сейчас — взаимодействия объектов (сдвиг контакта, небольшие проникновения). Мы закрываем это сценовым «корректором»: после базового прогноза на 10 шагов запускаем 1–3 итерации уточнения в духе диффузии. На каждой итерации корректор видит всю предсказанную сцену, считает резидуальную поправку и мягко проецирует состояние, снижая проникновения. Повторяем до стабилизации метрик.
Цель: довести точность короткого горизонта на точках, добавить сценовый «корректор» взаимодействий.
Зачем и где это полезно
Быстрый превиз и прототипирование: хотим видеть, куда перемеятятся объекты в ближайшие 0.5–1 с, считая тяжёлую физику каждый кадр.
Планирование/контроль: короткий горизонт с правдоподобными контактами полезен для MPC и тестов устойчивости компоновок.
Что за дообучение в реальном времени
Вместо одной универсальной нейросети у нас работает команда маленьких специалистов — по одному на класс объектов (ящик, бочка, лодка и т.д.). Каждый специалист учится своей кинематике и характерным контактам, а отдельный сценовый «корректор» сводит всё вместе, когда объекты взаимодействуют.
Обучение идёт пакетно и непрерывно в фоне: как только в потоке появляются сцены с объектами класса X, эти эпизоды попадают в очередь данных, и дообучается только сеть класса X. Остальные сети заморожены, поэтому нет «перетягивания одеяла». Обновления применяются на безопасных чекпоинтах (по расписанию), после чего инференс продолжает работать уже с новыми весами. Итог: постоянное улучшение по мере накопления сцен за счёт обучения по классам, при этом онлайн-симуляция остаётся стабильной (только predict→correct без обучения).
Почему так, а не одна большая модель
Специализация = точность. Лодка и ящик ведут себя по-разному; отдельные специалисты учатся быстрее и ошибаются меньше в «своих» режимах.
Масштабирование без боли. Больше объектов — больше параллельных вызовов небольших сетей, а не один растущий монолит.
Изоляция изменений. Если что-то «сыпется» у ящиков, мы правим только сеть ящика — лодки не страдают.
Добавление новых классов — без переучивания старых. Подключили нового специалиста — остальной мир сохраняет поведение.
Что мы решаем по-другому, чем Genie 3
Представление мира.
наша система работает в состоянии объектов (облака точек → SE(3)-траектории, контакты), то есть «физика в латенте».
Genie 3 — видеогенеративная world-model (пиксели).
⇒ У нас проще добиваться физической согласованности и низкой задержки; у Genie — богатая картинка и “киношность”.Модульность vs монолит.
наша система — много маленьких специалистов по классам объектов + сценовый корректор (итеративное уточнение «как в диффузии»).
Genie 3 — одна большая модель с общими весами.
⇒ Мы можем дообучать один класс (ящики) без риска «сломать лодку»; у монолита перенос шире, но правки — тяжелее.наша система сейчас короткий (H=10 с итеративной доводкой, целимся в 32–64 на сценариях). Genie 3 держит более длинный визуальный контекст. ⇒ Мы выигрываем в точности контактов на малом горизонте; Genie — в долговременной «истории» и вариативности.
Если на этих осях мы стабильнее/быстрее — это честный аргумент, что для управляемой физики и сим-контроля модульная система практичнее и надёжнее, чем видеогенеративный монолит. Для задач «создай красивый мир из текста» у Genie 3 останется своё поле.