Konfiguration: Bewegungserkennung
Über
Die Bewegungserkennung in Agent spielt eine entscheidende Rolle bei der Auslösung von Warnmeldungen und der Unterstützung der KI-Verarbeitung. Sie können Agent so konfigurieren, dass er bei Bewegungserkennung oder bei Auslösung einer Warnung aufzeichnet. Um diese Optionen einzurichten, navigieren Sie zum Aufnahme-Menü und beachten Sie die Einstellung Modus. Zusätzlich kann die Bewegungserkennung verwendet werden, um verschiedene Aktionen zu aktivieren.
Es ist wichtig zu beachten, dass die Bewegungserkennung manchmal zu falschen Warnmeldungen führen kann, da sie nicht zwischen tatsächlicher Objektbewegung und Umweltfaktoren wie Wind, Regen oder Helligkeitsänderungen unterscheiden kann. Um solche falschen Warnmeldungen zu reduzieren, können Sie die Genauigkeit der Bewegungserkennung durch die Integration von Agent mit CodeProject.AI verbessern, um eine anspruchsvollere Warnfilterung zu ermöglichen.
Einrichtung der Bewegungserkennung
Die Bewegungserkennungsbereichssteuerung in Agent ist zugänglich, indem Sie eine Kamera bearbeiten und im oberen rechten Menü Erkennung auswählen. Um einen Detektor einzurichten, beginnen Sie damit, Zonen zu definieren, die überwacht werden sollen. Agent unterstützt bis zu 9 Zonen, die jeweils durch eine andere Farbe dargestellt werden und über das Dropdown-Menü "Zone" ausgewählt werden können. Um eine Zone zu erstellen, klicken Sie auf das Stiftwerkzeug und zeichnen Sie über der Videovorschau. Verwenden Sie die linke Maustaste oder Touch zum Zeichnen und auf dem Desktop die rechte Maustaste zum Löschen. Das Nib-Werkzeug passt die Größe des Zeichnungsnibs an, während das Radiergummi-Werkzeug gezeichnete Bereiche entfernt. Das Zurücksetzen-Werkzeug kann verwendet werden, um den gesamten Bereich mit der ausgewählten Zone zu füllen. Agent überwacht dann diese farbigen Bereiche auf Bewegung.
- Aktiviert: Schalten Sie die Verwendung des Detektors ein oder aus.
- Detektor: Wählen Sie einen Bewegungsdetektortyp aus und konfigurieren Sie ihn mit der Schaltfläche "..." Die verschiedenen Bewegungsdetektoren werden in ihren jeweiligen Abschnitten erläutert.
- Farbe: Passen Sie die Farbe der Bewegungserkennungsüberlagerung an (nicht für alle Detektoren anwendbar).
- Timeout: Legen Sie die Dauer (in Sekunden, zwischen 1 und 60, Standardwert ist 3) fest, für die die Kamera nach Erkennung von Bewegungsstopps in einem Bewegungszustand bleibt.
Verwendung von Zonen
Zonen sind für KI-Detektoren (Gesichtserkennung/ LPR/ Objekterkennung) und Objektverfolgungsdetektoren (wie Linienüberschreitung, Geschwindigkeit, Objektverfolgung) unerlässlich. Sie können auswählen, welche Zonen in der Detektor-Konfiguration einen Alarm auslösen oder Aktionen für Alarme in bestimmten Zonen angeben.
Der einfache Detektor aktiviert einen Alarm, wenn ausreichende Bewegung in allen Zonen erkannt wird.
Einige Detektortypen nutzen die Zoneneinstellungen nicht, wie z.B. MQTT, ONVIF oder Bewegung, die über API-Aufrufe ausgelöst wird.
Verwendung von Bewegungsbereichen
Bewegungsbereiche sind konfigurierbare Gruppen von Zonen, die Sie benennen und für zukünftige Verwendung speichern können. Um Ihre aktuelle Bewegungszonenkonfiguration als neuen Bereich zu speichern, klicken Sie auf das Bearbeitungssymbol neben Bereich. Diese Tools ermöglichen es Ihnen, Bereiche hinzuzufügen, zu bearbeiten und zu löschen.
Um einen Bewegungsbereich anzuwenden, wenn Sie Ihre PTZ-Kamera auf eine PTZ-Voreinstellposition bewegen (über die Agent-Benutzeroberfläche):
- Erstellen und speichern Sie eine neue Bewegungszonenkonfiguration mit einem bestimmten Namen, z. B. "Parkplatz".
- Fügen Sie eine neue Aktion hinzu:
Wenn: "PTZ-Voreinstellung angewendet"
Wählen Sie den PTZ-Voreinstellbefehl (z. B. "Zur Voreinstellung 1 gehen"). Hinweis: Ihre Kamera muss PTZ-Voreinstellungen unterstützen, damit dies funktioniert.
Klicken Sie auf "Aufgabe hinzufügen":
Aufgabe: "Bewegungserkennungsbereich festlegen"
Wählen Sie Ihren neuen Bereich ("Parkplatz").
Klicken Sie zweimal auf OK. Ab sofort wird dieser Bewegungsbereich automatisch angewendet, wenn Sie die Voreinstellung auswählen oder wenn Agent die Voreinstellung über die Planung oder ein anderes Ereignis festlegt.
Sie können den Bewegungserkennungsbereich auch über den Zeitplaner ändern. Diese Funktion ermöglicht unterschiedliche Bewegungszonenkonfigurationen je nach Tageszeit, Wochentag oder bestimmten Daten.
Einfacher Detektor
Einfach
Der einfache Detektor konzentriert sich darauf, jede Art von Bewegung im Sichtfeld der Kamera zu erkennen. Es ist die CPU-effizienteste Option unter den Detektoren, nur übertroffen vom ONVIF-Detektor. Erkannte Bewegungen werden in rot hervorgehoben, so dass Sie die Quelle der Bewegung in der Szene leicht erkennen können.
- Fortschrittlich: Für zusätzliche Einstellungen und Optionen, siehe den fortgeschrittenen Abschnitt unten.
- Sensitivität: Passen Sie das Niveau der Bewegung an, die erforderlich ist, um die Erkennung auszulösen. Durch Einstellung von Minimum- und Maximumwerten kann die Erkennung verfeinert werden - zum Beispiel könnte ein Maximumwert von 80 helfen, große Helligkeitsänderungen zu ignorieren. Die Zahlen unter dem Schieberegler repräsentieren den Prozentsatz der veränderten Pixel.
- Verstärkung: Wenden Sie einen Multiplikator auf die veränderten Pixel an, um die Empfindlichkeit der Bewegungserkennung zu erhöhen oder zu verringern.
HAAR-Objektdetektor
Diese Methode verwendet Dateien, die als HAAR-Kaskaden bekannt sind, um Objekte im Videofeed zu erkennen. Allerdings können Sie möglicherweise bessere Ergebnisse erzielen, indem Sie den einfachen Objektdetektor in Verbindung mit der Einrichtung eines AI-Servers verwenden.
- Bildgröße: Wählen Sie die Größe des Frames für die Verarbeitung aus. Kleinere Frames reduzieren die CPU-Auslastung, können jedoch weniger genau sein.
- Erkennungsintervall: Legen Sie die Häufigkeit der Frame-Verarbeitung in Millisekunden fest. Zum Beispiel entspricht 200 5 Mal pro Sekunde und 1000 einmal pro Sekunde.
- Breitenbegrenzungen und Höhenbegrenzungen: Definieren Sie den Größenbereich der von Agent erkannten Objekte, ausgedrückt als Prozentsatz der Breite oder Höhe des Frames. Durch Anpassen dieser Schieberegler wird eine Überlagerung auf dem Video angezeigt, die den Größenbereich der erfassten Objekte anzeigt.
- GPU verwenden: Option zur Verwendung der GPU für die Verarbeitung, die nur verfügbar ist, wenn Ihre GPU Cuda unterstützt und die erforderlichen Treiber installiert sind.
- Datei: Wählen Sie die HAAR-Kaskadendatei aus, um den Objektdetektor zu konfigurieren. Standarddateien werden für die Erkennung von Gesichtern und Katzen-Gesichtern bereitgestellt.
- Alarmbedingung und Alarmnummer: Konfigurieren Sie Agent so, dass er Alarme generiert, die auf der Objekterkennung basieren, je nach Anzahl der erkannten Objekte. Um beispielsweise einen Alarm auszulösen, wenn ein Gesicht erkannt wird, setzen Sie die Bedingung auf "Mehr als" und die Alarmnummer auf 0.
- Alarmzonen (v4.4.8.0+): Geben Sie die Bewegungszonen an, die in den Überwachungsbereich einbezogen werden sollen.
- Ecken überprüfen: Weitere Informationen finden Sie unter Überprüfen der Ecken.
Eckenprüfung
Agent verwendet eine ausgeklügelte Methode, um zu bestimmen, ob erkannte Objekte aufgrund Ihrer Zonenkonfiguration Warnungen oder Aktionen auslösen sollten. Es tut dies, indem es den Mittelpunkt des erkannten Objekts überprüft und optional ein Gitter, das bis zu den Ecken des Begrenzungsrahmens des Objekts erweitert wird. Sie können diese Funktion anpassen, indem Sie einen Prozentsatz festlegen, der die Entfernung vom Mittelpunkt zur Ecke des Begrenzungsrahmens für Zonenprüfungen darstellt. Im Grunde bedeutet eine Einstellung von 0, dass nur der Mittelpunkt überprüft wird, 100 überprüft alle Ecken und 50 überprüft die Mittelpunkte zwischen dem Zentrum und jeder Ecke des Begrenzungsrechtecks. Wenn Sie zahlreiche Ereignisbenachrichtigungen erhalten, bei denen das Objekt nicht innerhalb der festgelegten Zone zu sein scheint, dann könnte die Einstellung Check Corners auf 0 vorteilhaft sein.
MQTT
Sie haben die Möglichkeit, die Bewegungserkennung von Ihrem MQTT-Server aus zu starten. Stellen Sie zunächst sicher, dass Sie MQTT entsprechend eingerichtet haben. Um dann die Objekterkennung auszulösen, geben Sie einfach den Befehl ein, der auf dem Konfigurationsbildschirm des Detektors angezeigt wird, in den SERVER/Befehle-Kanal ein, wobei SERVER Ihr Servername ist (angezeigt im Servermenü, das Sie in den Einstellungen bearbeiten können). Diese Integration ermöglicht ein vielseitigeres und reaktionsschnelleres Bewegungserkennungssystem, das die Fähigkeiten Ihres MQTT-Servers nutzt.
ONVIF
Viele ONVIF-kompatible Geräte sind mit eigenen Bewegungserkennungsfunktionen ausgestattet. Wenn Sie diesen Modus auswählen und ihn mit einer ONVIF-fähigen Kamera koppeln (unter Verwendung des ONVIF-Verbindungstyps in Agent), wird Agent sich auf das Gerät selbst verlassen, um Bewegungserkennungsereignisse bereitzustellen und Aktionen auf der Grundlage dieser auszulösen. Wenn Sie Probleme mit dieser Funktion haben, empfiehlt es sich, die Protokolle zu überprüfen (zugänglich unter /logs.html auf dem lokalen Server), da es möglich ist, dass Ihre Kamera die ONVIF-Erkennung nicht unterstützt. Weitere Informationen zur Konfiguration dieser Einstellungen finden Sie unter Server ONVIF-Einstellungen.
Personen Erkennung
Diese Methode verwendet einen spezialisierten Algorithmus, der speziell zur Erkennung von Fußgängern entwickelt wurde. Allerdings kann es sein, dass die Verwendung des einfachen Objektdetektors und die Integration von Deepstack AI zur Filterung von Warnungen bessere Ergebnisse liefert.
- GPU verwenden: Entscheiden Sie, ob die GPU für die Verarbeitung verwendet werden soll. Dies ist nur möglich, wenn Ihre GPU Cuda unterstützt und die erforderlichen Treiber installiert sind.
- Framegröße: Wählen Sie die Framegröße für die Verarbeitung aus. Beachten Sie, dass kleinere Frames weniger CPU-intensiv sind, aber möglicherweise weniger genaue Ergebnisse liefern.
- Erkennungsintervall: Legen Sie die Häufigkeit für die Frameverarbeitung in Millisekunden fest. Zum Beispiel entspricht 200 5 Mal pro Sekunde, während 1000 einmal pro Sekunde entspricht.
- Warnbedingung und Warnanzahl: Konfigurieren Sie die Kriterien für die Erzeugung von Warnungen basierend auf der Anzahl der erkannten Objekte. Um zum Beispiel bei Erkennen eines Gesichts eine Warnung auszulösen, setzen Sie die Bedingung auf "Mehr als" und geben Sie 0 in das Feld Warnanzahl ein.
- Warnzonen (v4.4.8.0+): Wählen Sie die spezifischen Bewegungszonen aus, die innerhalb des Erkennungsbereichs überwacht werden sollen.
- Ecken überprüfen: Für detailliertere Einstellungen siehe Ecken überprüfen.
Reolink
Einige Reolink-Kameras bieten einen API-Endpunkt, den Agent abfragen kann, um Bewegungs- oder KI-Alarmzustände zu erhalten. Wenn Ihre Kamera diese Funktion unterstützt, können Sie diesen Detektor nutzen. Um zu überprüfen, ob Ihre Kamera diese Fähigkeit hat, versuchen Sie auf die URL zuzugreifen: `http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD]` (ersetzen Sie `[IP ADDRESS]`, `[USERNAME]` und `[PASSWORD]` durch die IP-Adresse und Anmeldeinformationen Ihrer Kamera). Eine erfolgreiche Verbindung gibt JSON-formatierten Text zurück anstelle einer Fehlerseite.
- Intervall: Bestimmen Sie die Häufigkeit, mit der Agent Ihre Kamera nach Alarmen oder Bewegungsdaten abfragt.
- Modus: Wählen Sie zwischen 'Bewegung' und 'KI'. Beide Modi lösen Bewegungsdetektorereignisse in Agent aus, die für die Aufzeichnung verwendet werden können (stellen Sie den Aufnahmemodus auf Erkennen ein). Die Option 'KI' löst eine Bewegungserkennung aus, wenn die Kamera bestimmte Objektklassen identifiziert (wie dog_cat, face, people, vehicle).
Sie können Aktionen konfigurieren, um Aufgaben auszuführen, wenn Objekte mit den Tags dog_cat, face, people oder vehicle erkannt werden, beginnend ab Version 4.6.6.0.
Hinweis: Um die KI-Funktion zu aktivieren, müssen Sie möglicherweise das Tracking im Web-UI der Kamera aktivieren und die Parameter für die minimale und maximale Objektgröße festlegen. Agent wird dann Ihre Aufnahmen mit den von Reolink identifizierten Objekten taggen.
Geschwindigkeitserkennung
Diese Methode nutzt von Ihnen bereitgestellte Szeneninformationen, um sich bewegende Objekte zu verfolgen, ihre Geschwindigkeit zu schätzen und Warnungen zu generieren, wenn sich die Objekte zu schnell oder zu langsam bewegen.
- Fortschrittlich: Für detailliertere Einstellungen siehe den fortgeschrittenen Abschnitt unten.
- Breiten- und Höhenbegrenzungen: Definieren Sie den Größenbereich für die Objekterkennung in der Szene, wobei die Werte als Prozentsatz der Breite oder Höhe der Szene angegeben werden. Durch Anpassen dieser Schieberegler wird eine Überlagerung auf dem Video angezeigt, die den Zielgrößenbereich der Objekte anzeigt.
- Mindestreiseweite: Legen Sie die minimale Entfernung fest, die ein Objekt zurücklegen muss, um als in Bewegung betrachtet zu werden, basierend auf einem Prozentsatz der Breite der Szene.
- Mindestzeit: Geben Sie die Zeitdauer an, die ein Objekt in Bewegung sein muss, um verfolgt zu werden, in Zehntelsekunden (z.B. 1 = 0,1 Sekunden, 10 = 1 Sekunde).
- Geschwindigkeitsmessung: Wählen Sie die bevorzugte Einheit für die Geschwindigkeitsmessung für die Überlagerung aus.
- Geschwindigkeitsgrenzen: Legen Sie die unteren und oberen Grenzen der Geschwindigkeitserkennung fest. Bewegungen außerhalb dieses Bereichs lösen Bewegungserkennungsereignisse aus.
- Horizontale und vertikale Entfernung: Geben Sie die Gesamtentfernung über die Szene in Metern ein. Agent verwendet diese Messung, um die Geschwindigkeit von sich bewegenden Objekten zu berechnen.
- Warnzonen (v4.4.8.0+): Wählen Sie aus, welche Bewegungszonen in den Überwachungsbereich einbezogen werden sollen.
- Ecken überprüfen: Für zusätzliche Einstellungen siehe Ecken überprüfen.
Objektverfolgung
- Erweitert: Für detailliertere Einstellungen und Optionen siehe den erweiterten Abschnitt unten.
- Breitenbegrenzungen und Höhenbegrenzungen: Geben Sie den Größenbereich für die Objekterkennung an, wobei die Werte als Prozentsatz der Breite oder Höhe der Szene angegeben werden. Durch Anpassen dieser Schieberegler wird eine visuelle Darstellung des Zielobjektgrößenbereichs auf dem Video angezeigt.
- Mindestreisestrecke: Definieren Sie die minimale Entfernung, die ein Objekt zurücklegen muss, um als sich bewegendes Objekt erkannt zu werden, relativ zur Breite der Szene.
- Mindestzeit: Legen Sie die minimale Zeitdauer fest, die ein Objekt in Bewegung sein muss, um für die Verfolgung in Betracht gezogen zu werden, in Zehntelsekunden (z.B. 1 = 0,1 Sekunden, 10 = 1 Sekunde).
- Gesamtanzahl anzeigen: Fügen Sie der Live-Videoübertragung einen Zähler hinzu, um sich bewegende Objekte zu verfolgen.
- Heatmap: Visualisieren Sie Bewegungsmuster im Laufe der Zeit, indem Sie Linien zu verfolgten Objekten hinzufügen.
- Alarmzonen (v4.4.8.0+): Wählen Sie aus, welche Bewegungszonen in den Überwachungsbereich einbezogen werden sollen.
- Ecken überprüfen: Für weitere Informationen siehe Überprüfen von Ecken.
Während Agent Bewegungen in der Szene überwacht und verfolgt, werden farbige Rechtecke um erkannte Objekte angezeigt. Die Farben haben folgende Bedeutungen:
- Weiß: Objekt wurde gerade erkannt und wird geprüft.
- Gelb: Objekt wurde für mehrere Frames erkannt.
- Orange: Objekt hat sich für mindestens die in den Verfolgungseinstellungen angegebene Mindestzeit bewegt.
- Rot: Objekt hat alle Verfolgungsanforderungen erfüllt, um ein Bewegungserkennungsereignis auszulösen.
Reiseleitungen
- Erweitert: Für detailliertere Einstellungen und Optionen siehe den erweiterten Abschnitt unten.
- Breiten- und Höhenbegrenzungen: Legen Sie den Größenbereich der zu erkennenden Objekte fest, wobei die Werte als Prozentsatz der Breite oder Höhe des Bildes angegeben werden. Durch Anpassen dieser Schieberegler wird eine visuelle Darstellung des Zielgrößenbereichs auf dem Video eingeblendet.
- Mindestbewegung: Geben Sie die minimale Distanz an, die ein Objekt zurücklegen muss, um als sich bewegendes Objekt erkannt zu werden, relativ zur Breite des Bildes.
- Mindestzeit: Legen Sie die minimale Dauer fest, die ein Objekt in Bewegung sein muss, um verfolgt zu werden, in Zehntelsekunden (z.B. 1 = 0,1 Sekunden, 10 = 1 Sekunde).
- Wiederholungsauslösung: Aktivieren Sie dies, um einem Objekt zu erlauben, dieselbe Linie mehrmals zu überqueren. Standardmäßig kann ein Objekt eine Linie nur einmal auslösen.
- Zählen: Zeigen Sie eine Zählung der Anzahl der Male an, die Objekte die Linie überquert haben, zusammen mit der Richtung der Überquerung. Optionen sind Links zählen, Rechts zählen, Beide zählen oder Gesamtanzahl der Überquerungen.
- Alarm: Konfigurieren Sie das System so, dass ein Alarm ausgelöst wird, wenn die Linie in einer bestimmten Richtung oder in jeder Richtung überquert wird.
- Alarmzonen (v4.4.8.0+): Wählen Sie aus, welche Bewegungszonen in den Überwachungsbereich einbezogen werden sollen.
- Ecken prüfen: Weitere Informationen finden Sie unter Ecken prüfen.
Über API
Um die Bewegungserkennung für eine Kamera mithilfe eines API-Aufrufs zu initiieren, müssen Sie den Objekttyp (ot) und die Objekt-ID (oid) angeben. Zum Beispiel für eine Kamera (ot=2) mit der ID 1 (oid=1 - diese ID wird oben im Bearbeitungssteuerelement angezeigt, wenn ein Gerät bearbeitet wird), würde der API-Aufruf wie folgt formatiert werden:http://localhost:8090/command/detect?ot=2&oid=1
Erweiterte Einstellungen
- Analysator: Der derzeit verfügbare Analysator ist der CNT-Hintergrundsubtraktor, bekannt für seine hohe Genauigkeit und geringe CPU-Auslastung.
- Rahmengröße: Wählen Sie die Rahmengröße für die Verarbeitung aus. Kleinere Rahmen reduzieren die CPU-Auslastung, können aber die Genauigkeit verringern.
- Tracker: Wählen Sie den OpenCV-Tracker für die Objektverfolgung aus. Optionen sind:
- Mosse: Dieser Tracker bietet die geringste CPU-Auslastung, ist aber am ungenauesten (Standard).
- KCF: Genauer als Mosse, aber etwas CPU-intensiver.
- CSRT: Die genaueste Option, aber auch die CPU-intensivste. Ideal für anspruchsvolle Tracking-Situationen.
- Maximale Objekte: Legen Sie eine Begrenzung für die Anzahl der gleichzeitig zu verfolgenden Objekte fest. Mehr Objekte bedeuten eine höhere CPU-Auslastung.
- Erkennungsintervall: Legen Sie die Häufigkeit der Rahmenverarbeitung für die Bewegungserkennung in Millisekunden fest (z.B. 200 für 5 Mal pro Sekunde, 1000 für einmal pro Sekunde).
- Tracking-Intervall: Legen Sie die Häufigkeit der Tracker-Verarbeitung fest. Ein höheres Intervall kann schnell bewegende Objekte verlieren (z.B. 200 für 5 Mal pro Sekunde, 1000 für einmal pro Sekunde).
- Pixeleinstabilität: Legen Sie die Anzahl der Samples fest, die ein Pixel benötigt, um als stabil betrachtet zu werden, und das maximale "Guthaben", das ein Pixel erhalten kann, um dieselbe Farbe zu behalten. Diese Einstellungen sind entscheidend für eine effektive Hintergrundsubtraktion und Bewegungserkennung. Weitere Informationen
- Verlauf verwenden: Aktivieren Sie dies, um Informationen über kontinuierlich bewegte Objekte in der Szene zu sammeln. Es wird im Allgemeinen empfohlen, dies deaktiviert zu lassen, es sei denn, es ist unbedingt erforderlich.
- Parallele Verarbeitung: Aktivieren Sie die parallele Verarbeitung im Bewegungserkennungsalgorithmus. Es wird empfohlen, dies aktiviert zu lassen.
- Tracking-Timeout: Legen Sie die Zeit (in Sekunden) fest, die gewartet werden soll, bis ein Objekt wieder auftaucht, bevor es nicht mehr verfolgt wird.
- Bewegungs-Timeout: Legen Sie die Dauer (in Sekunden) fest, die gewartet werden soll, bis ein stationäres Objekt sich wieder bewegt, bevor seine Verfolgung gestoppt wird.