Meet YOLO26: next-gen vision AI.

Link to this sectionPose Estimation#

YOLO pose estimation with human body keypoint detection

Pose Estimation ist eine Aufgabe, bei der es darum geht, die Position bestimmter Punkte in einem Bild zu identifizieren, die üblicherweise als Keypoints bezeichnet werden. Diese Keypoints können verschiedene Teile eines Objekts darstellen, wie zum Beispiel Gelenke, Orientierungspunkte oder andere charakteristische Merkmale. Die Positionen der Keypoints werden normalerweise als eine Reihe von 2D-[x, y]-Koordinaten angegeben, optional ergänzt um einen Sichtbarkeits-Flag [x, y, visible].

Die Ausgabe eines Pose-Estimation-Modells ist eine Menge von Punkten, die die Keypoints eines Objekts im Bild darstellen, normalerweise zusammen mit den Konfidenzwerten für jeden Punkt. Pose Estimation ist eine gute Wahl, wenn du bestimmte Teile eines Objekts in einer Szene sowie deren Position in Bezug zueinander identifizieren musst.



Watch: How to Run Real-Time Pose Estimation with Ultralytics YOLO26 | Tracking & Keypoints Extraction 🕺
Tipp

YOLO26 pose-Modelle verwenden das Suffix -pose, z. B. yolo26n-pose.pt. Diese Modelle wurden auf dem COCO keypoints-Datensatz trainiert und eignen sich für eine Vielzahl von Pose-Estimation-Aufgaben.

Im standardmäßigen YOLO26-Pose-Modell gibt es 17 Keypoints, von denen jeder einen anderen Teil des menschlichen Körpers repräsentiert. Hier ist die Zuordnung der einzelnen Indizes zu den jeweiligen Körpergelenken:

  1. Nase
  2. Linkes Auge
  3. Rechtes Auge
  4. Linkes Ohr
  5. Rechtes Ohr
  6. Linke Schulter
  7. Rechte Schulter
  8. Linker Ellbogen
  9. Rechter Ellbogen
  10. Linkes Handgelenk
  11. Rechtes Handgelenk
  12. Linke Hüfte
  13. Rechte Hüfte
  14. Linkes Knie
  15. Rechtes Knie
  16. Linker Knöchel
  17. Rechter Knöchel

Link to this sectionModelle#

Ultralytics YOLO26 vortrainierte Pose-Modelle sind hier dargestellt. Detect-, Segment- und Pose-Modelle sind auf dem COCO-Datensatz vortrainiert, Semantic-Modelle sind auf Cityscapes vortrainiert und Classify-Modelle sind auf dem ImageNet-Datensatz vortrainiert.

Modelle werden bei der ersten Verwendung automatisch vom neuesten Ultralytics-Release heruntergeladen.

ModellGröße
(Pixel)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLO26n-pose64057,283,340,3 ± 0,51,8 ± 0,02,97,5
YOLO26s-pose64063,086,685,3 ± 0,92,7 ± 0,010.423,9
YOLO26m-pose64068,889,6218,0 ± 1,55,0 ± 0,121,573,1
YOLO26l-pose64070,490,5275,4 ± 2,46,5 ± 0,125,991,3
YOLO26x-pose64071,691,6565,4 ± 3,012,2 ± 0,257,6201,7
  • mAPval-Werte gelten für ein einzelnes Modell mit Einzelskalierung auf dem COCO Keypoints val2017-Datensatz.
    Reproduziere dies mit yolo val pose data=coco-pose.yaml device=0
  • Geschwindigkeit gemittelt über COCO-Val-Bilder unter Verwendung einer Amazon EC2 P4d-Instanz.
    Reproduziere dies mit yolo val pose data=coco-pose.yaml batch=1 device=0|cpu
  • Params- und FLOPs-Werte beziehen sich auf das fusionierte Modell nach model.fuse(), welches Conv- und BatchNorm-Layer zusammenführt und bei End-to-End-Modellen den zusätzlichen One-to-Many-Detection-Head entfernt. Vortrainierte Checkpoints behalten die vollständige Trainingsarchitektur bei und können höhere Anzahlen aufweisen.

