Stummel Wie funktioniert die Bildklassifizierung? - Unite.AI
Vernetzen Sie sich mit uns

AI 101

Wie funktioniert die Bildklassifizierung?

mm
Aktualisiert on

Wie kann Ihr Telefon feststellen, um welches Objekt es sich handelt, indem es einfach ein Foto davon aufnimmt? Wie markieren Social-Media-Websites automatisch Personen auf Fotos? Dies wird durch KI-gestützte Bilderkennung und -klassifizierung erreicht.

Die Erkennung und Klassifizierung von Bildern ermöglicht viele der beeindruckendsten Errungenschaften der künstlichen Intelligenz. Doch wie lernen Computer, Bilder zu erkennen und zu klassifizieren? In diesem Artikel behandeln wir die allgemeinen Methoden, die Computer zur Interpretation und Erkennung von Bildern verwenden, und werfen dann einen Blick auf einige der gängigsten Methoden zur Klassifizierung dieser Bilder.

Pixelebene vs. objektbasierte Klassifizierung

Bildklassifizierungstechniken können hauptsächlich in zwei verschiedene Kategorien unterteilt werden: Pixelbasierte Klassifizierung und objektbasierte Klassifizierung.

Pixel sind die Basiseinheiten eines Bildes, und die Analyse von Pixeln ist die primäre Methode zur Bildklassifizierung. Allerdings können Klassifizierungsalgorithmen entweder nur die Spektralinformationen innerhalb einzelner Pixel verwenden, um ein Bild zu klassifizieren, oder räumliche Informationen (benachbarte Pixel) zusammen mit den Spektralinformationen untersuchen. Pixelbasierte Klassifizierungsmethoden nutzen nur spektrale Informationen (die Intensität eines Pixels), während objektbasierte Klassifizierungsmethoden sowohl Pixelspektralinformationen als auch räumliche Informationen berücksichtigen.

Für die pixelbasierte Klassifizierung werden verschiedene Klassifizierungstechniken verwendet. Dazu gehören der minimale Abstand zum Mittelwert, der maximale Wahrscheinlichkeitsabstand und der minimale Mahalanobis-Abstand. Diese Methoden erfordern, dass die Mittelwerte und Varianzen der Klassen bekannt sind, und sie funktionieren alle, indem sie den „Abstand“ zwischen Klassenmittelwerten und den Zielpixeln untersuchen.

Pixelbasierte Klassifizierungsmethoden sind dadurch eingeschränkt, dass sie keine Informationen von anderen Pixeln in der Nähe verwenden können. Im Gegensatz dazu können objektbasierte Klassifizierungsmethoden andere Pixel einbeziehen und verwenden daher auch räumliche Informationen zur Klassifizierung von Elementen. Beachten Sie, dass sich „Objekt“ nur auf zusammenhängende Pixelbereiche bezieht und nicht darauf, ob sich innerhalb dieses Pixelbereichs ein Zielobjekt befindet oder nicht.

Vorverarbeitung von Bilddaten zur Objekterkennung

Die neuesten und zuverlässigsten Bildklassifizierungssysteme verwenden hauptsächlich Klassifizierungsschemata auf Objektebene, und für diese Ansätze müssen Bilddaten auf bestimmte Weise aufbereitet werden. Die Objekte/Regionen müssen ausgewählt und vorverarbeitet werden.

Bevor ein Bild und die darin enthaltenen Objekte/Regionen klassifiziert werden können, müssen die Daten, aus denen dieses Bild besteht, vom Computer interpretiert werden. Bilder müssen vorverarbeitet und für die Eingabe in den Klassifizierungsalgorithmus vorbereitet werden. Dies geschieht durch Objekterkennung. Dies ist ein entscheidender Teil der Datenaufbereitung und der Bilder, um den Klassifikator für maschinelles Lernen zu trainieren.

