Suchen

Definition Was ist CIFAR-10?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

CIFAR-10 ist ein Datensatz, der aus 60.000 kleinen Einzelbildern besteht. Die farbigen Bilder haben jeweils eine Größe von 32 x 32 Pixel und sind in zehn verschiedene Klassen eingeteilt. Der Datensatz kommt zum Trainieren und Testen von Algorithmen des maschinellen Lernens und der Bildverarbeitung zum Einsatz. Neben CIFAR-10 existiert mit CIFAR-100 ein Datensatz mit 100 verschiedenen Klassen.

(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung CIFAR bedeutet Canadian Institute For Advanced Research. Bei CIFAR-10 handelt es sich um einen von Entwicklern des Canadian Institutes For Advanced Research geschaffenen Datensatz. Er besteht aus 60.000 jeweils 32 x 32 Pixel großen farbigen Bildern. Die Bilder sind abhängig von den gezeigten Objekten in zehn verschiedene Klassen mit jeweils 6.000 Bildern eingeteilt und mit dem jeweiligen Klassenlabel versehen.

Gegenüber normalen Fotografien sind die Bilder des Datensatzes mit ihren nur 32 x 32 Pixel wesentlich kleiner. Der Datensatz wurde entwickelt, um Algorithmen der Bildverarbeitung, Bilderkennung und des maschinellen Lernens sowie künstliche neuronale Netze zu trainieren, zu optimieren und zu testen. Es handelt sich im Umfeld der Bilderkennung um einen der weltweit meist verwendeten Datensätze für Künstliche Intelligenz (KI) und maschinelles Lernen. Aufgrund der geringen Auflösung der Bilder lassen sich Training und Test der Algorithmen sehr schnell vornehmen.

Konvolutionale neuronale Netzwerke erzielen nach einem Training mit den Bildern eine hohe CIFAR-10-Bilderkennungsrate. CIFAR-10 ist ein Subset des circa 80 Millionen Bilder umfassenden Tiny Images Datasets. CIFAR-10 und CIFAR-100 können über die Internetseiten des Canadian Institutes For Advanced Research kostenlos in verschiedenen Versionen heruntergeladen werden.

Zusammensetzung und Klassen des CIFAR-10-Datasets

Wie bereits erwähnt, unterteilt das CIFAR-10-Dataset die 60.000 Bilder in zehn verschiedene Klassen mit jeweils 6.000 Bildern pro Klasse. Die verschiedenen Klassen sind:

  • Flugzeuge
  • Autos
  • Vögel
  • Katzen
  • Hirsche
  • Hunde
  • Frösche
  • Pferde
  • Schiffe
  • Lkw

Die einzelnen Klassen sind vollständig voneinander unabhängig und besitzen keine Überlappungen. Von den insgesamt 60.000 Bildern sind 50.000 Bilder Trainingsbilder und 10.000 Bilder Testbilder.

Die verschiedenen CIFAR-10-Versionen

Abhängig vom jeweiligen Einsatzbereich und der verwendeten Methoden oder Programmiersprachen existieren drei verschiedene Versionen des CIFAR-10-Datasets. Diese Versionen sind:

  • eine Python-Version von CIFAR-10 mit einer Größe von 163 Megabyte
  • eine Matlab-Version von CIFAR-10 mit einer Größe von 175 Megabyte
  • eine binäre Version von CIFAR-10 mit einer Größe von 162 Megabyt

Anwendungsbereiche des CIFAR-10-Datensatzes

Typischer Anwendungsbereich des CIFAR-10-Datensatzes ist das Trainieren, Testen und Optimieren von Computersystemen zur automatischen Bilderkennung. Die Systeme nutzen Verfahren des maschinellem Lernens und künstliche neuronale Netzwerke und lernen mit dem CIFAR-10-Datensatz Bilder korrekt zu klassifizieren. Dank der vorhandenen Klassenlabel der Bilder ist die korrekte Klassifizierung jederzeit nachvollziehbar. Die Ergebnisse und Vorhersagegenauigkeiten der verwendeten Algorithmen lassen sich mit dem Datensatz prüfen und durch Anpassung der Parameter optimieren.

Was ist CIFAR-100

Neben CIFAR-10 existiert mit CIFAR-100 ein weiterer Datensatz des Canadian Institutes For Advanced Research. CIFAR-100 ähnelt CIFAR-10, besitzt aber 100 Klassen mit jeweils 600 Bildern. Die Bilder sind wie bei CIFAR-10 farbig und 32 x 32 Pixel groß. 500 Bilder je Klasse sind Trainingsbilder und 100 Bilder je Klasse sind Testbilder. Die 100 Klassen sind 20 übergeordneten Klassen zugeteilt. Deshalb besitzt jedes Bild zwei Label: ein Label mit der exakten Klasse und ein Label mit der übergeordneten Klasse des Bilds. Auch CIFAR-100 existiert in drei Versionen. Diese Versionen sind:

  • eine Python-Version von CIFAR-100 mit einer Größe von 161 Megabyte
  • eine Matlab-Version von CIFAR-100 mit einer Größe von 175 Megabyte
  • eine binäre Version von CIFAR-100 mit einer Größe von 161 Megabyte

Beispielablauf einer Modellentwicklung und Modellevaluierung zur Bilderklassifizierung

Um ein künstliches neuronales Netzwerk zur Bilderklassifizierung zu entwickeln und zu evaluieren, sind mehrere Einzelschritte zu durchlaufen. Die CIFAR-10- oder CIFAR-100-Datensätze lassen sich zu Trainings-, Test- und Optimierungszwecken einsetzen. Folgende Einzelschritte der Modellentwicklung und Modellevaluierung werden vereinfacht dargestellt durchlaufen:

1) Definition des Modells eines neuronalen Netzwerks

2) Laden des CIFAR-10-Datensatzes

3) Aufbereitung der Pixeldaten des Datensatzes in eine für die verwendeten Algorithmen lesbare Form

4) Evaluierung des Modells durch folgende Einzelschritte:

4a) Trainieren des Modells mit den Trainingsbildern

4b) Prüfen des Modells durch Testklassifizierungen mit den Testbildern

4c) Ergebnisse bewerten

4d) Modell optimieren durch Anpassung der Parameter und zurück zu Schritte 4a) bis keine nennenswerte Verbesserung mehr feststellbar ist

5) Festlegen und Speichern des optimierten, finalen Modells

(ID:46411385)

Über den Autor