Habr AI a montré comment fonctionne la caméra virtuelle pour Shorts et Reels avec face tracking
Habr AI a publié une analyse détaillée de la caméra virtuelle pour Shorts et Reels. Au lieu d’un simple autocrop, l’auteur a monté un production pipeline avec u

На Habr AI вышел подробный разбор виртуальной камеры для вертикального видео, которая превращает обычный горизонтальный ролик в Shorts или Reels без дёрганого автокропа. Автор описал production-пайплайн, где камера ведёт лицо в кадре не по одному боксу, а как отдельную динамическую систему.
Почему автокроп ломается
На бумаге задача кажется простой: взять исходный кадр 16:9, вырезать из него окно 9:16 и держать человека по центру. В реальном видео такой подход быстро разваливается. Лицо может уйти влево или вправо, в кадре может появиться второй человек, а сам детектор будет то шуметь, то терять цель на повороте головы, блике или жесте.
В результате вертикальный ролик начинает выглядеть как старый автофокус: картинка нервно прыгает и постоянно ошибается с композицией. Автор предлагает смотреть на задачу не как на автокроп, а как на виртуальную камеру с собственной инерцией, ограничением скорости, задержкой реакции и fallback-логикой. Поэтому системе недостаточно просто “следовать за центром бокса”.
Она должна уметь жить во времени, терпеть неточные данные, не паниковать на кратких потерях лица и сохранять осмысленное движение даже в сценах, где лиц в кадре нет вообще. Это критично для длинных фрагментов.
«Камера — это не координата, а динамическая система».
Как устроен пайплайн
Основа решения — трёхуровневая цепочка детекции лиц: MediaPipe → YuNet → Haar Cascade. Первый детектор выступает основным рабочим вариантом, второй нужен как резервный ONNX-бэкенд через OpenCV, а третий остаётся последней линией обороны, когда всё остальное недоступно или сработало плохо. Снаружи эта цепочка отдаёт единый формат данных: центр лица, размер, confidence и bounding box.
За счёт этого остальная часть системы не зависит от конкретного детектора и может стабильно работать даже в деградированном режиме. Дальше поверх детекции идёт простой, но практичный трекинг: система сравнивает центр лица на прошлом кадре с текущими кандидатами и выбирает ближайший объект. Если лицо пропало ненадолго, включается grace period — камера ещё короткое время верит последней известной позиции, чтобы не дёрнуться на единичной ошибке.
После этого сигнал дополнительно очищается в два шага и получает отдельный fallback для сцен без лиц в ролике. Anti-jerk обрезает слишком большие скачки координат между кадрами Low-pass filter сглаживает остаточный шум и микродрожание Ken Burns fallback подхватывает сцену, если лицо потеряно или его нет вовсе Интерполяция пути превращает анализ на 8 FPS в плавное движение для итоговых 30 или 60 FPS На финальном этапе система не просто хранит дискретные состояния камеры, а строит непрерывный путь. Затем для каждого кадра берётся центр и zoom, считается ROI, вырезается нужная область и масштабируется в итоговый вертикальный формат.
За счёт этого пайплайн остаётся вычислительно вменяемым: анализ можно делать на уменьшенной копии видео, а финальный кроп — уже по оригиналу, без потери плавности движения в финальном рендере.
Как камера становится оператором Самая интересная часть — модель движения.
Вместо мгновенного прыжка в целевую точку камера описывается как демпфированный осциллятор: у неё есть “масса”, жёсткость, демпфирование, лимиты на ускорение и максимальную скорость. Такая схема даёт инерцию и делает перемещение правдоподобным. Если человек начинает двигаться быстрее, можно добавить predictive lead, чтобы камера слегка смотрела вперёд, а не только догоняла цель.
Парадоксально, но небольшая искусственная задержка, human lag, тоже улучшает результат: идеально точная реакция часто выглядит менее естественно, чем чуть замедленная. Поверх физики автор накладывает композиционные правила. Камера умеет смещать лицо к линиям третей, поднимать точку внимания ближе к уровню глаз, не реагировать на микродвижения внутри dead zone и оставлять безопасный face margin, чтобы не резать уши, волосы и жесты по краям кадра.
Для talking-head сцен есть отдельный single-face режим с более консервативной скоростью и усиленной стабилизацией, а для роликов без лиц — мягкий переход в Ken Burns с панорамированием и зумом вместо “замёрзшего” центра.
Что это значит Этот разбор хорошо показывает, куда движутся инструменты AI-видеомонтажа.
Качество здесь рождается не из одной “магической” модели, а из инженерной сборки: fallback-детекторы, трекинг, фильтрация, физика движения и композиция работают вместе. Для создателей контента и команд, которые массово режут длинные ролики в Shorts и Reels, это уже не игрушечный автокроп, а практический шаблон production-камеры, который можно повторить и адаптировать под разные стили съёмки.