Overslaan naar inhoud

COCO8-Seg Dataset

Inleiding

Ultralytics COCO8-Seg is een kleine, maar veelzijdige instantie segmentatie dataset die bestaat uit de eerste 8 afbeeldingen van de COCO train 2017 set, 4 voor training en 4 voor validatie. Deze dataset is ideaal voor het testen en debuggen van segmentatiemodellen, of om te experimenteren met nieuwe detectiebenaderingen. Met 8 afbeeldingen is het klein genoeg om gemakkelijk te beheren, maar toch divers genoeg om trainingslijnen te testen op fouten en te fungeren als een sanity check voordat grotere datasets worden getraind.

Deze dataset is bedoeld voor gebruik met Ultralytics HUB en YOLOv8.

Dataset YAML

Een YAML (Yet Another Markup Language) bestand wordt gebruikt om de configuratie van de dataset te definiëren. Het bevat informatie over de paden, klassen en andere relevante informatie van de dataset. In het geval van de COCO8-Seg dataset is de coco8-seg.yaml bestand wordt onderhouden op https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml.

ultralytics/cfg/datasets/coco8-seg.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO8-seg dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/coco8-seg/
# Example usage: yolo train data=coco8-seg.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-seg  ← 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: ../datasets/coco8-seg # 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)

# 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/coco8-seg.zip

Gebruik

Om een YOLOv8n-seg model te trainen op de COCO8-Seg dataset voor 100 epochs met een afbeeldingsgrootte van 640, kun je de volgende codefragmenten gebruiken. Raadpleeg de pagina Model Training voor een uitgebreide lijst met beschikbare argumenten.

Voorbeeld trein

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8-seg.yaml model=yolov8n-seg.pt epochs=100 imgsz=640

Voorbeeldafbeeldingen en -annotaties

Hier zijn enkele voorbeelden van afbeeldingen uit de COCO8-Seg dataset, samen met de bijbehorende annotaties:

Voorbeeldafbeelding dataset

  • Gemozaïekte afbeelding: Deze afbeelding toont een trainingsbatch die bestaat uit gemozaïekte afbeeldingen van de dataset. Mozaïeken is een techniek die tijdens het trainen wordt gebruikt om meerdere afbeeldingen te combineren tot één afbeelding om de verscheidenheid aan objecten en scènes binnen elke trainingsbatch te vergroten. Dit helpt het vermogen van het model om te generaliseren naar verschillende objectgroottes, beeldverhoudingen en contexten te verbeteren.

Het voorbeeld toont de verscheidenheid en complexiteit van de afbeeldingen in de COCO8-Seg dataset en de voordelen van het gebruik van mozaïek tijdens het trainingsproces.

Citaten en erkenningen

Als je de COCO dataset gebruikt in je onderzoek of ontwikkeling, citeer dan het volgende document:

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

We willen graag het COCO Consortium bedanken voor het maken en onderhouden van deze waardevolle bron voor de computer vision gemeenschap. Ga voor meer informatie over de COCO dataset en de makers naar de COCO dataset website.

FAQ

Wat is de COCO8-Seg dataset en hoe wordt deze gebruikt in Ultralytics YOLOv8 ?

De COCO8-Seg dataset is een compacte instantie segmentatie dataset van Ultralytics, bestaande uit de eerste 8 afbeeldingen uit de COCO train 2017 set-4 afbeeldingen voor training en 4 voor validatie. Deze dataset is op maat gemaakt voor het testen en debuggen van segmentatiemodellen of het experimenteren met nieuwe detectiemethoden. Het is vooral handig met Ultralytics YOLOv8 en HUB voor snelle iteratie en pipeline foutcontrole voordat er op grotere datasets wordt geschaald. Raadpleeg voor gedetailleerd gebruik de pagina Model Training.

Hoe kan ik een YOLOv8n-seg model trainen met de COCO8-Seg dataset?

Om een YOLOv8n-seg model te trainen op de COCO8-Seg dataset voor 100 epochs met een afbeeldingsgrootte van 640, kun je de commando's Python of CLI gebruiken. Hier is een snel voorbeeld:

Voorbeeld trein

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8-seg.yaml model=yolov8n.pt epochs=100 imgsz=640

Voor een grondige uitleg van beschikbare argumenten en configuratieopties kun je de Training documentatie raadplegen.

Waarom is de COCO8-Seg dataset belangrijk voor modelontwikkeling en debuggen?

De COCO8-Seg dataset is ideaal vanwege de beheerbaarheid en diversiteit binnen een klein formaat. Hij bestaat uit slechts 8 afbeeldingen en biedt een snelle manier om segmentatiemodellen of nieuwe detectiebenaderingen te testen en te debuggen zonder de overhead van grotere datasets. Dit maakt het een efficiënt hulpmiddel voor sanity checks en het identificeren van pijplijnfouten voordat je begint met uitgebreide training op grote datasets. Lees hier meer over datasetformaten.

Waar kan ik het YAML-configuratiebestand voor de COCO8-Seg dataset vinden?

Het YAML configuratiebestand voor de COCO8-Seg dataset is beschikbaar in de Ultralytics repository. Je kunt het bestand hier direct openen. Het YAML-bestand bevat essentiële informatie over datasetpaden, klassen en configuratie-instellingen die nodig zijn voor modeltraining en validatie.

Wat zijn enkele voordelen van het gebruik van mozaïek tijdens het trainen met de COCO8-Seg dataset?

Het gebruik van mozaïek tijdens training helpt de diversiteit en verscheidenheid van objecten en scènes in elke trainingsbatch te vergroten. Deze techniek combineert meerdere beelden in een enkel samengesteld beeld, waardoor het model beter in staat is om te generaliseren naar verschillende objectgroottes, beeldverhoudingen en contexten binnen de scène. Mozaïeken is gunstig voor het verbeteren van de robuustheid en nauwkeurigheid van een model, vooral bij het werken met kleine datasets zoals COCO8-Seg. Zie de sectie Voorbeeldafbeeldingen en Annotaties voor een voorbeeld van gemozaïekte afbeeldingen.



Aangemaakt 2023-11-12, Bijgewerkt 2024-07-17
Auteurs: hnliu_2@stu.xidian.edu.cn (1), glenn-jocher (7), Laughing-q (1)

Reacties