Datensätze Übersicht
Ultralytics bietet Unterstützung für verschiedene Datensätze zur Erleichterung von Bildverarbeitungsaufgaben wie Erkennung, Instanzsegmentierung, Posenschätzung, Klassifizierung und Verfolgung mehrerer Objekte. Nachfolgend finden Sie eine Liste der wichtigsten Ultralytics Datensätze, gefolgt von einer Zusammenfassung der einzelnen Bildverarbeitungsaufgaben und der entsprechenden Datensätze.
Beobachten: Ultralytics Datensätze Übersicht
Objekt-Erkennung
Bei der Bounding-Box-Objekterkennung handelt es sich um eine Computer-Vision-Technik, bei der Objekte in einem Bild erkannt und lokalisiert werden, indem ein Begrenzungsrahmen um jedes Objekt gezeichnet wird.
- Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit umfangreichen Anmerkungen.
- COCO: Common Objects in Context (COCO) ist ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung mit 80 Objektkategorien.
- LVIS: Ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung mit 1203 Objektkategorien.
- COCO8: Eine kleinere Teilmenge der ersten 4 Bilder aus COCO train und COCO val, geeignet für schnelle Tests.
- COCO128: Eine kleinere Teilmenge der ersten 128 Bilder aus COCO train und COCO val, geeignet für Tests.
- Global Wheat 2020: Ein Datensatz mit Bildern von Weizenköpfen für die Global Wheat Challenge 2020.
- Objekte365: Ein hochwertiger, umfangreicher Datensatz zur Objekterkennung mit 365 Objektkategorien und über 600.000 kommentierten Bildern.
- OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Millionen Trainingsbildern und 42.000 Validierungsbildern.
- SKU-110K: Ein Datensatz mit dichter Objekterkennung in Einzelhandelsumgebungen mit über 11.000 Bildern und 1,7 Millionen Bounding Boxes.
- VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objektverfolgungsdaten aus von Drohnen aufgenommenen Bildern mit über 10.000 Bildern und Videosequenzen.
- VOC: Der Pascal Visual Object Classes (VOC)-Datensatz zur Objekterkennung und -segmentierung mit 20 Objektklassen und über 11K Bildern.
- xView: Ein Datensatz zur Objekterkennung in Overhead-Bildern mit 60 Objektkategorien und über 1 Million kommentierter Objekte.
- RF100: Ein vielseitiger Benchmark zur Objekterkennung mit 100 Datensätzen aus sieben Bildbereichen für eine umfassende Modellbewertung.
- Hirntumor: Ein Datensatz zur Erkennung von Hirntumoren umfasst MRT- oder CT-Scan-Bilder mit Angaben zu Vorhandensein, Lage und Merkmalen des Tumors.
- Afrikanische Wildtiere: Ein Datensatz mit Bildern von afrikanischen Wildtieren, darunter Büffel, Elefanten, Nashörner und Zebras.
- Unterschrift: Ein Datensatz mit Bildern verschiedener Dokumente mit kommentierten Unterschriften zur Unterstützung der Dokumentenprüfung und Betrugserkennung.
- Medizinische Tabletten: Ein Datensatz mit beschrifteten Bildern medizinischer Tabletten, der für Aufgaben wie pharmazeutische Qualitätskontrolle, Sortierung und Einhaltung von Industriestandards entwickelt wurde.
Instanz-Segmentierung
Die Instanzsegmentierung ist eine Technik der Computer Vision, bei der Objekte in einem Bild auf Pixelebene identifiziert und lokalisiert werden. Im Gegensatz zur semantischen Segmentierung, bei der nur die einzelnen Pixel klassifiziert werden, wird bei der Instanzsegmentierung zwischen verschiedenen Instanzen derselben Klasse unterschieden.
- COCO: Ein umfangreicher Datensatz für Objekterkennung, Segmentierung und Beschriftungsaufgaben mit über 200.000 beschrifteten Bildern.
- COCO8-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Segmentierungskommentaren enthält.
- COCO128-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der eine Teilmenge von 128 COCO-Bildern mit Segmentierungskommentaren enthält.
- Crack-seg: Spezieller Datensatz für die Erkennung von Rissen auf Straßen und Mauern, der sowohl für die Objekterkennung als auch für Segmentierungsaufgaben geeignet ist.
- Paket-seg: Maßgeschneiderter Datensatz für die Identifizierung von Paketen in Lagerhäusern oder industriellen Umgebungen, geeignet sowohl für die Objekterkennung als auch für Segmentierungsanwendungen.
- Carparts-seg: Speziell entwickelter Datensatz zur Identifizierung von Fahrzeugteilen für Design-, Fertigungs- und Forschungszwecke. Er dient sowohl der Objekterkennung als auch Segmentierungsaufgaben.
Schätzung der Pose
Die Pose-Schätzung ist eine Technik zur Bestimmung der Pose des Objekts relativ zur Kamera oder zum Weltkoordinatensystem. Dazu müssen Schlüsselpunkte oder Gelenke von Objekten, insbesondere von Menschen oder Tieren, identifiziert werden.
- COCO: Ein umfangreicher Datensatz mit Anmerkungen zur menschlichen Körperhaltung, der für Aufgaben zur Schätzung der Körperhaltung entwickelt wurde.
- COCO8-pose: Ein kleinerer Datensatz für Posenschätzungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Anmerkungen zur menschlichen Pose enthält.
- Tiger-Pose: Ein kompakter Datensatz bestehend aus 263 Bildern von Tigern, die mit 12 Keypoints pro Tiger für Posenschätzungsaufgaben versehen sind.
- Hand-Keypoints: Ein übersichtlicher Datensatz mit über 26.000 Bildern menschlicher Hände, die mit 21 Keypoints pro Hand beschriftet sind und für Posenschätzungsaufgaben konzipiert wurden.
- Dog-pose: Ein umfassender Datensatz mit ca. 6.000 Bildern von Hunden, die mit 24 Keypoints pro Hund beschriftet sind und für Posenschätzungsaufgaben zugeschnitten sind.
Klassifizierung
Bei der Bildklassifizierung handelt es sich um eine Computer-Vision-Aufgabe, bei der ein Bild auf der Grundlage seines visuellen Inhalts in eine oder mehrere vordefinierte Klassen oder Kategorien eingeordnet 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 von 60K 32x32 Farbbildern in 10 Klassen, mit 6K Bildern pro Klasse.
- CIFAR-100: Eine erweiterte Version von CIFAR-10 mit 100 Objektkategorien und 600 Bildern pro Klasse.
- Mode-MNIST: Ein Datensatz bestehend aus 70.000 Graustufenbildern von 10 Modekategorien für Bildklassifizierungsaufgaben.
- ImageNet: Ein umfangreicher Datensatz zur Objekterkennung und Bildklassifizierung mit über 14 Millionen Bildern und 20.000 Kategorien.
- ImageNet-10: Eine kleinere Teilmenge von ImageNet mit 10 Kategorien zum schnelleren Experimentieren und Testen.
- Imagenette: Eine kleinere Teilmenge von ImageNet, die 10 leicht unterscheidbare Klassen enthält, um das Training und Testen zu beschleunigen.
- Imagewoof: Eine anspruchsvollere Teilmenge von ImageNet mit 10 Hunderassen-Kategorien für Bildklassifizierungsaufgaben.
- MNIST: Ein Datensatz mit 70.000 Graustufenbildern von handgeschriebenen 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 der Computer Vision zur Erkennung von schrägen Objekten in Bildern unter Verwendung von gedrehten Bounding Boxes, die häufig bei Luft- und Satellitenbildern angewendet wird. Im Gegensatz zu herkömmlichen Bounding Boxes lassen sich mit OBB Objekte in verschiedenen Ausrichtungen besser erfassen.
- 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 Training und 4 für Validierung, geeignet für schnelle Tests.
Multi-Objekt-Verfolgung
Bei der Verfolgung mehrerer Objekte handelt es sich um eine Computer-Vision-Technik, bei der mehrere Objekte in einer Videosequenz erkannt und verfolgt werden. Diese Aufgabe erweitert die Objekterkennung, indem die Identität der Objekte über mehrere Bilder hinweg beibehalten wird.
- Argoverse: Ein Datensatz, der 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit reichhaltigen Anmerkungen für Multi-Objekt-Tracking-Aufgaben enthält.
- VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objektverfolgungsdaten aus von Drohnen aufgenommenen Bildern mit über 10.000 Bildern und Videosequenzen.
Neue Datensätze beisteuern
Das Einbringen eines neuen Datensatzes erfordert mehrere Schritte, um sicherzustellen, dass er sich gut in die bestehende Infrastruktur einfügt. Im Folgenden sind die notwendigen Schritte aufgeführt:
Beobachten: Wie man zu Ultralytics beiträgt 🚀
Schritte zum Beitragen eines neuen Datensatzes
- Bilder sammeln: Sammeln Sie die Bilder, die zum Datensatz gehören. Diese können aus verschiedenen Quellen stammen, z. B. aus öffentlichen Datenbanken oder aus Ihrer eigenen Sammlung.
- Bilder annotieren: Beschriften Sie diese Bilder je nach Aufgabe mit Bounding Boxes, Segmenten oder Keypoints.
- Anmerkungen exportieren: Konvertieren Sie diese Anmerkungen in die YOLO
*.txt
Dateiformat, das Ultralytics unterstützt. -
Datensatz organisieren: Ordnen Sie Ihren Datensatz in der richtigen Ordnerstruktur an. Sie sollten Folgendes haben
train/
undval/
Verzeichnisse der obersten Ebene, und innerhalb jedes Verzeichnisses einimages/
undlabels/
Unterverzeichnis. -
Erstellen einer
data.yaml
Datei: Erstellen Sie im Stammverzeichnis Ihres Datensatzes einedata.yaml
Datei, die den Datensatz, die Klassen und andere notwendige Informationen beschreibt. - Bilder optimieren (optional): Wenn Sie die Größe des Datensatzes für eine effizientere Verarbeitung reduzieren möchten, können Sie die Bilder mit dem unten stehenden Code optimieren. Dies ist nicht erforderlich, wird aber empfohlen, um die Größe des Datensatzes zu verringern und die Downloadgeschwindigkeit zu erhöhen.
- Datensatz zippen: Komprimieren Sie den gesamten Datensatzordner in eine Zip-Datei.
- Dokumentation und PR: Erstellen Sie eine Dokumentationsseite, in der Sie Ihren Datensatz beschreiben und erläutern, wie er in den bestehenden Rahmen passt. Danach reichen Sie einen Pull Request (PR) ein. Weitere Einzelheiten zum Einreichen eines PR finden Sie in den Ultralytics Contribution Guidelines.
Beispielcode zum Optimieren und Komprimieren eines Datensatzes
Optimieren und Komprimieren 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)
Wenn Sie diese Schritte befolgen, können Sie einen neuen Datensatz beisteuern, der sich gut in die bestehende Struktur von Ultralytics einfügt.
FAQ
Welche Datensätze werden von Ultralytics für die Objekterkennung unterstützt?
Ultralytics unterstützt eine breite Palette von Datensätzen für die Objekterkennung, einschließlich:
- COCO: Ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung 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 Bewegungsvorhersagedaten aus städtischen Umgebungen mit umfangreichen Anmerkungen.
- VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objektverfolgungsdaten aus von Drohnen aufgenommenem Bildmaterial.
- SKU-110K: Dichte Objekterkennung in Einzelhandelsumgebungen mit über 11.000 Bildern.
Diese Datensätze erleichtern das Training robuster Ultralytics YOLO Modelle für verschiedene Anwendungen der Objekterkennung.
Wie kann ich einen neuen Datensatz zu Ultralytics beitragen?
Das Einbringen eines neuen Datensatzes umfasst mehrere Schritte:
- Bilder sammeln: Sammeln Sie Bilder aus öffentlichen Datenbanken oder persönlichen Sammlungen.
- Bilder annotieren: Wenden Sie Bounding Boxes, Segmente oder Keypoints an, je nach Aufgabe.
- Anmerkungen exportieren: Konvertieren von Anmerkungen in die YOLO
*.txt
Format. - Datensatz organisieren: Verwenden Sie die Ordnerstruktur mit
train/
undval/
Verzeichnisse, die jeweils Folgendes enthaltenimages/
undlabels/
Unterverzeichnisse. - Erstellen einer
data.yaml
Datei: Enthalten Sie Datensatzbeschreibungen, Klassen und andere relevante Informationen. - Bilder optimieren (optional): Verringern Sie die Größe des Datensatzes für mehr Effizienz.
- Dataset komprimieren: Komprimieren Sie den Datensatz in eine Zip-Datei.
- Dokument und PR: Beschreiben Sie Ihren Datensatz und reichen Sie einen Pull Request gemäß den Ultralytics Contribution Guidelines ein.
Einen umfassenden Leitfaden finden Sie unter Neue Datensätze beisteuern.
Warum sollte ich Ultralytics HUB für meinen Datensatz verwenden?
Ultralytics HUB bietet leistungsstarke Funktionen für die Verwaltung und Analyse von Datensätzen, darunter:
- Nahtlose Datensatzverwaltung: Laden Sie Ihre Datensätze hoch, organisieren und verwalten Sie sie an einem Ort.
- Unmittelbare Trainingsintegration: Verwenden Sie hochgeladene Datensätze direkt für das Modelltraining ohne zusätzliche Einstellungen.
- Visualisierungswerkzeuge: Erforschen und visualisieren Sie Bilder und Anmerkungen zu Ihren Datensätzen.
- Datensatz-Analyse: Verschaffen Sie sich einen Überblick über die Verteilung und die Merkmale Ihrer Datenbestände.
Die Plattform rationalisiert den Übergang von der Datensatzverwaltung zur Modellschulung und macht den gesamten Prozess effizienter. Erfahren Sie mehr über Ultralytics HUB Datasets.
Was sind die besonderen Merkmale von Ultralytics YOLO Modellen für die Computer Vision?
DieYOLO Ultralytics bieten mehrere einzigartige Funktionen für Computer-Vision-Aufgaben:
- Leistung in Echtzeit: Hochgeschwindigkeits-Inferenz- und Trainingsfunktionen für zeitkritische Anwendungen.
- Vielseitigkeit: Unterstützung für Erkennungs-, Segmentierungs-, Klassifizierungs- und Posenschätzungsaufgaben in einem einheitlichen Rahmen.
- Vorgefertigte Modelle: Zugang zu leistungsstarken, vortrainierten Modellen für verschiedene Anwendungen, die die Trainingszeit reduzieren.
- Umfassender Community-Support: Aktive Community und umfassende Dokumentation für Fehlerbehebung und Entwicklung.
- Einfache Integration: Einfache API für die Integration in bestehende Projekte und Arbeitsabläufe.
Mehr über YOLO erfahren Sie auf der Seite Ultralytics .
Wie kann ich einen Datensatz mit den Tools von Ultralytics optimieren und zippen?
Um einen Datensatz mit den Tools von Ultralytics zu optimieren und zu zippen, folgen Sie diesem Beispielcode:
Optimieren und Komprimieren 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)
Dieser Prozess hilft, die Größe der Datensätze zu reduzieren, um eine effizientere Speicherung und schnellere Download-Geschwindigkeiten zu ermöglichen. Erfahren Sie mehr darüber, wie Sie einen Datensatz optimieren und zippen können.