Zum Inhalt springen

Überblick über die Datensätze

Ultralytics bietet Unterstützung für verschiedene Datensätze, um Computer-Vision-Aufgaben wie Erkennung, Instanzsegmentierung, Pose-Schätzung, Klassifizierung und Multi-Objekt-Tracking zu erleichtern. Nachfolgend finden Sie eine Liste der wichtigsten Ultralytics-Datensätze, gefolgt von einer Zusammenfassung der jeweiligen Computer-Vision-Aufgabe und der entsprechenden Datensätze.



Ansehen: Ultralytics Datensatzübersicht

Objekterkennung

Bounding Box Objekterkennung ist eine Technik des maschinellen Sehens, bei der Objekte in einem Bild erkannt und lokalisiert werden, indem um jedes Objekt ein Bounding Box gezeichnet wird.

  • Argoverse: Ein Datensatz, der 3D-Tracking- und Bewegungsprognosedaten aus städtischen Umgebungen mit umfangreichen Anmerkungen enthält.
  • COCO: Common Objects in Context (COCO) ist ein umfangreicher Datensatz für Objekterkennung, Segmentierung und Bildbeschriftung mit 80 Objektkategorien.
  • LVIS: Ein umfangreicher Datensatz für Objekterkennung, Segmentierung und Bildbeschriftung mit 1203 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 für die Einkanal-Modellbewertung nützlich ist.
  • COCO8-Multispectral: Eine 10-Kanal-Multispektralversion von COCO8, die durch Interpolation von RGB-Wellenlängen erstellt wurde und für die spektrale Modellbewertung nützlich ist.
  • COCO128: Eine kleinere Teilmenge der ersten 128 Bilder aus COCO train und COCO val, geeignet für Tests.
  • Global Wheat 2020: Ein Datensatz, der Bilder von Weizenähren für die Global Wheat Challenge 2020 enthält.
  • Objects365: Ein hochwertiger, umfangreicher 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.
  • SKU-110K: Ein Datensatz mit dichter Objekterkennung in Einzelhandelsumgebungen mit über 11.000 Bildern und 1,7 Millionen Bounding Boxes.
  • HomeObjects-3K Neu 🚀: Ein Datensatz mit annotierten Innenraumszenen, der 12 gängige Haushaltsgegenstände enthält, ideal für die Entwicklung und das Testen von Computer-Vision-Modellen in Smart-Home-Systemen, Robotik und Augmented Reality.
  • VisDrone: Ein Datensatz, der Objekterkennungs- und Multi-Objekt-Tracking-Daten aus von Drohnen aufgenommenen Bildern mit über 10.000 Bildern und Videosequenzen enthält.
  • 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 Objekterkennung in Luftaufnahmen mit 60 Objektkategorien und über 1 Million annotierten Objekten.
  • RF100: Ein vielfältiger Objekterkennungs-Benchmark mit 100 Datensätzen aus sieben Bildgebungsbereichen für eine umfassende Modellbewertung.
  • Brain-tumor: Ein Datensatz zur Erkennung von Hirntumoren, der MRT- oder CT-Scan-Bilder mit Details zu Vorhandensein, Lage und Eigenschaften des Tumors enthält.
  • African-wildlife: Ein Datensatz mit Bildern afrikanischer Wildtiere, darunter Büffel, Elefanten, Nashörner und Zebras.
  • Signature: Ein Datensatz mit Bildern verschiedener Dokumente mit annotierten Unterschriften, der die Dokumentenprüfung und die Forschung zur Betrugserkennung unterstützt.
  • Medical-pills: Ein Datensatz mit beschrifteten Bildern von medizinischen Pillen, der Aufgaben wie die pharmazeutische Qualitätskontrolle, Sortierung und die Sicherstellung der Einhaltung von Industriestandards unterstützen soll.

Instanzsegmentierung

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, die nur jedes Pixel klassifiziert, unterscheidet die Instanzsegmentierung zwischen verschiedenen Instanzen derselben Klasse.

  • COCO: Ein umfangreicher Datensatz, der für Objekterkennung, Segmentierung und Bildbeschriftungsaufgaben mit über 200.000 beschrifteten Bildern entwickelt wurde.
  • COCO8-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Segmentierungsanmerkungen enthält.
  • COCO128-seg: Ein kleinerer Datensatz für Instanzsegmentierungsaufgaben, der eine Teilmenge von 128 COCO-Bildern mit Segmentierungsanmerkungen enthält.
  • Crack-seg: Speziell entwickelter Datensatz zur Erkennung von Rissen auf Straßen und Wänden, der sowohl für Objekterkennungs- als auch für Segmentierungsaufgaben geeignet ist.
  • Package-seg: Maßgeschneiderter Datensatz zur Identifizierung von Paketen in Lagerhäusern oder industriellen Umgebungen, geeignet für Objekterkennungs- und Segmentierungsanwendungen.
  • Carparts-seg: Speziell entwickelter Datensatz zur Identifizierung von Fahrzeugteilen, der Design-, Fertigungs- und Forschungsanforderungen erfüllt. Er dient sowohl für Objekterkennungs- als auch für Segmentierungsaufgaben.

