Configuration: Détection de mouvement
À propos
La détection de mouvement dans Agent joue un rôle crucial dans l'initiation des Alertes et facilite le traitement de l'IA. Vous pouvez configurer Agent pour enregistrer lors de la détection de mouvement ou lorsqu'une alerte est déclenchée. Pour configurer ces options, accédez au menu Enregistrement et consultez le paramètre Mode. De plus, la détection de mouvement peut être utilisée pour activer diverses Actions.
Il est important de noter que la détection de mouvement peut parfois entraîner de fausses alertes en raison de son incapacité à distinguer entre le mouvement réel d'un objet et des facteurs environnementaux tels que le vent, la pluie ou les changements de luminosité. Pour réduire de telles fausses alertes, vous pouvez améliorer la précision de la détection de mouvement en intégrant Agent avec CodeProject.AI pour un filtrage d'alerte plus sophistiqué.
Configuration de la détection de mouvement
Le contrôle de la zone de détection de mouvement dans Agent est accessible en modifiant une caméra et en sélectionnant Détecteur dans le menu en haut à droite. Pour configurer un détecteur, commencez par définir les zones à surveiller. Agent prend en charge jusqu'à 9 zones, chacune représentée par une couleur différente, sélectionnable via le menu déroulant Zone. Pour créer une zone, cliquez sur l'outil de stylo et dessinez sur l'aperçu vidéo. Utilisez le bouton gauche de la souris ou le toucher pour dessiner, et sur ordinateur de bureau, le bouton droit de la souris pour effacer. L'outil de pointe ajuste la taille de la pointe du dessin, tandis que l'outil gomme supprime les zones dessinées. L'outil de réinitialisation peut être utilisé pour remplir toute la zone avec la zone sélectionnée. Agent surveille ensuite ces zones colorées pour détecter les mouvements.
- Activé : Activer ou désactiver l'utilisation du détecteur.
- Détecteur : Choisissez un type de détecteur de mouvement et configurez-le en utilisant le bouton "..." Les différents détecteurs de mouvement sont expliqués dans leurs sections respectives.
- Couleur : Ajustez la couleur de la superposition de détection de mouvement (non applicable à tous les détecteurs).
- Délai d'attente : Définissez la durée (en secondes, entre 1 et 60, par défaut 3) pendant laquelle la caméra reste dans un état de mouvement après avoir détecté l'arrêt du mouvement.
Utilisation des zones
Les zones sont cruciales pour les détecteurs d'IA (reconnaissance faciale / LPR / reconnaissance d'objets) et les détecteurs de suivi d'objets (comme la ligne de détection, la vitesse, le suivi d'objets). Vous pouvez sélectionner les zones qui déclencheront une alerte dans la configuration du détecteur, ou spécifier des Actions pour les alertes dans des zones spécifiques.
Le détecteur simple active une alerte si un mouvement suffisant est détecté dans toutes les zones.
Certains types de détecteurs n'utilisent pas les paramètres de zone, tels que MQTT, ONVIF ou le déclenchement de mouvement via des appels API.
Utilisation des zones de détection de mouvement
Les zones de mouvement sont des groupes configurables de zones que vous pouvez nommer et enregistrer pour une utilisation ultérieure. Pour enregistrer votre configuration actuelle de zone de mouvement en tant que nouvelle zone, cliquez sur l'icône d'édition à côté de Zone. Ces outils vous permettent d'ajouter, de modifier et de supprimer des zones.
Pour appliquer une zone de mouvement lors du déplacement de votre caméra PTZ vers une position prédéfinie PTZ (en utilisant l'interface Agent):
- Créez et enregistrez une nouvelle configuration de zone de mouvement avec un nom spécifique, comme "parking".
- Ajoutez une nouvelle Action:
Si : "Présélection PTZ appliquée"
Sélectionnez la commande de présélection PTZ (par exemple, "Aller à la présélection 1"). Note : Votre caméra doit prendre en charge les présélections PTZ pour que cela fonctionne.
Cliquez pour ajouter une tâche :
Tâche : "Définir la zone de détection de mouvement"
Sélectionnez votre nouvelle zone ("parking").
Cliquez deux fois sur OK. Maintenant, chaque fois que vous sélectionnez la présélection, ou si Agent définit la présélection via la planification ou un autre événement, cette zone de mouvement sera appliquée automatiquement.
Vous pouvez également modifier la zone de détection de mouvement à l'aide du Planificateur. Cette fonctionnalité permet d'avoir différentes configurations de zones de mouvement en fonction de l'heure, de la semaine ou de dates spécifiques.
Détecteur Simple
Simple
Le détecteur simple se concentre sur l'identification de tout type de mouvement dans le champ de vision de la caméra. C'est l'option la plus efficace en termes de CPU, après le détecteur ONVIF. Les mouvements détectés sont mis en évidence en rouge, ce qui vous permet de discerner facilement la source du mouvement dans la scène.
- Avancé : Pour des réglages et des options supplémentaires, consultez la section avancée ci-dessous.
- Sensibilité : Ajustez le niveau de mouvement nécessaire pour déclencher la détection. En définissant à la fois des valeurs minimales et maximales, vous pouvez affiner la détection - par exemple, une valeur maximale de 80 pourrait aider à ignorer les changements d'éclairage à grande échelle. Les chiffres sous le curseur représentent le pourcentage de pixels modifiés.
- Gain : Appliquez un multiplicateur aux pixels modifiés pour augmenter ou diminuer la sensibilité de la détection de mouvement.
Détecteur d'objets HAAR
Cette méthode utilise des fichiers appelés cascades HAAR pour reconnaître des objets dans le flux vidéo. Cependant, vous pourriez obtenir de meilleurs résultats en utilisant le détecteur d'objets simple en conjonction avec la configuration d'un serveur d'IA.
- Taille de la trame : Sélectionnez la taille de la trame pour le traitement. Les trames plus petites réduisent l'utilisation du CPU mais peuvent être moins précises.
- Intervalle de détection : Définissez la fréquence de traitement des trames, en millisecondes. Par exemple, 200 équivaut à 5 fois par seconde et 1000 équivaut à une fois par seconde.
- Limites de largeur et limites de hauteur : Définissez la plage de taille des objets à détecter par Agent, exprimée en pourcentage de la largeur ou de la hauteur de la trame. En ajustant ces curseurs, une superposition s'affiche sur la vidéo, indiquant la plage de taille des objets ciblés.
- Utiliser le GPU : Option permettant d'utiliser le GPU pour le traitement, disponible uniquement si votre GPU prend en charge Cuda et que les pilotes nécessaires sont installés.
- Fichier : Choisissez le fichier de cascade HAAR pour configurer le détecteur d'objets. Des fichiers par défaut sont fournis pour détecter les visages et les visages de chat.
- Condition d'alerte et nombre d'alertes : Configurez Agent pour générer des alertes basées sur la détection d'objets en fonction du nombre d'objets détectés. Par exemple, pour déclencher une alerte lors de la reconnaissance d'un visage, définissez la condition sur "Plus de" et le nombre d'alertes sur 0.
- Zones d'alerte (v4.4.8.0+) : Spécifiez les zones de mouvement à inclure dans la zone de surveillance.
- Vérifier les coins : Pour plus de détails, consultez Vérification des coins.
Vérification d'angle
Agent utilise une méthode sophistiquée pour déterminer si les objets détectés doivent déclencher des alertes ou des actions en fonction de votre configuration de zone. Il le fait en vérifiant le point central de l'objet détecté et, éventuellement, une grille s'étendant jusqu'aux coins de la boîte englobante de l'objet. Vous pouvez ajuster cette fonctionnalité en définissant un pourcentage qui représente la distance entre le point central et le coin de la boîte englobante pour les vérifications de zone. Fondamentalement, un réglage de 0 signifie que seul le point central est vérifié, 100 vérifie tous les coins, et 50 vérifie les points médians entre le centre et chaque coin du rectangle englobant. Si vous recevez de nombreuses notifications d'événements où l'objet ne semble pas être dans la zone désignée, alors définir la vérification des coins sur 0 pourrait être bénéfique.
MQTT
Vous avez la possibilité d'initier la détection de mouvement depuis votre serveur MQTT. Tout d'abord, assurez-vous d'avoir configuré MQTT de manière appropriée. Ensuite, pour déclencher la détection d'objet, il suffit de transmettre la commande indiquée dans l'écran de configuration du détecteur au canal SERVEUR/commandes où SERVEUR est le nom de votre serveur (affiché dans le menu du serveur que vous pouvez modifier dans les Paramètres). Cette intégration permet un système de détection de mouvement plus polyvalent et réactif, exploitant les capacités de votre serveur MQTT.
ONVIF
De nombreux dispositifs compatibles ONVIF sont équipés de leurs propres capacités de détection de mouvement. Lorsque vous sélectionnez ce mode et que vous l'associez à une caméra compatible ONVIF (en utilisant le type de connexion ONVIF dans Agent), Agent se basera sur le dispositif lui-même pour fournir des événements de détection de mouvement et déclencher des actions en fonction de ceux-ci. Si vous rencontrez des problèmes avec cette fonctionnalité, il est conseillé de vérifier les journaux (accessibles à l'adresse /logs.html sur le serveur local), car il est possible que votre caméra ne prenne pas en charge la détection ONVIF. Pour plus d'informations sur la configuration de ces paramètres, veuillez vous référer aux paramètres ONVIF du serveur.
Détecteur de personnes
Cette méthode utilise un algorithme spécialisé spécifiquement conçu pour détecter les piétons. Cependant, vous pourriez constater que l'utilisation du détecteur d'objets simple et l'intégration de Deepstack AI pour le filtrage des alertes offre de meilleurs résultats.
- Utiliser le GPU : Décidez si vous souhaitez utiliser le GPU pour le traitement, disponible uniquement si votre GPU prend en charge Cuda et que les pilotes nécessaires sont installés.
- Taille de l'image : Sélectionnez la taille de l'image pour le traitement. Notez que les images plus petites nécessitent moins de ressources CPU mais peuvent donner des résultats moins précis.
- Intervalle de détection : Définissez la fréquence de traitement des images, en millisecondes. Par exemple, 200 équivaut à 5 fois par seconde, tandis que 1000 équivaut à une fois par seconde.
- Condition d'alerte et nombre d'alertes : Configurez les critères pour générer des alertes en fonction du nombre d'objets détectés. Par exemple, pour déclencher une alerte lors de la reconnaissance d'un visage, définissez la condition sur "Plus de" et saisissez 0 dans le champ Nombre d'alertes.
- Zones d'alerte (v4.4.8.0+) : Choisissez les zones de mouvement spécifiques qui doivent être surveillées dans la zone de détection.
- Vérifier les coins : Pour des paramètres plus détaillés, consultez Vérification des coins.
Reolink
Certaines caméras Reolink offrent un point d'API que l'Agent peut interroger pour recevoir des états d'alerte de mouvement ou d'IA. Si votre caméra prend en charge cette fonctionnalité, vous pouvez utiliser ce détecteur. Pour vérifier si votre caméra a cette capacité, essayez d'accéder à l'URL : `http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD]` (remplacez `[IP ADDRESS]`, `[USERNAME]` et `[PASSWORD]` par l'adresse IP de votre caméra et vos identifiants de connexion, respectivement). Une connexion réussie renverra un texte formaté en JSON plutôt qu'une page d'erreur.
- Intervalle : Déterminez la fréquence à laquelle l'Agent interroge votre caméra pour les alertes ou les données de mouvement.
- Mode : Sélectionnez entre 'Mouvement' et 'IA'. Les deux modes déclenchent des événements de détection de mouvement dans l'Agent, qui peuvent être utilisés pour l'enregistrement (définissez le mode d'enregistrement sur Détecter). L'option 'IA' déclenche la détection de mouvement si la caméra identifie des classes d'objets spécifiques (comme chien_chat, visage, personnes, véhicule).
Vous pouvez configurer des actions pour effectuer des tâches lorsque des objets tagués comme chien_chat, visage, personnes ou véhicule sont détectés, à partir de la version 4.6.6.0.
Remarque : Pour activer la fonctionnalité IA, vous pourriez avoir besoin d'activer le suivi dans l'interface web de la caméra et définir les paramètres de taille d'objet minimum et maximum. L'Agent étiquettera ensuite vos enregistrements avec les objets identifiés par Reolink.
Détection de vitesse
Cette méthode utilise les informations de scène fournies par vous pour suivre les objets en mouvement, estimer leur vitesse et générer des alertes si les objets se déplacent trop rapidement ou trop lentement.
- Avancé : Pour des paramètres plus détaillés, consultez la section avancée ci-dessous.
- Limites de largeur et limites de hauteur : Définissez la plage de taille pour la détection d'objets dans la scène, avec des valeurs exprimées en pourcentage de la largeur ou de la hauteur de la scène. L'ajustement de ces curseurs affichera un superposition sur la vidéo, indiquant la plage de taille cible des objets.
- Déplacement minimum : Définissez la distance minimale qu'un objet doit parcourir pour être considéré en mouvement, en fonction d'un pourcentage de la largeur de la scène.
- Temps minimum : Spécifiez la durée pendant laquelle un objet doit être en mouvement pour être suivi, en dixièmes de seconde (par exemple, 1 = 0,1 seconde, 10 = 1 seconde).
- Mesure de vitesse : Sélectionnez l'unité de mesure de vitesse préférée pour la superposition.
- Limites de vitesse : Déterminez les limites inférieure et supérieure de la détection de vitesse. Les mouvements en dehors de cette plage déclencheront des événements de détection de mouvement.
- Distance horizontale et verticale : Entrez la distance totale à travers la scène en mètres. Agent utilise cette mesure pour calculer la vitesse des objets en mouvement.
- Zones d'alerte (v4.4.8.0+) : Choisissez quelles zones de mouvement sont incluses dans la zone de surveillance.
- Vérification des coins : Pour des paramètres supplémentaires, consultez Vérification des coins.
Suivi d'objet
Ce détecteur identifie et suit les objets en mouvement, déclenchant des événements de détection de mouvement en fonction de la durée de leur présence dans la scène et de la distance qu'ils parcourent.
- Avancé : Pour des paramètres et des options plus détaillés, reportez-vous à la section avancée ci-dessous.
- Limites de largeur et limites de hauteur : Spécifiez la plage de taille pour la détection d'objets, avec des valeurs données en pourcentage de la largeur ou de la hauteur de la scène. En ajustant ces curseurs, une représentation visuelle de la plage de taille d'objet ciblée sera superposée à la vidéo.
- Déplacement minimum : Définissez la distance minimale qu'un objet doit parcourir pour être reconnu comme un objet en mouvement, par rapport à la largeur de la scène.
- Temps minimum : Définissez la durée minimale pendant laquelle un objet doit être en mouvement pour être pris en compte dans le suivi, en dixièmes de seconde (par exemple, 1 = 0,1 seconde, 10 = 1 seconde).
- Affichage total : Ajoutez un compteur à la vidéo en direct pour suivre les objets en mouvement.
- Carte thermique : Visualisez les motifs de mouvement au fil du temps en ajoutant des lignes aux objets suivis.
- Zones d'alerte (v4.4.8.0+) : Choisissez quelles zones de mouvement doivent être incluses dans la zone de surveillance.
- Vérification des coins : Pour plus d'informations, consultez Vérification des coins.
Alors qu'Agent surveille et suit les mouvements dans la scène, il affiche des rectangles colorés autour des objets détectés. Les couleurs ont les significations suivantes :
- Blanc : Objet vient d'être détecté et est en cours d'examen.
- Jaune : Objet détecté pendant plusieurs images.
- Orange : Objet s'est déplacé pendant au moins la durée minimale spécifiée dans les paramètres de suivi.
- Rouge : Objet a rempli toutes les exigences de suivi pour déclencher un événement de détection de mouvement.
Lignes de détection
Ce détecteur reconnaît et suit les objets en mouvement, déclenchant des événements de détection de mouvement lorsqu'ils traversent des lignes de détection prédéfinies dans la scène. Pour ajouter des lignes de détection, cliquez simplement et faites glisser sur la vidéo en direct. Vous pouvez créer plusieurs lignes de détection selon vos besoins. Pour supprimer une ligne de détection, cliquez et faites glisser l'un de ses points hors de la scène.
- Avancé : Pour des réglages et options plus détaillés, consultez la section avancée ci-dessous.
- Limites de largeur et limites de hauteur : Définissez la plage de taille des objets à détecter, avec des valeurs exprimées en pourcentage de la largeur ou de la hauteur de la scène. Le réglage de ces curseurs superposera une représentation visuelle de la plage de taille cible sur la vidéo.
- Déplacement minimum : Spécifiez la distance minimale que doit parcourir un objet pour être reconnu comme un objet en mouvement, par rapport à la largeur de la scène.
- Temps minimum : Définissez la durée minimale pendant laquelle un objet doit être en mouvement pour être suivi, en dixièmes de seconde (par exemple, 1 = 0,1 seconde, 10 = 1 seconde).
- Activation répétée : Activez cette option pour permettre à un objet de déclencher plusieurs fois la même ligne de détection. Par défaut, un objet ne peut déclencher une ligne de détection qu'une seule fois.
- Compteur : Affichez le nombre de fois où les objets ont traversé la ligne de détection, ainsi que la direction de traversée. Les options incluent le comptage à gauche, à droite, des deux côtés ou total des traversées.
- Alerte : Configurez le système pour générer une alerte si la ligne de détection est traversée dans une direction spécifiée ou dans n'importe quelle direction.
- Zones d'alerte (v4.4.8.0+) : Choisissez quelles zones de mouvement sont incluses dans la zone de surveillance.
- Vérification des coins : Pour plus d'informations, consultez Vérification des coins.
Via API
Pour initier la détection de mouvement pour une caméra en utilisant un appel API, vous devez spécifier le type d'objet (ot) et l'identifiant de l'objet (oid). Par exemple, pour une caméra (ot=2) avec un ID de 1 (oid=1 - cet ID est affiché en haut du contrôle d'édition lors de la modification d'un appareil), l'appel API serait formaté comme suit :http://localhost:8090/command/detect?ot=2&oid=1
Paramètres avancés
Les paramètres par défaut des détecteurs conviennent généralement à la plupart des scènes, mais vous pouvez les ajuster pour améliorer les performances si nécessaire.
- Analyseur : L'analyseur actuellement disponible est le soustracteur d'arrière-plan CNT, connu pour sa grande précision et sa faible utilisation du CPU.
- Taille de l'image : Sélectionnez la taille de l'image pour le traitement. Les images plus petites réduisent l'utilisation du CPU mais peuvent diminuer la précision.
- Tracker : Choisissez le tracker OpenCV pour le suivi d'objets. Les options incluent :
- Mosse : Ce tracker offre la plus faible utilisation du CPU mais est le moins précis (par défaut).
- KCF : Plus précis que Mosse, mais légèrement plus intensif en CPU.
- CSRT : L'option la plus précise, mais elle utilise également le plus de CPU. Idéal pour les situations de suivi difficiles.
- Nombre maximal d'objets : Définissez une limite sur le nombre d'objets à suivre simultanément. Plus d'objets signifient une utilisation plus élevée du CPU.
- Intervalle de détection : Définissez la fréquence de traitement des images pour la détection de mouvement, en millisecondes (par exemple, 200 pour 5 fois par seconde, 1000 pour une fois par seconde).
- Intervalle de suivi : Définissez la fréquence de traitement du tracker. Un intervalle plus élevé peut entraîner la perte d'objets en mouvement rapide (par exemple, 200 pour 5 fois par seconde, 1000 pour une fois par seconde).
- Stabilité des pixels : Déterminez le nombre d'échantillons pour qu'un pixel soit considéré comme stable et le "crédit" maximal qu'un pixel peut obtenir en restant de la même couleur. Ces paramètres sont essentiels pour une soustraction d'arrière-plan et une détection de mouvement efficaces. Plus d'informations
- Utiliser l'historique : Activez cette option pour apprendre à connaître les objets en mouvement constants dans la scène. Il est généralement recommandé de laisser cette option désactivée sauf si nécessaire.
- Processus parallèle : Activez le traitement parallèle dans l'algorithme de détection de mouvement. Il est conseillé de laisser cette option activée.
- Délai de suivi : Spécifiez le temps d'attente (en secondes) pour qu'un objet réapparaisse avant de cesser de le suivre.
- Délai de mouvement : Définissez la durée (en secondes) d'attente avant qu'un objet immobile ne se déplace à nouveau avant d'arrêter son suivi.