Сегодня хотелось бы рассказать о библиотеке faster-coco-eval, эта библиотека представляет собой идейное продолжение реализации расчета метрик, разработанной facebook в своем фреймворке для компьютерного зрения detectron2.
🔥 https://t.me/+Wl7z_U34K5Y0NzYy - в моем тг канале куча гайдов, разбора кода, уроков по машинному обучению.
📌 https://t.me/data_analysis_ml - здесь мы занимаемся анализом данных на практике
📌 https://t.me/addlist/2Ls-snqEeytkMDgy - Супер полезная папка для всех, кто изучает Python и машинное обучение
📌https://github.com/MiXaiLL76/faster_c... Библиотека
В отличии от оригинальной реализации, библиотека faster-coco-eval отрезана от большинства зависимостей, таких как detectron2, pytorch, matplotlib.
Библиотека имеет 2 части, первая написана на С++, что позволяет добиться быстроты вычислений, вторая это идейное наследие pycocotools, который исследователи применяют для расчета большинства метрик своих продуктов.
В моих исследованиях, я добился повышения производительности (скорости вычисления метрик) в 2 и более раза, что позволяет быстрей проводить валидацию и тратить меньше ресурсов на это.
Помимо всего этого в библиотеке реализованы интерфейсы графического вывода метрик, такие как вывод Pre-rec кривой, f1 кривой, визуализация FP, FN, GT и детекций, а так же Confusion matrix с выводом классов и нормализацией.
Для работы с библиотекой требуется лишь импортировать ее и заменить стандартные вызовы pycocotools на faster-coco-eval, я покажу это на примере подготовленного в google colab ноутбуке
Валидация в ноутбуке построена на фреймворке mmdet от mmlab, для упрощения работы.
В этом ноутбуке я заранее прогнал все ячейки, чтобы подготовить модель, которую буду валидировать.
Из тестового датасета coco я оставил для примера лишь 100 изображений с аннотациями.
Кроме валидации, библиотека, как например fiftione позволяет прямо в ноутбуке визуализировать GT датасет, и посмотреть аннотации.
Для сравнения оригинальной библиотеки и faster-coco-eval я прогнал поочередно эти библиотеки и сравнил сколько занимает валидация.
Итоговые показания скорости работы представлены в таблице на экране.
Так же для bbox посчитаны 2 кривые
1) Pre - rec кривая, которая позволяет исследователям лучше выбрать min_score для своих моделей основываясь на том, что им важно.
2) f1 кривая, позволяет сделать это более усредненно
Визуализация результатов работы модели представляет из себя возможность вывода изображении с аннотациями. Аннотации интерактивны и мы можем наводя на них мышкой увидеть классы, score и тип ошибки который произошел.
Например FP - это то, что нашла модель, но этого нет в изначальном датасете, оно показано красным.
Или же FN - это то, что модель не нашла, но оно есть в изначальном датасете, оно показано синим.
Сами детекты показаны розовым, а GT показаны зеленым.
Confusion matrix для большого кол-ва классов выглядит устрашающе, но она интерактивна, что позволяет нам приблизить зоны интереса.
Информация по комментариям в разработке