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 :

  1. 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)
  2. Détection d'objets : encadre 80 objets courants comme les personnes / véhicules / animaux
  3. Suivi d'objets : attribue un identifiant à chaque objet pour éviter qu'une même personne déclenche plusieurs événements
  4. Reconnaissance fine (optionnelle, en parallèle) : reconnaissance faciale, reconnaissance de plaque d'immatriculation, posture / chute
  5. 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.

BackendMatérielUtilisation CPU approximative pour 10 flux à 5 im/s
cpuCPU uniquement70 à 90 % de 4 cœurs
openvinoiGPU / NPU Intel, 11ᵉ génération et +20 à 40 %
cudaGPU NVIDIA8 à 15 % + 50 % GPU
trtGPU 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é

La vision nocturne infrarouge et la lumière du jour font apparaître la même personne différemment aux yeux du système. Pour une porte d'entrée, téléversez 2 à 3 photos pour le jour et autant pour la vision nocturne. Augmenter le seuil de visage est plus strict mais rate davantage ; le baisser est plus permissif mais entraîne plus facilement des erreurs d'identification.

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 :

  1. Posture allongée sur une seule image : évalue si la posture actuelle ressemble à une position « allongée »
  2. Confirmation multi-images : posture allongée sur plusieurs images consécutives, ce qui filtre un accroupissement ou une flexion brève
  3. 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

La détection de chute est sensible à l'angle de la caméra : un angle de 30 à 45° vers le bas est optimal. Montée trop haut (80° vers le bas), une personne au sol ressemble à un simple point et la détection échoue.

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. 1

    Ouvrir l'éditeur de zones

    Détails de la caméra → Zones sensibles → Modifier

  2. 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. 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. 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ètreValeur par défautEffet d'une augmentationEffet d'une diminution
Seuil de confiance objetpersonne 0,40 / véhicule 0,30 / autres 0,25Détections manquéesDavantage de faux positifs
Seuil de similarité faciale0,5Reconnaissances manquéesErreurs d'identification
Délai de rappel des événements (secondes)120 (visage) / 30 (audio) / 5 (geste)Événements perdusAvalanche de notifications
Seuil de vitesse de chute0,6 (hauteur de la boîte englobante normalisée / seconde)Chutes manquéesConfond 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

L'inférence de reconnaissance de gestes est assez coûteuse et déconseillée sur les paliers CPU/iGPU Intel. L'image commerciale inclut le modèle 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

Un chat qui miaule, une publicité télé ou le bruit du lave-vaisselle peuvent occasionnellement déclencher un faux positif. Nous recommandons d'augmenter le seuil audio et d'activer le filtre RMS pour écarter les segments silencieux. Les jeunes parents devraient régler le délai de rappel de l'automatisation « pleurs de bébé » à 60 secondes ou plus pour éviter une avalanche de notifications rapprochées.

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).

Détection IA - Docs SkyView