YOLO Vision 2026:

Übersicht der Datensätze#

Ultralytics bietet Unterstützung für verschiedene Datensätze, um Computer-Vision-Aufgaben wie Erkennung, Instanzsegmentierung, semantische Segmentierung, Tiefenschätzung, Pose-Schätzung, Klassifizierung und Multi-Object Tracking zu erleichtern. Unten findest du eine Liste der wichtigsten Ultralytics-Datensätze, gefolgt von einer Zusammenfassung der einzelnen Computer-Vision-Aufgaben und den jeweiligen Datensätzen.



Watch: Ultralytics Datasets Overview

Objekterkennung#

Die Objekterkennung mit Böschungsrahmen (bzw. Bounding Box) ist eine Computer-Vision-Technik, bei der Objekte in einem Bild erkannt und lokalisiert werden, indem ein Rahmen um jedes Objekt gezeichnet wird.

  • African-wildlife: Ein Datensatz mit Bildern von afrikanischen Wildtieren, darunter Büffel, Elefanten, Nashörner und Zebras.
  • Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsprognosedaten aus städtischen Umgebungen mit reichhaltigen Annotationen.
  • Brain-tumor: Ein Datensatz zur Erkennung von Gehirntumoren, der MRT- oder CT-Scanbilder mit Details zum Vorhandensein, Standort und den Eigenschaften von Tumoren enthält.
  • COCO: Common Objects in Context (COCO) ist ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Beschriftung mit 80 Objektkategorien.
  • COCO8: Eine kleinere Teilmenge der ersten 4 Bilder aus COCO train und COCO val, geeignet für schnelle Tests.
  • COCO8-Grayscale: Eine Graustufenversion von COCO8, die durch Konvertierung von RGB in Graustufen erstellt wurde und nützlich für die Evaluierung von Einkanalmodellen ist.
  • COCO8-Multispectral: Eine 10-Kanal-Multispektralversion von COCO8, die durch Interpolation von RGB-Wellenlängen erstellt wurde und nützlich für die spektralbewusste Modellevaluierung ist.
  • COCO128: Eine kleinere Teilmenge der ersten 128 Bilder aus COCO train2017, geeignet für Tests.
  • Construction-PPE: Ein Datensatz mit Bildern von Baustellen, die mit wichtiger Sicherheitsausrüstung wie Helmen, Westen, Handschuhen, Stiefeln und Schutzbrillen kommentiert sind, sowie Labels für fehlende Ausrüstung, was die Entwicklung von KI-Modellen für Compliance und Arbeitsschutz unterstützt.
  • Global Wheat 2020: Ein Datensatz mit Bildern von Weizenähren für die Global Wheat Challenge 2020.
  • HomeObjects-3K: Ein Datensatz mit beschrifteten Innenszenen, die 12 häufige Haushaltsgegenstände zeigen, ideal für die Entwicklung und das Testen von Computer-Vision-Modellen in Smart-Home-Systemen, der Robotik und Augmented Reality.
  • KITTI Neu: Ein bekannter Datensatz für autonomes Fahren mit Stereo-, LiDAR- und GPS/IMU-Eingaben, der für die 2D-Objekterkennung in verschiedenen Straßenszenen verwendet wird.
  • LVIS: Ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Beschriftung mit 1203 Objektkategorien.
  • Medical-pills: Ein Datensatz mit beschrifteten Bildern von medizinischen Pillen, entwickelt zur Unterstützung bei Aufgaben wie pharmazeutischer Qualitätskontrolle, Sortierung und der Sicherstellung der Einhaltung von Industriestandards.
  • Objects365: Ein hochwertiger, groß angelegter Datensatz für Objekterkennung mit 365 Objektkategorien und über 600.000 annotierten Bildern.
  • OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Millionen Trainingsbildern und 42.000 Validierungsbildern.
  • RF100: Ein vielseitiger Objekterkennungs-Benchmark mit 100 Datensätzen über sieben Bilddomänen hinweg für eine umfassende Modellevaluierung.
  • Signature: Ein Datensatz mit Bildern verschiedener Dokumente mit annotierten Unterschriften, der die Forschung zur Dokumentenverifizierung und Betrugserkennung unterstützt.
  • SKU-110K: Ein Datensatz für dichte Objekterkennung im Einzelhandel mit über 11.000 Bildern und 1,7 Millionen Bounding Boxes.
  • VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objekt-Tracking-Daten aus drohnenbasierten Bildaufnahmen mit über 10.000 Bildern und Videosequenzen.
  • VOC: Der Pascal Visual Object Classes (VOC) Datensatz für Objekterkennung und Segmentierung mit 20 Objektklassen und über 11.000 Bildern.
  • xView: Ein Datensatz zur Objekterkennung in Luftaufnahmen mit 60 Objektkategorien und über 1 Million annotierten Objekten.

