Übersicht der Datensätze
Ultralytics bietet Unterstützung für verschiedene Datensätze, um Computer-Vision-Aufgaben wie Detektion, Instanzsegmentierung, semantische Segmentierung, Pose-Schätzung, Klassifizierung und Multi-Objekt-Tracking zu erleichtern. Nachfolgend findest du eine Liste der wichtigsten Ultralytics-Datensätze, gefolgt von einer Zusammenfassung der jeweiligen Computer-Vision-Aufgabe und den dazugehörigen Datensätzen.
Watch: Ultralytics Datasets Overview
Objektdetektion
Die Bounding Box-Objektdetektion ist eine Computer-Vision-Technik, bei der Objekte in einem Bild durch das Zeichnen eines Begrenzungsrahmens um jedes Objekt herum erkannt und lokalisiert werden.
- African-wildlife: Ein Datensatz mit Bildern afrikanischer Wildtiere, darunter Büffel, Elefanten, Nashörner und Zebras.
- Argoverse: Ein Datensatz, der 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit reichhaltigen Annotationen enthält.
- Brain-tumor: Ein Datensatz zur Erkennung von Hirntumoren, der MRT- oder CT-Scan-Bilder mit Angaben zu Vorkommen, Lage und Merkmalen des Tumors enthält.
- COCO: Common Objects in Context (COCO) ist ein groß angelegter Datensatz für Objektdetektion, Segmentierung und Bildbeschreibung mit 80 Objektkategorien.
- COCO8: Ein kleinerer Teilbereich der ersten 4 Bilder aus COCO train und COCO val, geeignet für schnelle Tests.
- COCO8-Grayscale: Eine Graustufen-Version von COCO8, erstellt durch die Konvertierung von RGB in Graustufen, nützlich für die Evaluierung von Einkanal-Modellen.
- COCO8-Multispectral: Eine 10-kanalige multispektrale Version von COCO8, erstellt durch Interpolation von RGB-Wellenlängen, nützlich für die spektral-bewusste Modell-Evaluierung.
- COCO128: Ein kleinerer Teilbereich der ersten 128 Bilder aus COCO train und COCO val, geeignet für Tests.
- Construction-PPE: Ein Datensatz mit Bildern von Baustellen, annotiert mit wichtiger Sicherheitsausrüstung wie Helmen, Westen, Handschuhen, Stiefeln und Schutzbrillen, zusammen mit 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 annotierter Innenraumszenen mit 12 alltäglichen Haushaltsgegenständen, ideal für die Entwicklung und Prüfung von Computer-Vision-Modellen in Smart-Home-Systemen, 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-Objektdetektion in verschiedenen Straßenszenen verwendet wird.
- LVIS: Ein groß angelegter Datensatz für Objektdetektion, Segmentierung und Bildbeschreibung mit 1203 Objektkategorien.
- Medical-pills: Ein Datensatz mit gelabelten Bildern von medizinischen Pillen, der bei Aufgaben wie der pharmazeutischen Qualitätskontrolle, Sortierung und der Sicherstellung der Einhaltung von Industriestandards hilft.
- Objects365: Ein hochwertiger, groß angelegter Datensatz für die Objektdetektion mit 365 Objektkategorien und über 600.000 annotierten Bildern.
- OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Mio. Trainingsbildern und 42.000 Validierungsbildern.
- RF100: Ein vielfältiger Benchmark für Objektdetektion mit 100 Datensätzen aus sieben Bilddomänen für eine umfassende Modellevaluierung.
- Signature: Ein Datensatz mit Bildern verschiedener Dokumente mit annotierten Unterschriften, der die Forschung zur Dokumentenprüfung und Betrugserkennung unterstützt.
- SKU-110K: Ein Datensatz mit dichter Objektdetektion in Einzelhandelsumgebungen mit über 11.000 Bildern und 1,7 Millionen Bounding Boxes.
- VisDrone: Ein Datensatz mit Objektdetektions- und Multi-Objekt-Tracking-Daten aus drohnengestützten Bildern mit über 10.000 Bildern und Videosequenzen.
- VOC: Der Pascal Visual Object Classes (VOC) Datensatz für Objektdetektion und Segmentierung mit 20 Objektklassen und über 11.000 Bildern.
- xView: Ein Datensatz für die Objektdetektion in Overhead-Aufnahmen mit 60 Objektkategorien und über 1 Million annotierten Objekten.
Instanzsegmentierung
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 Forschungsbedürfnisse abdeckt. Er dient sowohl für Objektdetektions- als auch für Segmentierungsaufgaben.
- COCO: Ein groß angelegter Datensatz für Objektdetektions-, Segmentierungs- und Bildbeschreibungsaufgaben mit über 200.000 gelabelten Bildern.
- COCO8-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der einen Teilbereich von 8 COCO-Bildern mit Segmentierungsannotationen enthält.
- COCO128-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der einen Teilbereich 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 Objektdetektions- als auch für Segmentierungsaufgaben geeignet ist.
- Package-seg: Ein maßgeschneiderter Datensatz zur Identifizierung von Paketen in Lagerhäusern oder industriellen Umgebungen, geeignet für sowohl Objektdetektions- als auch Segmentierungsanwendungen.
Semantische Segmentierung
Die semantische Segmentierung weist jedem Pixel in einem Bild ein Klassenlabel zu und erstellt so dichte Szenenkarten für Anwendungen wie autonomes Fahren, Szenenanalyse und Landbedeckungskartierung.
- Cityscapes: Datensatz zur semantischen Segmentierung von städtischen Straßenszenen mit 19 Trainingsklassen.
- Cityscapes8: Ein kompakter Teilbereich von Cityscapes mit 8 Bildern für schnelle Prüfungen der semantischen Segmentierungspipeline.
- ADE20K: Datensatz zur Szenenanalyse mit 150 semantischen Klassen.
Pose-Schätzung
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 Posenannotationen für Menschen, der für Aufgaben der Pose-Schätzung entwickelt wurde.
- COCO8-pose: Ein kleinerer Datensatz für Aufgaben der Pose-Schätzung, der einen Teilbereich von 8 COCO-Bildern mit Posenannotationen für Menschen enthält.
- Dog-pose: Ein umfassender Datensatz mit ca. 6.000 Bildern von Hunden, annotiert mit 24 Schlüsselpunkten pro Hund, der speziell für Aufgaben der Pose-Schätzung konzipiert ist.
- Hand-Keypoints: Ein prägnanter Datensatz mit über 26.000 Bildern menschlicher Hände, annotiert mit 21 Schlüsselpunkten pro Hand, konzipiert für Aufgaben der Pose-Schätzung.
- Tiger-pose: Ein kompakter Datensatz, bestehend aus 263 Bildern von Tigern, annotiert mit 12 Schlüsselpunkten pro Tiger für Aufgaben der Pose-Schätzung.
Klassifizierung
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 bestehend aus 70.000 Graustufenbildern von 10 Modekategorien für Bildklassifizierungsaufgaben.
- ImageNet: Ein groß angelegter Datensatz für Objektdetektion und Bildklassifizierung mit über 14 Millionen Bildern und 20.000 Kategorien.
- ImageNet-10: Ein kleinerer Teilbereich von ImageNet mit 10 Kategorien für schnellere Experimente und Tests.
- Imagenette: Ein kleinerer Teilbereich von ImageNet, der 10 leicht unterscheidbare Klassen für schnelleres Training und Testen enthält.
- Imagewoof: Ein anspruchsvollerer Teilbereich von ImageNet, der 10 Hunderassenkategorien für Bildklassifizierungsaufgaben enthält.
- MNIST: Ein Datensatz von 70.000 Graustufenbildern handgeschriebener Ziffern für Bildklassifizierungsaufgaben.
- MNIST160: Die ersten 8 Bilder jeder MNIST-Kategorie aus dem MNIST-Datensatz. Der Datensatz enthält insgesamt 160 Bilder.
Orientierte Bounding Boxes (OBB)
Oriented Bounding Boxes (OBB) ist eine Methode in der Computer Vision zur Erkennung schräg stehender Objekte in Bildern mithilfe rotierter Begrenzungsrahmen, 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-Datensatz für Luftaufnahmen mit 1,7 Millionen Instanzen und 11.268 Bildern.
- DOTA8: Ein kleinerer Teilbereich der ersten 8 Bilder aus dem DOTAv1-Split-Set, 4 für das Training und 4 für die Validierung, geeignet für schnelle Tests.
- DOTA128: Ein Datensatz-Teilbereich mit 128 Bildern für das Training und die Validierung, der ein gutes Gleichgewicht zwischen Größe und Vielfalt für das Testen von OBB-Modellen bietet.
Multi-Objekt-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 Objektdetektion, indem sie die konsistenten Identitäten von Objekten über Frames hinweg beibehält.
- Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit reichhaltigen Annotationen für Multi-Objekt-Tracking-Aufgaben.
- VisDrone: Ein Datensatz mit Objektdetektions- und Multi-Objekt-Tracking-Daten aus drohnengestützten Bildern mit über 10.000 Bildern und Videosequenzen.
Neue Datensätze beitragen
Das Beitragen eines neuen Datensatzes umfasst mehrere Schritte, um sicherzustellen, dass er gut mit der bestehenden Infrastruktur harmoniert. Nachfolgend findest du die notwendigen Schritte:
Watch: How to Contribute to Ultralytics Datasets
Schritte, um einen neuen Datensatz beizutragen
-
Bilder sammeln: Sammle die Bilder, die zum Datensatz gehören. Diese können aus verschiedenen Quellen stammen, wie z. B. öffentlichen Datenbanken oder deiner eigenen Sammlung.
-
Bilder annotieren: Annotiere diese Bilder je nach Aufgabe mit Bounding Boxes, Segmenten oder Schlüsselpunkten.
-
Annotationen exportieren: Konvertiere diese Annotationen in das YOLO
*.txt-Dateiformat, das Ultralytics unterstützt. -
Datensatz organisieren: Ordne deinen Datensatz in der korrekten Ordnerstruktur. Du solltest
images/undlabels/als Hauptverzeichnisse haben und darin jeweils eintrain/undval/Unterverzeichnis.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Erstelle eine
data.yaml-Datei: Erstelle im Stammverzeichnis deines Datensatzes einedata.yaml-Datei, die den Datensatz, die Klassen und andere notwendige Informationen beschreibt. -
Bilder optimieren (optional): Wenn du die Größe des Datensatzes für eine effizientere Verarbeitung reduzieren möchtest, kannst du die Bilder mit dem unten stehenden Code optimieren. Dies ist nicht erforderlich, wird aber für kleinere Datensatzgrößen und schnellere Download-Geschwindigkeiten empfohlen.
-
Datensatz zippen: Komprimiere den gesamten Datensatz-Ordner in eine Zip-Datei.
-
Dokumentation und PR: Erstelle eine Dokumentationsseite, die deinen Datensatz beschreibt und wie er in das bestehende Framework passt. Reiche danach einen Pull Request (PR) ein. Weitere Details zum Einreichen eines PR findest du in den Ultralytics-Beitragsrichtlinien.
Beispielcode zum Optimieren und Zippen eines Datensatzes
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 diese Schritte befolgst, kannst du einen neuen Datensatz beitragen, der sich gut in die bestehende Struktur von Ultralytics integriert.
FAQ
Welche Datensätze unterstützt Ultralytics für die Objektdetektion?
Ultralytics unterstützt eine Vielzahl von Datensätzen für die Objektdetektion, darunter:
- COCO: Ein groß angelegter Datensatz für Objektdetektion, Segmentierung und Bildbeschreibung mit 80 Objektkategorien.
- LVIS: Ein umfangreicher Datensatz mit 1203 Objektkategorien, der für eine feinere Objektdetektion und Segmentierung entwickelt wurde.
- Argoverse: Ein Datensatz, der 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit reichhaltigen Annotationen enthält.
- VisDrone: Ein Datensatz mit Objektdetektions- und Multi-Objekt-Tracking-Daten aus drohnengestützten Bildern.
- SKU-110K: Bietet dichte Objektdetektion in Einzelhandelsumgebungen mit über 11.000 Bildern.
Diese Datensätze erleichtern das Training robuster Ultralytics YOLO-Modelle für verschiedene Objektdetektionsanwendungen.
Wie trage ich einen neuen Datensatz zu Ultralytics bei?
Das Beitragen eines neuen Datensatzes umfasst mehrere Schritte:
- Bilder sammeln: Sammle Bilder aus öffentlichen Datenbanken oder persönlichen Sammlungen.
- Bilder annotieren: Wende je nach Aufgabe Bounding Boxes, Segmente oder Schlüsselpunkte an.
- Annotationen exportieren: Konvertiere Annotationen in das YOLO
*.txt-Format. - Datensatz organisieren: Verwende die Ordnerstruktur mit
train/undval/Verzeichnissen, die jeweilsimages/undlabels/Unterverzeichnisse enthalten. - Erstelle eine
data.yaml-Datei: Füge Datensatzbeschreibungen, Klassen und andere relevante Informationen hinzu. - Bilder optimieren (optional): Reduziere die Datensatzgröße für mehr Effizienz.
- Datensatz zippen: Komprimiere den Datensatz in eine Zip-Datei.
- Dokumentation und PR: Beschreibe deinen Datensatz und reiche einen Pull Request gemäß den Ultralytics-Beitragsrichtlinien ein.
Besuche Neue Datensätze beitragen für eine umfassende Anleitung.
Warum sollte ich die Ultralytics Plattform für meinen Datensatz verwenden?
Die Ultralytics Platform bietet leistungsstarke Funktionen für die Verwaltung und Analyse von Datensätzen, darunter:
- Nahtlose Datensatzverwaltung: Lade deine Datensätze hoch, organisiere und verwalte sie an einem Ort.
- Sofortige Trainingsintegration: Nutze hochgeladene Datensätze direkt für das Modelltraining ohne zusätzliche Einrichtung.
- Visualisierungstools: Erforsche und visualisiere deine Datensatzbilder und Annotationen.
- Datensatzanalyse: Erhalte Einblicke in die Verteilung und die Merkmale deines Datensatzes.
Die Plattform optimiert den Übergang von der Datensatzverwaltung zum Modelltraining und macht den gesamten Prozess effizienter. Erfahre mehr über Ultralytics Platform Datasets.
Was sind die einzigartigen Merkmale der Ultralytics YOLO Modelle für Computer Vision?
Ultralytics YOLO Modelle bieten verschiedene einzigartige Funktionen für Computer Vision Aufgaben:
- Echtzeitleistung: Hochgeschwindigkeits-Inferenz- und Trainingskapazitäten für zeitkritische Anwendungen.
- Vielseitigkeit: Unterstützung für Erkennung, Instanzsegmentierung, semantische Segmentierung, Klassifizierung und Pose-Schätzung in einem einheitlichen Framework.
- Vortrainierte Modelle: Zugriff auf leistungsstarke, vortrainierte Modelle für verschiedene Anwendungen, was die Trainingszeit verkürzt.
- Umfangreiche Community-Unterstützung: Aktive Community und umfassende Dokumentation für die Fehlersuche und Entwicklung.
- Einfache Integration: Einfache API zur Integration in bestehende Projekte und Arbeitsabläufe.
Entdecke mehr über YOLO Modelle auf der Seite Ultralytics Models.
Wie kann ich einen Datensatz mit Ultralytics Tools optimieren und zippen?
Um einen Datensatz mit Ultralytics Tools zu optimieren und zu zippen, folge diesem Beispielcode:
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 effizientere Speicherung und schnellere Download-Geschwindigkeiten zu reduzieren. Erfahre mehr darüber, wie man einen Datensatz optimiert und zippt.