Détection IA
SkyView intègre 8 types de détection : mouvement → objet → visage / plaque d'immatriculation / chute / colis / geste / audio (pleurs de bébé). Ce chapitre explique l'ordre de détection, comment ajuster les paramètres, la gestion de la bibliothèque de visages, les zones sensibles, et le choix d'un backend d'accélération.
Ordre de détection
Chaque caméra est détectée indépendamment, limitée par défaut à 5 images/seconde (réglable). La détection se déroule de haut en bas : si une étape ne passe pas, toutes les étapes suivantes sont ignorées pour économiser du calcul :
- Détection de mouvement : vérifie d'abord la différence entre images successives ; si rien n'a bougé, toutes les étapes suivantes sont ignorées (le filtre le moins coûteux)
- Détection d'objets : encadre 80 objets courants comme les personnes / véhicules / animaux
- Suivi d'objets : attribue un identifiant à chaque objet pour éviter qu'une même personne déclenche plusieurs événements
- Reconnaissance fine (optionnelle, en parallèle) : reconnaissance faciale, reconnaissance de plaque d'immatriculation, posture / chute
- Persistance des événements : seuil atteint + hors cooldown → écriture d'un événement, déclenchement d'une notification / automatisation
Quel backend d'accélération choisir
Le tag de l'image détermine l'accélération matérielle utilisée par l'IA. Choisi une seule fois à l'installation — les différentes variantes installent des wheels onnxruntime différents (cpu / openvino-gpu / cuda) et ne peuvent pas être permutées à chaud. Pour changer de backend, récupérez l'image de la variante correspondante puis relancez docker compose up -d.
| Backend | Matériel | Utilisation CPU approximative pour 10 flux à 5 im/s |
|---|---|---|
| cpu | CPU uniquement | 70 à 90 % de 4 cœurs |
| openvino | iGPU / NPU Intel, 11ᵉ génération et + | 20 à 40 % |
| cuda | GPU NVIDIA | 8 à 15 % + 50 % GPU |
| trt | GPU NVIDIA (le plus rapide) | 5 à 10 % + 30 % GPU (le premier lancement nécessite ~3 min d'optimisation du modèle) |
Détection de mouvement
Activée par défaut. Une sensibilité plus élevée réagit plus vite ; trop élevée, elle se déclenche sur des feuilles agitées par le vent ou des ombres mouvantes ; trop basse, elle rate un enfant qui marche lentement. Nous recommandons de partir de la valeur par défaut et de l'ajuster progressivement selon les faux positifs observés.
Détection d'objets
Reconnaît 80 objets courants ; les plus fréquents : personne / voiture / vélo / moto / bus / camion / chat / chien / oiseau. La page des événements propose un filtre pour n'afficher que les classes qui vous intéressent.
Reconnaissance faciale
Vous devez d'abord constituer une bibliothèque de visages : Web Admin → Visages → Ajouter. Téléversez 3 à 5 photos de face par personne (sous différents éclairages / angles) ; le système en extrait les caractéristiques faciales et les stocke en base de données. Lors de la détection, la correspondance se fait par similarité.
- Visage connu : lorsqu'il est reconnu, l'événement est étiqueté « <nom> détecté »
- Inconnu : détecté mais sans correspondance dans la bibliothèque → étiqueté « Inconnu »
- Pas de visage : la détection d'objets a repéré une personne mais l'angle de la caméra ne permet pas de voir le visage → étiqueté « Piéton »
Le taux de reconnaissance baisse en faible luminosité
Reconnaissance de plaque d'immatriculation
Les plaques chinoises bleues, vertes et jaunes sont toutes prises en charge. Installez une caméra face à l'allée, au niveau du garage ou du portail ; avec un bon taux de reconnaissance, vous pouvez créer des automatisations comme « ouvrir automatiquement le portail au retour de mon véhicule ».
Détection de chute (personnes âgées vivant seules)
Une décision à trois niveaux limite les faux positifs :
- Posture allongée sur une seule image : évalue si la posture actuelle ressemble à une position « allongée »
- Confirmation multi-images : posture allongée sur plusieurs images consécutives, ce qui filtre un accroupissement ou une flexion brève
- Filtre de vitesse de descente : la transition de « debout » à « allongé » doit être suffisamment rapide, ce qui filtre le fait de « s'allonger volontairement » (par ex. s'allonger sur le canapé pour dormir)
Installation au salon / dans la chambre
Zones sensibles (Zones)
Par défaut, l'image entière déclenche la détection. Si vous souhaitez « ne surveiller que l'entrée du portail, pas les passants sur la route », dessinez une zone polygonale :
- 1
Ouvrir l'éditeur de zones
Détails de la caméra → Zones sensibles → Modifier
- 2
Dessiner un polygone sur l'image
Cliquez sur chaque sommet avec la souris, en fermant le polygone avec au moins 3 points ; vous pouvez en dessiner plusieurs, chacun étant configuré indépendamment
- 3
Configurer les règles
Pour chaque zone, choisissez « déclencheur / exclusion » : déclencheur = seuls les objets à l'intérieur de la zone comptent ; exclusion = les objets à l'intérieur de la zone ne comptent pas
- 4
Enregistrer
Prend effet immédiatement, sans redémarrage nécessaire
Seuils et délais de rappel (cooldown)
Paramètres → Détection pour les réglages globaux ; chaque caméra peut aussi les surcharger individuellement. Les principaux :
| Paramètre | Valeur par défaut | Effet d'une augmentation | Effet d'une diminution |
|---|---|---|---|
| Seuil de confiance objet | personne 0,40 / véhicule 0,30 / autres 0,25 | Détections manquées | Davantage de faux positifs |
| Seuil de similarité faciale | 0,5 | Reconnaissances manquées | Erreurs d'identification |
| Délai de rappel des événements (secondes) | 120 (visage) / 30 (audio) / 5 (geste) | Événements perdus | Avalanche de notifications |
| Seuil de vitesse de chute | 0,6 (hauteur de la boîte englobante normalisée / seconde) | Chutes manquées | Confond une position allongée sur le canapé avec une chute |
Détection de colis (arrivée d'une livraison)
Une caméra de porte d'entrée qui reconnaît un objet « colis/boîte » resté immobile plusieurs secondes déclenche un événement « colis livré » ; lorsqu'il disparaît, un événement « colis récupéré » se déclenche. Combiné à l'automatisation, cela permet de faire « notification push + annonce vocale (TTS) à l'arrivée d'une livraison ». Activez-le manuellement dans Web Admin → Paramètres → Détection (désactivé par défaut, et nécessite le modèle skyview-package.onnx — inclus dans l'image commerciale).
Reconnaissance de gestes
En complément de la boîte de détection de personne, elle reconnaît les gestes de la main, avec 6 gestes courants activés par défaut : pouce levé / ok / victoire (signe V) / paume / stop / poing. Activez-les ou désactivez-les dans Paramètres → Détection → Geste. Combiné à l'automatisation, cela permet de faire « montrer un geste SOS à la caméra → envoi d'une alerte push ».
Nécessite un GPU NVIDIA
skyview-gesture.onnx ; l'exécuter uniquement sur CPU ralentit sensiblement le pipeline principal.Détection audio (pleurs de bébé)
SkyView intègre la reconnaissance des pleurs de bébé BC-ResNet (skyview_audio_cry), qui exécute l'inférence sur un extrait audio de 2 secondes via une fenêtre glissante d'1 seconde ; en cas de détection positive, un événement « pleurs de bébé » se déclenche. Cela nécessite que la caméra dispose d'un microphone et que le flux RTSP transporte une piste audio. Désactivé par défaut ; activez-le dans Paramètres → Détection → Audio.
Les bruits ambiants provoquent facilement des faux positifs
Désactiver certaines détections
Règle générale : un GPU de 6 Go exécutant le pipeline complet (objet + visage + chute + colis + geste + audio) peut gérer de façon stable environ 6 à 8 flux secondaires en 1080p. Pour en gérer davantage, désactivez par caméra ce dont vous n'avez pas besoin dans les détails de la caméra (par exemple, une caméra de porte d'entrée n'a pas besoin de la détection de chute, désactivez-la) ; vous pouvez aussi désactiver une classe globalement (Paramètres → Détection → éléments activés).