Pull to refresh
48
-1
Send message

Распознавание подачи в волейболе с помощью машинного обучения

Reading time6 min
Views2.9K

Развитие искусственного интеллекта сейчас переживает бурный рост, и сфера его применения постоянно расширяется, проникая в области, ранее никак не связанные с ИТ.

Хорошим примером такой экспансии является спорт.

Не так давно появился термин Sport tech и количество проектов значительно выросло за последние несколько лет.

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

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

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

Для стороннего зрителя (которым конечно является искуственный интеллект) есть несколько маркеров для привлечения внимания: игроки, мяч, судья, табло. Любой из этих объяектов может быть подвергнут аналитике. Но сегодня мы поговорим о мяче.

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments9

Выбираем быстрый детектор людей в 2021

Reading time3 min
Views6.1K

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

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments21

Распознавание волейбольного мяча на видео с дрона

Reading time2 min
Views4.8K

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

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

В общем, я это дело подзабросил, но вот весной завел себе дрон и конечно же первым делом приспособил его для волейбольных съемок. Если поднять его на нужную высоту (12-15 метров), в кадр влезает вся площадка, что дает прямо неограниченные возможности для анализа.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments21

Архитектура облачного волейбольного сервиса

Reading time4 min
Views2K
Не так давно я писал про волейбольный сервис, теперь пришло время описать его с технической точки зрения.

Возможно, общественное сознание найдет изъяны в архитектуре и подтолкнет к лучшим решениям.

Краткое описание функциональности:

  • пользователь загружает видео с записью волейбольной игры
  • один хитрый алгоритм распознает мяч на кадрах
  • другой хитрый алгоритм выделяет розыгрыши
  • розыгрыши компонуются в отдельные видеофайлы
  • файлы с розыгрышами собираются в дайджест всей игры
  • все видео заливается в облако
  • пользователи смотрят/качают/шарят клипы с самыми классными розыгрышами
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

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

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

  • Вариант 1 — продолжать исследования (в комментах к прошлой статье мелькали страшные слова SORT, YOLO итд)
  • Вариант 2 — найти применение в реальном мире, сделать продукт и показать людям
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments0

Распознавание мяча в волейболе с OpenCV и Tensorflow

Reading time4 min
Views6.6K
После первого опыта распознавания спортивных движений у меня зачесались руки сделать что-нибудь еще в этом направлении. Домашняя физкультура уже казалась слишком мелкой целью, так что я замахнулся на игровые виды спорта.

Применение искусственного интеллекта к спорту — недавняя тенденция, но уже есть интересные материалы:


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

Сразу скажу, что с наскока распознать элементы игры получилось с невысокой точностью, так что пришлось придержать амбиции и пилить задачу по частям. И первая часть — про самый маленький, но необходимый объект.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments8

Детектор приседаний на OpenCV и Tensorflow

Reading time5 min
Views10K
В эпоху заточения хорошо заниматься физкультурой, но вот беда — не все домашние с этим согласны, так что приходилось прикладывать некоторые усилия. Работать надзирателем однако хотелось не очень, потому как надо было собственно работать, а пущеный на самотек спортивный процесс, наблюдаемый в лучшем случае одним глазом, заимел тенденцию скатываться в халяву.

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

Начать было решено с приседаний. Фундаментальное движение, с явными состояниями, большой амплитудой, в общем, идеальный выбор.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments20

Модель «Хищник-жертва» на Node.js

Reading time5 min
Views13K
Недавно по сети прошел всплеск упоминаний игры Жизнь, в связи в основном с тем, что умер ее создатель.

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

Модель похожа на Жизнь тем, что это такой же циклический процесс, на который можно смотреть как на огонь, бесконечно медитировать и размышлять о вечном.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments10

Видео с облачным детектором объектов на Raspberry Pi

Reading time5 min
Views12K

Пролог


По сети сейчас гуляет видео — как автопилот Теслы видит дорогу.

У меня давно чесались руки транслировать видео, обогащенное детектором, да и в реальном времени.



Проблема в том, что транслировать видео я хочу с Raspberry, а производительность нейросетевого детектора на ней оставляет желать лучшего.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments19

Многопроцессный доступ к Intel Neural Computer Stick через REST

Reading time4 min
Views2.4K

Проблема однозадачности


В прошлой серии я поставил на танк Intel Neural Computer Stick 2 и перекинул на него все нейросетевые вычисления, отказавшись от Tensorflow и OpenCV-DNN.

Была проблема, с которой я столкнулся уже тогда — невозможность работать с NCS из нескольких процессов одновременно. Тогда это было не критично, а сейчас пришло время разобраться.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments0

Робот-танк на Raspberry Pi с Intel Neural Computer Stick 2

Reading time7 min
Views15K
Вот и наступил новый этап в развии Raspberry-танка.

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

Мозговой штурм и комментарии позволили определить следующие направления развития:

  • обучить собственную E-net сеть под нужный размер картинок
  • передать запуск нейросети с самой Raspberry на специальную железку, из которых наиболее часто упоминался Intel Movidius (он же Neural Compute Stick aka NCS).

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

Несколько дней — и интеловская чудо-железка у меня в руках.

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

В итоге, GPS был посажен на кабель, переведен вниз, и кабель обернут вокруг штатива, а на его место зашел NCS.

На этом hardware часть была завершена.


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments16

Распознавание дороги посредством семантической сегментации

Reading time4 min
Views9.7K
В предыдущей серии я проводил эксперимент с автономным движением своего домашнего танка. Дорога распознавалась с помощью цветового фильтра, а полученная маска шла на вход специально обученной нейросети-классификатору, которая выбирала ехать вправо, влево или прямо.

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

Но обо всем по порядку и для начала немного матчасти.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments26

Raspberry-pi-танк и GPS навигация

Reading time4 min
Views16K
После экспериментов с искуственным интеллектом автопилот моего танка решил сделать шаг назад и научиться ориентироваться по старым добрым спутникам.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments22

Автономная езда по тротуару посредством OpenCV и Tensorflow

Reading time4 min
Views9.1K
Создание автономных машин — популярная нынче тема и много интересного тут происходит на любительском уровне.

Самым старым и известным курсом была онлайн-степень от Udacity.

Итак, в автономных машинах есть очень модный подход — Behavioral Cloning, суть которого заключается в том, что компьютер учится вести себя как человек (за рулем), опираясь только на записанные входные и выходные данные. Грубо говоря, есть база картинок с камеры и соотвествующий им угол поворота руля.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments39

Следование линии на основе OpenCV

Reading time4 min
Views16K
Сейчас очень популярны курсы по созданию автопилотов для машин. Вот эта нано-степень от Udacity — самый наверное известный вариант.

Много людей по нему учатся и выкладывают свои решения. Я тоже не смог пройти мимо и увлекся.

Разница в том, что курс предполагает разработку алгоритма на основе предоставляемых данных, а я делал все для своего робота.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments14

Робот-танк на Raspberry Pi с OpenCV

Reading time6 min
Views35K
Одно время я увлекался сборкой роботов-машинок на Ардуино и Raspberry Pi. Играть в конструктор мне нравилось, но хотелось чего-то большего.

И как-то раз, блуждая по Алиэкспрессу, я набрел на алюминиевое шасси для танка. Выглядело это творение в сравнении с машинками из пластика как Феррари в сравнении с телегой.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments34

Information

Rating
Does not participate
Registered
Activity