Instanzsegmentierung#

Die Instanzsegmentierung ist eine Computer-Vision-Technik, bei der Objekte in einem Bild auf Pixelebene identifiziert und lokalisiert werden. Im Gegensatz zur semantischen Segmentierung, die jedes Pixel nur klassifiziert, unterscheidet die Instanzsegmentierung zwischen verschiedenen Instanzen derselben Klasse.

  • Carparts-seg: Ein speziell entwickelter Datensatz zur Identifizierung von Fahrzeugteilen, der Design-, Fertigungs- und Forschungsanforderungen abdeckt. Er dient sowohl für Objekterkennungs- als auch für Segmentierungsaufgaben.
  • COCO: Ein groß angelegter Datensatz für Objekterkennungs-, Segmentierungs- und Beschriftungsaufgaben mit über 200.000 beschrifteten Bildern.
  • COCO8-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Segmentierungsannotationen enthält.
  • COCO128-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der eine Teilmenge von 128 COCO-Bildern mit Segmentierungsannotationen enthält.
  • Crack-seg: Ein speziell erstellter Datensatz zur Erkennung von Rissen auf Straßen und Wänden, der sowohl für Objekterkennungs- als auch für Segmentierungsaufgaben anwendbar ist.
  • Package-seg: Ein maßgeschneiderter Datensatz zur Identifizierung von Paketen in Lagern oder industriellen Umgebungen, geeignet sowohl für Objekterkennungs- als auch für Segmentierungsanwendungen.

Semantic Segmentation#

Semantische Segmentierung weist jedem Pixel in einem Bild ein Klassenlabel zu und erzeugt so dichte Szenenkarten für Anwendungen wie autonomes Fahren, Szenen-Parsing und Landnutzungskartierung.

  • Cityscapes: Datensatz zur semantischen Segmentierung von städtischen Straßenszenen mit 19 Trainingsklassen.
  • Cityscapes8: Eine kompakte Cityscapes-Teilmenge mit 8 Bildern für schnelle Prüfungen der semantischen Segmentierungspipeline.
  • ADE20K: Szenen-Parsing-Datensatz mit 150 semantischen Klassen.

Depth Estimation#

Die monokulare Tiefenschätzung sagt aus einem einzelnen RGB-Bild eine Tiefenkarte pro Pixel in Metern vorher und unterstützt so 3D-Szenenrekonstruktion, Roboternavigation sowie AR/VR-Anwendungen.

  • NYU Depth V2: Standard-Benchmark für Innentiefen, aufgenommen mit einem Microsoft Kinect v1.
  • KITTI: Reale Außenszenen für autonomes Fahren mit Velodyne-LiDAR-Tiefeninformationen.
  • Depth8: Eine kompakte SUN RGB-D-Teilmenge mit 8 Bildern für schnelle Pipeline-Überprüfungen.

Pose Estimation#

Pose-Schätzung ist eine Technik zur Bestimmung der Pose eines Objekts relativ zur Kamera oder zum Weltkoordinatensystem. Dies beinhaltet die Identifizierung von Schlüsselpunkten oder Gelenken an Objekten, insbesondere bei Menschen oder Tieren.

  • COCO: Ein groß angelegter Datensatz mit menschlichen Posen-Annotationen, entwickelt für Aufgaben der Pose-Schätzung.
  • COCO8-pose: Ein kleinerer Datensatz für Aufgaben zur Pose-Schätzung, der eine Teilmenge von 8 COCO-Bildern mit Annotationen für menschliche Posen enthält.
  • Dog-pose: Ein umfassender Datensatz mit ca. 8.500 Bildern von Hunden, annotiert mit 24 Keypoints pro Hund, zugeschnitten auf Aufgaben zur Pose-Schätzung.
  • Hand-Keypoints: Ein kompakter Datensatz mit über 26.000 Bildern von menschlichen Händen, annotiert mit 21 Keypoints pro Hand, entwickelt für Aufgaben zur Pose-Schätzung.
  • Tiger-pose: Ein kompakter Datensatz bestehend aus 263 Bildern von Tigern, annotiert mit 12 Keypoints pro Tiger für Aufgaben zur Pose-Schätzung.

Classification#

