Видео добавляет время, 3D — точку обзора, world model — действие и последствия. Хороший отдельный кадр больше не достаточен: объект должен сохранять идентичность, камера — геометрию, а будущее — реагировать на вмешательство.

Мяч обязан продолжить траекторию

Пусть кадры x1,,xTx_1,\ldots,x_T. Генератор может создать каждый кадр реалистично и всё же заставить мяч телепортироваться, тень перескочить или человека сменить одежду. Нужна временная согласованность.

Простейшая модель прогнозирует

p(xt+1xt).p(x_{t+1}\mid x_{\le t}).

Pixel loss

xt+1x^t+12\|x_{t+1}-\widehat x_{t+1}\|^2

на неопределённом будущем усредняет варианты и размывает движение. Поэтому используют latent dynamics, perceptual loss, diffusion и adversarial компоненты.

Оптический поток Ftt+1F_{t\to t+1} связывает пиксели:

xt(p)xt+1(p+F(p)).x_t(p)\approx x_{t+1}(p+F(p)).

Нарушение warping consistency обнаруживает скачки, но не работает идеально на окклюзиях и новых областях.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Две последовательности мяча с правдоподобными кадрами, одна физически согласована
Рис. 88.1. Покадровый реализм не сохраняет движение

Верхняя последовательность следует параболе, нижняя имеет скачок, хотя каждый кадр резок. Справа показаны координата центра y(t)y(t), residual к ballistic fit и warping error с учётом маски окклюзии.

Модель времени

Video transformer превращает пространство-время в tokens: patches каждого кадра плюс temporal position. Full attention по THWTHW токенам дорого, поэтому разделяют spatial и temporal attention или работают в сжатом latent.

Recurrent state model:

ht+1=fθ(ht,at,εt),x^t=gθ(ht).h_{t+1}=f_\theta(h_t,a_t,\varepsilon_t), \qquad \widehat x_t=g_\theta(h_t).

Без действий ata_t это video predictor. С действиями — кандидат на world model. Noise εt\varepsilon_t хранит неопределённость будущего.

Долгий rollout страдает compounding error: модель обучалась на real states, а затем получает собственные слегка ошибочные predictions. Scheduled sampling и latent regularization помогают, но не заменяют multi-step evaluation.

Камера задаёт проектирование

В pinhole model 3D-точка X=(X,Y,Z)X=(X,Y,Z) переходит в пиксель

(uv1)K[Rt](XYZ1).\begin{pmatrix}u\\v\\1\end{pmatrix} \sim K[R\mid t] \begin{pmatrix}X\\Y\\Z\\1\end{pmatrix}.

KK содержит intrinsics, R,tR,t — положение камеры. Один пиксель задаёт луч, а не глубину. Несколько views связываются epipolar geometry.

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

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Две камеры, 3D точка, rays, image planes and epipolar line
Рис. 88.2. Один 3D-объект связывает два изображения

Точка XX проецируется в u1,u2u_1,u_2. Луч первой камеры и baseline задают epipolar plane; на второй плоскости соответствие лежит на линии. Рядом показана ошибочная генерация, где matching point нарушает constraint.

NeRF: цвет и плотность вдоль луча

Neural Radiance Field задаёт

Fθ(x,d)=(σ,c),F_\theta(x,d)=(\sigma,c),

где xx — 3D-точка, dd — направление взгляда, σ\sigma — density, cc — цвет. Pixel получается volume rendering:

C(r)=T(t)σ(r(t))c(r(t),d)dt,C(r)=\int T(t)\sigma(r(t))c(r(t),d)\,dt, T(t)=exp(tntσ(r(s))ds).T(t)=\exp\left( -\int_{t_n}^{t}\sigma(r(s))\,ds \right).

Модель обучается по нескольким фотографиям с известными poses. Новый view рендерится интегрированием по новым лучам. Ошибки camera calibration превращаются в размытое поле.

3D Gaussian Splatting использует явные Gaussian-примитивы и быстрее рендерит, но тоже требует согласованных views.

Лаборатория мира

Кадры, траектория мяча и штраф за нарушение физики

Загружается живая иллюстрация…

Задайте начальную скорость мяча и сравните генерацию, обученную только по кадрам, с моделью, получающей physics penalty. Измените действие — толчок — и проверьте, реагирует ли будущая траектория.

Перемещайте виртуальную камеру. Если размер объекта меняется не по глубине или дальний объект закрывает ближний, 2D-реализм нарушает 3D-логику.

World model и действие

Для управления latent model учит

pθ(zt+1,rt+1zt,at),p_\theta(z_{t+1},r_{t+1} \mid z_t,a_t),

где encoder переводит observation xtx_t в ztz_t. Агент планирует во внутреннем rollout, выбирая последовательность действий по predicted rewards.

Главная опасность — model exploitation: planner ищет траектории, где модель ошибочно обещает высокий reward. Ensemble uncertainty, короткий planning horizon и проверка в реальной среде ограничивают риск.

Связь с MDP прямая: world model приближает PP и RR. В отличие от пассивного видео, данные зависят от behavior policy. Неисследованные действия остаются неизвестными.

Причинность требует вмешательства

Наблюдение «руль повернулся, машина пошла вправо» может быть корреляцией с дорогой: водитель поворачивает руль именно на изгибе. Чтобы оценить действие, нужны разнообразные interventions или simulator.

