Comments 21
>> Мобайлнет под процессоры больше заточен
Запускаются такие хобби-проекты на дешевых облаках, где Tesla 100 для Yolo явно не вариант.
Запускаются такие хобби-проекты на дешевых облаках, где Tesla 100 для Yolo явно не вариант.
В Colab или Kaggle можно оценку для GPU сделать, по крайней мере, грубо сравнить с того же сервера CPU.
Детекторы в OpenCV мягко говоря не самые быстрые. YOLOv4 модель тренированная в darknet и экспортированная в tkDNN работает со скоростью 170-200 fps на 2080TI в режиме FP16, с INT8 должно быть еще быстрее.
Вы имеете в виду, что сама реализация DNN не быстрая?
Использованная yolo модель взята с их сайта без изменений и тренирована скорее всего по всем правилам даркнета (хотя свечку я понятно не держал).
Да. Только если недавно не появилась возможность запускать сам даркнет в OpenCV, а не просто использовать конфиги и сериализованную модель, подтверждения этому я не нашел.
Пока самый быстрый вариант инференса на котором остановился сам, как уже упомянул выше - кастомная darknet YOLOv4 модель экспортированная в tkDNN к которому пришлось дописать простой Python API.
1) yolov5 достаточно отлажен и неплох уже. И там много быстрых моделей. Когда нужна скорость — там больше вариантов чем у v4. И поддержка неплохая/баги фиксят.
2) Yolox достаточно шустрый
3) Можно использовать указанные у вас yolov4, но дать им сильно меньшее разрешение на вход. Учитывая что это сильно более мощные модели, а ускорение будет пропорционально площади — может и вытянет до нужных вам скоростей.
4) Есть несколько платформ где можно у сеток достаточно удобно менять бэкбоны. И потестить тот же SSD/его ближайшие аналоги с более эффективными под вашу платформу бекбонами. Собственно detectron2, mmdetection, PaddleDetection
По бекбонам — Efficientnet, BlazeNet, младшие реснеты.
Но если честно, то думаю, чтобы вам не запариваться проще всего 1/2 пункты проверить.
Какая то у yolo5 мутная репутация, не понятно чему верить.
На вход yolo4 подаю 400x400 (также ssd). Можно подать меньше, но вряд-ли разрыв изменится.
Спасибо, почитаю про остальные
Очень странно судить о качестве детектора по одной (1 шт.) картинке. Почему не взяли какую-то более значимую выборку?
В реальных применениях все универсальные детекторы показывают посредственные результаты. Нужно чётко определиться в каких условиях детектор будет работать: размер объектов, движение и скорость, высота установки камеры, угол, под какими будут видны целевые объекты. Например если нам нужно распознавание людей в магазине (3-10 м), то модель, обученная на ванильном СОСО с кучей изображений людей высотой в 10-20 пикселей будет работать плохо. Надо или дообучать модель, или хотя бы подстроить желаемый mAP.
Что касается скорости работы YOLOv4, то результаты меня откровенно удивили. Приходилось экспериментировать довольно давно вот с этой реализацией YOLOv3 для детектирования автомобилей. Без каких-либо больших усилий удавалось получить скорость работы в 5-10 кадров/сек при неплохом качестве детектирования. Возможно, используемая Вами реализация из OpenCV нуждается в дополнительной настройке.
Интересно, Yolo3 считается медленнее чем Yolo4, возможно вы тестировались на хорошем железе?
Имеет значение не само FPS (которое понятно зависит от окружения) а относительная скорость разных детекторов.
Качество детектирования крупных объектов у всех рассмотренных сетей на достаточном уровне.
возможно вы тестировались на хорошем железе?
Если правильно помню, на GTX1060 6Gb.
Интересно, Yolo3 считается медленнее чем Yolo4
Результаты для меня тем более удивительные, что YOLOv3 по скорости примерно сопоставима с SSD. Разница же в 20 раз в сторону ухудшения, полученная для YOLOv4 в Вашем эксперименте, заставляет думать, что возможно в реализации из OpenCV есть какие-то нюансы. Например, здесь обсуждают, что в определенных кейсах может быть просадка производительности как раз примерно в те же 20 раз при выборе арифметики FP16.
Аа, все таки у вас был GPU, я то тестировался именно на CPU, наверное стоило это подчеркнуть в статье более явно, потому что таргет по железу - недорогие облака, у них обычно нет GPU.
Выбираем быстрый детектор людей в 2021