Pull to refresh
4
Alexander Sigatchov@asigatchov

Python разработчик

Send message

Ранее я писал статью об облегчённых вариантах TrackNet/GridTackNet для запуска на CPU:
https://github.com/asigatchov/fast-volleyball-tracking-inference

Код для обучения моделей находится в отдельном репозитории:
https://github.com/asigatchov/vball-net-pytorch

Реализация основана на идеях из GridTrackNet и TrackNetV4.

На мобильных устройствах я эти модели пока не запускал. Один из возможных вариантов оптимизации — обучить модель обрабатывать каждый второй кадр при частоте видео 30 FPS, фактически выполняя детекцию на 15 FPS, а положение мяча на промежуточных кадрах интерполировать по соседним результатам.

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

TAPe — Theory of Active Perception — скорее стало катализатором моего интереса к этой задаче и отправной точкой для поиска новых архитектурных решений. Однако в процессе экспериментов реализация действительно сместилась в сторону CNN, как вы верно заметили. Основной целью было сначала получить рабочую модель, а затем, решая возникающие проблемы, глубже разобраться в устройстве подобных систем.

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

Что касается YOLO: в сравнительной таблице есть результаты замеров, и YOLO действительно отлично справляется с детекцией игроков. Основная проблема возникает с мячом. Её выраженность сильно зависит от камеры, выдержки и качества видео: на некоторых кадрах мяч выглядит не как круглый объект, а как размытый овал, короткая полоса или вообще почти не виден.

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

И главный ответ на вопрос «зачем создавать свою модель, если уже есть YOLO?» — мне хотелось собрать систему по кирпичикам с нуля и глубже понять, как работают детекция, временные признаки, выбор областей внимания и оптимизация инференса на CPU.

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

Мы выкинули цвет и для 30fps передали информцию за 0,1 сек. Для наших условий - статическая камера визуально стали видны объекты в движение. На текущий момент мы на этапе разметки данных. По завершению проведем замеры точности

Information

Rating
Does not participate
Location
Орел, Орловская обл., Россия
Registered
Activity

Specialization

Бэкенд разработчик
Ведущий
Python
Git
Linux
PostgreSQL
REST
Docker
Redis
MySQL