Pose-Schätzung

Die Pose-Schätzung ist eine Technik, die verwendet wird, um die Pose des Objekts relativ zur Kamera oder dem Weltkoordinatensystem zu bestimmen. Dies beinhaltet die Identifizierung von Schlüsselpunkten oder Gelenken an Objekten, insbesondere Menschen oder Tieren.

  • COCO: Ein umfangreicher Datensatz mit Annotationen zur menschlichen Pose, der für Aufgaben zur Schätzung der Körperhaltung entwickelt wurde.
  • COCO8-pose: Ein kleinerer Datensatz für Pose-Schätzungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit Annotationen zur menschlichen Pose enthält.
  • Tiger-pose: Ein kompakter Datensatz, bestehend aus 263 Bildern mit Fokus auf Tiger, annotiert mit 12 Keypoints pro Tiger für Pose-Schätzungsaufgaben.
  • Hand-Keypoints: Ein prägnanter Datensatz mit über 26.000 Bildern, die sich auf menschliche Hände konzentrieren und mit 21 Keypoints pro Hand annotiert sind, konzipiert für Pose-Schätzungsaufgaben.
  • Dog-pose: Ein umfassender Datensatz mit ungefähr 6.000 Bildern mit Fokus auf Hunde, annotiert mit 24 Keypoints pro Hund, zugeschnitten auf Pose-Schätzungsaufgaben.

Klassifizierung

Bildklassifizierung ist eine Aufgabe der Computer Vision, bei der ein Bild anhand seines visuellen Inhalts in eine oder mehrere vordefinierte Klassen oder Kategorien eingeordnet wird.

  • Caltech 101: Ein Datensatz, der Bilder von 101 Objektkategorien für Bildklassifizierungsaufgaben enthält.
  • Caltech 256: Eine erweiterte Version von Caltech 101 mit 256 Objektkategorien und anspruchsvolleren Bildern.
  • CIFAR-10: Ein Datensatz von 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 umfangreicher 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 schnellere Experimente und Tests.
  • 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 Hunderassen-Kategorien für Bildklassifizierungsaufgaben enthält.
  • MNIST: Ein Datensatz von 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 Begrenzungsrahmen (OBB)

Ausgerichtete Begrenzungsrahmen (Oriented Bounding Boxes, OBB) ist eine Methode in der Computer Vision zur Erkennung von abgewinkelten Objekten in Bildern mithilfe von gedrehten Begrenzungsrahmen, die häufig auf Luft- und Satellitenbilder angewendet wird. Im Gegensatz zu traditionellen Begrenzungsrahmen können OBBs Objekte in verschiedenen Ausrichtungen besser erfassen.

  • DOTA-v2: Ein beliebter OBB-Datensatz für Luftaufnahmen 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.

Multi-Object Tracking

Multi-Objekt-Tracking ist eine Technik des maschinellen Sehens, die das Erkennen und Verfolgen mehrerer Objekte im Zeitverlauf in einer Videosequenz umfasst. Diese Aufgabe erweitert die Objekterkennung, indem sie konsistente Identitäten von Objekten über Frames hinweg beibehält.

  • Argoverse: Ein Datensatz, der 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit umfangreichen Annotationen für Multi-Objekt-Tracking-Aufgaben enthält.
  • VisDrone: Ein Datensatz, der Objekterkennungs- und Multi-Objekt-Tracking-Daten aus von Drohnen aufgenommenen Bildern mit über 10.000 Bildern und Videosequenzen enthält.

Neue Datensätze beitragen

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



Ansehen: Wie man zu Ultralytics Datasets beiträgt 🚀

Schritte zum Beitragen eines neuen Datensatzes

  1. Bilder sammeln: Sammeln Sie die Bilder, die zu dem Datensatz gehören. Diese können aus verschiedenen Quellen stammen, z. B. aus öffentlichen Datenbanken oder Ihrer eigenen Sammlung.
  2. Bilder annotieren: Annotieren Sie diese Bilder mit Begrenzungsrahmen, Segmenten oder Keypoints, abhängig von der Aufgabe.
  3. Annotationen exportieren: Konvertieren Sie diese Annotationen in das YOLO *.txt Dateiformat, das Ultralytics unterstützt.
  4. Dataset organisieren: Ordnen Sie Ihr Dataset in der korrekten Ordnerstruktur an. Sie sollten train/ und val/ Verzeichnisse der obersten Ebene und innerhalb jedes Verzeichnisses ein images/ und labels/ Unterverzeichnis haben.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Erstellen Sie eine data.yaml Datei: Erstellen Sie im Stammverzeichnis Ihres Datasets eine data.yaml Datei, die das Dataset, die Klassen und andere notwendige Informationen beschreibt.

  6. Bilder optimieren (Optional): Wenn Sie die Größe des Datasets für eine effizientere Verarbeitung reduzieren möchten, können Sie die Bilder mit dem folgenden Code optimieren. Dies ist nicht erforderlich, wird aber für kleinere Dataset-Größen und schnellere Download-Geschwindigkeiten empfohlen.
  7. Dataset zippen: Komprimieren Sie den gesamten Dataset-Ordner in eine ZIP-Datei.
  8. Dokumentieren und PR erstellen: Erstellen Sie eine Dokumentationsseite, die Ihr Dataset und seine Einordnung in das bestehende Framework beschreibt. Reichen Sie danach einen Pull Request (PR) ein. Weitere Informationen zum Einreichen eines PR finden Sie in den Ultralytics Contribution Guidelines.

