Leitfaden zur Erkennung von Positionsmarkierungen

Mit der Aufgabe „MediaPipe Pose Landmarker“ können Sie Sehenswürdigkeiten menschlicher Körper in einem Bild oder Video erkennen. Sie können diese Aufgabe verwenden, um wichtige Körperstellen zu identifizieren, die Körperhaltung zu analysieren und Bewegungen zu kategorisieren. Bei dieser Aufgabe werden Modelle für maschinelles Lernen (ML) verwendet, die mit einzelnen Bildern oder Videos arbeiten. Die Aufgabe gibt Körperpositionsmarkierungen in Bildkoordinaten und in dreidimensionalen Weltkoordinaten aus.

Jetzt ausprobieren

Jetzt starten

Beginnen Sie mit dieser Aufgabe, indem Sie dem Implementierungsleitfaden für Ihre Zielplattform folgen. Diese plattformspezifischen Leitfäden führen Sie durch eine grundlegende Implementierung dieser Aufgabe, einschließlich eines empfohlenen Modells und eines Codebeispiels mit empfohlenen Konfigurationsoptionen:

Taskdetails

In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfigurationsoptionen dieser Aufgabe beschrieben.

Funktionen

  • Eingabebildverarbeitung: Die Verarbeitung umfasst Bilddrehung, Größenanpassung, Normalisierung und Farbraumkonvertierung.
  • Punktzahl-Schwellenwert: Filtern Sie Ergebnisse basierend auf den Vorhersagewerten.
Aufgabeneingaben Aufgabenausgaben
Der Pose Landmarker akzeptiert Eingaben mit einem der folgenden Datentypen:
  • Standbilder
  • Decodierte Videoframes
  • Live-Videofeed
Der Pose-Meilensteiner gibt die folgenden Ergebnisse aus:
  • Orientierungspunkte in normalisierten Bildkoordinaten positionieren
  • Orientierungspunkte in Weltkoordinaten positionieren
  • Optional: eine Segmentierungsmaske für die Pose.

Konfigurationsoptionen

Diese Aufgabe hat die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich Standardwert
running_mode Legt den Ausführungsmodus für die Task fest. Es gibt drei Modi:

IMAGE: Der Modus für Einzelbildeingaben.

VIDEO: Der Modus für decodierte Frames eines Videos.

LIVE_STREAM: Der Modus für einen Livestream der Eingabedaten, z. B. von einer Kamera. In diesem Modus muss resultListener aufgerufen werden, um einen Listener einzurichten, der die Ergebnisse asynchron empfängt.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_poses Die maximale Anzahl von Posen, die vom Pose-Markierungspunkt erkannt werden können. Integer > 0 1
min_pose_detection_confidence Der minimale Konfidenzwert, damit die Posenerkennung als erfolgreich gilt. Float [0.0,1.0] 0.5
min_pose_presence_confidence Der minimale Konfidenzwert der Posenpräsenz bei der Erkennung von Posen-Markierungen. Float [0.0,1.0] 0.5
min_tracking_confidence Der minimale Konfidenzwert, damit das Posen-Tracking als erfolgreich gilt. Float [0.0,1.0] 0.5
output_segmentation_masks Gibt an, ob der Pose Landmarker eine Segmentierungsmaske für die erkannte Pose ausgibt. Boolean False
result_callback Legt den Ergebnis-Listener so fest, dass er die Landmarker-Ergebnisse asynchron empfängt, wenn sich Pose Landmarker im Livestreammodus befindet. Kann nur verwendet werden, wenn der Laufmodus auf LIVE_STREAM festgelegt ist ResultListener N/A

Modelle

Der Pose Landmarker verwendet eine Reihe von Modellen, um die Position von Orientierungspunkten vorherzusagen. Das erste Modell erkennt menschliche Körper in einem Bildframe und das zweite Modell ermittelt Orientierungspunkte auf den Körpern.

Die folgenden Modelle sind in einem herunterladbaren Modell-Bundle verpackt:

  • Poseerkennungsmodell: Erkennt das Vorhandensein von Körpern mit einigen wichtigen Sehenswürdigkeiten.
  • Pose Landmarker-Modell: Damit wird eine vollständige Zuordnung der Pose hinzugefügt. Das Modell gibt eine Schätzung von 33 dreidimensionalen Orientierungspunkten aus.

Dieses Bundle verwendet ein Convolutional Neural Network, ähnlich wie MobileNetV2, und ist für On-Device-Echtzeit-Fitnessanwendungen optimiert. Diese Variante des BlazePose-Modells verwendet GHUM, eine Pipeline zur 3D-Modellierung für menschliche Formen, um die vollständige 3D-Körperhaltung einer Person auf Bildern oder Videos zu schätzen.

Modell-Bundle Form eingeben Datentyp Modellkarten Versionen
Positions-Markierung (Lite) Posen-Erkennung: 224 × 224 × 3
Posen-Markierungen: 256 × 256 × 3
Gleitkommazahl 16 Informationen Neueste
Pose Landmarker (Voll) Posen-Erkennung: 224 × 224 × 3
Posen-Markierungen: 256 × 256 × 3
Gleitkommazahl 16 Informationen Neueste
Positionsmarkierung (schwer) Posen-Erkennung: 224 × 224 × 3
Posen-Markierungen: 256 × 256 × 3
Gleitkommazahl 16 Informationen Neueste

Pose-Landmark-Modell

Das Posen-Landmark-Modell verfolgt 33 Sehenswürdigkeiten, die den ungefähren Standort der folgenden Körperteile darstellen:

0 - nose
1 - left eye (inner)
2 - left eye
3 - left eye (outer)
4 - right eye (inner)
5 - right eye
6 - right eye (outer)
7 - left ear
8 - right ear
9 - mouth (left)
10 - mouth (right)
11 - left shoulder
12 - right shoulder
13 - left elbow
14 - right elbow
15 - left wrist
16 - right wrist
17 - left pinky
18 - right pinky
19 - left index
20 - right index
21 - left thumb
22 - right thumb
23 - left hip
24 - right hip
25 - left knee
26 - right knee
27 - left ankle
28 - right ankle
29 - left heel
30 - right heel
31 - left foot index
32 - right foot index

Die Modellausgabe enthält sowohl normalisierte Koordinaten (Landmarks) als auch Weltkoordinaten (WorldLandmarks) für jede Sehenswürdigkeit.