Как мне ускорить вывод данных YOLO v3-v4?

Я запускаю YOLO V3 или YOLO v4 на Jeston Xavier, версия DNN OpenCV, это очень медленно, едва достигает ~ 7-9 кадров в секунду с использованием DNN в контейнере докеров. Мне интересно, не могли бы вы рассказать мне, какой самый простой способ ускорить обнаружение? Любые рекомендации или учебники о том, как ускорить вывод?

2 ответа

Две вещи, которые вы можете попробовать ускорить вывод:

  • Используйте меньший размер сети. Например, используйте yolov4-416 вместо yolov4-608. Вероятно, это происходит за счет более низкой точности.
  • Попробуйте преобразовать вашу сеть в TensorRT и использовать смешанную точность (FP16 даст огромный прирост производительности, а INT8 даже больше, хотя тогда вам придется отозвать свою сеть)

Что касается последнего, я бы посоветовал подписаться на этот отличный блог:

блог

Вы можете уменьшить размер изображения в .cfg

файл:
      width=416
height=416
  • Используйте число, кратное 32 (это может повлиять на вашу точность, если объекты в вашей сцене слишком малы).
  • И вы можете обрезать входное изображение, чтобы квадратная форма оставалась только в интересующей области. Это помогает предотвратить слишком сильное сжатие мелких объектов при уменьшении размера изображения, поскольку Yolo сжимает входное изображение до указанного выше width
и height при сохранении соотношения сторон изображения.

Вы также можете попробовать Yolov3-tiny или Yolov4-tiny, это меньшая сеть, но это также может повлиять на вашу точность. (Эти решения были основаны на моем опыте. Всегда существует компромисс между скоростью и точностью при работе с Yolo или другими сверточными сетями.)

Другие вопросы по тегам