Seit der Einführung von tiefen neuronalen Netzen und insbesondere von Convolutional Neural Networks (CNNs) durch die künstliche Intelligenz hat der Bereich der Computer Vision einen erheblichen Aufschwung erfahren. Obwohl CNNs schon vor einiger Zeit (1968) erfunden wurden, blieb ihr volles Potenzial bis vor kurzem verborgen. Die Entwicklung von rechenstarken Computern ermöglichte es, mit CNNs zu experimentieren und ihren tatsächlichen Wert zu erschließen.
Im Jahr 2012 entwickelte Alex Krizhevsky ein CNN namens AlexNet, das mit einem großen Bilddatensatz (ImageNet) trainiert und auf einem Grafikprozessor ausgeführt wurde. Die Ergebnisse waren so vielversprechend, dass die Forschung zu tiefen neuronalen Netzen seither das Feld der Computer Vision erobert hat. In der Tat werden jedes Jahr viele neue CNN-Architekturen vorgestellt, und Deep Learning ist zu einem Schlagwort geworden.
In Anbetracht der Tatsache, dass die Entwicklung einer leistungsfähigen CNN-Architektur kein triviales Problem ist, sondern angemessene wissenschaftliche Kenntnisse erfordert, belegen die in den letzten Jahren erzielten Fortschritte die Bedeutung dieser Technologie.
Insbesondere Bildverarbeitungsprobleme wie die Markierung von Bildern, die Erkennung von Objekten und die Bilderzeugung wurden dank der Faltungsneuronalen Netze enorm verbessert. Erstens machte dieser neue Ansatz die Entwicklung von Merkmalen überflüssig, die früher zur Lösung dieser Probleme verwendet wurden. Zweitens übertrafen die mit tiefen neuronalen Netzen erzielten Ergebnisse die altmodischen Techniken.
Werfen wir also einen Blick auf die gängigsten Technologien, die von CNNs unterstützt werden.
- Bild-Tagging
- Umgekehrte Bildsuche
- Bildunterschriften
- Objekt-Erkennung
- Bildsegmentierung / Semantische Segmentierung
- Bild-Entrauschung
- Bilderzeugung
1. Bild-Tagging
Was es ist
Image Tagging ist eine auf CNNs basierende Technologie, die es einem Computer ermöglicht, einem Bild eine Kategorie zuzuordnen.
Wann ist es zu verwenden?
Das Tagging von Bildern kann bei unstrukturierten Datensätzen verwendet werden, um sie zu strukturieren.
Wie es funktioniert
- Wir geben Eingabedaten in Form von Bildstapeln in die erste Faltungsschicht ein.
- Eine Faltungsschicht führt eine Kreuzkorrelation durch, um Neuronen (Merkmale) zu finden, die für die Identifizierung der Kategorie, zu der ein Bild gehört, wichtiger sind.
- Eine Pooling-Schicht (Subsampling) reduziert die Anzahl der Neuronen, die in der vorangegangenen Faltungsschicht erzeugt wurden, um Memorisierung und Verzerrungen zu vermeiden. Dies trägt dazu bei, ein Modell robuster zu machen, so dass es auch bei ungesehenen Daten genau funktioniert.
- Je nach CNN-Architektur müssen wir die beiden vorangegangenen Prozesse unter Umständen mehrfach wiederholen.
- Schließlich haben wir eine vollständig verknüpfte Schicht. Sie verbindet jedes Neuron mit jedem anderen Neuron, um Vorhersagen zu treffen.
- Die Ausgabe ist dann die Wahrscheinlichkeit, dass ein Bild zu jeder Kategorie in unserem Datensatz gehört.
Geschäftliche Anwendungsfälle
Unternehmen, die ihre umfangreichen Datenbestände in für sie sinnvolle Kategorien einteilen wollen, können diese Technologie nutzen. Die Anwendungsmöglichkeiten sind vielfältig und reichen von der Erkennung von Produktfehlern bis zur Diagnose von Krankheiten anhand von MRT-Scans. Ein weiteres Beispiel ist die Anwendung von Image Tagging zur Verbesserung der Produktfindung. Content-Management-Plattformen wie ProcessMaker IDP nutzen die maschinelle Bildverarbeitung, um die Beschriftung großer visueller Datensätze für Einzelhandelsunternehmen zu optimieren.
2. Umgekehrte Bildsuche
Was es ist
Reverse Image Search ist eine Methode zur Extraktion von Bildrepräsentationen mit Hilfe von CNNs und deren Vergleich, um konzeptionell ähnliche Bilder zu finden.
Wann ist es zu verwenden?
Die umgekehrte Bildsuche wird verwendet, um ähnliche Bilder in einem unstrukturierten Datenraum zu finden.
Wie es funktioniert
Die umgekehrte Bildsuche extrahiert die Bildrepräsentationen aus der letzten Faltungsschicht des neuronalen Netzes. Anschließend werden diese Darstellungen mit Hilfe einiger Abstandsmetriken miteinander verglichen.
Geschäftliche Anwendungsfälle
Die umgekehrte Bildsuche ist der einfachste Weg, um schnelle Bilddatensätze in konzeptionell "richtige" Kategorien einzuteilen. Darüber hinaus kann dies als eine Möglichkeit angesehen werden, die Bilder zu clustern.
3. Bildbeschriftung
Was es ist
Image Captioning ermöglicht es Computern, Bildbeschreibungen zu erstellen.
Wann ist es zu verwenden?
Bildunterschriften können verwendet werden, wenn wir daran interessiert sind, den Bildinhalt in Worten darzustellen.
Wie es funktioniert
Image Captioning kann im Rahmen eines Encoder-Decoder-Konzepts konzipiert werden. Zunächst werden Bildeinbettungen mit Hilfe von vortrainierten CNNs extrahiert (Kodierungsschritt), und anschließend werden die Einbettungen als Input für Long Short Term Memory (LSTM, eine Art neuronales Netzwerk, das Datenfolgen verarbeiten kann und daher für Textdatensätze verwendet wird) Netzwerke verwendet, die lernen, die Einbettungen in Text zu dekodieren.
- Ein Bild wird in CNNs eingefügt, um Merkmalskarten zu extrahieren, die abstrakte Darstellungen des Bildes sind.
- Der LSTM verwendet dann diese Merkmalskarten, um die Verteilung der Wörter in der Eingabe zu erstellen. Das LSTM nimmt dann das nächste Wort aus der Verteilung und der Prozess wiederholt sich, bis die Beschriftung fertig ist.
- Es ist wichtig, an dieser Stelle zu betonen, dass diese verschiedenen Merkmalskarten uns die Punkte von Interesse im Bild (d.h. Aufmerksamkeit) liefern.
Geschäftliche Anwendungsfälle
Image Captioning kann in Blindenhilfssystemen, Systemen zur Erzeugung von Bildmetadaten und in der Robotik eingesetzt werden.
4. Objekt-Erkennung
Was es ist
Objekterkennung ist eine Technologie, die nicht nur erkennt, welches Objekt in einem Bild/Video abgebildet ist, sondern auch, wo es sich befindet.
Wann ist es zu verwenden?
Die Objekterkennung wird in Fällen verwendet, in denen die Position eines bestimmten Objekts/Subjekts angefordert wird. Es handelt sich dabei um eine Verfolgungstechnologie.
Wie es funktioniert
CNNs ist hier die primäre Technologie, um die Regionen von Interesse zu extrahieren, die dann kategorisiert werden, und die Bounding Boxes werden abgeleitet.
- Das Feature Pyramid Net (FPN) nutzt die inhärente multiskalige Pyramidenhierarchie von Deep CNNs, um Merkmalspyramiden zu erstellen, die bei der Erkennung von Objekten in verschiedenen Maßstäben helfen
- Dem FPN sind zwei Teilnetze zugeordnet, von denen das obere für die Vorhersage von Klassen und das untere für die Bounding-Box-Regression verwendet wird
An dieser Stelle ist es wichtig zu erwähnen, dass dieser Ansatz nur einer von vielen ist, die es für die Objekterkennung gibt.
Geschäftliche Anwendungsfälle
Die Gesichtserkennung ist einer der häufigsten Anwendungsfälle der Objekterkennungstechnologie. Sie kann als Sicherheitsmaßnahme eingesetzt werden, um nur bestimmte Personen in ein Bürogebäude zu lassen oder um Ihre Freunde auf Facebook zu erkennen und zu markieren. Letztes Jahr fügte Instagram eine neue Funktion hinzu, die auf dieser Technologie basiert und es sehbehinderten Menschen erleichtern soll, die Plattform zu nutzen. Diese Funktion nutzt eine Technologie zur Objekterkennung, um eine Beschreibung der Fotos zu erstellen. Während des Scrollens in der App können alle Nutzer von Bildschirmlesegeräten die Liste der Gegenstände hören, die das Foto enthält.
5. Bildsegmentierung / Semantische Segmentierung
Was es ist
Die Bildsegmentierung ist eine Technologie, mit der ein Bild in konzeptionelle Teile unterteilt werden kann, aber im Gegensatz zur Objekterkennung wird hier jedem Pixel in einem Bild eine Kategorie zugewiesen.
Wann ist es zu verwenden?
Mit Hilfe der Bildsegmentierung lassen sich Objekte und deren Grenzen lokalisieren.
Wie es funktioniert
In der Regel basieren die Algorithmen, die für solche Aufgaben eingesetzt werden, auf Faltungs-Entfaltungs-Methoden. Ein Algorithmus verwendet z. B. CNNs zur Erstellung von Merkmalskarten, aber gleichzeitig werden Unterabtastungsschichten eingeführt, um den gesamten Prozess rechnerisch machbar zu halten. Der Rechenaufwand besteht darin, dass die Klassifizierungsentscheidung pro Pixel getroffen wird. Aus diesem Grund kann durch die Reduzierung der Neuronen die Recheneffizienz verbessert werden. Der nächste Schritt ist jedoch die Anwendung der transponierten Faltung, bei der das Netz darauf trainiert wird, die zuvor reduzierten Neuronen zu rekonstruieren.
Geschäftliche Anwendungsfälle
Diese Technologie wird hauptsächlich in der medizinischen Bildgebung, GeoSensing und Präzisionslandwirtschaft eingesetzt.
6. Bild-Entrauschung
Was es ist
Bei der Bildentrauschung handelt es sich um eine Technologie, die selbstüberwachte Lernmethoden verwendet, um Bilder ohne Rauschen oder Unschärfe zu erzeugen. Sie basiert auf den Autoencoder-Algorithmen, die lernen, die Bilder in einem niedrigeren Merkmalsraum zu kodieren und sie zu dekodieren, um eine Datenverteilung von Interesse zu erzeugen.
Wann ist es zu verwenden?
Bildentrauschung kann mit einigem Erfolg eingesetzt werden, um Rauschen oder Unschärfe aus Bildern zu entfernen.
Wie es funktioniert
Der Algorithmus versucht zunächst, die Eingabedaten in eine geringere Anzahl von Dimensionen zu kodieren (Komprimierung) und rekonstruiert sie dann zurück in die latente Merkmalsraumdarstellung (Dekodierung). Formal ausgedrückt: Der Kodierer lernt, die Identitätsfunktion durch die Verwendung von weniger Dimensionen zu approximieren. Daher eignet sich diese Technik auch zur Dimensionsreduktion. Im Zusammenhang mit der Bildentrauschung können wir den Faltungs-Autoencoder so einstellen, dass er lernt, qualitativ hochwertige Bilder zu erzeugen, indem wir dem Algorithmus qualitativ minderwertige Bilder im Vergleich zu qualitativ hochwertigen Originalbildern zur Verfügung stellen. Auf diese Weise wird der Decoder versuchen zu lernen, wie er die Eingabe in höherer Qualität darstellen kann.
Geschäftliche Anwendungsfälle
Anwendungen wie Let'sEnhance.io nutzen diese Technologie, um die Qualität und Auflösung von Bildern zu verbessern.
7. Bilderzeugung
Was es ist
Generative Adversarial Networks (GANs) sind eine Art des unüberwachten Lernens, das lernt, realistische Bilder zu erzeugen.
Wann ist es zu verwenden?
Diese Technik kann in Anwendungen eingesetzt werden, die fotorealistische Bilder erzeugen. Sie kann zum Beispiel in der Innenarchitektur, im Industriedesign oder in Computerspielszenen eingesetzt werden.
Wie es funktioniert
Bei der Erstellung eines Bildes wollen wir aus einem komplexen, hochdimensionalen Raum Stichproben ziehen, was nicht direkt möglich ist. Stattdessen können wir diesen Raum mit Hilfe von CNN untersuchen. GANs tun dies in der Art eines Spiels.
- Zunächst erzeugen wir mit Hilfe eines einfachen generativen Netzes aus einem zufälligen Rauschen gefälschte Bilder, die zusammen mit Trainingsmustern an das diskriminative Netz gesendet werden.
- Die Aufgabe des diskriminierenden Netzes besteht dann darin, zu erkennen, welche Bilder gefälscht und welche echt sind.
- Wenn es uns gelingt, das diskriminierende Netz zu fälschen, dann haben wir eine geeignete Verteilung gefunden, aus der wir realistische Bilder erzeugen können.
Geschäftliche Anwendungsfälle
Bei richtigem Training liefern GANs präzisere und schärfere 2D-Texturbildgrößen. Die Qualität ist höher, während das Niveau der Details und Farben unverändert bleibt. NVIDIA nutzt diese Technologie, um Skizzen in fotorealistische Landschaften zu verwandeln.