Counterfactual test: из одного состояния подать разные aa и проверить правдоподобное расхождение. Если output не меняется, модель игнорирует action. Если меняет фон целиком, action entangled с данными.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
World model rollout from same initial state under left straight right actions
Рис. 88.3. Один префикс, три вмешательства

Верхняя строка — общий наблюдаемый префикс. Три ветви получают разные steering actions; нанесены траектории, uncertainty cones и predicted collision risk. Серым показан недоступный в train участок, где uncertainty растёт.

Waymo Open Dataset

Waymo Open Dataset содержит последовательности камер и lidar, 3D boxes и motion data. Объём велик; школьный проект берёт опубликованный subset. Split по segments, а не frames, предотвращает утечку соседних кадров.

Возможная задача — прогноз траекторий объектов на несколько секунд. Метрики:

  • displacement error по горизонту;
  • miss rate;
  • calibration множества траекторий;
  • collision/road-boundary violations;
  • результат по редким манёврам;
  • latency.

Average displacement не наказывает одинаково пропущенный поворот и небольшой сдвиг на прямой. Сценарные метрики продолжают материал урока.

Мини-исследование: раскладываем ошибку траектории

Прогноз позиции может ошибаться по трём причинам: неверна скорость, направление или выбранная мода будущего. Для каждой predicted trajectory разложите displacement относительно истинной tangent:

e=(r^r)v^,e=(r^r)v^.e_{\parallel}=(\widehat r-r)\cdot\hat v, \qquad e_{\perp}=(\widehat r-r)\cdot\hat v_\perp.

Продольная ошибка означает опережение/отставание, поперечная — уход с пути. На повороте basis меняется по времени. Постройте обе компоненты по горизонту, а не один ADE.

Для multimodal predictor оцените coverage: попала ли истина хотя бы в одну из KK траекторий, и calibration вероятностей мод. Десять почти одинаковых вариантов не дают настоящей diversity. Добавьте pairwise endpoint distance и occupancy.

Мини-исследование: обнаружить exploitation world model

Обучите model на действиях в ограниченном диапазоне, например steering [0,3,0,3][-0{,}3,0{,}3]. Planner разрешите выбирать [1,1][-1,1]. Он, вероятно, уйдёт к краям, где predicted reward необоснованно высок.

Нанесите выбранные actions на histogram behavior data. Добавьте uncertainty ensemble и штраф

r~=rλStdmr^(m).\widetilde r=r-\lambda\,\operatorname{Std}_{m} \widehat r^{(m)}.

Сравните predicted и true simulator return. Пессимизм уменьшит exploitation, но может отвергать полезные новые действия. Это offline RL support problem в model-based форме.

Мини-исследование: 3D consistency через замкнутый маршрут

Рендерите сцену по камерам, образующим круг, и сравните первый и последний view. Geometry должна вернуться, хотя stochastic texture может немного отличаться. Отслеживайте landmarks и depth ordering.

Для двух промежуточных views постройте feature correspondences и epipolar residual. Простая perceptual similarity не обнаружит, что объект оказался за неправильной поверхностью. Геометрический тест продолжает computer vision и проекции.

Наконец, измените camera intrinsics вне train. Если сцена распадается, limitation относится к calibration range. Публикуйте его вместе с красивым novel-view video.

Мини-исследование: окклюзия как проверка памяти объекта

Пусть машина на десять кадров скрывается за автобусом и появляется снова. Tracking/world model должна сохранить identity и предсказать область выхода. Сравните embedding до и после окклюзии, position uncertainty и число identity switches.

Удлиняйте окклюзию и меняйте возможные выходы. Uncertainty должна расти; уверенная точка при трёх развилках некалибрована. Сравните deterministic и multimodal forecasts.

Эта задача связывает видео с рекуррентной памятью: hidden state переносит объект без пиксельного evidence. Но если модель узнаёт конкретный фон, geographical split выявит shortcut.

Мини-исследование: conservation residual

В synthetic-сцене без внешних сил вычисляйте momentum до и после взаимодействия. Для столкновения двух тел

ρt=m1v1,t+m2v2,t(m1v1,t+1+m2v2,t+1).\rho_t= \|m_1v_{1,t}+m_2v_{2,t} -(m_1v_{1,t+1}+m_2v_{2,t+1})\|.

Сравните generated rollout и real simulator. Малый pixel loss не гарантирует малый ρt\rho_t: скорости чувствительны к положению между кадрами.

Не навязывайте conservation в сценах с неизвестными внешними силами. Помечайте только контролируемые эпизоды. Physics residual является контрольным вопросом к модели, а не универсальным score реализма.

Добавьте energy residual отдельно: momentum может сохраняться при неупругом столкновении, kinetic energy — нет. Если модель штрафует оба одинаково, она запрещает физически допустимую потерю энергии.

Для bouncing ball коэффициент restitution задаёт отношение нормальных скоростей после и до удара. Оцените его по generated видео и сравните с simulator. Так «физичность» распадается на измеримые законы с условиями применимости.

Мир проверяется временем и действием

Видео требует согласованности во времени, 3D — согласованности между views, world model — правильной реакции на действия. One-step realism не проверяет rollout. Геометрические и физические рисунки полезны как тесты: они дают инварианты, которые можно измерить, а не только посмотреть.

Задачи