Overslaan naar inhoud

Overzicht datasets

Ultralytics biedt ondersteuning voor verschillende datasets om computer vision taken zoals detectie, segmentatie van instanties, schatting van de houding, classificatie en het volgen van meerdere objecten te vergemakkelijken. Hieronder volgt een lijst van de belangrijkste Ultralytics datasets, gevolgd door een samenvatting van elke computer vision taak en de respectievelijke datasets.



Kijken: Ultralytics Overzicht datasets

NIEUW 🚀 Ultralytics Verkenner

Maak embeddings voor je dataset, zoek naar vergelijkbare afbeeldingen, voer SQL queries uit, voer semantisch zoeken uit en zoek zelfs in natuurlijke taal! Je kunt aan de slag met onze GUI app of je eigen app bouwen met behulp van de API. Lees hier meer.

Ultralytics Verkenner Screenshot

Objectdetectie

Objectdetectie met begrenzende vakken is een computer vision-techniek waarbij objecten in een afbeelding worden gedetecteerd en gelokaliseerd door een begrenzende vak rond elk object te tekenen.

  • Argoverse: Een dataset met 3D-tracking- en bewegingsvoorspellingsgegevens van stedelijke omgevingen met rijke annotaties.
  • COCO: Common Objects in Context (COCO) is een grootschalige dataset voor objectdetectie, segmentatie en ondertiteling met 80 objectcategorieën.
  • LVIS: Een grootschalige dataset voor objectdetectie, segmentatie en ondertiteling met 1203 objectcategorieën.
  • COCO8: Een kleinere subset van de eerste 4 afbeeldingen van COCO train en COCO val, geschikt voor snelle tests.
  • Wereldwijde tarwe 2020: Een dataset met afbeeldingen van tarwekoppen voor de Global Wheat Challenge 2020.
  • Objecten365: Een hoogwaardige, grootschalige dataset voor objectdetectie met 365 objectcategorieën en meer dan 600K geannoteerde afbeeldingen.
  • OpenImagesV7: Een uitgebreide dataset van Google met 1,7M train afbeeldingen en 42k validatie afbeeldingen.
  • SKU-110K: Een dataset met dichte objectdetectie in winkelomgevingen met meer dan 11K afbeeldingen en 1,7 miljoen bounding boxes.
  • VisDrone: Een dataset met objectdetectie- en multi-objectvolggegevens van drone-opnamen met meer dan 10.000 afbeeldingen en videosequenties.
  • VOC: De Pascal Visual Object Classes (VOC) dataset voor objectdetectie en segmentatie met 20 objectklassen en meer dan 11K afbeeldingen.
  • xView: Een dataset voor objectdetectie in overheadbeelden met 60 objectcategorieën en meer dan 1 miljoen geannoteerde objecten.
  • Roboflow 100: Een diverse benchmark voor objectdetectie met 100 datasets verspreid over zeven beelddomeinen voor een uitgebreide evaluatie van modellen.
  • Hersentumor: Een dataset voor het detecteren van hersentumoren bevat MRI- of CT-scanbeelden met details over de aanwezigheid, locatie en kenmerken van de tumor.
  • Afrikaanse wilde dieren: Een dataset met afbeeldingen van Afrikaanse wilde dieren, waaronder buffels, olifanten, neushoorns en zebra's.
  • Handtekening: Een dataset met afbeeldingen van verschillende documenten met geannoteerde handtekeningen, ter ondersteuning van onderzoek naar documentverificatie en fraudedetectie.

Instance segmentatie

Segmentatie is een computervisietechniek waarbij objecten in een afbeelding op pixelniveau worden geïdentificeerd en gelokaliseerd.

  • COCO: Een grootschalige dataset ontworpen voor objectdetectie, segmentatie en bijschriftentaken met meer dan 200K gelabelde afbeeldingen.
  • COCO8-seg: Een kleinere dataset voor segmentatietaken, die een subset van 8 COCO-afbeeldingen met segmentatie-annotaties bevat.
  • Crack-seg: Specifiek ontworpen dataset voor het detecteren van scheuren op wegen en muren, toepasbaar voor zowel objectdetectie als segmentatietaken.
  • Package-seg: Dataset op maat voor het identificeren van pakketten in magazijnen of industriële omgevingen, geschikt voor zowel objectdetectie als segmentatietoepassingen.
  • Carparts-seg: Speciaal ontwikkelde dataset voor het identificeren van auto-onderdelen voor ontwerp, fabricage en onderzoek. Het dient voor zowel objectdetectie als segmentatietaken.

Schatting van de houding

