Grundlagen der KI
Wie funktioniert die Bildklassifizierung?
Wie kann Ihr Telefon bestimmen, was ein Objekt ist, nur indem es ein Foto davon macht? Wie können soziale Medien-Websites automatisch Personen in Fotos markieren? Dies wird durch künstliche Intelligenz-gestützte Bilderkennung und -klassifizierung erreicht.
Die Erkennung und Klassifizierung von Bildern ermöglicht viele der beeindruckendsten Leistungen der künstlichen Intelligenz. Doch wie lernen Computer, Bilder zu erkennen und zu klassifizieren? In diesem Artikel werden wir die allgemeinen Methoden behandeln, die Computer verwenden, um Bilder zu interpretieren und zu erkennen, und dann einige der beliebtesten Methoden zur Klassifizierung dieser Bilder betrachten.
Pixel-Level vs. Object-Based Classification
Bildklassifizierungstechniken können hauptsächlich in zwei verschiedene Kategorien unterteilt werden: pixelbasierte Klassifizierung und objectbasierte Klassifizierung.
Pixel sind die BasisEinheiten eines Bildes, und die Analyse von Pixeln ist die primäre Methode, mit der die Bildklassifizierung durchgeführt wird. Allerdings können Klassifizierungsalgorithmen entweder nur die spektrale Information innerhalb einzelner Pixel verwenden, um ein Bild zu klassifizieren, oder sie können räumliche Informationen (benachbarte Pixel) zusammen mit der spektralen Information untersuchen. Pixelbasierte Klassifizierungsmethoden verwenden nur spektrale Informationen (die Intensität eines Pixels), während objectbasierte Klassifizierungsmethoden sowohl Pixel-Spektralinformationen als auch räumliche Informationen berücksichtigen.
Es gibt verschiedene Klassifizierungstechniken, die für die pixelbasierte Klassifizierung verwendet werden. Dazu gehören minimum-distance-to-mean, maximum-likelihood und minimum-Mahalanobis-distance. Diese Methoden erfordern, dass die Mittelwerte und Varianzen der Klassen bekannt sind, und sie alle funktionieren, indem sie den “Abstand” zwischen den Klassenmitteln und den Ziel-Pixeln untersuchen.
Pixelbasierte Klassifizierungsmethoden sind durch die Tatsache eingeschränkt, dass sie keine Informationen von benachbarten Pixeln verwenden können. Im Gegensatz dazu können objectbasierte Klassifizierungsmethoden andere Pixel einbeziehen und daher auch räumliche Informationen zur Klassifizierung von Objekten verwenden. Beachten Sie, dass “Objekt” nur auf zusammenhängende Pixelbereiche und nicht darauf hinweist, ob sich innerhalb dieses Pixelbereichs ein Zielobjekt befindet.
Preprocessing von Bildaten für die Objekterkennung
Die meisten aktuellen und zuverlässigen Bildklassifizierungssysteme verwenden primär objectbasierte Klassifizierungsschemata, und für diese Ansätze müssen die Bilddaten auf bestimmte Weise vorbereitet werden. Die Objekte/Bereiche müssen ausgewählt und vorverarbeitet werden.
Bevor ein Bild und die Objekte/Bereiche innerhalb dieses Bildes klassifiziert werden können, muss die Datenmenge, die das Bild ausmacht, von dem Computer interpretiert werden. Bilder müssen vorverarbeitet und für die Eingabe in den Klassifizierungsalgorithmus vorbereitet werden, und dies geschieht durch die Objekterkennung. Dies ist ein kritischer Teil der Vorbereitung der Daten und der Vorbereitung der Bilder, um den maschinellen Lernalgorithmus zu trainieren.
Die Objekterkennung wird mit verschiedenen Methoden und Techniken durchgeführt. Zunächst wird die Art und Weise, wie die Bildvorverarbeitung gehandhabt wird, beeinflusst, ob es sich um ein einzelnes Objekt von Interesse oder mehrere Objekte von Interesse handelt. Wenn es sich um ein einzelnes Objekt von Interesse handelt, wird das Bild durch die Bildlokalisierung verarbeitet. Die Pixel, die das Bild ausmachen, haben numerische Werte, die vom Computer interpretiert werden und verwendet werden, um die richtigen Farben und Farbtöne anzuzeigen. Ein Objekt, bekannt als Begrenzungsbox, wird um das Objekt von Interesse gezogen, was dem Computer hilft, zu erkennen, welcher Teil des Bildes wichtig ist und welche Pixelwerte das Objekt definieren. Wenn es sich um mehrere Objekte von Interesse im Bild handelt, wird eine Technik namens Objekterkennung verwendet, um diese Begrenzungsboxen auf alle Objekte innerhalb des Bildes anzuwenden.

