Link to this sectionÜbersicht der Datensätze#
Ultralytics bietet Unterstützung für verschiedene Datensätze, um Aufgaben im Bereich Computer Vision wie Detektion, instance segmentation, 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 jeder Computer-Vision-Aufgabe und den jeweiligen Datensätzen.
Watch: Ultralytics Datasets Overview
Link to this sectionObject Detection#
Die Bounding box-Objekterkennung ist eine Computer-Vision-Technik, bei der Objekte in einem Bild erkannt und lokalisiert werden, indem eine Bounding Box um jedes Objekt gezeichnet wird.
- African-wildlife: Ein Datensatz mit Bildern afrikanischer Wildtiere, darunter Büffel, Elefanten, Nashörner und Zebras.
- Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungs-Prognosedaten aus städtischen Umgebungen mit umfangreichen Annotationen.
- Brain-tumor: Ein Datensatz zur Erkennung von Hirntumoren, der MRT- oder CT-Scan-Bilder mit Angaben zu Vorhandensein, Lage und Merkmalen von Tumoren enthält.
- COCO: Common Objects in Context (COCO) ist ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Bildunterschriften 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 Graustufen-Version von COCO8, die durch Konvertierung von RGB in Graustufen erstellt wurde und für die Evaluierung einkanaliger Modelle nützlich ist.
- COCO8-Multispectral: Eine 10-kanalige multispektrale Version von COCO8, die durch Interpolation von RGB-Wellenlängen erstellt wurde und für die spektralsensible Modellevaluierung nützlich 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 annotiert sind, zusammen mit Labels für fehlende Ausrüstung, um die Entwicklung von KI-Modellen für Compliance und Arbeitnehmerschutz zu unterstützen.
- Global Wheat 2020: Ein Datensatz mit Bildern von Weizenähren für die Global Wheat Challenge 2020.
- HomeObjects-3K: Ein Datensatz mit annotierten Innenraumszenen, die 12 gängige Haushaltsgegenstände enthalten, ideal für die Entwicklung und Prüfung von Computer-Vision-Modellen in Smart-Home-Systemen, Robotik und Augmented Reality.
- KITTI New: 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 Bildunterschriften mit 1203 Objektkategorien.
- Medical-pills: Ein Datensatz mit beschrifteten Bildern von medizinischen Pillen, der zur Unterstützung bei Aufgaben wie pharmazeutischer Qualitätskontrolle, Sortierung und Sicherstellung der Einhaltung von Industriestandards entwickelt wurde.
- Objects365: Ein hochwertiger, groß angelegter Datensatz für die 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 vielfältiger Benchmark für die Objekterkennung 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 Dokumentenüberprüfung und Betrugserkennung unterstützt.
- SKU-110K: Ein Datensatz mit dichter 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 Drohnenaufnahmen 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 für die Objekterkennung in Luftbildern mit 60 Objektkategorien und über 1 Million annotierten Objekten.
Link to this sectionInstance Segmentation#
Instanz-Segmentierung ist eine Computer-Vision-Technik, bei der Objekte in einem Bild auf Pixelebene identifiziert und lokalisiert werden. Im Gegensatz zur semantischen Segmentierung, die nur jedes Pixel klassifiziert, unterscheidet die instance segmentation 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 Objekterkennung, Segmentierung und Bildunterschriften mit über 200.000 beschrifteten Bildern.
- COCO8-seg: Ein kleinerer Datensatz für Instanz-Segmentierungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Segmentierungsannotationen enthält.
- COCO128-seg: Ein kleinerer Datensatz für Instanz-Segmentierungsaufgaben, der eine Teilmenge von 128 COCO-Bildern mit Segmentierungsannotationen enthält.
- Crack-seg: Ein speziell entwickelter Datensatz zur Erkennung von Rissen auf Straßen und Wänden, anwendbar für Objekterkennungs- und Segmentierungsaufgaben.
- Package-seg: Ein maßgeschneiderter Datensatz zur Identifizierung von Paketen in Lagern oder industriellen Umgebungen, geeignet für Objekterkennungs- und Segmentierungsanwendungen.
Link to this sectionSemantic 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: Ein Datensatz zur semantischen Segmentierung von städtischen Straßenszenen mit 19 Trainingsklassen.
- Cityscapes8: Eine kompakte Cityscapes-Teilmenge mit 8 Bildern für schnelle Überprüfungen der semantischen Segmentierungspipeline.
- ADE20K: Ein Datensatz für Szenen-Parsing mit 150 semantischen Klassen.
Link to this sectionPose 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 Annotationen menschlicher Posen, der für Pose-Schätzungsaufgaben entwickelt wurde.
- COCO8-pose: Ein kleinerer Datensatz für Pose-Schätzungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Annotationen menschlicher Posen enthält.
- Dog-pose: Ein umfassender Datensatz mit etwa 8.500 Bildern von Hunden, annotiert mit 24 Schlüsselpunkten pro Hund, der für Pose-Schätzungsaufgaben maßgeschneidert ist.
- Hand-Keypoints: Ein präziser Datensatz mit über 26.000 Bildern von menschlichen Händen, annotiert mit 21 Schlüsselpunkten pro Hand, konzipiert für Pose-Schätzungsaufgaben.
- Tiger-pose: Ein kompakter Datensatz, bestehend aus 263 Bildern von Tigern, die mit 12 Schlüsselpunkten pro Tiger für Pose-Schätzungsaufgaben annotiert sind.
Link to this sectionClassification#
Image classification 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 in 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, die 10 Hunderassenkategorien für Bildklassifizierungsaufgaben enthält.
- MNIST: Ein Datensatz mit 70.000 Graustufenbildern handgeschriebener Ziffern für Bildklassifizierungsaufgaben.
- MNIST160: Die ersten 8 Bilder jeder Ziffer (0-9) aus den Trainings- und Test-Splits von MNIST. Der Datensatz enthält insgesamt 160 Bilder.
Link to this sectionOriented 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 für das Training und 4 für die Validierung, geeignet für schnelle Tests.
- DOTA128: Eine 128-Bilder-Teilmenge des DOTA-Datensatzes mit 128 Bildern für Training und Validierung, die eine gute Balance zwischen Größe und Vielfalt für das Testen von OBB-Modellen bietet.
Link to this sectionMulti-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 Bewegungs-Prognosedaten aus städtischen Umgebungen mit umfangreichen Annotationen für Multi-Objekt-Tracking-Aufgaben.
- VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objekt-Tracking-Daten aus Drohnenaufnahmen mit über 10.000 Bildern und Videosequenzen.
Link to this sectionNeue 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
Link to this sectionSchritte zum Beisteuern eines neuen Datensatzes#
-
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.
-
Bilder annotieren: Annotiere diese Bilder mit Bounding Boxes, Segmenten oder Schlüsselpunkten, je nach Aufgabe.
-
Annotationen exportieren: Konvertiere diese Annotationen in das YOLO
*.txt-Dateiformat, das von Ultralytics unterstützt wird. -
Datensatz organisieren: Ordne deinen Datensatz in die richtige Ordnerstruktur ein. Du solltest
images/- undlabels/-Verzeichnisse auf oberster Ebene haben und darin jeweils eintrain/- und einval/-Unterverzeichnis.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Eine
data.yaml-Datei erstellen: Erstelle in deinem Datensatz-Wurzelverzeichnis 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 untenstehenden Code optimieren. Dies ist nicht erforderlich, wird aber für kleinere Datensatzgrößen und schnellere Downloadgeschwindigkeiten empfohlen.
-
Datensatz zippen: Komprimiere den gesamten Datensatzordner in eine Zip-Datei.
-
Dokumentation und PR: Erstelle eine Dokumentationsseite, die deinen Datensatz beschreibt und erklärt, wie er in das bestehende Framework passt. Reiche danach einen Pull Request (PR) ein. Siehe Ultralytics Contribution Guidelines für weitere Details zum Einreichen eines PRs.
Link to this sectionBeispielcode 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 diesen Schritten folgst, kannst du einen neuen Datensatz beisteuern, der sich gut in die bestehende Struktur von Ultralytics integriert.
Link to this sectionFAQ#
Link to this sectionWelche Datensätze unterstützt Ultralytics für die Objekterkennung?#
Ultralytics unterstützt eine Vielzahl von Datensätzen für die object detection, darunter:
- COCO: Ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Bildunterschriften mit 80 Objektkategorien.
- LVIS: Ein umfangreicher Datensatz mit 1203 Objektkategorien, der für eine feinere Objekterkennung und Segmentierung entwickelt wurde.
- Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungs-Prognosedaten aus städtischen Umgebungen mit umfangreichen Annotationen.
- VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objekt-Tracking-Daten aus Drohnenaufnahmen.
- SKU-110K: Enthält dichte Objekterkennung in Einzelhandelsumgebungen mit über 11.000 Bildern.
Diese Datensätze erleichtern das Training robuster Ultralytics YOLO-Modelle für verschiedene Objekterkennungsanwendungen.
Link to this sectionWie kann ich einen neuen Datensatz zu Ultralytics beisteuern?#
Das Beisteuern eines neuen Datensatzes umfasst mehrere Schritte:
- Bilder sammeln: Sammle Bilder aus öffentlichen Datenbanken oder persönlichen Sammlungen.
- Bilder annotieren: Wende Bounding Boxes, Segmente oder Schlüsselpunkte an, je nach Aufgabe.
- Annotationen exportieren: Konvertiere Annotationen in das YOLO
*.txt-Format. - Datensatz organisieren: Verwende die Ordnerstruktur mit
train/- undval/-Verzeichnissen, die jeweilsimages/- undlabels/-Unterverzeichnisse enthalten. - Eine
data.yaml-Datei erstellen: 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 Contribution Guidelines ein.
Besuche Contribute New Datasets für einen umfassenden Leitfaden.
Link to this sectionWarum sollte ich die Ultralytics Platform 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 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.
Link to this sectionWas sind die einzigartigen Funktionen der Ultralytics YOLO Modelle für Computer Vision?#
Ultralytics YOLO Modelle bieten verschiedene einzigartige Funktionen für Computer Vision Aufgaben:
- Echtzeit-Leistung: Hochgeschwindigkeits-Inferenz- und Trainingsfunktionen für zeitkritische Anwendungen.
- Vielseitigkeit: Unterstützung für Detektion, Instanz-Segmentierung, semantische Segmentierung, Klassifizierung 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.
Entdecke mehr über YOLO Modelle auf der Seite Ultralytics Models.
Link to this sectionWie 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 eine effizientere Speicherung und schnellere Download-Geschwindigkeiten zu reduzieren. Erfahre mehr darüber, wie du einen Datensatz optimieren und zippen kannst.