К содержимому
MoranaLabs
Спорт / Вещание — 11 июн. 2026 г.

Мульти-камерный трекинг матча в прямом эфире с broadcast-задержкой 

Эфир не ждет: если графика не успела к кадру, она не нужна вовсе. Двенадцать камер сведены в одну сцену по координатам поля, и от кадра до оверлея в эфире проходит меньше секунды.

12 камер
сведены в единую сцену
96,4 %
непрерывность трека при смене ракурса
0
ручной нарезки хайлайтов
стенд · запускается здесь

Стенд: бюджет секунды до эфира

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

счет на узле ожидание очередь под нагрузкой
бюджет одной единицы: 887,5 мс счета + 0,6 мс ожидания в очереди · красная черта — предел 1,0 с
на входе 600 кадров камеры в секунду · потолок узла 1 067 · узкое место: Выдача в эфирный тракт
  • Декод и синхронизация1,8 мс

    привязка кадра камеры к общей временной шкале

    слот узла · узел
  • Детекция игроков13 мс

    детектор на кадр каждой камеры

    слот узла · узел
  • Ре-идентификация6,0 мс

    тот же игрок на другой камере — то же тождество

    слот узла · узел
  • Привязка к плану поля2,2 мс

    гомография камеры, координата на поле

    слот узла · узел
  • Сведение сцены120 мс

    все камеры сводятся в одну картину мира

    ожидание · сервер
  • Буфер синхронизации300 мс

    ждем самую медленную камеру: ожидание, а не счет

    ожидание · сервер
  • Рендер оверлея65 мс

    графика поверх картинки

    ожидание · сервер
  • Выдача в эфирный тракт380 мс

    кодирование и доставка: железом не ускоряется

    ожидание · сеть

Запас есть: очередь почти не влияет на задержку, ее вклад 0,6 мс из 888,1. До потолка бюджета остается 9 камер.

888,1 мс
сквозная задержка, бюджет 1,0 с
56 %
загрузка узла
0
сброшено: кадр камеры пропускается, сцена достраивается по остальным
21
камер на узел в бюджете
Светлые сегменты полосы — ожидание: буфер, сеть, чужой сервис. Они дают 865 мс из 888 и не ускоряются ни железом, ни оптимизацией модели. Прежде чем расширять парк, стоит посмотреть, в какой половине лежит проблема: половину бюджета железом не берут.

Тайминги стадий синтетические, порядок — многокамерная трансляция. Разделение на счет и ожидание — настоящее, и оно решает, куда добавлять железо.

Дедлайн задает режиссер

В прямом эфире у аналитики один критерий пригодности: успела к картинке или нет. Скорость игрока, отображенная через три секунды после эпизода, зрителю бесполезна и мешает режиссеру.

Бюджет в 0,9 секунды от кадра до готового оверлея — это не то время, за которое работает нейросеть. Внутрь помещается все: захват сигнала с камер, синхронизация, детекция, сведение камер, расчет метрик, отрисовка графики и выдача в тракт. Инференс тут — одна из статей расхода, и далеко не самая крупная.

Трек живет на поле, а не в кадре

Главное архитектурное решение проекта. Наивный подход — вести трекинг отдельно на каждой камере и потом как-то сопоставлять. Он разваливается при первом же переключении ракурса: игрок в новом кадре — новый объект, история потеряна.

Мы перевели все в общую систему координат самого поля. Каждая камера откалибрована: известно, куда на поле смотрит любая точка ее кадра. Детекции с разных камер пересчитываются в координаты поля и там объединяются в единую картину. Игрок с этого момента существует как объект на поле, а камеры — просто разные способы на него посмотреть.

Отсюда и 96,4% непрерывности трека при смене ракурса: переключение камеры перестало быть событием для трекера.

Калибровка — работа, которую делают до матча

Точность сведения целиком зависит от калибровки. Разметка поля с известной геометрией дает опорные линии, по которым определяется положение камеры. Проблема в том, что камеры двигаются: панорамирование, наклон, зум — все меняет картину постоянно.

Поэтому калибровка идет непрерывно: система по каждому кадру уточняет соответствие по видимым линиям разметки. На стадионах, где линии частично скрыты игроками или тенью, точность падает, и это заметно по дрожанию оверлея.

Скопления игроков

Худшие моменты для трекинга — угловой, стенка, свалка у ворот. Игроки перекрывают друг друга, форма одинаковая, номера не видны.

Помогает именно многокамерность: то, что закрыто с одной точки, обычно видно с другой. Плюс модель движения: игрок не исчезает и не телепортируется, поэтому кратковременная потеря закрывается предсказанием. Полностью проблема не решается, и после плотной свалки часть треков требует подтверждения — мы это фиксируем в отчете о качестве.

Что видит зритель

Из координат на поле считается все остальное: скорости, пройденные дистанции, построение команды, зоны давления, расстояние до ворот в момент удара. Оверлей рисуется поверх картинки в реальном времени.

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

Отказы в эфире

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

Поэтому у каждой метрики в эфире есть порог достоверности, и графика гаснет автоматически при его недостижении.

Что нужно от стадиона

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

Все это выясняется за один выезд и определяет и стоимость, и достижимое качество. Обещать метрики до обследования стадиона — верный способ не выполнить обещание.

Условия, в которых качество падает

  • Дождь, снег и резкие тени от трибун ухудшают детекцию и калибровку.
  • Команды в похожей по цвету форме — известная проблема, решается частично.
  • Дальние планы с широким охватом: игрок на десяток пикселей отслеживается неуверенно.
  • Судейские решения система не комментирует и на них не претендует.

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

Направления рядом — видеоаналитика, компьютерное зрение и потоковые системы.

0,9 с
сквозная задержка до эфирного оверлея
  • CV
  • tracking
  • multi-camera
  • real-time
  • broadcast
заказчик

Спорт / Вещание · детали под NDA

СтендПроверить расчет руками ↑

Те же цифры, но с ручками: порог, нагрузка, объем.

Комментарий инженера

Мы сдавали систему на тестовом матче, и на повторе оверлей поехал: скорость игрока показывалась с запозданием на полсекунды и висела не над тем футболистом. Причина оказалась не в моделях — рассинхрон сигналов между камерами на десятки миллисекунд. На статике этого не видно вообще, на бегущем игроке — сразу. Синхронизация источников в таких проектах важнее выбора детектора, и заниматься ей надо в первую неделю, а не в последнюю.
инженер систем реального времени · MoranaLabs
Другие кейсы
— заявка

Опишите задачу  ответим как инженеры. 

Оставьте имя и Telegram — остальное обсудим. Без брифов на 40 слайдов и звонков по три раза.

Отвечаем за пару часовотвечает инженер, а не отдел продажNDA до передачи данных

Любой один канал — куда удобнее, туда и ответим

Или сразу написать в Telegram

Без спама и звонков-роботов. Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности и обработкой персональных данных.