Skeleton Estimation

Dieser Funktionsblock führt eine vollständige Körper-Skelettschätzung auf Eingabebildern durch. Er bietet mehrere Detailebenen (Body, Body with Feet, Wholebody), einstellbare Performance-Modi und Vertrauensschwellen, sodass Sie Geschwindigkeit und Genauigkeit ausbalancieren können. Als Ergebnisse erhalten Sie ein Visualisierungsbild, strukturierte Skelettdaten, Modell-Metadaten und eine Personenanzahl.

📥 Eingänge

Image Das Bild, das auf Körperhaltungen analysiert werden soll. Akzeptiert typische Bildquellen (Kamera-Frames, geladene Bilder oder verarbeitete Bilder aus anderen Blöcken).

📤 Ausgänge

Visualization Ein Bild mit eingezeichneten Skeletten und Bounding-Boxen für erkannte Personen.

Skeletons Strukturierte Daten, die erkannte Personen beschreiben: Bounding-Boxen, Keypoints (mit Namen und Konfidenzwerten) und optionale Gruppierungen von Körperteilen.

Model Info Metadaten zur aktuellen Modellauswahl und Laufzeiteinstellungen (Modelltyp, Modus, Gerät, Schwellenwerte).

Person Count Anzahl erkannter Personen, enthalten in den strukturierten Ausgaben.

🕹️ Steuerungen

Model Type Wählen Sie das Detaillierungsniveau: Body (17 Keypoints), Body with Feet (26 Keypoints) oder Wholebody (Körper + Gesicht + Hände).

Mode Wählen Sie ein Verarbeitungsprofil für Geschwindigkeit vs. Genauigkeit, z. B. lightweight, balanced, performance.

Skeleton Style Wählen Sie das Keypoint-Ausgabeformat, z. B. MMPose oder OpenPose.

Detection Threshold Minimum-Konfidenz, damit eine erkannte Person als gültig gilt.

Keypoint Threshold Minimum-Konfidenz, damit einzelne Keypoints als sichtbar markiert werden.

Max Persons Begrenzt die Anzahl der verarbeiteten und zurückgegebenen Personen, um die Leistung stabil zu halten.

🎯 Hauptfunktionen

  • Mehrere Modellformate für verschiedene Anwendungsfälle: schnelle Körper-Erkennung oder detaillierte Ganzkörper-Analyse (Gesicht + Hände).

  • Performance-Tuning über Mode, Detection Threshold und Max Persons, um sich an die Geräteleistung anzupassen.

  • Keypoint-Filterung basierend auf Konfidenz, sodass nur zuverlässige Keypoints als sichtbar gemeldet werden.

  • Visuelles Feedback durch Skelett-Overlays und Bounding-Boxen zur einfachen Überprüfung.

  • Strukturierte Ausgaben, geeignet für Automatisierung, Analysen oder Protokollierung.

⚙️ Funktionsweise (für Anwender)

  • Sobald ein Bild bereitgestellt wird, führt der Block das gewählte Schätzmodell aus und liefert sowohl ein annotiertes Bild als auch strukturierte Posedaten.

  • Detection Threshold steuert, ob eine erkannte Person als gültig gilt. Niedrigere Werte liefern mehr Treffer, jedoch mehr False-Positives; höhere Werte sind strenger.

  • Keypoint Threshold bestimmt, welche Keypoints als sichtbar markiert werden; damit ignorieren Sie Gelenke mit niedriger Konfidenz.

  • Max Persons kürzt Ergebnisse auf die stärksten Erkennungen, um die Performance in überfüllten Szenen zu erhalten.

  • Der Block passt sich an den gewählten Mode an, um einen Kompromiss zwischen Geschwindigkeit und Genauigkeit zu ermöglichen: leichtere Modi für Echtzeit, schwerere Modi für höhere Genauigkeit.