Die Objekterkennung erfolgt mit eine Vielzahl von Methoden und Techniken. Zunächst hat die Frage, ob es mehrere interessierende Objekte oder ein einzelnes interessierendes Objekt gibt, Einfluss darauf, wie die Bildvorverarbeitung gehandhabt wird. Wenn nur ein Objekt von Interesse ist, wird das Bild einer Bildlokalisierung unterzogen. Die Pixel, aus denen das Bild besteht, verfügen über numerische Werte, die vom Computer interpretiert und zur Anzeige der richtigen Farben und Farbtöne verwendet werden. Um das interessierende Objekt wird ein als Begrenzungsrahmen bezeichnetes Objekt gezeichnet, das dem Computer hilft, zu erkennen, welcher Teil des Bildes wichtig ist und welche Pixelwerte das Objekt definieren. Wenn das Bild mehrere interessierende Objekte enthält, wird eine Technik namens Objekterkennung verwendet, um diese Begrenzungsrahmen auf alle Objekte im Bild anzuwenden.

Foto: Adrian Rosebrock über Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)

Eine weitere Methode der Vorverarbeitung ist die Bildsegmentierung. Die Bildsegmentierung funktioniert durch die Aufteilung des gesamten Bildes in Segmente basierend auf ähnlichen Merkmalen. Verschiedene Bildbereiche weisen im Vergleich zu anderen Bildbereichen ähnliche Pixelwerte auf. Daher werden diese Pixel in Bildmasken gruppiert, die der Form und den Grenzen der relevanten Objekte im Bild entsprechen. Die Bildsegmentierung hilft dem Computer, die Merkmale des Bildes zu isolieren, die ihm bei der Klassifizierung eines Objekts helfen, ähnlich wie Begrenzungsrahmen, aber sie liefern viel genauere Beschriftungen auf Pixelebene.

Nachdem die Objekterkennung bzw. Bildsegmentierung abgeschlossen ist, werden die betreffenden Bereiche mit Beschriftungen versehen. Diese Etiketten werden zusammen mit den Werten der Pixel, aus denen das Objekt besteht, in die Algorithmen des maschinellen Lernens eingespeist, die die mit den verschiedenen Etiketten verbundenen Muster lernen.

Algorithmen für maschinelles Lernen

Sobald die Daten aufbereitet und gekennzeichnet wurden, werden sie in einen Algorithmus für maschinelles Lernen eingespeist, der auf den Daten trainiert. Wir werden einige der häufigsten Arten des maschinellen Lernens behandeln Bildklassifizierungsalgorithmen unten.

K-Nächste Nachbarn

K-Nearest Neighbors ist ein Klassifizierungsalgorithmus, der die nächstgelegenen Trainingsbeispiele untersucht und ihre Bezeichnungen betrachtet, um die wahrscheinlichste Bezeichnung für ein bestimmtes Testbeispiel zu ermitteln. Bei der Bildklassifizierung mit KNN werden die Merkmalsvektoren und Beschriftungen der Trainingsbilder gespeichert und beim Testen nur der Merkmalsvektor an den Algorithmus übergeben. Die Trainings- und Testmerkmalsvektoren werden dann auf Ähnlichkeit miteinander verglichen.

KNN-basierte Klassifizierungsalgorithmen sind äußerst einfach und können problemlos mit mehreren Klassen umgehen. Allerdings berechnet KNN die Ähnlichkeit basierend auf allen Merkmalen gleichermaßen. Dies bedeutet, dass es anfällig für Fehlklassifizierungen sein kann, wenn Bilder bereitgestellt werden, bei denen nur eine Teilmenge der Merkmale für die Klassifizierung des Bildes wichtig ist.

Support-Vektor-Maschinen

Support-Vektor-Maschinen sind eine Klassifizierungsmethode, die Punkte im Raum platziert und dann Trennlinien zwischen den Punkten zeichnet und Objekte in verschiedene Klassen einordnet, je nachdem, auf welcher Seite der Trennebene die Punkte liegen. Support-Vektor-Maschinen sind in der Lage, mithilfe einer Technik, die als Kernel-Trick bekannt ist, eine nichtlineare Klassifizierung durchzuführen. Während SVM-Klassifikatoren oft sehr genau sind, besteht ein wesentlicher Nachteil von SVM-Klassifikatoren darin, dass sie tendenziell sowohl durch Größe als auch durch Geschwindigkeit begrenzt sind, wobei die Geschwindigkeit mit zunehmender Größe sinkt.

