Если ввести в поиск запрос object detection, почти сразу среди результатов окажутся модели семейства YOLO в разных версиях. Это неудивительно: они популярны, быстры, достаточно просты в использовании и хорошо подходят для прикладных задач. Модели вроде YOLO и RF-DETR обычно работают по одной и той же схеме: на вход подается изображение, на выходе мы получаем предсказания объектов.
Такой подход удобен и хорошо работает для картинок. Но видео — это не просто набор независимых кадров.

Почему видео отличается от изображения
Когда мы применяем YOLOv5, YOLOv8, YOLOv11 или RF-DETR к видео, чаще всего каждый кадр обрабатывается как отдельная картинка.
И в этом есть важное ограничение.
У видео есть временная структура. Каждый кадр связан с соседними кадрами. Движение, направление, ускорение, само игровое действие — все это проявляется во времени. Если обрабатывать кадры по одному, эта связь теряется, а затем ее приходится пытаться восстановить на этапе постобработки.
Мне захотелось проверить более простой вариант: можно ли добавить временную информацию без переработки самой архитектуры YOLO или RF-DETR?
Идея superframe
Для этого я решил использовать superframe.
Superframe — это один входной кадр, собранный из трех соседних кадров видео.
Идея простая:
каждый кадр переводится в grayscale,
берутся три соседних кадра,
затем они размещаются по каналам одного изображения.
То есть вместо обычного использования RGB как цветовых каналов, каналы начинают кодировать время.
Для видео с частотой 30 FPS это дает временной контекст примерно на 0,12 секунды:
R = кадр -1
G = текущий кадр
B = кадр +1
Если увеличить шаг до ±2, можно покрыть уже около 0,2 секунды.
В результате модель по-прежнему получает стандартное трехканальное изображение, но теперь в этом изображении уже зашита информация о движении.
Почему это может быть полезно
В этом подходе мы жертвуем цветом, но сохраняем короткий временной контекст. Для многих спортивных задач, особенно со стационарной камерой, это оказывается важнее, чем точная цветовая информация.
Superframe можно рассматривать как легкий способ добавить temporal-aware представление, не переходя сразу к полноценным видеоархитектурам.
На практике появляется полезный эффект: движущиеся объекты начинают выделяться, а статичный фон остается более стабильным.
Первый эксперимент: детекция мяча
Сначала я применил этот подход для обнаружения волейбольного мяча на видео со стационарной камеры.
Это хороший тестовый сценарий, потому что мяч — маленький объект, его трудно детектировать, и при этом он сильно зависит от движения.
Эксперимент показал, что superframe помогает улучшить обнаружение мелких движущихся объектов, в частности волейбольного мяча.
После этого стало интересно проверить, можно ли использовать ту же идею для более сложной задачи.
Переход к разметке игровых действий
После эксперимента с мячом мы решили проверить этот подход на задаче обнаружения игровых действий.
Быстрый обзор показал, что в волейболе разные версии YOLO уже активно применяются для обнаружения игровых элементов и действий, таких как:
подача,
прием,
пас,
атака,
блок.
Но у такого нестандартного подхода есть практический минус: нет готового инструмента для разметки.
Собственный инструмент разметки
Чтобы решить эту проблему, мы сделали небольшой инструмент для аннотации видео — Volleyball Action Annotator (VAA).
Volleyball Action Annotator (VAA):
https://github.com/asigatchov/VAA
Инструмент был создан специально для разметки игровых действий в волейболе как в обычном режиме просмотра кадров, так и в режиме superframe.
Это позволило выстроить собственную методику аннотации под задачу.
Методика разметки игровых действий
Разметка строится вокруг момента касания мяча.
Для одного игрового действия мы обычно берем 3–4 кадра.
Ключевой кадр — это кадр, в котором происходит касание мяча. От него мы отмечаем:
кадр до касания,
кадр касания,
кадр после касания.
В обычном режиме RGB-просмотра это позволяет удобно увидеть действие в привычном виде.
В режиме SUPERFRAME каждый такой момент дополнительно содержит соседние кадры в окне ±1 кадр. Таким образом, в разметке учитывается не только сам момент контакта, но и его ближайший временной контекст.
Наложение кадров создает эффект, похожий на псевдо-карту внимания для движения. Движущиеся объекты становятся заметнее на фоне статических элементов, потому что их положение меняется между каналами, а фон остается относительно стабильным.
Для спортивного видео со стационарной камеры это особенно полезно.

Почему датасет пришлось собирать с нуля
Из-за специфики такого формата существующие датасеты не подходили для эксперимента в готовом виде.
Поэтому датасет пришлось собирать с нуля: продумывать логику разметки, делать инструмент и формировать собственный пайплайн подготовки данных.
Это один из главных минусов подхода: сама идея простая, но процесс подготовки данных получается нестандартным.
Тем не менее, это может быть хорошим компромиссом, если хочется улучшить качество детекции действий, не переходя сразу к тяжелым video-моделям.
Первые результаты обучения
После разметки первых 50 игровых действий мы обучили RT-DETR в течение 30 эпох.
Даже с таким небольшим стартовым объемом данных первая модель уже оказалась полезной: она начала ускорять второй круг аннотации, предлагая предварительные предсказания, которые затем можно быстро исправить вручную.
В результате получается удобный итеративный цикл:
разметить небольшой стартовый датасет,
обучить первую модель,
использовать модель для ускорения следующего круга разметки,
повторить цикл.
Для экспериментальных спортивных датасетов такой подход может заметно снизить стоимость и время аннотации.
Вывод
Основная идея этого подхода очень простая: вместо того чтобы полностью перерабатывать detector под видео, можно попробовать зашить временную информацию прямо во входное изображение.
Superframe — это легкий способ добавить временной контекст в стандартные image detector-модели вроде YOLO или RF-DETR. В случае волейбольного видео со стационарной камеры подход уже показал пользу как для детекции мяча, так и для разметки игровых действий.
Дальше остается еще много направлений для развития: подобрать лучший временной шаг, увеличить датасет, расширить набор действий, сравнить подход с полноценными видеоархитектурами. Но уже сейчас видно, что это интересный практический компромисс между покадровой детекцией и полноценным video understanding.
Продолжение следует.
