Zum Inhalt springen

Datensätze Übersicht

Ultralytics bietet Unterstützung für verschiedene Datensätze, um Bildverarbeitungsaufgaben wie Erkennung, Instanzsegmentierung, Posenschätzung, Klassifizierung und Verfolgung von mehreren Objekten zu erleichtern. Im Folgenden findest du eine Liste der wichtigsten Ultralytics Datensätze, gefolgt von einer Zusammenfassung der einzelnen Computer Vision Aufgaben und der entsprechenden Datensätze.



Pass auf: Ultralytics Datensätze Übersicht

NEU 🚀 Ultralytics Explorer

Erstelle Einbettungen für deinen Datensatz, suche nach ähnlichen Bildern, führe SQL-Abfragen aus, führe eine semantische Suche durch und suche sogar mit natürlicher Sprache! Du kannst mit unserer GUI-App loslegen oder über die API deine eigene App erstellen. Hier erfährst du mehr.

Ultralytics Explorer Bildschirmfoto

Objekt-Erkennung

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.

  • 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.
  • Global Wheat 2020: Ein Datensatz mit Bildern von Weizenköpfen fĂĽr die Global Wheat Challenge 2020.
  • Objects365: 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 zur dichten 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 11.000 Bildern.
  • xView: Ein Datensatz zur Objekterkennung in Overhead-Bildern mit 60 Objektkategorien und ĂĽber 1 Million kommentierter Objekte.
  • Roboflow 100: Ein vielseitiger Benchmark zur Objekterkennung mit 100 Datensätzen aus sieben Bildbereichen fĂĽr eine umfassende Modellbewertung.
  • Hirntumor: Ein Datensatz zur Erkennung von Hirntumoren enthält MRT- oder CT-Bilder mit Details ĂĽber das Vorhandensein, die Lage und die Merkmale 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, der die Forschung zur DokumentenprĂĽfung und Betrugserkennung unterstĂĽtzt.

Instanz-Segmentierung

Die Instanzsegmentierung ist eine Computer-Vision-Technik, bei der Objekte in einem Bild auf Pixelebene identifiziert und lokalisiert werden.

  • COCO: Ein umfangreicher Datensatz fĂĽr die Erkennung, Segmentierung und Beschriftung von Objekten 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.
  • Crack-seg: Speziell entwickelter Datensatz zur Erkennung von Rissen auf StraĂźen und Mauern, der sowohl fĂĽr die Objekterkennung als auch fĂĽr die Segmentierung geeignet ist.
  • Paket-seg: MaĂźgeschneiderter Datensatz fĂĽr die Identifizierung von Paketen in Lagerhäusern oder in der Industrie, der sich sowohl fĂĽr die Objekterkennung als auch fĂĽr Segmentierungsanwendungen eignet.
  • Carparts-seg: Ein speziell entwickelter Datensatz zur Identifizierung von Fahrzeugteilen fĂĽr Design, Produktion und Forschung. Er dient sowohl der Objekterkennung als auch der Segmentierung.

Posen-Schätzung

Die Pose-Schätzung ist eine Technik, die verwendet wird, um die Pose des Objekts in Bezug auf die Kamera oder das Weltkoordinatensystem zu bestimmen.

  • COCO: Ein umfangreicher Datensatz mit menschlichen Posenannotationen fĂĽr Posenschätzungsaufgaben.
  • COCO8-Pose: Ein kleinerer Datensatz fĂĽr Posenschätzungsaufgaben, der eine Teilmenge von 8 COCO-Bildern mit menschlichen Posenannotationen enthält.
  • Tiger-Pose: Ein kompakter Datensatz bestehend aus 263 Bildern von Tigern, die mit 12 Keypoints pro Tiger fĂĽr Posenschätzungsaufgaben annotiert sind.

Klassifizierung

Bei der Bildklassifizierung handelt es sich um eine Computer-Vision-Aufgabe, bei der ein Bild anhand 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 noch anspruchsvolleren Bildern.
  • CIFAR-10: Ein Datensatz mit 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.
  • Fashion-MNIST: Ein Datensatz bestehend aus 70.000 Graustufenbildern von 10 Modekategorien fĂĽr Bildklassifizierungsaufgaben.
  • ImageNet: Ein groĂźer 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 Hunderassenkategorien fĂĽr Bildklassifizierungsaufgaben.
  • MNIST: Ein Datensatz mit 70.000 Graustufenbildern von handgeschriebenen Ziffern fĂĽr Bildklassifizierungsaufgaben.

Oriented Bounding Boxes (OBB)

Oriented Bounding Boxes (OBB) ist eine Methode der Computer Vision zur Erkennung von schrägen Objekten in Bildern mithilfe von gedrehten Bounding Boxes, die häufig bei Luft- und Satellitenbildern angewendet wird.

  • DOTA-v2: Ein beliebter OBB-Luftbilddatensatz mit 1,7 Millionen Instanzen und 11.268 Bildern.

Multi-Object Tracking

Bei der Multi-Objektverfolgung handelt es sich um eine Computer-Vision-Technik, bei der mehrere Objekte in einer Videosequenz erkannt und ĂĽber die Zeit verfolgt werden.

  • Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit umfangreichen Anmerkungen fĂĽr Multi-Objekt-Tracking-Aufgaben.
  • 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:

Schritte zum Einbringen eines neuen Datensatzes

  1. Bilder sammeln: Sammle die Bilder, die zum Datensatz gehören. Diese können aus verschiedenen Quellen stammen, z. B. aus öffentlichen Datenbanken oder aus deiner eigenen Sammlung.
  2. Bilder annotieren: Beschrifte die Bilder je nach Aufgabe mit Bounding Boxes, Segmenten oder Keypoints.
  3. Anmerkungen exportieren: Konvertiere diese Anmerkungen in die YOLO *.txt Dateiformat, das Ultralytics unterstĂĽtzt.
  4. Datensatz organisieren: Ordne deinen Datensatz in der richtigen Ordnerstruktur an. Du solltest Folgendes haben train/ und val/ Top-Level-Verzeichnisse, und innerhalb jedes Verzeichnisses ein images/ und labels/ Unterverzeichnis.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Erstellen einer data.yaml Datei: Erstelle im Stammverzeichnis deines Datensatzes eine data.yaml Datei, die den Datensatz, die Klassen und andere notwendige Informationen beschreibt.

  6. 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 empfohlen, um die Größe des Datensatzes zu verringern und die Downloadgeschwindigkeit zu erhöhen.
  7. Datensatz zippen: Komprimiere den gesamten Datensatzordner in eine Zip-Datei.
  8. Dokumentieren und PR: Erstelle eine Dokumentationsseite, in der du deinen Datensatz beschreibst und erklärst, wie er in das bestehende Framework passt. Danach reiche einen Pull Request (PR) ein. Weitere Informationen über das Einreichen eines PR findest du in den Ultralytics Beitragsrichtlinien.

Beispielcode zum Optimieren und Zippen eines Datensatzes

Optimieren und Zipen 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 du diese Schritte befolgst, kannst du einen neuen Datensatz beisteuern, der sich gut in die bestehende Struktur von Ultralytics einfĂĽgt.



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (9), RizwanMunawar (2), Burhan-Q (1), Laughing-q (1), abirami-vina (1), AyushExel (2)

Kommentare