Умные камеры наблюдение для вашего Home Assistant

Kalinin Dmitry
2 min readJan 16, 2025

--

Для умного дома часто использует видеокамеры и нехватка распознавание объектов в реальном режиме времени из них чуток печалит. Хочется хорошо настроить оповещение в telegram или другие messengers по движению объектов. Также важные области видео разметить как важные или нет, типа вот эта часть очень “чувствительна” и сразу отправляй уведомления. Сразу приходит идея интеграции с YOLO которая и хорошо работает и хорошие datasets есть в открытом доступе. Но сразу возникает куча проблем: сильные задержки (от 15 секунд точно), также трансляцию нужно отправлять на сервер для распознавания и обратно. Такой wrapper работать будет нестабильно и время от времени будет “отваливаться”.

Идеальное решение это frigate. Открытый код NVR с функцией распознавания объектов в реальном времени на видео с IP-камер. Он может распознавать объекты на видео с камер в реальном времени с помощью OpenCV и Tensorflow. Также для дополнительного ускорения опционально задействует Google Coral Accelerator (все как мы любим). Coral даёт очень солидную скорость работы — до 100+ кадров в секунду с небольшими накладными расходами.

Live dashboard

Ну конечно “вишенка на торте” это несложная интеграция с Home Assistant, больше прочитать про интеграцию можно найти тут.

Еще главные преимущества:

  • Минимально использует ресурсы и максимизация производительности за счет поиска объектов только там и тогда, где это необходимо (можно делать разметку частей видео)
  • Многопроцессорная обработка с акцентом на обработку каждого кадра в режиме реального времени
  • Обнаружение объектов с помощью TensorFlow выполняется в отдельных процессах для достижения максимального FPS
  • Обмен данными через MQTT и легкая интеграция в другие системы
  • Круглосуточная запись
  • Поддержка WebRTC и MSE для просмотра в реальном времени с низкой задержкой
  • и другое + ребята много что дополняют

Хочу выделить умное распознавание звука из видео и настройка триггеров. По умолчанию оно выключено, но его можно легко включить через настройки:

audio: # <- enable audio events for all camera
enabled: True

cameras:
front_camera:
ffmpeg:
...
audio:
enabled: True # <- enable audio events for the front_camera

В конце хочется сказать, что именно в таких проектах нуждаемся сегодня. Когда очень мощное сообщество на github развивает супер полезный продукт и код бэкенда и фронтенда находится в нормальном состоянии. Советую заглянуть к ним в репозиторий и помогать в развитие.

--

--

Kalinin Dmitry
Kalinin Dmitry

Written by Kalinin Dmitry

Engineer. Constructivist. Lean manufacturing. Blockchain Enthusiast. IoT Enthusiast. https://github.com/null-none https://www.linkedin.com/in/kal1sha/

No responses yet