Die Bildklassifizierung ist eine Computer-Vision-Aufgabe, bei der ein Bild basierend auf seinem visuellen Inhalt in eine oder mehrere vordefinierte Klassen oder Kategorien eingeteilt wird.

  • Caltech 101: Ein Datensatz mit Bildern von 101 Objektkategorien für Bildklassifizierungsaufgaben.
  • Caltech 256: Eine erweiterte Version von Caltech 101 mit 256 Objektkategorien und anspruchsvolleren Bildern.
  • CIFAR-10: Ein Datensatz mit 60.000 32x32 Farbbildern in 10 Klassen, mit 6.000 Bildern pro Klasse.
  • CIFAR-100: Eine erweiterte Version von CIFAR-10 mit 100 Objektkategorien und 600 Bildern pro Klasse.
  • Fashion-MNIST: Ein Datensatz aus 70.000 Graustufenbildern von 10 Modekategorien für Bildklassifizierungsaufgaben.
  • ImageNet: Ein groß angelegter Datensatz für Objekterkennung und Bildklassifizierung mit über 14 Millionen Bildern und 20.000 Kategorien.
  • ImageNet-10: Eine kleinere Teilmenge von ImageNet mit 10 Kategorien für schnelleres Experimentieren und Testen.
  • Imagenette: Eine kleinere Teilmenge von ImageNet, die 10 leicht unterscheidbare Klassen für schnelleres Training und Testen enthält.
  • Imagewoof: Eine anspruchsvollere Teilmenge von ImageNet mit 10 Hunderassen-Kategorien für Bildklassifizierungsaufgaben.
  • MNIST: Ein Datensatz von 70.000 Graustufenbildern handgeschriebener Ziffern für Bildklassifizierungsaufgaben.
  • MNIST160: Die ersten 8 Bilder jeder Ziffer (0-9) sowohl aus den MNIST-Trainings- als auch Test-Splits. Der Datensatz enthält insgesamt 160 Bilder.

Oriented Bounding Boxes (OBB)#

Oriented Bounding Boxes (OBB) ist eine Methode in der Computer Vision zur Erkennung abgewinkelter Objekte in Bildern unter Verwendung rotierter Bounding Boxes, die häufig auf Luft- und Satellitenbilder angewendet wird. Im Gegensatz zu herkömmlichen Bounding Boxes kann OBB Objekte in verschiedenen Ausrichtungen besser umschließen.

  • DOTA-v2: Ein beliebter OBB-Luftbilddatensatz mit 1,7 Millionen Instanzen und 11.268 Bildern.
  • DOTA8: Eine kleinere Teilmenge der ersten 8 Bilder aus dem DOTAv1-Split-Set (4 zum Trainieren und 4 zur Validierung), geeignet für schnelle Tests.
  • DOTA128: Eine Teilmenge des DOTA-Datensatzes mit 128 Bildern für Training und Validierung, die eine gute Balance zwischen Größe und Diversität zum Testen von OBB-Modellen bietet.

Multi-Object Tracking#

Multi-Objekt-Tracking ist eine Computer-Vision-Technik, bei der mehrere Objekte über die Zeit in einer Videosequenz erkannt und verfolgt werden. Diese Aufgabe erweitert die Objekterkennung um die Beibehaltung konsistenter Identitäten von Objekten über Frames hinweg.

  • Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsprognosedaten aus städtischen Umgebungen mit reichhaltigen Annotationen für Multi-Object-Tracking-Aufgaben.
  • VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objekt-Tracking-Daten aus drohnenbasierten Bildaufnahmen mit über 10.000 Bildern und Videosequenzen.

Neue Datensätze beisteuern#

Das Beisteuern eines neuen Datensatzes umfasst mehrere Schritte, um sicherzustellen, dass er gut mit der bestehenden Infrastruktur harmoniert. Nachfolgend sind die notwendigen Schritte aufgeführt:



Watch: How to Contribute to Ultralytics Datasets

Schritte zum Beisteuern eines neuen Datensatzes#

  1. Bilder sammeln: Sammle die Bilder, die zum Datensatz gehören. Diese könnten aus verschiedenen Quellen stammen, wie etwa öffentlichen Datenbanken oder deiner eigenen Sammlung.

  2. Bilder annotieren: Annotiere diese Bilder mit Bounding Boxes, Segmenten oder Schlüsselpunkten, je nach Aufgabe.

  3. Annotationen exportieren: Konvertiere diese Annotationen in das von Ultralytics unterstützte YOLO-Dateiformat *.txt.

  4. Datensatz organisieren: Ordne deinen Datensatz in der korrekten Ordnerstruktur an. Du solltest die Stammverzeichnisse images/ und labels/ haben und innerhalb jedes davon die Unterverzeichnisse train/ und val/.

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. Eine data.yaml-Datei erstellen: Erstelle im Stammverzeichnis deines Datensatzes eine data.yaml-Datei, die den Datensatz, die Klassen und andere notwendige Informationen beschreibt.

  6. Bilder optimieren (optional): Wenn du die Größe des Datensatzes für eine effizientere Verarbeitung reduzieren möchtest, kannst du die Bilder mit dem untenstehenden Code optimieren. Dies ist nicht erforderlich, wird aber für kleinere Datensatzgrößen und schnellere Downloadgeschwindigkeiten empfohlen.

  7. Datensatz zippen: Komprimiere den gesamten Datensatzordner in eine Zip-Datei.

  8. Dokumentation und PR: Erstelle eine Dokumentationsseite, die deinen Datensatz und seine Integration in das bestehende Framework beschreibt. Reiche danach einen Pull Request (PR) ein. Weitere Details zum Einreichen eines PR findest du in den Ultralytics Contribution Guidelines.

