Jeu de données COCO128-Seg

Introduction

Ultralytics COCO128-Seg est un petit jeu de données d'instance segmentation polyvalent composé des 128 premières images de l'ensemble train 2017 de COCO. Ce jeu de données est idéal pour tester et déboguer des modèles de segmentation, ou pour expérimenter avec de nouvelles approches de détection. Avec 128 images, il est assez petit pour être facilement gérable, tout en étant assez diversifié pour tester les pipelines d'entraînement afin d'y déceler des erreurs et servir de vérification rapide avant d'entraîner sur des jeux de données plus volumineux.

Structure du jeu de données

  • Images : 128 au total. Le YAML par défaut réutilise le même répertoire pour train et val afin que tu puisses itérer rapidement, mais tu peux dupliquer ou personnaliser la séparation si tu le souhaites.
  • Classes : Les 80 mêmes catégories d'objets que COCO.
  • Étiquettes : Polygones au format YOLO enregistrés à côté de chaque image dans labels/{train,val}.

Ce jeu de données est destiné à être utilisé avec Ultralytics Platform et YOLO26.

YAML du jeu de données

Un fichier YAML (Yet Another Markup Language) est utilisé pour définir la configuration du jeu de données. Il contient des informations sur les chemins du jeu de données, les classes et d'autres informations pertinentes. Dans le cas du jeu de données COCO128-Seg, le fichier coco128-seg.yaml est maintenu à https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml.

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

# COCO128-seg dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/coco/
# Example usage: yolo train data=coco128-seg.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128-seg ← downloads here (7 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: coco128-seg # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

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

Utilisation

Pour entraîner un modèle YOLO26n-seg sur le jeu de données COCO128-Seg pendant 100 epochs avec une taille d'image de 640, tu peux utiliser les extraits de code suivants. Pour une liste exhaustive des arguments disponibles, consulte la page Training du modèle.

Exemple d'entraînement
from ultralytics import YOLO

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

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

Exemples d'images et d'annotations

Voici quelques exemples d'images du jeu de données COCO128-Seg, accompagnées de leurs annotations correspondantes :

COCO128-seg instance segmentation dataset mosaic
  • Image en mosaïque : Cette image démontre un lot d'entraînement composé d'images du jeu de données en mosaïque. La mosaïque est une technique utilisée pendant l'entraînement qui combine plusieurs images en une seule image pour augmenter la variété des objets et des scènes au sein de chaque lot d'entraînement. Cela aide à améliorer la capacité du modèle à généraliser à différentes tailles d'objets, ratios d'aspect et contextes.

L'exemple met en avant la variété et la complexité des images du jeu de données COCO128-Seg ainsi que les avantages de l'utilisation du mosaicing pendant le processus d'entraînement.

Citations et remerciements

Si tu utilises le jeu de données COCO dans tes travaux de recherche ou de développement, merci de citer le papier suivant :

Citation
@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}
}

Nous tenons à remercier le consortium COCO pour la création et la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur. Pour plus d'informations sur le jeu de données COCO et ses créateurs, visite le site web du jeu de données COCO.

FAQ

Qu'est-ce que le jeu de données COCO128-Seg, et comment est-il utilisé dans Ultralytics YOLO26 ?

Le jeu de données COCO128-Seg est un jeu de données de segmentation d'instance compact conçu par Ultralytics, constitué des 128 premières images de l'ensemble train 2017 de COCO. Ce jeu de données est adapté pour tester et déboguer des modèles de segmentation ou expérimenter avec de nouvelles méthodes de détection. Il est particulièrement utile avec Ultralytics YOLO26 et Platform pour une itération rapide et une vérification d'erreurs du pipeline avant de passer à l'échelle sur des jeux de données plus importants. Pour une utilisation détaillée, consulte la page Training du modèle.

Comment puis-je entraîner un modèle YOLO26n-seg en utilisant le jeu de données COCO128-Seg ?

Pour entraîner un modèle YOLO26n-seg sur le jeu de données COCO128-Seg pendant 100 epochs avec une taille d'image de 640, tu peux utiliser Python ou des commandes CLI. Voici un exemple rapide :

Exemple d'entraînement
from ultralytics import YOLO

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

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

Pour une explication approfondie des arguments disponibles et des options de configuration, tu peux consulter la documentation sur la Formation.

Pourquoi le jeu de données COCO128-Seg est-il important pour le développement et le débogage de modèles ?

Le jeu de données COCO128-Seg offre une combinaison équilibrée de maniabilité et de diversité avec 128 images, ce qui le rend parfait pour tester et déboguer rapidement des modèles de segmentation ou expérimenter avec de nouvelles techniques de détection. Sa taille modérée permet des itérations d'entraînement rapides tout en offrant assez de diversité pour valider les pipelines d'entraînement avant de passer à l'échelle sur des jeux de données plus importants. Apprends-en plus sur les formats de jeux de données pris en charge dans le guide sur les jeux de données de segmentation Ultralytics.

Où puis-je trouver le fichier de configuration YAML pour le jeu de données COCO128-Seg ?

Le fichier de configuration YAML pour le jeu de données COCO128-Seg est disponible dans le dépôt Ultralytics. Tu peux accéder directement au fichier à https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml. Le fichier YAML inclut des informations essentielles sur les chemins du jeu de données, les classes et les paramètres de configuration requis pour l'entraînement et la validation du modèle.

Quels sont certains des avantages de l'utilisation du mosaicing pendant l'entraînement avec le jeu de données COCO128-Seg ?

L'utilisation du mosaicing pendant l'entraînement aide à augmenter la diversité et la variété des objets et des scènes dans chaque lot d'entraînement. Cette technique combine plusieurs images en une seule image composite, améliorant la capacité du modèle à se généraliser à différentes tailles d'objets, différents rapports d'aspect et contextes au sein de la scène. Le mosaicing est bénéfique pour améliorer la robustesse et l'accuracy d'un modèle, surtout lorsque tu travailles avec des jeux de données de taille modérée comme COCO128-Seg. Pour un exemple d'images mosaïquées, vois la section Sample Images and Annotations.

Commentaires