что на нем YOLOv5s выдает 1 кадр раз в 2-3 секунды на CPU? Это без оптимизаций и прочих настроек, просто голый запуск через питон с ultralytics.
Я конечно знал что будет работать медленно, но везде где смотрел, на CPU писали порядка 3-6 FPS, а тут что-то совсем медленно.
Какой размер изображения входного?
Вы с камеры(какой?) снимаете поток или из файла обработку запускаете?
Не советую работать на CPU. На rk3588 есть три ядра NPU. Вот результат yolov8s на разрешении 640x640 (стандартном). На yolov5s должно быть еще чуть быстрее.
Делаю ресайз до 720х512, сама сеть работает на 640.
И камера и видео пробовал, разницы нет.
Это да, планирую на NPU делать, просто сам факт того что на CPU так работает немного смутил - мало ли что-то не так настроено.
Все равно подозрительно медленно на cpu
Ничего подозрительного нет. На СPU не оптимизированная модель так и будет медленно крутиться.
Можно и на cpu, вопрос оптиизации. Примерно 50-60 fps вполне на нем выжать (на cpu)
Алексей, а можете поделиться вашими знаниями (ресурсом) по поводу оптимизации модели, ну и инференсом, для работы с такой частотой кадров на CPU?
Правильно понимаю что такой FPS выходит за счет того что параллельно обрабатывается 3 кадра на 3 ядрах? Грубо говоря на одном ядре 15 FPS, параллельно на 3 выходит 15х3 = 45 FPS.
Пересборка OpenCV + распараллеливание на ядра творит чудо. OpenCV установленный через pip на одном ядре NPU выдавал 15 FPS у YOLOv5s, после пересборки стал выдавать 25 FPS. Параллельная работа на всех ядрах повысило до 70 FPS.
Привет, а пересборка подразумевает другие флаги типа отптимизаций или исключение не нужного?
Просто пересобрал через cmake практически ничего не меняя. Из основного только opencv_world включил, остальное по стандарту.
А на малине 5 таких результатов можно достичь?
На малине нет NPU, так что скорее всего нет. Но @cv_a_i писал что добивался 30 FPS на одном ядре процессора за счет оптимизации модели нейросети.
А вы таких результатов добились без оптимизации модели. Чисто за счет ядер NPU получается.
Обсуждают сегодня