Обновить
4K+
4
Alexander Sigatchov@asigatchov

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

4
Рейтинг
Отправить сообщение

Ранее я писал статью об облегчённых вариантах 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 сек. Для наших условий - статическая камера визуально стали видны объекты в движение. На текущий момент мы на этапе разметки данных. По завершению проведем замеры точности

Информация

В рейтинге
1 392-й
Откуда
Орел, Орловская обл., Россия
Зарегистрирован
Активность

Специализация

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