Mehrschichtige Perzeptrone (Neuronale Netze)

Mehrschichtige Perzeptrone, auch neuronale Netzwerkmodelle genannt, sind vom menschlichen Gehirn inspirierte Algorithmen für maschinelles Lernen. Mehrschichtige Perzeptrone bestehen aus verschiedenen Schichten, die miteinander verbunden sind, ähnlich wie Neuronen im menschlichen Gehirn miteinander verbunden sind. Neuronale Netze treffen Annahmen darüber, wie die Eingabemerkmale mit den Klassen der Daten zusammenhängen, und diese Annahmen werden im Laufe des Trainings angepasst. Einfache neuronale Netzwerkmodelle wie das mehrschichtige Perzeptron sind in der Lage, nichtlineare Beziehungen zu lernen und können daher viel genauer sein als andere Modelle. Allerdings weisen MLP-Modelle einige bemerkenswerte Probleme auf, beispielsweise das Vorhandensein nichtkonvexer Verlustfunktionen.

Deep-Learning-Algorithmen (CNNs)

Foto: APhex34 über Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

Der in letzter Zeit am häufigsten verwendete Bildklassifizierungsalgorithmus ist das Convolutional Neural Network (CNNs). CNNs sind angepasste Versionen neuronaler Netze, die mehrschichtige neuronale Netze mit speziellen Schichten kombinieren, die in der Lage sind, die für die Klassifizierung eines Objekts wichtigsten und relevantesten Merkmale zu extrahieren. CNNs können Merkmale von Bildern automatisch erkennen, generieren und lernen. Dadurch wird die Notwendigkeit, Bilder manuell zu kennzeichnen und zu segmentieren, um sie für maschinelle Lernalgorithmen vorzubereiten, erheblich reduziert. Sie haben gegenüber MLP-Netzwerken auch einen Vorteil, da sie mit nichtkonvexen Verlustfunktionen umgehen können.

Faltungs-Neuronale Netze verdanken ihren Namen der Tatsache, dass sie „Faltungen“ erzeugen. CNNs funktionieren, indem sie einen Filter nehmen und ihn über ein Bild gleiten lassen. Man kann sich das so vorstellen, als würde man Ausschnitte einer Landschaft durch ein bewegliches Fenster betrachten und sich dabei nur auf die Merkmale konzentrieren, die jeweils durch das Fenster sichtbar sind. Der Filter enthält numerische Werte, die mit den Werten der Pixel selbst multipliziert werden. Das Ergebnis ist ein neuer Rahmen oder eine neue Matrix voller Zahlen, die das Originalbild darstellen. Dieser Vorgang wird für eine ausgewählte Anzahl von Filtern wiederholt, und dann werden die Einzelbilder zu einem neuen Bild zusammengefügt, das etwas kleiner und weniger komplex als das Originalbild ist. Eine Technik namens Pooling wird verwendet, um nur die wichtigsten Werte innerhalb des Bildes auszuwählen. Das Ziel besteht darin, dass die Faltungsschichten letztendlich nur die hervorstechendsten Teile des Bildes extrahieren, die dem neuronalen Netzwerk helfen, die Objekte im Bild zu erkennen.

Convolutional Neuronale Netze bestehen aus zwei unterschiedlichen Teilen. Die Faltungsschichten extrahieren die Merkmale des Bildes und konvertieren sie in ein Format, das die neuronalen Netzwerkschichten interpretieren und daraus lernen können. Die frühen Faltungsschichten sind für die Extraktion der grundlegendsten Elemente des Bildes verantwortlich, wie einfache Linien und Grenzen. Die mittleren Faltungsschichten beginnen, komplexere Formen wie einfache Kurven und Ecken zu erfassen. Die späteren, tieferen Faltungsschichten extrahieren die übergeordneten Merkmale des Bildes, die an den neuronalen Netzwerkteil des CNN übergeben werden und von denen der Klassifikator lernt.

Blogger und Programmierer mit Spezialisierung auf Maschinelles lernen und Tiefes Lernen Themen. Daniel hofft, anderen dabei zu helfen, die Macht der KI für das soziale Wohl zu nutzen.