> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/ai-blocks/hand-pose-estimation.md).

# Hand Pose Estimation

Dieser Funktionsblock erkennt und schätzt Hand-Keypoints (21 pro Hand) in Bildern und liefert sowohl eine visuelle Überlagerung als auch strukturierte Erkennungsdaten. Er ist für den Echtzeiteinsatz ausgelegt und bietet Steuerungen für Erkennungsempfindlichkeit, Keypoint-Sichtbarkeit, Stil der Skelettausgabe und die maximale Anzahl zu verarbeitender Hände.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Image` Geben Sie ein Bild (Kameraframe, geladenes Bild oder vorverarbeitetes Bild) zur Analyse auf Hände ein.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Visualization` Annotiertes Bild mit Keypoints, Skeletten und Bounding-Boxen.

`Hands` Strukturierte Erkennungsdaten (Liste/Dictionary) einschließlich Bounding-Boxen, Positionen pro Keypoint, Konfidenzwerte und Sichtbarkeitsflaggen.

`Model Info` Grundlegende Laufzeitinformationen wie ausgewählter Skelettstil und eingestellte Schwellenwerte.

`Hand Count` Anzahl erkannter Hände (nach Anwendung der konfigurierten Begrenzungen).

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`Skeleton Style` Wählen Sie aus, wie Keypoints/Skelette für die Visualisierung formatiert werden sollen (z. B. MMPose- oder OpenPose-Stil).

`Det Threshold` Passen Sie die minimale Konfidenz an, die für eine Handerkennung als gültig gilt (Skala 0–100).

`Keypoint Threshold` Legen Sie die minimale Konfidenz fest, damit ein einzelner Keypoint als sichtbar gilt (Skala 0–100).

`Max Hands` Begrenzen Sie, wie viele Hände zurückgegeben und gezeichnet werden (nützlich, um Ausgabegröße und Verarbeitung in überfüllten Szenen zu reduzieren).

## 🎨 Funktionen <a href="#features" id="features"></a>

* Visuelle Überlagerung mit Keypoints, Skelettverbindungen und Bounding-Boxen für jede erkannte Hand.
* Strukturierte, JSON-ähnliche Ausgabe für nachgelagerte Logik: Bounding-Boxen, pro-Keypoint-(x,y)-Positionen, Konfidenz und Sichtbarkeit.
* Benutzeranpassbare Schwellenwerte zum Abwägen von Empfindlichkeit gegenüber Fehlalarmen.
* Begrenzung der zu verarbeitenden Hände mit `Max Hands` für vorhersehbares Verhalten downstream.
* Nutzt automatisch verfügbare Hardware zur Beschleunigung (bevorzugt GPU, wenn vorhanden).

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. Stellen Sie eine Bildquelle an den Eingang `Image` (Live-Kamera, Stream oder Bilddatei).
2. Wählen Sie den gewünschten `Skeleton Style` für Visualisierung und nachgelagerte Formate.
3. Passen Sie `Det Threshold` an, um schwache Erkennungen auszuschließen.
4. Passen Sie `Keypoint Threshold` an, um zu bestimmen, welche Keypoints als sichtbar gelten.
5. Setzen Sie `Max Hands`, wenn Sie nur eine begrenzte Anzahl von Händen verfolgen möchten.
6. Lesen Sie die Ausgänge: Verwenden Sie `Visualization` zur Vorschau und `Hands` / `Hand Count` für Logik, UI oder Protokollierung.

## 📊 Wie es ausgeführt wird <a href="#evaluation" id="evaluation"></a>

Beim Vorliegen eines Bildes analysiert der Block das Bild auf Hände, wendet Erkennungs- und Keypoint-Konfidenz-Schwellenwerte an, begrenzt die Ergebnisse nach `Max Hands` und gibt dann aus: ein visualisiertes Bild mit Overlays, eine strukturierte Liste erkannter Hände mit Bounding-Boxen und Keypoint-Details, eine kurze Modellinfo-Zusammenfassung und die Anzahl erkannter Hände.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Für Live-Eingaben kombinieren Sie mit `Camera USB`, `Camera IP (ONVIF)` oder `Stream Reader`, um kontinuierliche Frames zu liefern.
* Verwenden Sie `Show Image`, um die Ausgabe `Visualization` in einem größeren Fenster während der Schwellwertanpassung zu prüfen.
* Vorverarbeiten Sie verrauschte Bilder mit `Blur`, `Denoising` oder `Image Resize`, um die Erkennungsstabilität zu verbessern.
* Wenn Hände beschnitten erscheinen oder Sie nur einen bestimmten Bereich analysieren möchten, setzen Sie ein `Image ROI Select`- oder `Image ROI`-Block vor diesem Block.
* Zur Berichterstellung kombinieren Sie `Visualization` mit `Write Text On Image` oder `Draw Result On Image` und speichern anschließend mit `Image Logger`, `Image Write` oder `Record Video`.
* Verwenden Sie `Object Detection` oder `Object Detection - Custom` vor diesem Block, wenn Sie zuerst Personen lokalisieren und dann nur Personenregionen auf Hände analysieren möchten — das reduziert Fehlalarme und beschleunigt die Verarbeitung.
* Benötigen Sie sowohl Ganzkörper-Keypoints als auch Hand-Keypoints, koppeln Sie mit `Skeleton Estimation` und führen Sie die Ergebnisse in nachfolgenden Verarbeitungsschritten zusammen.

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

* Keine Erkennungen: Versuchen Sie, `Det Threshold` und `Keypoint Threshold` leicht zu senken, oder verbessern Sie die Bildqualität mit `Image Resizer`.
* Fehlalarme / verrauschte Keypoints: Erhöhen Sie die Schwellenwerte und/oder schneiden Sie die Region of Interest mit `Image ROI Select` zu, um Störfaktoren zu entfernen.
* Zu langsam: Reduzieren Sie die Bildauflösung über `Image Resize`, verringern Sie `Max Hands` oder verwenden Sie eine schnellere Bildquelle. Ein System mit GPU beschleunigt die Verarbeitung.
* Fehlende Abhängigkeiten oder Modell nicht verfügbar: Der Block benötigt das Hand-Pose-Modell. Falls Modell oder Laufzeitkomponenten fehlen, nutzen Sie den Modul-Installer / Modul-Downloader der Anwendung, um die erforderlichen Laufzeit- und Modellpakete hinzuzufügen.

Wenn Sie Beispielkombinationen oder eine empfohlene kleine Pipeline für Live-Hand-Tracking (Kamera → Vorverarbeitung → Hand Pose → Anzeige / Speicherung) benötigen, fragen Sie nach einer vorgeschlagenen Blockkette und einer kurzen Erklärung.
