В данном репозитории содержатся скрипты для подготовки датасета, обучения, оптимизации и инференса нейронной сети для детекции футбольного мяча
Для обучения нейронной сети для детекции футбольного мяча был выбран датасет Open Images V6,
так как в разметке присутствует класс футбольного мяча. Чтобы скачать изображения и разметку с нужным классом, из папки open_images
запускаем download_annotations.sh
,
затем preprocess_dataset.py
, затем download_images.py
.
Для подготовки реального датасета изначально необходимо в папке real_data
запустить скрипт create_dirs.sh
,
далее в папку real_data/data/annotations
поместить разметку,
а в real_data/data/videos
видео. После этого можно проверить разметку, запустив check_annotations.py
,
получив видео с отрисованной разметкой в папке debug_videos
.
После проверки разметки запускаем create_real_dataset.py
, а затем replace_to_open_images.py
для перемещения в папку с общим датасетом.
Для воспроизведения эксперимента необходимо запустить скрипт train.sh
Запускаем export.sh
с указанием пути до весов модели, затем помещаем onnx модель в папку detection/model и называем её best.onnx
Запускаем build_docker.sh
Запускаем detect.sh
с указанием пути до видео, на котором нужно детектировать мяч.
По окончанию работы скрипта в папке с исходным видео появится видео с приставкой _debug
в названи,
оно будет соджержать результат работы детектора.