Волейбол глазами компьютера

    В прошлой статье я рассказал о своих подходах по распознаванию волейбольного мяча в игре. Задача сама по себе интересная и развивать ее можно в нескольких направлениях.

    • Вариант 1 — продолжать исследования (в комментах к прошлой статье мелькали страшные слова SORT, YOLO итд)
    • Вариант 2 — найти применение в реальном мире, сделать продукт и показать людям

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

    Проблема


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

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

    Статистика ведется очень редко и там абсолютный ноль в плане автоматизации.

    В идеале хочется, чтобы система:

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

    Список можно продолжать и усложнять, но начать надо с малого.

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

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

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

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

    Проверка реальностью


    Для теста я взял игру со страницы Московской волейбольной лиги.

    Розыгрышей оказалось многовато, в этой игре алгоритм насчитал 197 розыгрышей, хотя их на самом деле 28.

    Вот это считается за розыгрыш:



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

    Нормальные розыгрыши распознаются корректно, это внушает оптимизм.



    Алгоритм генерит страничку с разбором игры, дайджестом и розыгрышами (все можно скачать), у каждого розыгрыша есть gif-превью с треккингом мяча, сразу видно, что распознается, а что нет.



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

    Цели и миссия


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

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

    Не могу удержаться, чтобы не процитировать, это прямо про меня.



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

    Так что по чеклисту полный провал.

    Выпуск


    Один из важных пунктов цели и миссии, о которых не принято говорить — это возможность (для автора) неограниченно поиграться с технологиями.

    На работе приходится в основном таскать рояль, а где еще развернуться с ML, CV и облаками?

    Поэтому система работает на Kubernetes, в основном для того, чтобы быстро ее масштабировать (ну так, на случай взрывного роста).

    Платформ для Кубернетеса не так мало, понятно, что в лидерах GKE, AWS и Azure, но многие авторы мелких проектов жалуются на их дороговизну. Я обратил внимание на второй эшелон — Digital Ocean и Linode, ценообразование там более гуманное и прозрачное, а решающим фактором в выборе было начилие у Digital Ocean управляемой базы данных — ставить постгрес в кубернетес конечно модно, но с точки зрения надежности выглядит не очень.

    Еще один большой плюс Digital Ocean — бесплатный CDN.

    Я развернул сервис в амстердамском датацентре — ближе к России ничего не нашлось.

    Аудитория и сегментация


    Если задуматься, автоматизация «волейбола» — весьма широкая задача.

    Волейболов только в официальной версии — два варианта (6x6 и 2x2), плюс к этому возможны разные форматы типа 4x4, 3x3, на траве, на снегу.

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

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

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



    Ссылки


    Комментарии 0

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

    Самое читаемое