Как компьютерное зрение помогает юным футболистам прокачивать навыки
Глеб Шапортов - Сооснователь JuniStat. Расскажу, как компьютерное зрение и ML-модели от SberCloud уже сейчас помогают оценить потенциал молодых футболистов, собирать объективные данные и выявлять талантливых игроков. И как проект JuniStat, который недавно привлек $310 тыс. от клуба венчурных инвесторов AngelsDeck, снижает порог вхождения в большой спорт для молодых спортсменов. Фото: depositphotos.com Технология удаленной селекции Каждый футбольный клуб хочет видеть в своем составе топовых игроков. Но их предварительно нужно подготовить, воспитать, а до этого — найти. Так, скауты спортивных академий постоянно ищут талантливых ребят в профильных школах, на просмотрах на турнирах. Однако делать это в масштабах целой страны дорого и сложно, а большинство талантливых детей так и не попадают в их поле зрения. Тем не менее в России и мире достаточно ярких игроков, способных раскрыть свой потенциал при должной подготовке, но найти такие таланты можно лишь по воле случая. У многих просто нет доступа к передовым методикам и тренерам, чтобы отточить навыки и заявить о себе. При этом родители юных футболистов не всегда могут объективно оценить, насколько их ребенок талантлив, и помочь ему с занятиями и развитием спортивной карьеры. Но ведь каждый юный футболист заслуживает шанс как минимум показать себя и благодаря своему таланту и мотивации попасть в большой спорт, подумали мы. Так появилась идея для двух приложений: JuniStat и JuniCoach. Первое помогает начинающим спортсменам тренироваться самостоятельно и посылать онлайн-заявки в клубы. Второе ориентировано на тренеров и упрощает командные тестирования и сбор данных по игрокам в футбольных школах. Как это выглядит со стороны футболиста В приложении JuniStat есть личный кабинет игрока. Там он рассказывает о себе — указывает роль на поле, рост, вес и другую информацию, которую считает важной. Туда же можно загрузить нарезку лучших моментов с матчей. Кроме того, в приложении есть специальные тесты, которые юный футболист делает на оценку. Работает это следующим образом: Юниор выполняет задание на камеру смартфона из мобильного приложения. Видео анализирует технология искусственного интеллекта. Система формирует цифровую карточку игрока, которую могут просмотреть футбольные академии и скауты. Представленные задания помогают оценить физическую и техническую подготовку игрока, владение ключевыми навыками футболиста — качество дриблинга на скорости, контроль мяча, точность передачи, силу ударов по воротам и так далее. С помощью компьютерного зрения приложение собирает более 60 параметров физической и технической подготовки футболиста. В итоге каждый игрок имеет свой цифровой профиль со статистикой развития в разрезе многолетней подготовки. Тесты в приложениях взяты из европейских футбольных методик. За методическую часть проекта отвечает директор по продукту — Виктор Алексеев. За рубежом футбольная наука развивается достаточно быстро, поэтому он регулярно анализирует тематические диссертации во французских, бельгийских и английских университетских библиотеках. Сами по себе тесты разделены на категории. Некоторые задания можно выполнить дома или у себя во дворе. Для других понадобятся спортивные площадки, стадионы или газоны на приусадебных участках (но, конечно же, на подготовленных зонах выполнять задания комфортнее и безопаснее). JuniStat изначально создавали не только для юниоров, желающих построить футбольную карьеру. Полезные функции есть и для энтузиастов, которые тренируются для души. Например, они могут посоревноваться с друзьями в чеканке мяча. В приложение добавили тест «Фристайл», в рамках которого игроки могут продемонстрировать любимые финты. Они попадают в ленту, где их смотрят другие участники сообщества. Мы также запускаем различные челленджи, например: предлагаем юным футболистам повторить сложные элементы. Авторы роликов с наибольшим числом плюсов получают призы. Таким образом, JuniStat — это не просто инструмент селекции, а сообщество, где молодые игроки могут тренироваться, самовыражаться и соревноваться друг с другом. Как это выглядит со стороны тренера В приложении JuniCoach тренер видит динамику развития игрока (в том числе в рамках группы). Статистика помогает тренеру оценить эффективность программы тренировок для каждого игрока, при необходимости ее скорректировать и построить индивидуальный трек развития спортсмена. Например, график показывает, как менялось время прохождения десятиметровой дистанции игроком. В то же время приложение упрощает сам процесс оценки параметров — скорости, реакции, разгона и так далее. Большинство школ использует для отсчета временных промежутков секундомеры. Но в этом случае итоговый результат зависит от глазомера и реакции тренера. Крупные академии применяют дорогие лазерные датчики, но и у них тоже есть недостатки. Лазеры не застрахованы от ложных срабатываний (игрок может случайно перекрыть луч рукой при подготовке) и вносят погрешность в оценку стартового рывка (если спортсмен немного отошел от стартовой линии). Поэтому мы решили пойти другим путем и использовать технологии компьютерного зрения. Они позволяют тренерам получить результаты, сопоставимые по точности, и измерить параметры, которые нельзя посчитать с помощью лазеров — например, построить графики ловкости, ускорения и торможения. Пройденные тесты и развитие игрока Результатами своих подопечных тренер может поделиться с родителями: И, разумеется, с профессиональными школами и клубами: Кабинет представителя (поиск академий) В приложении также есть доступ и для самих академий и школ. Сервис помогает скаутам быстро и эффективно отбирать талантливых игроков. Кабинет академии Что под капотом Экосистема приложений JuniStat представляет собой футбольный цифровой хаб, где юные игроки со всего мира занимают места в рейтинге согласно своим достижениям. Соответствующий уровень навыков автоматически определяет интеллектуальная система с технологиями машинного обучения, которые помогли нам стать частью программы NVIDIA Inception для перспективных AI-стартапов. Системы ИИ анализируют видео с камеры смартфона при помощи компьютерного зрения. Основу алгоритмов составляют два открытых фреймворка — FastPose и YOLOv5. Первый нужен для определения позы спортсмена, а второй — для задач детекции. Хотя за год были перепробованы несколько решений. На задачах pose estimation тестировали Hourglass и CPM, однако они не устроили качеством. Для обнаружения объектов запускали SSD, Detectron2, YOLOv3 и EfficientDet, но остановились на YOLOv5 как на самом стабильном варианте. При построении рейтинга учитываются порядка шестидесяти различных метрик. При этом мы переводим результаты тестов в баллы навыков физической и технической подготовки (от 0 до 100). Так игрокам и скаутам проще воспринимать общую картину. Сразу понятно, чей навык выше, если у первого юниора 80 баллов за ведение мяча, а у второго — всего 50. В то же время подобная система делает рейтинг «живым». Новые игроки приходят и показывают более высокие результаты. Вчерашние лидеры вынуждены совершенствовать свои скиллы, чтобы вернуться в топ. В приложении для тренеров и скаутов, наоборот, сделан акцент на исходных данных. Тренер, работая с командой, и так знает, кто лучше или хуже ведет мяч. Детализированные графики позволяют ему понять причину и какой конкретно элемент необходимо подправить игроку для улучшения навыка. Подробная статистика уже помогла раскрыть сильные стороны игроков. У троих ребят были довольно средние результаты во время рывка на «десятиметровке» — разница не превышала 0,02 секунды. Графики скоростей каждого из них показали, что первый — действительно бегает на среднем уровне. Второй — бежит быстро, но медленно стартует из-за недостатка реакции. Третий футболист реагировал и бежал очень быстро, но к середине дистанции сильно сбрасывал скорость. У него была классическая проблема финиша, подробно описанная в научной литературе. Дети часто воспринимают конец дистанции как место, к которому они должны остановиться. С этой проблемой можно бороться, и если бы тренер не знал о ней, то записал бы парня в середняки и не уделял ему нужного времени на тренировках. В итоге статистика JuniCoach наглядно показала потенциал каждого футболиста. Как обучали модель При поиске ресурсов для обучения модели мы остановили свой выбор на платформе ML Space от SberCloud. Не последнюю роль в этом сыграло то, что здесь была возможность использовать стандартное окружение и Jupyter Lab для работы с большими данными. Что касается вычислительных мощностей, то для обучения модели потребовался один сервер с графическим ускорителем Nvidia Tesla V100 в 32 гигабайта, 92 гигабайтами оперативной памяти и процессором с тремя ядрами. На текущем этапе развития продукта этих мощностей оказалось достаточно. На стороне облачного провайдера помогли с настройкой кластеров, SSH-подключением для среды разработки PyCharm и обеспечили поддержку при решении возникающих проблем. Для хранения данных, инференса моделей и приложений мы также используем возможности SberCloud ML Space. Облачные решения выгодны для стартапов на начальных этапах развития, так как не нужно тратить ценный бюджет на приобретение железа. Покупка собственных машин может быть целесообразна при кратном росте пользовательской базы, но тут тоже не все однозначно. Если нагрузка имеет нелинейную природу, может быть дешевле запустить несколько дополнительных виртуальных серверов на период пикового потребления, а потом вернуться к минимальной конфигурации, что как раз очень удобно, поскольку облачный провайдер позволяет оперативно масштабировать ресурсы под задачу и платить только за фактическое использование мощностей. На обучение одной модели у нас уходит от нескольких часов до суток — это в 2,5 раза быстрее, чем при работе со стандартным железом. Мы в JuniStat постоянно экспериментируем с параметрами и размерами датасетов. Своды данных собираем самостоятельно — готовые не подходят из-за специфики. Мы строим их на основе видео, загружаемых пользователями. Разметку проводим своими силами с помощью RoboFlow или используем другие аналогичные сервисы. Оценка готовых моделей идет по метрикам Average Precision, PCKh (процент корректно определенных точек) и IoU. Для логирования результатов применяем WandB. Так, при участии облачных сервисов SberCloud мы протестировали игроков и собрали данные по подготовке футболистов в ведущих школах РФ. Где взяли деньги на развитие Развитие платформы и технологии требует достаточно серьезных вложений, особенно много затрат идет в RnD. Проект несколько раз привлекал инвестиции и получал гранты. Так, в 2020 году мы получили $250 тыс. инвестиций от бизнес-ангелов. А совсем недавно, в январе 2022 года, $310 тыс. в JuniStat инвестировал клуб венчурных инвесторов AngelsDeck. Синдикатором сделки выступил Илья Партин, инвестиционный директор Brayne. За счет модели синдикации мы привлекли не только деньги, но и экспертизу членов клуба, которая помогает нам в решении текущих бизнес-задач. Результаты и планы Технология JuniStat прошла валидацию в Российском Футбольном Союзе. Ей уже пользуются более 24 000 игроков и клубы из России и СНГ, в числе которых «Ростов», «Академия футбола имени Юрия Коноплёва», СШОР «Зенит», «Родина», «Строгино» и другие. В стадии пилотного запуска находится проект с Московской Федерацией Футбола, в рамках которого будут сформированы цифровые профили 1000 игроков и начнется сбор данных в разрезе многолетней подготовки юных футболистов. Организаторы проекта уже начали подключать к JuniStat футбольные школы и клубы из Европы и США. В январе 2022-го наш проект был выбран в топ-10 мировых акселераторов Start-Up Chile — и с марта мы выходим на рынок Латинской Америки. Сейчас JuniStat проходит рассмотрение и аккредитацию в программе инноваций FIFA. В перспективе мы планируем подключать новые облачные сервисы — в том числе для развертывания моделей и продвинутого эксперимент-менеджмента. Они позволят оперативнее расширять возможности приложений — добавлять новые тесты для тактического мышления и инструменты для психологической оценки игроков.