Überblick über Datensätze#
Ultralytics unterstützt verschiedene Datensätze für Computer-Vision-Aufgaben wie Objekterkennung, Instanzsegmentierung, semantische Segmentierung, Tiefenschätzung, Klassifizierung, Posenschätzung und gedrehte Begrenzungsrahmen (OBB). Nachfolgend findest du eine Liste der wichtigsten Ultralytics-Datensätze sowie eine Übersicht über die einzelnen Computer-Vision-Aufgaben und die zugehörigen Datensätze. Der Track-Modus läuft mit Erkennungs-, Segmentierungs-, Posen- und OBB-Modellen ohne trackerspezifisches Training; siehe Tracking-Datensätze.
Ansehen: Überblick über Ultralytics-Datensätze
Objekterkennung#
Bei der Objekterkennung mit Begrenzungsrahmen werden Objekte in einem Bild erkannt und lokalisiert, indem jedes Objekt von einem Begrenzungsrahmen umschlossen wird.
- African-wildlife: Ein Datensatz mit Bildern afrikanischer Wildtiere, darunter Büffel, Elefanten, Nashörner und Zebras.
- Argoverse: Ein Datensatz mit Daten zur 3D-Verfolgung und Bewegungsprognose aus städtischen Umgebungen, ergänzt durch umfangreiche Annotationen.
- Brain-tumor: Ein Datensatz zur Erkennung von Hirntumoren mit MRT- oder CT-Aufnahmen und Angaben zum Vorhandensein, zur Lage und zu den Merkmalen der Tumoren.
- COCO: Common Objects in Context (COCO) ist ein umfangreicher Datensatz für Objekterkennung, Segmentierung und Bildbeschreibungen mit 80 Objektkategorien.
- COCO8: Eine kleinere Teilmenge der ersten 8 Bilder aus COCO train2017 mit 4 Trainings- und 4 Validierungsbildern, geeignet für schnelle Tests.
- COCO8-Grayscale: Eine Graustufenversion von COCO8, die durch die Umwandlung von RGB in Graustufen erstellt wurde und sich für die Auswertung von Modellen mit einem Kanal eignet.
- COCO8-Multispectral: Eine multispektrale Version von COCO8 mit 10 Kanälen, die durch Interpolation der RGB-Wellenlängen erstellt wurde und sich für die spektralbewusste Modellauswertung eignet.
- COCO12-Formats: Ein Testdatensatz mit 12 Bildern, der die 12 unterstützten Bildformate (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) abdeckt und zur Validierung von Bildladeprozessen dient.
- COCO128: Eine kleinere Teilmenge der ersten 128 Bilder aus COCO train2017, geeignet für Tests.
- Construction-PPE: Ein Datensatz mit Baustellenbildern, die mit wichtigen Schutzausrüstungen wie Helmen, Westen, Handschuhen, Stiefeln und Schutzbrillen sowie mit Hinweisen auf fehlende Ausrüstung annotiert wurden. Er unterstützt die Entwicklung von KI-Modellen zur Prüfung der Vorschrifteneinhaltung und zum Schutz von Beschäftigten.
- Global Wheat 2020: Ein Datensatz mit Bildern von Weizenähren für die Global Wheat Challenge 2020.
- HomeObjects-3K: Ein Datensatz mit annotierten Innenraumszenen und 12 häufigen Haushaltsgegenständen, ideal für die Entwicklung und das Testen von Computer-Vision-Modellen für Smart-Home-Systeme, Robotik und erweiterte Realität.
- KITTI: Ein bekannter Datensatz für autonomes Fahren mit Stereo-, LiDAR- und GPS/IMU-Eingaben, der zur 2D-Objekterkennung in unterschiedlichen Straßenszenen verwendet wird.
- LVIS: Ein umfangreicher Datensatz für Objekterkennung und Instanzsegmentierung mit 1.203 Objektkategorien.
- Medical-pills: Ein Datensatz mit beschrifteten Bildern von Arzneimitteln, der Aufgaben wie pharmazeutische Qualitätskontrolle und Sortierung sowie die Einhaltung von Branchenstandards unterstützt.
- Objects365: Ein hochwertiger, umfangreicher Datensatz für Objekterkennung mit 365 Objektkategorien und mehr als 1,7 Millionen annotierten Bildern.
- OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Millionen Trainingsbildern und 42.000 Validierungsbildern.
- RF100: Ein vielfältiger Benchmark für Objekterkennung mit 100 Datensätzen aus sieben Bildbereichen zur umfassenden Modellauswertung.
- Signature: Ein Datensatz mit Bildern verschiedener Dokumente und annotierten Unterschriften, der die Forschung zur Dokumentenprüfung und Betrugserkennung unterstützt.
- SKU-110K: Ein Datensatz zur Erkennung dicht angeordneter Objekte im Einzelhandel mit mehr als 11.000 Bildern und 1,7 Millionen Begrenzungsrahmen.
- TT100K: Der Verkehrszeichendatensatz Tsinghua-Tencent 100K mit 16.817 Straßenansichten aus 221 Verkehrszeichenkategorien.
- VisDrone: Ein Datensatz mit Daten zur Objekterkennung und Mehrfachobjektverfolgung aus Drohnenaufnahmen mit mehr als 10.000 Bildern und Videosequenzen.
- VOC: Der Datensatz Pascal Visual Object Classes (VOC) für Objekterkennung und Segmentierung mit 20 Objektklassen und mehr als 21.000 Bildern.
- xView: Ein Datensatz zur Objekterkennung in Luftbildern mit 60 Objektkategorien und mehr als 1 Million annotierten Objekten.
Instanzsegmentierung#
Die Instanzsegmentierung ist eine Computer-Vision-Technik, bei der Objekte in einem Bild auf Pixelebene identifiziert und lokalisiert werden. Anders als bei der semantischen Segmentierung, bei der jedem Pixel nur eine Klasse zugeordnet wird, unterscheidet die Instanzsegmentierung zwischen verschiedenen Instanzen derselben Klasse.
- Carparts-seg: Ein speziell entwickelter Datensatz zur Erkennung von Fahrzeugteilen, der Anforderungen aus Design, Fertigung und Forschung abdeckt. Er eignet sich sowohl für Aufgaben der Objekterkennung als auch der Segmentierung.
- COCO: Ein umfangreicher Datensatz für Objekterkennung, Segmentierung und Bildbeschreibungen mit mehr als 200.000 beschrifteten Bildern.
- COCO8-seg: Ein kleinerer Datensatz für die Instanzsegmentierung mit einer Teilmenge von 8 COCO-Bildern samt Segmentierungsannotationen.
- COCO128-seg: Ein kleinerer Datensatz für die Instanzsegmentierung mit einer Teilmenge von 128 COCO-Bildern samt Segmentierungsannotationen.
- Crack-seg: Ein speziell erstellter Datensatz zur Erkennung von Rissen in Straßen und Wänden, geeignet sowohl für die Objekterkennung als auch für Segmentierungsaufgaben.
- Package-seg: Ein speziell auf die Erkennung von Paketen in Lagern und Industrieanlagen zugeschnittener Datensatz, geeignet sowohl für die Objekterkennung als auch für Segmentierungsanwendungen.
Semantische Segmentierung#
Bei der semantischen Segmentierung wird jedem Pixel eines Bildes eine Klassenbezeichnung zugewiesen. So entstehen dichte Szenenkarten für Anwendungen wie autonomes Fahren, Szenenanalyse und Landbedeckungskartierung.
- Cityscapes: Ein Datensatz zur semantischen Segmentierung städtischer Straßenszenen mit 19 Trainingsklassen.
- Cityscapes8: Eine kompakte Teilmenge von Cityscapes mit 8 Bildern zur schnellen Überprüfung von Abläufen für die semantische Segmentierung.
- ADE20K: Ein Datensatz zur Szenenanalyse mit 150 semantischen Klassen.
Tiefenschätzung#
Die monokulare Tiefenschätzung sagt anhand eines einzelnen RGB-Bildes eine Tiefenkarte in Metern für jedes Pixel voraus und unterstützt damit die Rekonstruktion von 3D-Szenen, die Roboternavigation und AR/VR-Anwendungen.
- Depth8: Eine kompakte Teilmenge von SUN RGB-D mit 8 Bildern zur schnellen Überprüfung von Abläufen.
- ARKitScenes: Reale RGB-D-Aufnahmen von Innenräumen, erfasst mit Apple ARKit LiDAR; dies ist die größte Quelle realer Trainingsdaten.
- SUN RGB-D: Reale Innenraumszenen, erfasst mit vier verschiedenen RGB-D-Sensoren.
- DIODE: Dichte Tiefendaten aus Innen- und Außenbereichen, aufgenommen mit einem Laserscanner für Vermessungszwecke.
- Hypersim: Fotorealistische synthetische Innenraumszenen mit perfekter Tiefeninformation für jedes Pixel.
- TartanAir: Synthetische AirSim-Umgebungen mit dichter Tiefeninformation bis etwa ~80 m.
- Virtual KITTI 2: Synthetische Nachbildung von KITTI-Fahrszenen mit dichter Tiefeninformation.
- KITTI: Reale autonome Fahrszenen im Außenbereich mit Tiefendaten von Velodyne-LiDAR, zugleich der KITTI-Eigen-Benchmark.
- ImageNet (pseudo-labeled): ImageNet-1K-Bilder mit Pseudolabels von Depth Anything 3 für die Destillation.
- NYU Depth V2: Ein etablierter Benchmark für Tiefendaten in Innenräumen, aufgenommen mit einer Microsoft Kinect v1.
- ETH3D: Ein hochpräziser Benchmark mit Laserscannerdaten aus Innen- und Außenbereichen.
- Make3D: Ein Benchmark für Außenbereiche auf einem Campus, der nicht zur Trainingsverteilung gehört.
- iBims-1: Ein hochwertiger Benchmark für Tiefenkanten und ebene Flächen in Innenräumen.
Klassifizierung#
Bei der Bildklassifizierung wird ein Bild anhand seines visuellen Inhalts einer oder mehreren vordefinierten Klassen oder Kategorien zugeordnet.
- Caltech 101: Ein Datensatz mit Bildern aus 101 Objektkategorien für Aufgaben der Bildklassifizierung.
- Caltech 256: Eine erweiterte Version von Caltech 101 mit 256 Objektkategorien und anspruchsvolleren Bildern.
- CIFAR-10: Ein Datensatz mit 60.000 farbigen Bildern im Format 32x32 aus 10 Klassen, mit jeweils 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 mit 70.000 Graustufenbildern aus 10 Modekategorien für Aufgaben der Bildklassifizierung.
- ImageNet: Ein umfangreicher Datensatz für Objekterkennung und Bildklassifizierung mit mehr als 14 Millionen Bildern und 20.000 Kategorien.
- ImageNet-10: Eine kleinere Teilmenge von ImageNet mit 10 Kategorien für schnellere Experimente und Tests.
- Imagenette: Eine kleinere Teilmenge von ImageNet mit 10 leicht unterscheidbaren Klassen für schnelleres Training und Testen.
- Imagewoof: Eine anspruchsvollere Teilmenge von ImageNet mit 10 Hunderassenkategorien für Aufgaben der Bildklassifizierung.
- MNIST: Ein Datensatz mit 70.000 Graustufenbildern handgeschriebener Ziffern für Aufgaben der Bildklassifizierung.
- MNIST160: Die ersten 8 Bilder jeder Ziffer (0–9) aus den Trainings- und Testteildatensätzen von MNIST. Der Datensatz umfasst insgesamt 160 Bilder.
Posenschätzung#
Die Posenschätzung dient dazu, die Pose eines Objekts relativ zur Kamera oder zum Weltkoordinatensystem zu bestimmen. Dazu werden markante Punkte oder Gelenke an Objekten erkannt, insbesondere bei Menschen oder Tieren.
- COCO: Ein umfangreicher Datensatz mit Annotationen menschlicher Posen, der für Aufgaben der Posenschätzung entwickelt wurde.
- COCO8-pose: Ein kleinerer Datensatz für Aufgaben der Posenschätzung mit einer Teilmenge von 8 COCO-Bildern samt Annotationen menschlicher Posen.
- Dog-pose: Ein umfassender Datensatz mit etwa 8.500 Bildern von Hunden, annotiert mit 24 markanten Punkten pro Hund und zugeschnitten auf Aufgaben der Posenschätzung.
- Hand-Keypoints: Ein kompakter Datensatz mit mehr als 26.000 Bildern menschlicher Hände, annotiert mit 21 markanten Punkten pro Hand und entwickelt für Aufgaben der Posenschätzung.
- Tiger-pose: Ein kompakter Datensatz mit 263 Bildern von Tigern, annotiert mit 12 markanten Punkten pro Tiger für Aufgaben der Posenschätzung.
Gedrehte Begrenzungsrahmen (OBB)#
Gedrehte Begrenzungsrahmen (OBB) sind eine Methode der Computer Vision zur Erkennung schräg ausgerichteter Objekte in Bildern mithilfe rotierter Begrenzungsrahmen, die häufig bei Luft- und Satellitenbildern zum Einsatz kommt. Anders als herkömmliche Begrenzungsrahmen können OBB Objekte in verschiedenen Ausrichtungen genauer umschließen.
- DOTA-v2: Ein beliebter OBB-Datensatz mit Luftbildern, 1,7 Millionen Instanzen und 11.268 Bildern.
- DOTA8: Eine kleinere Teilmenge der ersten 8 Bilder aus dem DOTAv1-Split mit 4 Trainings- und 4 Validierungsbildern, geeignet für schnelle Tests.
- DOTA128: Eine Teilmenge des DOTA-Datensatzes mit 128 Bildern für Training und Validierung, die für das Testen von OBB-Modellen eine gute Balance zwischen Umfang und Vielfalt bietet.
Neue Datensätze beitragen#
Um einen neuen Datensatz beizusteuern, sind mehrere Schritte erforderlich, damit er sich gut in die bestehende Infrastruktur einfügt. Im Folgenden findest du die notwendigen Schritte:
Ansehen: So kannst du zu Ultralytics-Datensätzen beitragen
Schritte zum Beitragen eines neuen Datensatzes#
-
Bilder sammeln: Stelle die zum Datensatz gehörenden Bilder zusammen. Du kannst sie aus verschiedenen Quellen beziehen, etwa aus öffentlichen Datenbanken oder deiner eigenen Sammlung.
-
Bilder annotieren: Annotiere die Bilder je nach Aufgabe mit Begrenzungsrahmen, Segmenten oder markanten Punkten.
-
Annotationen exportieren: Wandle die Annotationen in das von Ultralytics unterstützte YOLO-Dateiformat
*.txtum. -
Datensatz strukturieren: Ordne deinen Datensatz in der richtigen Ordnerstruktur an. Auf oberster Ebene sollten die Verzeichnisse
images/undlabels/liegen, die jeweils die Unterverzeichnissetrain/undval/enthalten.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Eine
data.yaml-Datei erstellen: Erstelle im Stammverzeichnis deines Datensatzes eine Dateidata.yaml, die den Datensatz, die Klassen und weitere erforderliche Informationen beschreibt. -
Bilder optimieren (optional): Wenn du den Datensatz verkleinern möchtest, um die Verarbeitung effizienter zu gestalten, kannst du die Bilder mit dem folgenden Code optimieren. Das ist nicht erforderlich, wird aber für kleinere Datensätze und schnellere Downloads empfohlen.
-
Datensatz komprimieren: Komprimiere den gesamten Datensatzordner in einer ZIP-Datei.
-
Dokumentation und PR: Erstelle eine Dokumentationsseite, auf der du deinen Datensatz beschreibst und erklärst, wie er sich in das bestehende Framework einfügt. Reiche anschließend einen Änderungsantrag (PR) ein. Weitere Informationen zum Einreichen eines PR findest du in den Ultralytics Contribution Guidelines.
Beispielcode zum Optimieren und Komprimieren eines Datensatzes#
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Datensatzverzeichnis definieren
path = Path("path/to/dataset")
# Bilder im Datensatz optimieren (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Datensatz in 'path/to/dataset.zip' komprimieren
zip_directory(path)Mit diesen Schritten kannst du einen neuen Datensatz beisteuern, der sich gut in die bestehende Struktur von Ultralytics einfügt.
Häufig gestellte Fragen#
Ultralytics unterstützt eine Vielzahl von Datensätzen für die Objekterkennung, darunter:
- COCO: Ein umfangreicher Datensatz für Objekterkennung, Segmentierung und Bildbeschreibungen mit 80 Objektkategorien.
- LVIS: Ein umfangreicher Datensatz mit 1.203 Objektkategorien, der für eine detailliertere Objekterkennung und Segmentierung konzipiert ist.
- Argoverse: Ein Datensatz mit Daten zur 3D-Verfolgung und Bewegungsprognose aus städtischen Umgebungen, ergänzt durch umfangreiche Annotationen.
- VisDrone: Ein Datensatz mit Daten zur Objekterkennung und Mehrfachobjektverfolgung aus Drohnenaufnahmen.
- SKU-110K: Mit dichter Objekterkennung im Einzelhandel und mehr als 11.000 Bildern.
Diese Datensätze erleichtern das Training robuster Ultralytics YOLO-Modelle für verschiedene Anwendungen der Objekterkennung.
Einen neuen Datensatz beizusteuern, umfasst mehrere Schritte:
- Bilder sammeln: Sammle Bilder aus öffentlichen Datenbanken oder persönlichen Sammlungen.
- Bilder annotieren: Füge je nach Aufgabe Begrenzungsrahmen, Segmente oder Keypoints hinzu.
- Annotationen exportieren: Wandle die Annotationen in das YOLO-Format
*.txtum. - Datensatz organisieren: Verwende die Ordnerstruktur mit den Verzeichnissen
images/undlabels/, die jeweils die Unterverzeichnissetrain/undval/enthalten. - Eine Datei
data.yamlerstellen: Füge Beschreibungen des Datensatzes, Klassen und weitere relevante Informationen hinzu. - Bilder optimieren (optional): Verringere die Größe des Datensatzes, um effizienter zu arbeiten.
- Datensatz komprimieren: Komprimiere den Datensatz in eine ZIP-Datei.
- Dokumentation und PR: Beschreibe deinen Datensatz und reiche gemäß den Ultralytics Contribution Guidelines einen Änderungsantrag ein.
Eine ausführliche Anleitung findest du unter Neue Datensätze beisteuern.
Die Ultralytics Platform bietet leistungsstarke Funktionen zur Verwaltung und Analyse von Datensätzen, darunter:
- Einfache Datensatzverwaltung: Lade deine Datensätze an einem Ort hoch, organisiere und verwalte sie.
- Direkte Integration ins Training: Verwende hochgeladene Datensätze direkt zum Trainieren von Modellen, ohne zusätzliche Einrichtung.
- Visualisierungswerkzeuge: Erkunde und visualisiere die Bilder und Annotationen deines Datensatzes.
- Datensatzanalyse: Gewinne Einblicke in die Verteilung und Merkmale deines Datensatzes.
Die Plattform vereinfacht den Übergang von der Datensatzverwaltung zum Modelltraining und macht den gesamten Prozess effizienter. Erfahre mehr über Datensätze auf der Ultralytics Platform.
Ultralytics YOLO-Modelle bieten mehrere besondere Funktionen für Aufgaben der Computer Vision:
- Echtzeit-Leistung: Hochgeschwindigkeitsinferenz und Trainingsfunktionen für zeitkritische Anwendungen.
- Vielseitigkeit: Unterstützung für Erkennung, Instanzsegmentierung, semantische Segmentierung, Tiefenschätzung, Klassifizierung, Posenschätzung und Aufgaben mit orientierten Begrenzungsrahmen (OBB) in einem einheitlichen Framework.
- Vortrainierte Modelle: Zugriff auf leistungsstarke, vortrainierte Modelle für verschiedene Anwendungen, wodurch sich die Trainingszeit verkürzt.
- Umfangreiche Unterstützung durch die Community: Eine aktive Community und umfassende Dokumentation helfen bei der Fehlerbehebung und Entwicklung.
- Einfache Integration: Eine unkomplizierte API zur Integration in bestehende Projekte und Arbeitsabläufe.
Weitere Informationen zu YOLO-Modellen findest du auf der Seite Ultralytics-Modelle.
So optimierst und komprimierst du einen Datensatz mit Ultralytics-Tools. Folge dazu diesem Beispielcode:
Datensatz optimieren und komprimierenfrom pathlib import Path from ultralytics.data.utils import compress_one_image from ultralytics.utils.downloads import zip_directory # Datensatzverzeichnis definieren path = Path("path/to/dataset") # Bilder im Datensatz optimieren (optional) for f in path.rglob("*.jpg"): compress_one_image(f) # Datensatz in 'path/to/dataset.zip' komprimieren zip_directory(path)Dieses Verfahren verringert die Größe des Datensatzes, ermöglicht eine effizientere Speicherung und beschleunigt den Download. Weitere Informationen findest du unter Datensatz optimieren und komprimieren.