Pose Estimation
Pose-Schätzung lokalisiert Keypoints wie Gelenke, um die Position eines Körpers oder Objekts zu beschreiben. Top-down-, Bottom-up- und einstufige Methoden sowie OKS.
Pose-Schätzung ist die Aufgabe der Computer Vision, eine vordefinierte Menge von Schlüsselpunkten an einem Körper oder Objekt zu lokalisieren, etwa Schultern, Ellbogen und Knie einer Person, und sie zu einem Skelett zu verbinden, das die Körperhaltung beschreibt. Ein Modell gibt die Bildkoordinaten jedes Schlüsselpunktes oder dessen Position im 3D-Raum zusammen mit einem Konfidenzwert aus. So können Anwendungen Gelenkwinkel messen, Wiederholungen zählen oder Aktionen erkennen. Die Pose-Schätzung beschreibt, wie eine Person steht oder sich bewegt. Das erfasst weder ein Begrenzungsrahmen aus der Objekterkennung noch eine Maske aus der Instanzsegmentierung.
So funktioniert Pose-Schätzung#
Bei der 2D-Pose-Schätzung mehrerer Personen gibt es drei Vorgehensweisen. Die dritte ähnelt einstufigen Objektdetektoren:
- Von oben nach unten: Ein Personendetektor findet alle Personen im Bild, und ein Modell für einzelne Personen sagt die Schlüsselpunkte innerhalb jedes Ausschnitts voraus, wie bei HRNet (2019) und ViTPose (2022). Bei großen, deutlich sichtbaren Personen ist die Genauigkeit hoch, und der Aufwand steigt mit der Anzahl der Personen.
- Von unten nach oben: Das Netzwerk findet alle Schlüsselpunkte im Bild gleichzeitig und gruppiert sie anschließend zu Personen. OpenPose (2017) verknüpft Gelenke mit Part-Affinity-Feldern, also 2D-Vektoren, die entlang der Gliedmaßen zeigen. Daher bleibt der Aufwand in Menschenmengen nahezu konstant.
- Einstufig: Das Netzwerk sagt in einem Durchlauf von derselben Rasterposition aus einen Personenrahmen und alle zugehörigen Schlüsselpunkte voraus. Es benötigt weder Ausschnitte noch einen Gruppierungsschritt. YOLO-Pose (2022) brachte dieses Design zu YOLO.
Die Positionen der Schlüsselpunkte werden entweder aus Heatmaps abgeleitet, also einer Wahrscheinlichkeitskarte pro Schlüsselpunkt, deren Spitze die Position markiert, oder direkt durch Regression der Koordinaten bestimmt. Heatmaps führten jahrelang die Benchmarks an, benötigen aber viel Speicher und sind durch die Auflösung der Karte begrenzt. Die Schätzung der Residual-Log-Likelihood (RLE) verringerte 2021 den Abstand bei der Regression, indem sie die Verteilung des Vorhersagefehlers mithilfe eines normalisierenden Flusses lernte. YOLO26-Pose-Modelle sind einstufige Regressionsmodelle, die mit RLE trainiert werden: Während des Trainings sagt ein zusätzlicher Zweig die Unsicherheit jedes Schlüsselpunktes voraus, und ein RealNVP-Fluss bewertet den Fehler. Beim Zusammenführen des Modells für die Inferenz werden beide entfernt, sodass keine zusätzlichen Inferenzkosten entstehen.
from ultralytics import YOLO
# Ein YOLO26-Nano-Pose-Modell laden, das mit den 17 COCO-Körperpunkten trainiert wurde
model = YOLO("yolo26n-pose.pt")
# Alle Personen und ihre Schlüsselpunkte in einem Durchlauf finden
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Die Form ist (Personen, Schlüsselpunkte, xy); das Bild mit eingezeichneten Skeletten speichern
print(result.keypoints.xy.shape)
result.save(filename="pose_result.jpg")Die ausgegebene Form gibt die Anzahl der gefundenen Personen, multipliziert mit 17 Schlüsselpunkten und 2 Pixelkoordinaten, an. Das gespeicherte Bild zeigt jedes Skelett über der jeweiligen Person.
2D- und 3D-Pose-Schätzung#
2D-Schätzer liefern Pixelkoordinaten. Die 3D-Schätzung menschlicher Posen rekonstruiert Gelenkpositionen im Raum, indem sie eine Folge von 2D-Schlüsselpunkten mithilfe eines zweiten Netzwerks in 3D überführt, wie bei VideoPose3D, Schlüsselpunkte, die von mehreren kalibrierten Kameras erfasst wurden, trianguliert oder ein parametrisches Körpermodell wie SMPL an das Bild anpasst. Die Schätzung der Objektpose ist eine eigenständige Aufgabe: Sie rekonstruiert die 3D-Rotation und -Translation eines starren Objekts, häufig anhand von Schlüsselpunkten auf seiner Oberfläche, für das Greifen mit Robotern und für die erweiterte Realität.
Pose-Schätzung bewerten#
Der Benchmark COCO Keypoints enthält etwa 250.000 Personen, die mit 17 Schlüsselpunkten annotiert sind. Er bewertet Vorhersagen anhand der Ähnlichkeit von Objekt-Schlüsselpunkten (OKS), dem Gegenstück zu Schnittmenge über Vereinigungsmenge (IoU) für Schlüsselpunkte. Für jeden annotierten Schlüsselpunkt wird der Abstand d zwischen Vorhersage und Markierung in eine Ähnlichkeit exp(-d²/(2s²k²)) umgewandelt. Dabei ist s² die segmentierte Fläche der Person und k eine Konstante für den jeweiligen Schlüsselpunkt, die anhand der Übereinstimmung gemessen wird, mit der Annotierende diesen Schlüsselpunkt markiert haben. Der OKS mittelt diese Werte über die annotierten Schlüsselpunkte. Die mittlere durchschnittliche Präzision (mAP) wird über OKS-Schwellenwerte von 0,50 bis 0,95 gemittelt.
import numpy as np
# COCO falloff constants: annotators place eyes far more consistently than hips
sigmas = {"eye": 0.025, "hip": 0.107}
area = 20_000 # person's segmented area in pixels (s squared)
error = 5.0 # predicted keypoint lies 5 pixels from its label
# Per-keypoint OKS term: exp(-d^2 / (2 s^2 k^2)) with k = 2 * sigma
for name, sigma in sigmas.items():
similarity = np.exp(-(error**2) / (2 * area * (2 * sigma) ** 2))
print(f"{name}: {similarity:.2f}")Derselbe Fehler von 5 Pixeln ergibt bei einem Auge einen Wert von 0,78 und bei einer Hüfte einen Wert von 0,99. Andere Benchmarks verwenden andere Maße: MPII gibt PCKh aus, den Anteil der Schlüsselpunkte, die höchstens eine halbe Kopfgröße von ihrer Beschriftung entfernt sind. 3D-Benchmarks wie Human3.6M geben den mittleren Positionsfehler pro Gelenk in Millimetern an.
Anwendungen in der Praxis#
- Sportanalyse: Trainer messen Gelenkwinkel, Schrittlänge und Schwungmechanik anhand gewöhnlicher Videos, ohne die reflektierenden Marker der Bewegungserfassung im Labor.
- Rehabilitation: Physiotherapie-Apps erfassen zu Hause den Bewegungsumfang und die korrekte Übungsausführung. Systeme zur Sturzerkennung beobachten, ob die Schlüsselpunkte eines Körpers auf Bodenhöhe absinken.
- Aktionserkennung: Skelettfolgen sind kompakte Eingaben zur Klassifizierung von Aktionen wie Winken, Fallen oder Heben. Kleidung und Hintergrund bleiben dabei unberücksichtigt.
- Tierforschung: Benutzerdefinierte Schlüsselpunktsätze erfassen die Körperhaltung von Tieren, etwa mit den 24 Schlüsselpunkten pro Hund im Dog-Pose-Datensatz, um Gangart und Verhalten zu untersuchen.










