Это более вероятно для долгосрочной разработки, но, как я уже написал аналогичный ответ, разместите его здесь.
- Сначала создайте набор данных игроков с ограничивающими рамками (около 500-1k , а затем используйте увеличение, чтобы сделать еще несколько тысяч). Вы можете использовать следующие инструменты для аннотирования:
https://github.com/developer0hye/Yolo_Label (прекрасно работает, но только для windows)
https://github.com/AlexeyAB/Yolo_mark
https://github.com/heartexlabs/label-studio (это более сложный инструмент аннотирования для многих других задач)
При использовании этих инструментов не требуется более нескольких часов аннотировать данные.
Существует множество инструментов для увеличения, таких как - https://github.com/mdbloice/Augmentor
https://github.com/wagonhelm/rotation_augment (Если вы хотите использовать вращение на изображения)
Поскольку игроки будут двигаться, вам нужно что-то с хорошим FPS, а также с разумной картой. Из моих экспериментов со многими моделями обнаружения объектов я нашел yolov3 (dar knet) как наиболее стабильный.
Я бы предложил go с dar knet YOLO, что написано на C ++, вам не нужно писать какой-либо крупный код, он будет быстрым и точным.
https://pjreddie.com/darknet/yolo/
Используйте этот репозиторий, если вы Linux https://github.com/pjreddie/darknet
Используйте этот режим, если вы используете Windows https://github.com/AlexeyAB/darknet
Перед тренировкой вам нужно найти оптимальный размер привязки для вашего набора данных. Я написал простое k-средство, чтобы найти размер привязки в любом yolo-совместимом наборе данных.
https://github.com/zabir-nabil/yolov3-anchor-clustering
Я сделал небольшую настройку (например, отправил массивы OpenCV / numpy напрямую в модель), чтобы ускорить работу API dar knet python на сервере (сервер модели tenorflow с REST и gRP C). Я также написал flask сервер для него. Вы можете найти его здесь -
https://github.com/zabir-nabil/tf-model-server4-yolov3
Есть несколько предварительно обученных моделей (вы легко найдете их на github) для пешеходов, но они не дадут вам очень хорошую производительность из-за очень разного фона, а также артефактов движения.