COCO8-Pose-Datensatz

Einführung

Ultralytics COCO8-Pose ist ein kleiner, aber vielseitiger Pose-Detection-Datensatz, der aus den ersten 8 Bildern des COCO-Train-2017-Sets besteht (4 für das Training und 4 für die Validierung). Dieser Datensatz ist ideal zum Testen und Debuggen von object detection-Modellen oder zum Experimentieren mit neuen Erkennungsansätzen. Mit 8 Bildern ist er klein genug, um leicht handhabbar zu sein, bietet aber genug Diversität, um Trainings-Pipelines auf Fehler zu prüfen und als Plausibilitätsprüfung vor dem Training mit größeren Datensätzen zu dienen.

Datensatzstruktur

  • Gesamtzahl der Bilder: 8 (4 train / 4 val).
  • Klassen: 1 (Person) mit 17 Keypoints pro Annotation.
  • Empfohlene Verzeichnisstruktur: datasets/coco8-pose/images/{train,val} und datasets/coco8-pose/labels/{train,val} mit YOLO-formatierten Keypoints, die als .txt-Dateien gespeichert sind.

Dieser Datensatz ist für die Verwendung mit der Ultralytics Platform und YOLO26 vorgesehen.

Datensatz-YAML

Eine YAML-Datei (Yet Another Markup Language) wird verwendet, um die Dataset-Konfiguration zu definieren. Sie enthält Informationen über die Pfade, Klassen und andere relevante Daten des Datensatzes. Im Fall des COCO8-Pose-Datensatzes wird die Datei coco8-pose.yaml unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml gepflegt.

ultralytics/cfg/datasets/coco8-pose.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose/
# Example usage: yolo train data=coco8-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-pose ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes
names:
  0: person

# Keypoint names per class
kpt_names:
  0:
    - nose
    - left_eye
    - right_eye
    - left_ear
    - right_ear
    - left_shoulder
    - right_shoulder
    - left_elbow
    - right_elbow
    - left_wrist
    - right_wrist
    - left_hip
    - right_hip
    - left_knee
    - right_knee
    - left_ankle
    - right_ankle

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-pose.zip

Verwendung

Um ein YOLO26n-pose-Modell auf dem COCO8-Pose-Datensatz für 100 epochs mit einer Bildgröße von 640 zu trainieren, kannst du die folgenden Code-Schnipsel verwenden. Eine umfassende Liste der verfügbaren Argumente findest du auf der Modell-Training-Seite.

Trainingsbeispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

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

Beispielbilder und Annotationen

Hier sind einige Beispiele von Bildern aus dem COCO8-Pose-Datensatz zusammen mit den entsprechenden Annotationen:

COCO8-pose keypoint estimation dataset mosaic
  • Mosaik-Bild: Dieses Bild zeigt einen Trainings-Batch, der aus mosaikierten Datensatzbildern besteht. Mosaiking ist eine Technik, die während des Trainings verwendet wird, um mehrere Bilder zu einem einzigen Bild zu kombinieren, um die Vielfalt der Objekte und Szenen innerhalb jedes Trainings-Batches zu erhöhen. Dies trägt dazu bei, die Fähigkeit des Modells zu verbessern, auf verschiedene Objektgrößen, Seitenverhältnisse und Kontexte zu generalisieren.

Das Beispiel zeigt die Vielfalt und Komplexität der Bilder im COCO8-Pose-Datensatz und die Vorteile der Verwendung von Mosaicing während des Trainingsprozesses.

Zitate und Danksagungen

Wenn du den COCO Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, zitiere bitte das folgende Paper:

Zitat
@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Wir möchten dem COCO Consortium dafür danken, dass es diese wertvolle Ressource für die Computer Vision-Community erstellt und pflegt. Weitere Informationen über den COCO-Datensatz und seine Ersteller findest du auf der COCO-Dataset-Website.

FAQ

Was ist der COCO8-Pose-Datensatz und wie wird er mit Ultralytics YOLO26 verwendet?

Der COCO8-Pose-Datensatz ist ein kleiner, vielseitiger Pose-Detection-Datensatz, der die ersten 8 Bilder aus dem COCO-Train-2017-Set enthält, wobei 4 Bilder für das Training und 4 für die Validierung vorgesehen sind. Er wurde für das Testen und Debuggen von Object-Detection-Modellen sowie für das Experimentieren mit neuen Erkennungsansätzen entwickelt. Dieser Datensatz ist ideal für schnelle Experimente mit Ultralytics YOLO26. Weitere Details zur Konfiguration des Datensatzes findest du in der dataset YAML file.

Wie trainiere ich ein YOLO26-Modell mit dem COCO8-Pose-Datensatz in Ultralytics?

Um ein YOLO26n-pose-Modell auf dem COCO8-Pose-Datensatz für 100 Epochen mit einer Bildgröße von 640 zu trainieren, befolge diese Beispiele:

Trainingsbeispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")

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

Für eine umfassende Liste der Trainingsargumente schau auf der Modell-Training-Seite nach.

Welche Vorteile bietet die Verwendung des COCO8-Pose-Datensatzes?

Der COCO8-Pose-Datensatz bietet mehrere Vorteile:

  • Kompakte Größe: Mit nur 8 Bildern ist er einfach zu verwalten und perfekt für schnelle Experimente geeignet.
  • Diverse Daten: Trotz seiner geringen Größe enthält er eine Vielzahl von Szenen, was für gründliche Pipeline-Tests nützlich ist.
  • Fehler-Debugging: Ideal zur Identifizierung von Trainingsfehlern und zur Durchführung von Plausibilitätsprüfungen, bevor die Skalierung auf größere Datensätze erfolgt.

Weitere Informationen zu seinen Funktionen und zur Verwendung findest du im Abschnitt Dataset Introduction.

Wie profitiert der YOLO26-Trainingsprozess mit dem COCO8-Pose-Datensatz von Mosaicing?

Mosaicing, wie es in den Beispielbildern des COCO8-Pose-Datensatzes dargestellt ist, kombiniert mehrere Bilder zu einem einzigen, was die Vielfalt der Objekte und Szenen innerhalb eines Trainings-Batches erhöht. Diese Technik hilft dabei, die Fähigkeit des Modells zu verbessern, über verschiedene Objektgrößen, Seitenverhältnisse und Kontexte hinweg zu generalisieren, wodurch die Modellleistung letztendlich gesteigert wird. Siehe den Abschnitt Sample Images and Annotations für Beispielbilder.

Wo finde ich die YAML-Datei für den COCO8-Pose-Datensatz und wie verwende ich sie?

Die YAML-Datei des COCO8-Pose-Datensatzes findest du unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml. Diese Datei definiert die Konfiguration des Datensatzes, einschließlich Pfaden, Klassen und anderen relevanten Informationen. Verwende diese Datei mit den YOLO26-Trainingsskripten, wie im Abschnitt Train Example erwähnt.

Für weitere FAQs und detaillierte Dokumentationen besuche die Ultralytics Documentation.

Kommentare