Beispielcode zum Optimieren und Zippen eines Datensatzes#

Einen Datensatz optimieren und zippen
   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)

Indem du diesen Schritten folgst, kannst du einen neuen Datensatz beisteuern, der sich gut in die bestehende Struktur von Ultralytics integriert.

FAQ#

  • Ultralytics unterstützt eine Vielzahl von Datensätzen für die Objekterkennung, darunter:

    • COCO: Ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Beschriftung mit 80 Objektkategorien.
    • LVIS: Ein umfangreicher Datensatz mit 1.203 Objektkategorien, entwickelt für eine detailgenauere Objekterkennung und -segmentierung.
    • Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsprognosedaten aus städtischen Umgebungen mit reichhaltigen Annotationen.
    • VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Object-Tracking-Daten aus drohnenbasierten Aufnahmen.
    • SKU-110K: Enthält dichte Objekterkennung im Einzelhandel mit über 11.000 Bildern.

    Diese Datensätze erleichtern das Training robuster Ultralytics YOLO-Modelle für verschiedene Objekterkennungsanwendungen.

  • Das Beisteuern eines neuen Datensatzes umfasst mehrere Schritte:

    1. Bilder sammeln: Sammle Bilder aus öffentlichen Datenbanken oder persönlichen Sammlungen.
    2. Bilder annotieren: Wende Bounding Boxes, Segmente oder Schlüsselpunkte an, je nach Aufgabe.
    3. Annotationen exportieren: Konvertiere Annotationen in das YOLO-Format *.txt.
    4. Datensatz organisieren: Verwende die Ordnerstruktur mit den Verzeichnissen train/ und val/, die jeweils die Unterverzeichnisse images/ und labels/ enthalten.
    5. Eine data.yaml-Datei erstellen: Füge Dataset-Beschreibungen, Klassen und andere relevante Informationen hinzu.
    6. Bilder optimieren (optional): Reduziere die Datensatzgröße für mehr Effizienz.
    7. Datensatz zippen: Komprimiere den Datensatz in eine Zip-Datei.
    8. Dokumentation und PR: Beschreibe deinen Datensatz und reiche einen Pull Request gemäß den Ultralytics Contribution Guidelines ein.

    Besuche Contribute New Datasets für eine umfassende Anleitung.

  • Die Ultralytics Platform bietet leistungsstarke Funktionen für die Datensatzverwaltung und -analyse, einschließlich:

    • Nahtlose Datensatzverwaltung: Lade deine Datensätze hoch, organisiere sie und verwalte sie zentral an einem Ort.
    • Direkte Trainingsintegration: Nutze hochgeladene Datensätze direkt für das Modelltraining ohne zusätzliche Einrichtung.
    • Visualisierungstools: Erkunde und visualisiere deine Datensatzbilder und Annotationen.
    • Datensatzanalyse: Erhalte Einblicke in die Verteilung und die Eigenschaften deines Datensatzes.

    Die Plattform optimiert den Übergang von der Datensatzverwaltung zum Modelltraining und macht den gesamten Prozess effizienter. Erfahre mehr über Ultralytics Platform Datasets.

  • Ultralytics YOLO-Modelle bieten mehrere einzigartige Funktionen für Computer-Vision-Aufgaben:

    • Echtzeit-Leistung: Hochgeschwindigkeits-Inferenz- und Trainingsfunktionen für zeitkritische Anwendungen.
    • Vielseitigkeit: Unterstützung für Detektions-, Instance-Segmentierungs-, semantische Segmentierungs-, Tiefenschätzungs-, Klassifizierungs- und Pose-Estimation-Aufgaben in einem einheitlichen Framework.
    • Vortrainierte Modelle: Zugriff auf leistungsstarke, vortrainierte Modelle für verschiedene Anwendungen, was die Trainingszeit verkürzt.
    • Umfassender Community-Support: Aktive Community und umfassende Dokumentation zur Fehlerbehebung und Entwicklung.
    • Einfache Integration: Einfache API für die Integration in bestehende Projekte und Workflows.

    Erfahre mehr über YOLO-Modelle auf der Seite Ultralytics Models.

  • Um einen Datensatz mit Ultralytics Tools zu optimieren und zu zippen, folge diesem Beispielcode:

    Einen Datensatz optimieren und zippen
    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)

    Dieser Prozess hilft, die Datensatzgröße für eine effizientere Speicherung und schnellere Download-Geschwindigkeiten zu reduzieren. Erfahre mehr darüber, wie du einen Datensatz optimieren und komprimieren kannst.

Kommentare