Foto: Adrian Rosebrock via 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, indem das gesamte Bild in Segmente unterteilt wird, die auf ähnlichen Merkmalen basieren. Verschiedene Bereiche des Bildes haben ähnliche Pixelwerte im Vergleich zu anderen Bereichen des Bildes, sodass diese Pixel in Bildmasken gruppiert werden, die der Form und den Grenzen der relevanten Objekte innerhalb des Bildes entsprechen. Die Bildsegmentierung hilft dem Computer, die Merkmale des Bildes zu isolieren, die zur Klassifizierung eines Objekts beitragen, ähnlich wie Begrenzungsboxen, aber sie liefern viel genauere, pixelgenaue Markierungen.
Nachdem die Objekterkennung oder die Bildsegmentierung abgeschlossen ist, werden Labels auf die betreffenden Bereiche angewendet. Diese Labels werden zusammen mit den Werten der Pixel, die das Objekt ausmachen, in die maschinellen Lernalgorithmen eingegeben, die Muster assoziieren, die mit den verschiedenen Labels verknüpft sind.
Machine Learning-Algorithmen
Sobald die Daten vorbereitet und beschriftet sind, werden die Daten in einen maschinellen Lernalgorithmus eingegeben, der auf den Daten trainiert. Wir werden einige der gängigsten Arten von maschinellen Lernalgorithmen für die Bildklassifizierung behandeln.
K-Nearest Neighbors
K-Nearest Neighbors ist ein Klassifizierungsalgorithmus, der die nächsten Trainingsbeispiele untersucht und ihre Labels betrachtet, um das wahrscheinlichste Label für ein gegebenes Testbeispiel zu bestimmen. Wenn es um die Bildklassifizierung mit KNN geht, werden die Merkmalvektoren und Labels der Trainingsbilder gespeichert und nur der Merkmalvektor wird während des Testens in den Algorithmus eingegeben. Die Trainings- und Testmerkmalvektoren werden dann miteinander verglichen, um Ähnlichkeit zu bestimmen.
KNN-basierte Klassifizierungsalgorithmen sind extrem einfach und sie können mit mehreren Klassen sehr leicht umgehen. Allerdings berechnet KNN die Ähnlichkeit auf der Grundlage aller Merkmale gleich. Dies bedeutet, dass es anfällig für Fehlklassifizierungen ist, wenn es mit Bildern konfrontiert wird, bei denen nur ein Teil 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, um Objekte in verschiedene Klassen einzuteilen, je nachdem, auf welcher Seite der Trennebene die Punkte liegen. Support-Vektor-Maschinen können nichtlineare Klassifizierungen durch die Verwendung einer Technik namens Kernel-Trick durchführen. Während SVM-Klassifizierer oft sehr genau sind, ist ein wesentlicher Nachteil von SVM-Klassifizierern, dass sie durch Größe und Geschwindigkeit eingeschränkt sind, wobei die Geschwindigkeit mit zunehmender Größe leidet.
Multi-Layer-Perceptrons (Neuronale Netze)
Multi-Layer-Perceptrons, auch als neuronale Netzwerke bekannt, sind maschinelle Lernalgorithmen, die von dem menschlichen Gehirn inspiriert sind. Multi-Layer-Perceptrons bestehen aus verschiedenen Schichten, die miteinander verbunden sind, ähnlich wie Neuronen im menschlichen Gehirn miteinander verbunden sind. Neuronale Netze machen Annahmen über die Beziehungen zwischen den Eingabemerkmalen und den Klassen der Daten und diese Annahmen werden während des Trainings angepasst. Einfache neuronale Netzmodelle wie das Multi-Layer-Perceptron sind in der Lage, nichtlineare Beziehungen zu lernen, und daher können sie genauer sein als andere Modelle. Allerdings leiden MLP-Modelle unter einigen bemerkenswerten Problemen wie der Anwesenheit von nicht-konvexen Verlustfunktionen.
Tiefe Lernalgorithmen (CNNs)

Foto: APhex34 via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)
Der am häufigsten verwendete Bildklassifizierungsalgorithmus in jüngster Zeit ist das Convolutional Neural Network (CNN). CNNs sind maßgeschneiderte Versionen von neuronalen Netzen, die multilayerige neuronale Netze mit speziellen Schichten kombinieren, die in der Lage sind, die wichtigsten und relevantesten Merkmale für die Klassifizierung eines Objekts zu extrahieren. CNNs können automatisch Merkmale von Bildern entdecken, generieren und lernen. Dies reduziert den Bedarf an manueller Beschriftung und Segmentierung von Bildern, um sie für maschinelle Lernalgorithmen vorzubereiten. Sie haben auch einen Vorteil gegenüber MLP-Netzen, da sie mit nicht-konvexen Verlustfunktionen umgehen können.
Convolutional Neural Networks erhalten ihren Namen von der Tatsache, dass sie “Faltung” erzeugen. CNNs funktionieren, indem sie einen Filter über ein Bild schieben. Man kann sich dies als Blick durch ein bewegliches Fenster auf eine Landschaft vorstellen, wobei man sich nur auf die Merkmale konzentriert, die durch das Fenster sichtbar sind. Der Filter enthält numerische Werte, die mit den Werten der Pixel selbst multipliziert werden. Das Ergebnis ist ein neues Bild, oder eine Matrix, voller Zahlen, die das ursprüngliche Bild darstellen. Dieser Prozess wird für eine bestimmte Anzahl von Filtern wiederholt, und dann werden die Bilder zu einem neuen Bild zusammengefügt, das etwas kleiner und weniger komplex ist als das ursprüngliche Bild. Eine Technik namens Pooling wird verwendet, um nur die wichtigsten Werte innerhalb des Bildes auszuwählen, und das Ziel ist, dass die Faltungsschichten letztendlich nur die wichtigsten Teile des Bildes extrahieren, die dem neuronalen Netzwerk helfen, die Objekte im Bild zu erkennen.
Convolutional Neural Networks bestehen aus zwei verschiedenen Teilen. Die Faltungsschichten sind dafür verantwortlich, die Merkmale des Bildes zu extrahieren und in ein Format umzuwandeln, das das neuronale Netzwerk interpretieren und lernen kann. Die frühen Faltungsschichten sind dafür verantwortlich, die grundlegendsten Elemente des Bildes zu extrahieren, 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 hochrangigen Merkmale des Bildes, die in den neuronalen Netzwerkteil des CNN eingegeben werden und von dem Klassifizierer gelernt werden.