Het schatten van de houding is een techniek die wordt gebruikt om de houding van het object ten opzichte van de camera of het coördinatensysteem van de wereld te bepalen.

  • COCO: Een grootschalige dataset met menselijke pose annotaties ontworpen voor pose schattingstaken.
  • COCO8-pose: een kleinere dataset voor pose-schattaken, die een subset van 8 COCO-beelden met menselijke pose-annotaties bevat.
  • Tiger-pose: een compacte dataset bestaande uit 263 afbeeldingen gericht op tijgers, geannoteerd met 12 sleutelpunten per tijger voor pose-schattingstaken.

Classificatie

Beeldclassificatie is een computervisietaak waarbij een afbeelding wordt ingedeeld in een of meer vooraf gedefinieerde klassen of categorieën op basis van de visuele inhoud.

  • Caltech 101: Een dataset met afbeeldingen van 101 objectcategorieën voor beeldclassificatietaken.
  • Caltech 256: Een uitgebreide versie van Caltech 101 met 256 objectcategorieën en meer uitdagende afbeeldingen.
  • CIFAR-10: Een dataset van 60K 32x32 kleurenafbeeldingen in 10 klassen, met 6K afbeeldingen per klasse.
  • CIFAR-100: Een uitgebreide versie van CIFAR-10 met 100 objectcategorieën en 600 afbeeldingen per klasse.
  • Mode-MNIST: Een dataset bestaande uit 70.000 grijswaardenafbeeldingen van 10 modecategorieën voor beeldclassificatietaken.
  • ImageNet: Een grootschalige dataset voor objectdetectie en beeldclassificatie met meer dan 14 miljoen afbeeldingen en 20.000 categorieën.
  • ImageNet-10: Een kleinere subset van ImageNet met 10 categorieën om sneller te kunnen experimenteren en testen.
  • Imagenette: Een kleinere subset van ImageNet die 10 gemakkelijk te onderscheiden klassen bevat voor sneller trainen en testen.
  • Imagewoof: Een meer uitdagende subset van ImageNet met 10 hondenrascategorieën voor beeldclassificatietaken.
  • MNIST: Een dataset van 70.000 grijswaardenafbeeldingen van handgeschreven cijfers voor beeldclassificatietaken.

Georiënteerde begrenzende vakken (OBB)

Oriented Bounding Boxes (OBB) is een methode in computer vision voor het detecteren van schuine objecten in afbeeldingen met behulp van geroteerde bounding boxes, vaak toegepast op lucht- en satellietbeelden.

  • DOTA-v2: Een populaire OBB luchtfoto dataset met 1,7 miljoen instanties en 11.268 beelden.

Volgen van meerdere objecten

Multi-object tracking is een computervisietechniek waarbij meerdere objecten in de loop van de tijd in een videosequentie worden gedetecteerd en gevolgd.

  • Argoverse: Een dataset met 3D-tracking- en bewegingsvoorspellingsgegevens van stedelijke omgevingen met rijke annotaties voor multi-object trackingtaken.
  • VisDrone: Een dataset met objectdetectie- en multi-objectvolggegevens van drone-opnamen met meer dan 10.000 afbeeldingen en videosequenties.

Nieuwe datasets bijdragen

Het bijdragen van een nieuwe dataset omvat verschillende stappen om ervoor te zorgen dat deze goed aansluit op de bestaande infrastructuur. Hieronder staan de noodzakelijke stappen:

Stappen om een nieuwe dataset bij te dragen

  1. Afbeeldingen verzamelen: Verzamel de afbeeldingen die bij de dataset horen. Deze kunnen worden verzameld uit verschillende bronnen, zoals openbare databases of je eigen verzameling.
  2. Afbeeldingen annoteren: Annoteer deze afbeeldingen met bounding boxes, segmenten of sleutelpunten, afhankelijk van de taak.
  3. Annotaties exporteren: Zet deze annotaties om in de YOLO *.txt bestandsformaat dat Ultralytics ondersteunt.
  4. Dataset organiseren: Plaats je dataset in de juiste mapstructuur. Je moet train/ en val/ bovenliggende mappen en binnen elke map een images/ en labels/ subdirectory.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Maak een data.yaml Bestand: Maak in de hoofdmap van je dataset een data.yaml bestand dat de dataset, klassen en andere benodigde informatie beschrijft.

  6. Afbeeldingen optimaliseren (optioneel): Als je de grootte van de dataset wilt verkleinen voor een efficiëntere verwerking, kun je de afbeeldingen optimaliseren met onderstaande code. Dit is niet verplicht, maar aanbevolen voor kleinere datasets en snellere downloadsnelheden.
  7. Zip Dataset: Comprimeer de hele datasetmap in een zipbestand.
  8. Documentatie en PR: Maak een documentatiepagina die je dataset beschrijft en hoe deze past in het bestaande raamwerk. Dien daarna een Pull Request (PR) in. Raadpleeg Ultralytics Richtlijnen voor bijdragen voor meer informatie over het indienen van een PR.