Link to this sectionTrainieren#

Trainiere ein YOLO26-pose-Modell auf dem COCO8-pose-Datensatz. Der COCO8-pose-Datensatz ist ein kleiner Beispieldatensatz, der sich perfekt zum Testen und Debuggen deiner Pose-Estimation-Modelle eignet.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-pose.yaml").load("yolo26n-pose.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)

Die vollständigen Details zum train-Modus findest du auf der Train-Seite. Pose-Modelle können auch über die Ultralytics Platform auf Cloud-GPUs trainiert werden.

Link to this sectionDatensatzformat#

Das YOLO-Pose-Datensatzformat ist detailliert im Dataset Guide beschrieben. Um deinen bestehenden Datensatz aus anderen Formaten (wie COCO usw.) in das YOLO-Format zu konvertieren, verwende bitte das JSON2YOLO-Tool von Ultralytics. Die Ultralytics Platform unterstützt zudem die Pose-Annotation mit integrierten Skelettvorlagen für Personen, Hände, Gesichter und benutzerdefinierte Keypoint-Layouts.

Für benutzerdefinierte Pose-Estimation-Aufgaben kannst du auch spezialisierte Datensätze erkunden, wie Tiger-Pose für Tier-Pose-Estimation, Hand Keypoints für Hand-Tracking oder Dog-Pose für die Analyse von Hunde-Posen.

Link to this sectionValidieren#

Validiere die Genauigkeit des trainierten YOLO26n-pose-Modells auf dem COCO8-pose-Datensatz. Es sind keine Argumente erforderlich, da das model seine Trainings-data und Argumente als Modellattribute beibehält.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary for box with precision, recall, F1, TP, FP, and FN
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pose.maps  # a list containing mAP50-95(P) for each category
metrics.pose.image_metrics  # per-image metrics dictionary for pose with precision, recall, F1, TP, FP, and FN

Link to this sectionVorhersagen#

Verwende ein trainiertes YOLO26n-pose-Modell, um Vorhersagen auf Bildern auszuführen. Der Predict-Modus ermöglicht es dir, Inferenz auf Bildern, Videos oder Echtzeit-Streams durchzuführen.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xy = result.keypoints.xy  # x and y coordinates
    xyn = result.keypoints.xyn  # normalized
    kpts = result.keypoints.data  # x, y, visibility (if available)

Siehe vollständige Details zum predict-Modus auf der Predict-Seite.

Link to this sectionErgebnisausgabe#

Pose Estimation liefert ein Results-Objekt pro Bild. Die primären Vorhersagefelder sind result.keypoints für Pose-Koordinaten und result.boxes für die erkannten Instanzen, zu denen diese Keypoints gehören.

AttributTypFormBeschreibung
result.keypointsKeypoints(N)Keypoints.
result.keypoints.datatorch.float32(N,K,2/3)x,y plus optionale Sichtbarkeit/Konfidenz.
result.keypoints.xytorch.float32(N,K,2)Pixel-Keypoints.
result.keypoints.xyntorch.float32(N,K,2)Normalisierte Keypoints.
result.boxesBoxes(N)Instanz-Boxen.

Für aufgaben-spezifische Results-Felder für jede Aufgabe siehe den Abschnitt Vorhersageergebnisse nach Aufgabe.

Link to this sectionExportieren#

Exportiere ein YOLO26n-Pose-Modell in ein anderes Format wie ONNX, CoreML usw. Dies ermöglicht dir, dein Modell auf verschiedenen Plattformen und Geräten für Echtzeit-Inferenz bereitzustellen.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Verfügbare YOLO26-pose-Exportformate findest du in der folgenden Tabelle. Du kannst in jedes Format exportieren, indem du das format-Argument verwendest, z. B. format='onnx' oder format='engine'. Du kannst direkt mit den exportierten Modellen vorhersagen oder validieren, z. B. yolo predict model=yolo26n-pose.onnx. Anwendungsbeispiele werden für dein Modell nach Abschluss des Exports angezeigt.

