ИИ
Внутри ZetAI Vision: как читать розыгрыш в бадминтоне на скорости 240 кадров в секунду
Волан покидает ракетку со скоростью более 300 км/ч. Отследить его, классифицировать удар и определить границу розыгрыша — это три задачи, а не одна.
Волан после смэша покидает ракетку со скоростью более 300 километров в час и тормозится быстрее почти любого другого объекта в спорте. При 30 кадрах в секунду он — смазанное пятно на двух кадрах, а потом исчезает. Ничего полезного из этого не извлечь.
Именно поэтому ZetAI Vision работает на 240 к/с, и именно поэтому частота кадров — не техническая деталь, а то, вокруг чего построена вся система.
Три задачи в одном пальто
«Компьютерное зрение в спорте» звучит как одна функция. На практике розыгрыш приходится раскладывать на три задачи, у которых почти нет ничего общего.
- Обнаружение и трекинг — где на этом кадре игроки, ракетки и волан, и кто есть кто от кадра к кадру. Пространственная задача на уровне кадра, крайне чувствительная к задержке.
- Классификация событий — это был смэш, сброс, оттяжка или игра у сетки? Временна́я задача: нужно окно кадров и понимание намерения по положению тела не меньше, чем по траектории волана.
- Сегментация — где заканчивается один розыгрыш и начинается следующий? Структурная задача, от которой зависит всё остальное: неверно найденная граница розыгрыша искажает всю производную статистику.
Третья задача удивляет больше всего. Ошибка в границе на один удар не слегка ухудшает анализ — она сдвигает всё распределение того, кто выиграл какой розыгрыш, и это полностью обесценивает данные о закономерностях.
Предсказание заполняет пробелы
Даже при 240 к/с волан иногда теряется: его закрывает игрок, он сливается с ярким фоном или просто движется слишком быстро в момент удара. Трекер поддерживает физическую модель полёта волана, включая необычно сильное сопротивление воздуха, и «достраивает» траекторию через пропуск. Когда обнаружение возобновляется, наблюдаемое положение корректирует модель. Трек, на 85% наблюдаемый и на 15% предсказанный, остаётся пригодным; трек, который рвётся при каждом перекрытии волана, — нет.
Почему обработка на устройстве, а не в облаке
Загружать видео 240 к/с с восьми кортов на облачный GPU на районной площадке нереально. Такой пропускной способности просто нет, а там, где она есть, задержка на передачу в обе стороны убивает бюджет по времени, благодаря которому возможны живая графика и автоматический подсчёт очков.
Поэтому обработка идёт прямо на площадке, на оборудовании рядом с камерами. Модели квантизированы, чтобы уложиться в бюджет менее 10 мс на скромном железе, а с площадки уходит не видео, а структурированные события — несколько сотен байт о том, что произошло, вместо гигабайтов о том, как это выглядело.
Это важно и по причине, не связанной с инженерией: необработанные записи несовершеннолетних, занимающихся спортом, — это данные, которые не должны без необходимости покидать школьный спортзал. Обработка на месте и передача только событий означают, что видео по умолчанию остаётся локальным.
Что она даёт
- Покадровая реконструкция розыгрыша — каждый удар, его тип, скорость и место приземления.
- Тепловые карты покрытия корта — где спортсмен на самом деле проводит время и где, по его мнению, проводит.
- Паттерны перемещения и возврата — как быстро игрок возвращается в базовую позицию и как это ухудшается по ходу матча.
- Автоматические ключевые моменты — длинные розыгрыши и переломы моментума, на которых строятся создание хайлайтов и анализ матча.
- Сигналы подсчёта очков, по которым ZetAI Score предлагает очки судье.
Честно об ограничениях
Качество машинного зрения зависит от расположения камер больше, чем от качества модели. Одна камера на торце корта даёт пригодную сегментацию розыгрышей и слабые пространственные данные; две камеры в противоположных углах дают хорошие пространственные данные. Мы лучше скажем об этом сразу, чем позволим федерации купить систему и обнаружить это на втором месяце.
Освещение имеет огромное значение: в зале со смешанным дневным и люминесцентным светом на высокой частоте кадров возникает мерцание, которое нужно компенсировать. Кроме того, модели сильнее всего в ракеточных видах спорта, где у нас больше всего размеченных данных, и слабее в тех видах, что мы добавили недавно. Этот разрыв сокращается по мере использования, но сегодня он реален.