Social Distance Detector

Dieser Funktionsblock analysiert einen Bild-Stream, erkennt Personen und überprüft den körperlichen Abstand anhand eines eingestellten Schwellenwerts. Er visualisiert erkannte Personen und hebt Paare hervor, die den angegebenen Abstand verletzen.

📥 Eingänge

  • Image Any Bild- oder Videoframe, das/der analysiert werden soll.

  • Perspective Matrix Optionale Transformationsmatrix, um Bildkoordinaten in eine reale Ebene zu überführen und genauere Abstandsmessungen zu ermöglichen.

  • Distance Threshold Minimaler erlaubter Abstand zwischen Personen (Einheit hängt von der Kalibrierung/Perspektive ab).

📤 Ausgänge

  • Image Any Annotiertes Bild mit erkannten Personen, Verbindungs-Linien und Hervorhebungen bei Verstößen.

  • Person Count Anzahl der im Frame erkannten Personen.

  • Violation Count Anzahl der Paarverletzungen (Paare, die näher als der Schwellenwert sind).

  • Is Violated ? Boolean, der anzeigt, ob mindestens ein Verstoß vorliegt.

🕹️ Steuerungen

  • Confidence Ratio Schieberegler zur Anpassung der Empfindlichkeit der Erkennung. Höhere Werte erfordern stärkere Erkennungswahrscheinlichkeit, damit eine Person gezählt wird.

🎨 Funktionen

  • Echtzeit-Erkennung und Visualisierung von Personen in eingehenden Bildern.

  • Paarweise Abstandsmessung zwischen erkannten Personen.

  • Optionale Perspektivkorrektur über Perspective Matrix für realitätsnahe Abstände.

  • Klare Ausgänge zur Überwachung und Weiterverarbeitung: Bild, Zählwerte und Violation-Flag.

📊 Funktionsweise

Wenn der Block aktiv ist, nimmt er das Eingangssignal Image Any, erkennt Personenpositionen im Frame, kann diese optional mit der übergebenen Perspective Matrix in reale Koordinaten abbilden, berechnet paarweise Abstände und vergleicht diese mit dem Distance Threshold. Als Ergebnis liefert der Block ein annotiertes Bild sowie numerische und boolesche Ausgaben zur Erkennungs- und Verstoßlage.

📝 Verwendung / How to use

  1. Verbinden Sie eine Bildquelle mit Image Any (Kamera-Stream oder geladenes Bild).

  2. Falls reale Entfernungen benötigt werden, geben Sie eine kalibrierte Perspective Matrix an. Ohne diese erfolgt die Abstandskontrolle in Bildpixeln.

  3. Stellen Sie den gewünschten Distance Threshold entsprechend der Kalibrierung oder als ungefähre Pixelangabe ein.

  4. Justieren Sie Confidence Ratio, um das Verhältnis von verpassten Erkennungen zu Fehlalarmen auszugleichen.

  5. Verwenden Sie die Ausgänge (Person Count, Violation Count, Is Violated ?, Image Any), um Alarme, Protokolle oder nachgelagerte Verarbeitung zu triggern.

💡 Tipps und Tricks

  • Für Kamerainput kombinieren Sie diesen Block mit Bildquellen wie Camera USB, Camera IP (ONVIF), Stream Reader oder Load Image.

  • Zur größeren Vorschau Ergebnisse nach diesem Block mit Show Image anzeigen.

  • Bei verrauschten Erkennungen vorverarbeiten (z. B. Image Resizer oder Denoising), um Stabilität zu verbessern.

  • Für robustere Personenerkennung oder zusätzliche Klassen können Sie upstream Object Detection oder Object Detection - Custom nutzen und erkannte Zentren an diesen Block weitergeben.

  • Verwenden Sie Perspective Transform, um eine verlässliche Perspective Matrix zu erzeugen, wenn Sie reale Distanzen brauchen.

  • Begrenzen Sie den Analysebereich mit Image ROI oder Image ROI Select, um Fehlalarme zu reduzieren und die Verarbeitung zu beschleunigen.

  • Bei Frame-übergreifender Verfolgung nutzen Sie Object_Detection_Tracker downstream für persistente IDs und bessere Analysen.

🛠️ Fehlersuche

  • Keine Personen erkannt: Erhöhen Sie Confidence Ratio leicht oder verwenden Sie höher aufgelöstes Input. Achten Sie auf gute Beleuchtung und klare Personenumrisse.

  • Viele Fehlalarme: Erhöhen Sie Confidence Ratio, wenden Sie Vorverarbeitung wie Blur oder Image Threshold an oder schränken Sie den Bereich mit Image ROI ein.

  • Ungenaue Abstandsmessungen: Prüfen Sie die Kalibrierung und liefern Sie eine korrekte Perspective Matrix (z. B. erzeugt mit Perspective Transform). Ohne Perspektivkorrektur sind Abstände in Bildpixeln und entsprechen nicht zwangsläufig realen Distanzen.

  • Hohe CPU/GPU-Auslastung: Reduzieren Sie die Eingangsauflösung mit Image Resizer oder führen Sie die Erkennung seltener durch.

Zuletzt aktualisiert