Протестирована работа на МиниПК: https://alii.pub/75csno?erid=2SDnjdoJ2kU
Обсуждая Frigate мы часто говорим о том, что ему для хорошего распознавания объектов нужен NPU процессор. Например такой как Google Coral.
О том как настроить Google Coral в Frigate, я описывал тут:
Так-же хороший вариант использования NPU ядра у процессора RK3588 стоящего например на одноплатном компьютере Orange pi 5.
О том как настроить Frigate на этом процессоре с использованием его NPU, я описывал тут:
Настройка работы Frigate на Orange pi 5 используя NPU процессор Rockchip RK3588
Но это все-же дорогостоящие устройства и не каждый может себе их позволить, особенно если хочет просто только познакомиться с Frigate и посмотреть на его функции.
И вот для этого существует еще один вариант на чем можно использовать распознавание объектов… И этот Вариант называется OpenVINO.
Если кратко, то OpenVINO – это набор инструментов для распознавания объектов, который работает на процессорах Intel (но уже и не только).
Ну а если подробнее, то вот выжимка с официального сайта: https://docs.openvino.ai/2025/index.html
OpenVINO — это набор инструментов с открытым исходным кодом для оптимизации и развертывания моделей глубокого обучения от облака до периферии. Он ускоряет вывод глубокого обучения в различных вариантах использования, таких как генеративный ИИ, видео, аудио и язык с моделями из популярных фреймворков, таких как PyTorch, TensorFlow, ONNX и других. Конвертируйте и оптимизируйте модели и развертывайте их в сочетании оборудования и сред Intel®, локально и на устройстве, в браузере или в облаке.
Отсюда следует, что если у Вас например МиниПК на процессоре Intel N5095, то вполне себе можно использовать эту модель.
И есть еще некоторые моменты. У меня MINIPC на N5095 и там стоит HAOS с Home assistant в виртуальной машине на Proxmox. И вот если я там внутри устанавливал frigate в виде аддона, то у меня openvino не работало почему-то. Видимо какой-то поддержки в HAOS нету для интел процессоров.
Или в аддоне frigate для Home Assistant нет инструментов openvino. Но в общем в конфиге после прописывания Openvino, у меня frigate не поднимался.
Но если поставить frigate в LXC контейнер в proxmox, то проблем вообще никаких нет и все начинает работать.
Как установить frigate на proxmox я описывал тут:
Настройка frigate для работы с OpenVINO:
Настраивается все банально просто. В блоке detectors, указываем следующее:
detectors:
ov:
type: openvino
device: CPU
model:
path: /openvino-model/ssdlite_mobilenet_v2.xml
model:
width: 300
height: 300
input_tensor: nhwc
input_pixel_format: bgr
path: /openvino-model/ssdlite_mobilenet_v2.xml
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
Так-же если хотите не на процессоре детектировать, а на встроенном видео, то CPU меняете на GPU.
Выглядит это примерно вот так:
После этого запускаем и наслаждаемся работой. Но не забываем перевести обработку видео на видео, таким образом:
ffmpeg:
hwaccel_args: preset-vaapi
Так-же при запуске, у Вас могут быть ошибки такого плана:
2025-03-04 13:25:09.878372 [Errno 2] No such file or directory: ‘/openvino-model/coco_91cl_bkgr.txt’
2025-03-04 13:25:09.879425 Traceback (most recent call last):
2025-03-04 13:25:09.879461 File “/opt/frigate/frigate/app.py”, line 645, in start
2025-03-04 13:25:09.879494 self.init_config()
2025-03-04 13:25:09.879514 File “/opt/frigate/frigate/app.py”, line 139, in init_config
2025-03-04 13:25:09.879534 user_config = FrigateConfig.parse_file(config_file)
2025-03-04 13:25:09.879553 File “/opt/frigate/frigate/config.py”, line 1660, in parse_file
2025-03-04 13:25:09.879573 return cls.model_validate(config)
2025-03-04 13:25:09.879593 File “/usr/local/lib/python3.9/dist-packages/pydantic/main.py”, line 551, in model_validate
2025-03-04 13:25:09.879613 return cls.__pydantic_validator__.validate_python(
2025-03-04 13:25:09.879644 File “/opt/frigate/frigate/detectors/detector_config.py”, line 74, in __init__
2025-03-04 13:25:09.879662 **load_labels(config.get(“labelmap_path”, “/labelmap.txt”)),
2025-03-04 13:25:09.879679 File “/opt/frigate/frigate/util/builtin.py”, line 155, in load_labels
2025-03-04 13:25:09.879696 with open(path, “r”, encoding=encoding) as f:
2025-03-04 13:25:09.879713 FileNotFoundError: [Errno 2] No such file or directory: ‘/openvino-model/coco_91cl_bkgr.txt’
Эта ошибка говорит о том, что не может найти модель /openvino-model/coco_91cl_bkgr.txt
Такая ошибка у меня в LXC контейнере и означала она то, что вообще папки /openvino-model небыло.
Эта папка должна находиться в корне /openvino-model и в ней все модельки находиться. Я решил проблему закинув туда папку с моделью и дав права 775 на папку и файлы.
OpenVINO на процессорах AMD Ryzen:
И тут еще одна отличная новость. OpenVINO начинает поддерживаться и на процессорах AMD. Например на AMD Ryzen 5 5500U. Это я прочел с этой ветки: https://github.com/blakeblackshear/frigate/discussions/9417
Чтоб заработал AMD процессор надо такой конфиг вбить:
detectors:
ov:
type: openvino
device: CPU
model:
path: /openvino-model/ssdlite_mobilenet_v2.xml
model:
width: 300
height: 300
input_tensor: nhwc
input_pixel_format: bgr
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
Сам не проверял еще, но это хороший звонок.