Beispielcode zum Optimieren und Zippen eines Datensatzes

Dataset 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 Sie diese Schritte befolgen, können Sie ein neues Dataset beitragen, das sich gut in die bestehende Struktur von Ultralytics integriert.

FAQ

Welche Datensätze unterstützt Ultralytics für die Objekterkennung?

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

  • COCO: Ein umfangreiches Dataset für Objekterkennung, Segmentierung und Bildunterschriften mit 80 Objektkategorien.
  • LVIS: Ein umfangreiches Dataset mit 1203 Objektkategorien, das für eine detailliertere Objekterkennung und Segmentierung entwickelt wurde.
  • Argoverse: Ein Datensatz, der 3D-Tracking- und Bewegungsprognosedaten aus städtischen Umgebungen mit umfangreichen Anmerkungen enthält.
  • VisDrone: Ein Dataset mit Objekterkennungs- und Multi-Objekt-Tracking-Daten aus Drohnenbildern.
  • SKU-110K: Mit dichter Objekterkennung in Einzelhandelsumgebungen mit über 11.000 Bildern.

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

Wie kann ich einen neuen Datensatz zu Ultralytics beitragen?

Das Beitragen eines neuen Datasets umfasst mehrere Schritte:

  1. Bilder sammeln: Sammeln Sie Bilder aus öffentlichen Datenbanken oder persönlichen Sammlungen.
  2. Bilder annotieren: Wenden Sie je nach Aufgabe Begrenzungsrahmen, Segmente oder Keypoints an.
  3. Annotationen exportieren: Konvertiere Annotationen in das YOLO *.txt Format.
  4. Dataset organisieren: Verwenden Sie die Ordnerstruktur mit train/ und val/ Verzeichnissen, die jeweils images/ und labels/ Unterverzeichnisse enthalten.
  5. Erstellen Sie eine data.yaml Datei: Fügen Sie Dataset-Beschreibungen, Klassen und andere relevante Informationen hinzu.
  6. Bilder optimieren (optional): Reduzieren Sie die Dataset-Größe für mehr Effizienz.
  7. Dataset zippen: Komprimieren Sie das Dataset in eine ZIP-Datei.
  8. Dokumentieren und PR erstellen: Beschreiben Sie Ihr Dataset und reichen Sie einen Pull Request gemäß den Ultralytics Contribution Guidelines ein.

Besuchen Sie Contribute New Datasets für eine umfassende Anleitung.

Warum sollte ich Ultralytics HUB für meinen Datensatz verwenden?

Ultralytics HUB bietet leistungsstarke Funktionen für die Datenmengenverwaltung und -analyse, darunter:

  • Nahtlose Datensatzverwaltung: Laden Sie Ihre Datensätze hoch, organisieren und verwalten Sie sie an einem Ort.
  • Sofortige Trainingsintegration: Verwenden Sie hochgeladene Datensätze direkt für das Modelltraining, ohne zusätzliche Einrichtung.
  • Visualisierungswerkzeuge: Untersuchen und visualisieren Sie Ihre Datensatzbilder und -anmerkungen.
  • Datensatzanalyse: Erhalten Sie Einblicke in die Verteilung und die Eigenschaften Ihres Datensatzes.

Die Plattform rationalisiert den Übergang von der Datensatzverwaltung zum Modelltraining und macht den gesamten Prozess effizienter. Erfahren Sie mehr über Ultralytics HUB Datasets.

Was sind die einzigartigen Merkmale von Ultralytics YOLO-Modellen für Computer Vision?

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

  • Echtzeitleistung: Hochgeschwindigkeits-Inferenz- und Trainingsfunktionen für zeitkritische Anwendungen.
  • Vielseitigkeit: Unterstützung für Erkennungs-, Segmentierungs-, Klassifizierungs- und Pose-Schätzungsaufgaben in einem einheitlichen Framework.
  • Vorab trainierte Modelle: Zugriff auf leistungsstarke, vorab trainierte Modelle für verschiedene Anwendungen, wodurch die Trainingszeit verkürzt wird.
  • Umfassende Community-Unterstützung: Aktive Community und umfassende Dokumentation für Fehlerbehebung und Entwicklung.
  • Einfache Integration: Einfache API zur Integration in bestehende Projekte und Workflows.

Erfahren Sie mehr über YOLO-Modelle auf der Seite Ultralytics Modelle.

Wie kann ich einen Datensatz mit Ultralytics-Tools optimieren und zippen?

Um ein Dataset mit Ultralytics-Tools zu optimieren und zu zippen, folgen Sie diesem Beispielcode:

Dataset 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 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.



📅 Vor 1 Jahr erstellt ✏️ Vor 3 Monaten aktualisiert

Kommentare