Formatformat-ArgumentModellMetadatenArgumente
PyTorch-yolo26n-pose.pt-
TorchScripttorchscriptyolo26n-pose.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-pose.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n-pose_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-pose.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-pose.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-pose_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n-pose.pbimgsz, batch, device
TF Litetfliteyolo26n-pose.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-pose_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n-pose_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n-pose_paddle_model/imgsz, batch, device
MNNmnnyolo26n-pose.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-pose_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-pose_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n-pose_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n-pose_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n-pose_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n-pose_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n-pose_qnn_model/imgsz, batch, name, int8, data, fraction, device

Siehe vollständige export Details auf der Export Seite.

Link to this sectionFAQ#

Link to this sectionWas ist Pose Estimation mit Ultralytics YOLO26 und wie funktioniert es?#

Pose Estimation mit Ultralytics YOLO26 beinhaltet die Identifizierung spezifischer Punkte, bekannt als Keypoints, in einem Bild. Diese Keypoints repräsentieren typischerweise Gelenke oder andere wichtige Merkmale des Objekts. Die Ausgabe beinhaltet die [x, y]-Koordinaten und Konfidenzwerte für jeden Punkt. YOLO26-pose-Modelle sind speziell für diese Aufgabe konzipiert und verwenden das Suffix -pose, wie zum Beispiel yolo26n-pose.pt. Diese Modelle sind auf Datensätzen wie COCO keypoints vortrainiert und können für verschiedene Pose-Estimation-Aufgaben verwendet werden. Weitere Informationen findest du auf der Pose Estimation-Seite.

Link to this sectionWie kann ich ein YOLO26-pose-Modell auf einem benutzerdefinierten Datensatz trainieren?#

Das Training eines YOLO26-pose-Modells auf einem benutzerdefinierten Datensatz beinhaltet das Laden eines Modells, entweder ein neues Modell, das durch eine YAML-Datei definiert ist, oder ein vortrainiertes Modell. Du kannst dann den Trainingsprozess mit deinem spezifizierten Datensatz und Parametern starten.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Ausführliche Details zum Training findest du im Train-Abschnitt. Du kannst auch die Ultralytics Platform für einen No-Code-Ansatz zum Training benutzerdefinierter Pose-Estimation-Modelle verwenden.

Link to this sectionWie validiere ich ein trainiertes YOLO26-pose-Modell?#

Die Validierung eines YOLO26-pose-Modells beinhaltet die Bewertung seiner Genauigkeit unter Verwendung der gleichen Datensatzparameter, die während des Trainings beibehalten wurden. Hier ist ein Beispiel:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered

Für weitere Informationen besuche den Val-Abschnitt.

Link to this sectionKann ich ein YOLO26-pose-Modell in andere Formate exportieren und wie?#

Ja, du kannst ein YOLO26-pose-Modell in verschiedene Formate wie ONNX, CoreML, TensorRT und mehr exportieren. Dies kann entweder mit Python oder dem Command Line Interface (CLI) erfolgen.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Weitere Details findest du im Export-Abschnitt. Exportierte Modelle können auf Edge-Geräten für Echtzeitanwendungen wie Fitness-Tracking, Sportanalyse oder Robotik eingesetzt werden.

Link to this sectionWas sind die verfügbaren Ultralytics YOLO26-pose-Modelle und deren Leistungsmetriken?#

Ultralytics YOLO26 bietet verschiedene vortrainierte Pose-Modelle wie YOLO26n-pose, YOLO26s-pose, YOLO26m-pose und andere. Diese Modelle unterscheiden sich in Größe, Genauigkeit (mAP) und Geschwindigkeit. Zum Beispiel erreicht das YOLO26n-pose-Modell einen mAPpose50-95 von 57,2 und einen mAPpose50 von 83,3. Für eine vollständige Liste und Leistungsdetails besuche den Models-Abschnitt.

Kommentare