Проблема видео волейбола

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

Многие игроки или организаторы игр записывали свои игры, чтобы сэкономить память.

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

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

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

Срыв волейбольного митинга

«В одной из моих предыдущих статей я использовал движения мяча для определения игрового времени. Результаты были многообещающими, но были и некоторые недостатки:

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

Тогда нам нужно более глубокое понимание игрового процесса. Следы мячей не одинаково ценны, поэтому нам нужен способ их распознать и отсортировать.

Очевидно, что самым важным действием в волейболе является подача.

  • Начинается митинг (и, вероятно, заканчивается).
  • Он указывает, кто выиграл предыдущий розыгрыш.
  • Если нет подачи, мы, вероятно, видим разминку.
  • Если есть только подачи, мы, вероятно, видим разминку подачи.
  • Основываясь на направлении подачи, мы можем определить положение камеры (относительно корта).

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

Как отличить подачу от других траекторий? Траектории различаются по началу, концу, пролету, углу и многим другим характеристикам.

Это сложная задача, потому что семантика траектории зависит от угла камеры, и один и тот же трек может быть подачей с лицевой точки, но подбрасыванием или передачей с боковой линии.

Так что мы можем попробовать построить длинную цепочку «Если-то» или использовать машинное обучение.

Классификация волейбольных траекторий

Это задача классификации с точки зрения машинного обучения.

Существует несколько способов выбора классов для волейбольных траекторий, мы выберем один пример с 6 категориями:

  • Подавать с ближней стороны
  • Подавать с дальней стороны
  • Пройдено/установлено
  • Атака
  • Бросать
  • Неверная траектория (компьютерное зрение тоже может ошибаться)

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

Затем нам нужно выбрать метод классификации.

В машинном обучении существует множество реализаций классификаторов.

К счастью, есть способы их легко сравнить.

Я буду использовать sklearnв качестве основы для машинного обучения и lazypredictв качестве инструмента сравнения.

Следующий вопрос — как представить данные о траектории?

Перспективные варианты:

  • Нарисуйте точки траектории на картинке и классифицируйте изображения
  • Использовать первые N точек в качестве признаков
  • Извлеките некоторые функции (например, количество точек, скорость, размер, числа параболы)

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

Я создал репозиторий Github для конкурса классификаторов.

Затем я выбрал наиболее очевидные параметры траектории в качестве признаков и передал эти данные в lazypredict:

Удивительно, но рандомный лес старой школы оказался победителем, даже современные LGBM генерировали более слабые прогнозы.

Во время дальнейшего обучения я пытался использовать KNN и SVM (самые популярные алгоритмы) вместе с RF, но оба они довольно быстро отстали.

Random Forest имеет несколько параметров, наиболее важным из которых является количество оценщиков. Обычно чем больше, тем лучше, но после некоторого момента (=50) результаты перестали улучшаться.

Начальные 70% успешных прогнозов — довольно средний результат. Эксперименты показали, что его можно улучшить на 80%, тренируясь на играх с аналогичной настройкой и более тщательным выбором функций.

Обнаружение подачи в волейболе в реальной игре

Я вручную обрабатывал некоторые игры с Youtube для обучения классификатора. Это была рутинная и трудоемкая работа, но она должна быть выполнена.

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

Даже с одной и той же точки зрения, но с разной высотой и углом, у нас будут разные траектории.

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

Поскольку классификация является вероятностной, ошибки случаются.

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

Ложноположительные ошибки более сложны.

Есть большой риск перепутать ложноположительную подачу с настоящей подачей (довольно частая ситуация на уже отредактированных видео с убранными паузами).

Кроме того, паузы могут быть настоящими паузами или ошибками распознавания мяча.

Учитывая упомянутые препятствия, обнаружение подачи является сложной задачей, поэтому давайте применим ее к реальной игре.

Затем я протестировал классификатор на открытом наборе видеоданных от Австрийского института компьютерного зрения.

Я загрузил один файл на Youtube, чтобы преобразовать его в mp4 (поскольку исходный формат .avi не отображается в веб-плеерах).

Алгоритм обнаружил 31 розыгрыш и разложил исходную 21 минуту на 9.

Подачи и стороны подачи распознаются правильно в большинстве случаев:

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

Но удалось обнаружить аномалию:

Когда все остальные подачи шли с дальней или ближней стороны, есть два розыгрыша с правой подачей.

При более строгом подходе — убрать аномальные розыгрыши — эти разминки можно было бы вырезать автоматически.

Заключение

В конце концов, 70–80% успешных распознаваний дают достойные результаты, но внимательный наблюдатель иногда может заметить некоторые несоответствия.

В любом случае, мотивация высока, поскольку обнаружение подачи в волейболе является краеугольным камнем на пути к более глубокому пониманию игры.

Рекомендации

Георг Вальтнер, Томас Маутнер и Хорст Бишоф

В проц. DVS-конференция по информатике в спорте (DVS/GSSS), 2014 г.

Георг Вальтнер, Томас Маутнер и Хорст Бишоф

В проц. Семинар Австрийской ассоциации распознавания образов (AAPR/OAGM), 2014 г.