📝 Nutzungshinweise

  1. Geben Sie eine Bildquelle an Image. Typische Quellen sind Kameraframes (Camera USB, Camera IP (ONVIF)) oder ein geladenes Bild (Load Image).

  2. Wählen Sie Model Type je nach benötigter Detailtiefe.

  3. Setzen Sie Mode, um Ihre Performance-Erwartungen zu erfüllen (schneller oder genauer).

  4. Passen Sie Detection Threshold und Keypoint Threshold an, um unzuverlässige Erkennungen zu filtern.

  5. Reduzieren Sie optional Max Persons für schnellere Verarbeitung auf ressourcenbegrenzten Systemen.

  6. Verwenden Sie die Ausgaben: Visualization für Vorschauen, Skeletons für Analysen/Logging und Person Count zur Überwachung.

💡 Tipps und Tricks

  • Für Live-Setups nutzen Sie Camera USB, Camera IP (ONVIF) oder Stream Reader als Bildquellen. Für Tests verwenden Sie Load Image.

  • Wenn die Verarbeitung langsam ist, versuchen Sie:

    • Einen schnelleren Mode zu wählen.

    • Max Persons zu reduzieren.

    • Bilder vorab mit Image Resize zu verkleinern.

  • Zur Robustheit bei verrauschten Bildern Vorverarbeitung wie Blur oder Denoising vor dem Skelett-Block einsetzen.

  • Um auf einen Bereich zu fokussieren (z. B. Türbereich oder Förderband), mit Image ROI oder Image ROI Select zuschneiden und nur diesen Bereich schätzen lassen.

  • Kombinieren Sie Ausgaben mit Visualisierung und Logging:

    • Senden Sie Visualization an Show Image für eine Vorschau.

    • Overlayen Sie Bounding-Boxen oder Labels mit Draw Detections oder Write Text On Image für Bedieneranzeigen.

    • Speichern Sie Verifikationsframes mit Image Logger oder zeichnen Sie Sessions mit Record Video für Audits auf.

    • Konvertieren Sie strukturierte Skeletons-Daten mit Data to JSON oder exportieren Sie Zählwerte via CSV Export.

  • Für höhere Sicherheit oder Analytik:

    • Nutzen Sie Skeletons (Personenpositionen) zusammen mit Social Distance Detector zur Abstandskontrolle (ggf. mit Perspective Transform kalibrieren).

    • Geben Sie Personen-Bounding-Boxen oder Zentren an Logik-Blöcke weiter, um Alarme oder externe Aktionen auszulösen (z. B. Send Mail oder MQTT Publish).

🛠️ Fehlersuche

  • Wenige oder keine Erkennungen:

    • Erhöhen Sie Detection Threshold und/oder Keypoint Threshold schrittweise oder wählen Sie einen genaueren Mode.

    • Stellen Sie sicher, dass die Personen gut ausgeleuchtet und klar im Image sichtbar sind.

    • Probieren Sie Image Resize (hoch- oder runterskalieren), um die erwartete Subjektgröße anzupassen.

  • Schlechte Performance oder Reaktionsfähigkeit:

    • Wählen Sie einen leichteren Mode, verringern Sie Max Persons oder skalieren Sie Bilder mit Image Resize kleiner.

  • Rauschen oder Flackern über Frames hinweg:

    • Erwägen Sie zeitliche Glättung in nachgelagerter Logik oder protokollieren Sie nur konfidente Erkennungen (mittels Schwellenwerte).

  • Modellinitialisierung oder Laufzeitfehler:

    • Prüfen Sie, ob notwendige Laufzeitkomponenten verfügbar sind (über die Modul-Tools der Anwendung installierbar) und starten Sie den Block anschließend neu.

🔗 Beispiel-Block-Flows

  • Echtzeitüberwachung: Camera USBImage ResizeSkeleton EstimationDraw DetectionsShow Image

  • Protokollierte Prüfspur: Camera IP (ONVIF)Skeleton EstimationImage Logger + Data to JSON

  • Sicherheitsüberwachung (Abstandsprüfung): Camera USBSkeleton Estimation → (Personenzentren extrahieren) → Social Distance DetectorDraw Result On Image

Nutzen Sie diese Kombinationen, um zuverlässige und leistungsfähige Pose-Erkennungssysteme zu erstellen, ohne Implementierungsdetails bearbeiten zu müssen.

Zuletzt aktualisiert