Surveiller des caméras de sécurité avec une IA locale
(frigate.video)- Frigate NVR propose une solution de détection d'objets basée sur l'intelligence artificielle locale pour les caméras de sécurité installées à la maison ou au bureau
- Prise en charge de l'intégration avec des plateformes d'automatisation populaires comme Home Assistant, OpenHAB, Node-RED
- Frigate s'intègre directement au Home Assistant Media Browser, permettant une utilisation immédiate des flux caméra et de l'automatisation
- Grâce à l'exposition en temps réel de données capteur/interrupteur, il est possible de configurer divers scénarios de notifications et d'automatisation
- En s'appuyant sur MQTT pour une interopérabilité évolutive, il est possible de construire une smart home efficace
Fonctionnalités principales de Frigate NVR
- Frigate NVR exécute l'intelligence artificielle de détection d'objets localement, ce qui permet d'analyser les vidéos des caméras de sécurité sans dépendre d'un service cloud externe
- Il peut être intégré avec Home Assistant, OpenHAB, Node-RED, etc., et se connecter facilement à diverses plateformes d'automatisation domestique
- Frigate affiche directement les vidéos de caméra dans le Media Browser de Home Assistant, en fournissant des entités caméra à faible latence
- En exposant les résultats de détection d'objets en tant que données de capteur et d'interrupteur en temps réel, il ouvre la voie à de nombreux usages, dont la détection d'événements basée sur la vidéo, les règles d'automatisation et la configuration d'alertes
- La prise en charge du protocole MQTT est un atout pour une intégration évolutive avec d'autres systèmes IoT et d'automatisation
1 commentaires
Commentaires de Hacker News
J'utilise Frigate depuis plus de deux ans. Selon moi, il est bien meilleur, en termes de vitesse de détection et de fiabilité, que tous les systèmes que j'ai testés. Avant, j'avais utilisé des caméras Ring, Tapo et Eufy Security ; aujourd'hui, je ne me sers plus que de caméras Tapo, reliées à Frigate via RTSP. J'ai bloqué l'accès Internet de ces caméras, ce qui garantit parfaitement la confidentialité. Eufy Security n'était pas fiable non plus : chaque appui sur une notification de détection de mouvement affichait une publicité pour un nouveau produit, l'annonce passant avant ma sécurité. Il y avait aussi un souci avec l'ouverture des vidéos cloud malgré un abonnement payant, et des données sensibles comme les mots de passe étaient enregistrées sans chiffrement. Ces points ont été mes raisons principales de passer à une solution auto-hébergée. J'utilise Frigate avec du matériel d'occasion et une carte graphique RX 550 pour activer l'accélération matérielle, avec un délai de détection toujours inférieur à une seconde. J'ai même créé une app avec l'API Frigate pour envoyer des captures d'écran sur Telegram et Pushover, et j'ai maintenu un environnement autonome pendant deux ans. Sur toute cette période, le service n'a redémarré que deux fois. Je tunnelise depuis un VPS vers le serveur local de la maison, et je peux l'utiliser parfaitement depuis l'extérieur. Je suis vraiment reconnaissant de ce projet impressionnant.
wgetdepuis get.hacs.xyz, j'obtiens des erreurs SSL et la connexion est coupée.C'est une de mes critiques habituelles : utiliser l'acronyme NVR dans la première phrase sans explication. NVR signifie Network Video Recorder. Tout le monde n'est pas forcément un expert du domaine, donc évitez cette pratique.
GPU/TPU ne sont pas indispensables. Il suffit d'ajuster le nombre de caméras et les zones de détection. Pour la détection, j'utilise un sous-flux MJPEG basse résolution/faible taux d'images, et le h264 uniquement pour l'enregistrement et le visionnage. Pour l'inférence CPU, OpenVINO est bien plus rapide que TensorFlow par défaut, et sur une VM 6 cœurs (Ivy Bridge Xeon), deux caméras tournent avec environ 20 % d'usage CPU.
L'accélération vidéo (décodage vidéo, pas l'inférence d'objets) est un peu instable, mais derrière c'est l'expérience la plus solide que j'ai eue avec une solution d'inférence d'objets en temps réel. Les petits animaux ne me réveillent plus la nuit. Au passage, j'ai un abonnement annuel qui permet d'entraîner un modèle IA avec mes données de faux positifs ; la précision s'est nettement améliorée.
La qualité de packaging de Frigate est impressionnante. En standard, go2rtc ou MediaMTX (go2rtc, MediaMTX) suffisent, mais pour intégrer de l'IA il n'y a pas vraiment d'outils Unix-like vraiment simples ; il faudrait l'implémenter en Python.
Si je ne voulais pas traiter des vidéos enregistrées en temps réel, par exemple extraire de 5 heures d’enregistrement uniquement les scènes où un véhicule ou un conducteur tient son téléphone dans une zone précise, par où commencer et quel framework utiliser ?
Blague sur le fait qu'il suffirait de tenir un gros panneau indiquant d'ignorer son système de sécurité pour neutraliser l'installation ?
J'utilise Frigate avec 5 caméras IP (3 Hikvision, 2 Amcrest) et 1 caméra USB. Avec une Coral TPU USB, ça tourne correctement sur un vieux i7-6700, autour de 30 % CPU. Ce n’est pas top, mais c’est quand même viable. Les flux Amcrest se lisent bien, alors qu’Hikvision peut parfois nécessiter du transcodage à cause de soucis de codec. Il n’existe pas de fonction native pour envoyer les vidéos enregistrées à l'extérieur ; même en miroir le répertoire de stockage, isoler puis sauvegarder uniquement les événements importants reste structurellement difficile.
Je souligne encore une fois qu'avec un bon réglage du nombre de caméras et des zones de détection, CPU seul suffit, sans GPU ni TPU. Je partage mon expérience avec différents modèles (OpenVINO, Tensorflow, etc.).
C'est un autre sujet, mais pourquoi installer encore des caméras de surveillance qu'on regarde soi-même ? Il y a des études en psychologie disant que ces caméras augmentent davantage stress et anxiété. En pratique elles n’aident pas vraiment à prévenir le crime, et pour la police, les enquêtes ou les assurances, un backup hors site semble nécessaire. Même avec beaucoup de CCTV dans l'espace public, les cas où elles contribuent réellement à résoudre un crime (ex. identifier une plaque) sont extrêmement rares.
Je suis un ancien utilisateur de Frigate depuis 4 ans. Je n'utilisais Frigate qu'avec Frigate, sans Home Assistant ; récemment, j'ai réintroduit Home Assistant pour connecter les flux WebRTC des caméras Nest à Frigate. Je suis satisfait financièrement parce que je peux désormais en faire autant sans abonnement Nest Aware.