Voorbeeldcode om een dataset te optimaliseren en te ritsen

Een dataset optimaliseren en ritsen

from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

Door deze stappen te volgen kun je een nieuwe dataset bijdragen die goed integreert met de bestaande structuur van Ultralytics.

FAQ

Welke datasets ondersteunt Ultralytics voor objectdetectie?

Ultralytics ondersteunt een grote verscheidenheid aan datasets voor objectdetectie, waaronder: - COCO: Een grootschalige dataset voor objectdetectie, segmentatie en ondertiteling met 80 objectcategorieën. - LVIS: Een uitgebreide dataset met 1203 objectcategorieën, ontworpen voor fijnmazigere objectdetectie en segmentatie. - Argoverse: Een dataset met 3D-tracking- en bewegingsvoorspellingsgegevens van stedelijke omgevingen met rijke annotaties. - VisDrone: Een dataset met objectdetectie en multi-object-tracking gegevens van drone-captured beeldmateriaal. - SKU-110K: Met dichte objectdetectie in winkelomgevingen met meer dan 11K beelden.

Met deze datasets kunnen robuuste modellen worden getraind voor verschillende objectdetectietoepassingen.

Hoe draag ik een nieuwe dataset bij aan Ultralytics?

Het bijdragen van een nieuwe dataset bestaat uit verschillende stappen: 1. Afbeeldingen verzamelen: Verzamel afbeeldingen uit openbare databases of persoonlijke collecties. 2. Afbeeldingen annoteren: Pas bounding boxes, segmenten of toetspunten toe, afhankelijk van de taak. 3. Annotaties exporteren: Annotaties omzetten in de YOLO *.txt formaat. 4. Dataset organiseren: Gebruik de mappenstructuur met train/ en val/ mappen, die elk images/ en labels/ submappen. 5. Maak een data.yaml Bestand: Voeg beschrijvingen van datasets, klassen en andere relevante informatie toe. 6. Afbeeldingen optimaliseren (optioneel): Dataset verkleinen voor efficiëntie. 7. Zip Dataset: Comprimeer de dataset in een zip-bestand. 8. Documentatie en PR: Beschrijf je dataset en dien een Pull Request in als volgt Ultralytics Richtlijnen voor bijdragen.

Ga naar Nieuwe datasets bijdragen voor een uitgebreide handleiding.

Waarom zou ik Ultralytics Explorer gebruiken voor mijn dataset?

Ultralytics Explorer biedt krachtige functies voor het analyseren van datasets, waaronder: - Embeddings genereren: Maak vector inbeddingen voor afbeeldingen. - Semantisch zoeken: Zoeken naar vergelijkbare afbeeldingen met behulp van embeddings of AI. - SQL-query's: Voer geavanceerde SQL queries uit voor gedetailleerde gegevensanalyse. - Zoeken in natuurlijke taal: Zoek met zoekopdrachten in gewone taal voor gebruiksgemak.

Verken de Ultralytics Verkenner voor meer informatie en om de GUI Demo te proberen.

Wat zijn de unieke kenmerken van Ultralytics YOLO modellen voor computer vision?

Ultralytics YOLO modellen bieden verschillende unieke functies: - Real-time prestaties: Snelle inferentie en training. - Veelzijdigheid: Geschikt voor detectie-, segmentatie-, classificatie- en houdingschattaken. - Voorgetrainde modellen: Toegang tot hoogwaardige, voorgetrainde modellen voor verschillende toepassingen. - Uitgebreide ondersteuning door gemeenschap: Actieve community en uitgebreide documentatie voor probleemoplossing en ontwikkeling.

Ontdek meer over YOLO op de Ultralytics YOLO pagina.

Hoe kan ik een dataset optimaliseren en zippen met Ultralytics tools?

Volg deze voorbeeldcode om een dataset te optimaliseren en te ritsen met Ultralytics tools:

Een dataset optimaliseren en ritsen

from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

Meer informatie over het optimaliseren en ritsen van een dataset.



Aangemaakt 2023-11-12, Bijgewerkt 2024-07-04
Auteurs: glenn-jocher (10), RizwanMunawar (2), Burhan-Q (1), Laughing-q (1), abirami-vina (1), AyushExel (2)

Reacties