Was ist Bilderkennung?
Diese 3 Dinge sollten Sie wissen
Bilderkennung ist das Verfahren zur Identifikation eines Gegenstandes oder Musters auf einem Bild oder in einem Video. Es kommt in zahlreichen Anwendungen zum Einsatz, darunter Fehlererkennung, medizinische Bildgebung und Sicherheitsüberwachung.
Mit Bilderkennung können Sie arbeitsintensive Aufgaben beschleunigen sowie Bilder schneller und genauer verarbeiten als bei manueller Überprüfung. Bilderkennung ist eine entscheidende Technologie in vielen Bereichen und die wichtigste Triebfeder für folgende Deep Learning-Anwendungen:
- Sichtprüfung: Mit Bilderkennung können Tausende von Teilen auf einem Montageband schnell als fehlerfrei oder als mangelhaft identifiziert werden.
- Bildklassifizierung: Bilder können auf Grundlage ihrer Inhalte kategorisiert werden. Im E-Commerce sind diese Anwendungen wie Bildabfragen und Empfehlungsdienste von besonderer Bedeutung.
- Automatisiertes Fahren: Die Fähigkeit, ein Stoppschild oder einen Fußgänger in einem Bild zu erkennen, ist für autonomes Fahren von entscheidender Bedeutung.
- Robotik: Roboter können Bilderkennung zur Objektidentifizierung nutzen und um in der autonomen Navigation Objekte und Orte entlang ihres Weges zu identifizieren.
Bilderkennung ist die zentrale Technologie all dieser Anwendungen. Sie identifiziert Objekte oder Szenen in Bildern und nutzt diese Informationen, um innerhalb eines größeren Systems Entscheidungen zu treffen. Dadurch hilft Bilderkennung diesen Systemen dabei, ein besseres Bewusstsein zu entwickeln, und ermöglicht durch Bereitstellung wertvoller Erkenntnisse bessere Entscheidungen.
Bilderkennung vs. Objekterkennung
Bilderkennung und Objekterkennung sind ähnliche Verfahren und werden oft gemeinsam eingesetzt. Während mit der Bilderkennung identifiziert wird, welches Objekt oder welche Szene auf einem Bild zu sehen ist, können mit der Objekterkennung solche Objekte oder Szenen auf Bildern gefunden werden.
Gängige Techniken zur Objekterkennung sind zum Beispiel R-CNN und YOLOv3.
Verfahren zur Bilderkennung
Es gibt zahlreiche Methoden für Bilderkennung, darunter Machine Learning und Deep Learning. Das angewandte Verfahren richtet sich nach der gewünschten Anwendung, aber im Allgemeinen kommen Deep Learning-Techniken vor allem bei komplexeren Problemstellungen zum Einsatz.
Bilderkennung mit Deep Learning
Der Deep Learning-Ansatz für Bilderkennung kann ein Convolutional Neural Network (faltendes neuronales Netz) beinhalten, um relevante Merkmale automatisch von Beispielbildern zu lernen und dann automatisch auf neuen Bildern zu erkennen.
Ein typischer Deep Learning-Workflow zur Bilderkennung sieht wie folgt aus:
Prepare-Training-Data: Beginnen Sie mit einer Sammlung von Bildern und teilen Sie sie in die gewünschten Kategorien ein. Einbeziehung möglicher Schritte zur Vorverarbeitung, um die Bilder zu vereinheitlichen, damit ein genaueres Modell ermöglicht wird.
Create-Deep-Learning-Model: Obwohl Sie ein Deep Learning-Modell von Grund auf neu entwickeln können, kann es von Vorteil sein, mit einem vortrainierten Modell zu beginnen, das Sie als Ausgangspunkt für Ihre Anwendung nutzen können. Erfahren Sie mehr über vortrainierte Modelle.
Train-The-Model: Das Modell wird trainiert, indem es mit den Testdaten konfrontiert wird. Das Modell iteriert mehrfach die Daten und erlernt so automatisch die wichtigsten Merkmale der Bilder. Im Laufe des Trainings lernt das Modell immer spezifischere Merkmale, bis es präzise zwischen allen Bildkategorien des Trainingsdatensatzes unterscheiden kann.
Test-Data: Um die Erkennungsgenauigkeit des Modells zu testen, wird es auf neue Daten angewendet, die bislang noch nicht im Umfang enthalten waren. Wenn die Ergebnisse nicht zufriedenstellend sind, wiederholen Sie diese vier Schritte so lange, bis die gewünschte Genauigkeit erreicht ist.
Deep Learning-Techniken mögen kompliziert erscheinen, doch mit einfachen Beispielen lassen sich hervorragende erste Ergebnisse erzielen, um ein besseres Verständnis der Technologie zu entwickeln.
Tipp: Deep Learning-Techniken sind bei der Bilderkennung deshalb so beliebt, weil sie besonders präzise und fehlerresistente Ergebnisse liefern. Deep Learning funktioniert am besten mit einer großen Menge an Trainingsdaten, wobei Techniken wie Transfer Learning den Bilderkennungs-Workflow vereinfachen können. Die Deep Learning Toolbox™ bietet ein Framework für Design und Implementierung von tiefen neuronalen Netzen mit Algorithmen, vortrainierten Modellen und Apps.
Bilderkennung mit Machine Learning
Der Machine Learning-Ansatz zur Bilderkennung beinhaltet die Identifikation und Extraktion entscheidender Merkmale von Bildern, die dann als Input für ein Machine Learning-Modell genutzt werden.
- Trainingsdaten: Beginnen Sie mit einer Sammlung von Bildern und teilen Sie diese in die gewünschten Kategorien ein.
- Merkmalsextraktion: Extrahieren Sie aus jedem Bild die relevanten Merkmale. Ein Algorithmus für die Merkmalsextraktion könnte Ränder oder Ecken erkennen, die zur Unterscheidung Ihrer Datenkategorien herangezogen werden.
- Erstellung eines Machine Learning-Modells: Diese Merkmale werden in ein Machine Learning-Modell überführt, das sie in ihre jeweiligen Kategorien unterteilt und diese Informationen anschließend zur Analyse und Klassifizierung neuer Objekte verwendet.
Zur Entwicklung eines präzisen Objekterkennungsmodells können Sie eine Vielzahl unterschiedlicher Machine Learning-Algorithmen und Methoden zur Merkmalsextraktion verwenden und miteinander kombinieren.
Tipp: Die Nutzung von Machine Learning zur Objekterkennung bietet die erforderliche Flexibilität, um die beste Kombination aus Merkmalen und Klassifizierern für optimales Lernen auszuwählen. So können auch mit wenigen Daten genaue Ergebnisse erzielt werden. Die Statistics and Machine Learning Toolbox™ enthält Funktionen und Apps zur Beschreibung, Analyse und Modellierung von Daten.
Bilderkennung: Deep Learning vs. Machine Learning
Wie lässt sich ermitteln, ob für die Bilderkennung lieber Deep Learning oder Machine Learning eingesetzt werden sollte? Auf einem hohen Niveau besteht der Unterschied darin, Merkmale mit Machine Learning manuell auszuwählen oder sie mit Deep Learning automatisch zu lernen.
Bilderkennung unter Verwendung traditioneller Bildverarbeitungstechniken
Neben Deep Learning und Machine Learning eignen sich für einige Anwendungen auch zahlreiche herkömmliche Bildverarbeitungsmethoden zur wirksamen Bilderkennung. Insbesondere für folgende „pixelbasierte“ Erkennungsanwendungen sind Bildverarbeitungstechniken sinnvoll:
- Farbenbasierte Bilderkennung: Farbe ist häufig ein hervorragendes Merkmal für die Bilderkennung. Eigenschaften wie Farbwert, Farbsättigung und Hellwert (HSV-Farbraum) oder die Anteile von Rot, Grün und Blau (RGB) lassen sich zur Unterscheidung von Bildern heranziehen.
- Schablonenabgleich: Bei diesem Verfahren wird ein kleines Bild oder eine Schablone genutzt, um dazu passende Bereiche in einem größeren Bild ausfindig zu machen.
- Bildsegmentierung und Blob-Analyse: Hierbei werden einfache Objekteigenschaften wie Größe, Farbe und Form verwendet.
MATLAB® vereinfacht die schwierigeren Aspekte von Bilderkennung.
- Image Labeling Apps: Saubere und vorverarbeitete Daten sorgen für eine erfolgreiche Bilderkennung. Mit der Image Labeler App können Sie das Zuschneiden und Beschriften von Bildern automatisieren.
- Ausprobieren von Algorithmen mit Deep Learning und Machine Learning: Anfangs kann unklar sein, ob Deep Learning oder Machine Learning zum Einsatz kommen sollte. MATLAB bietet die Möglichkeit, alle Kombinationen unterschiedlicher Ansätze auszuprobieren. Testen Sie vortrainierte Deep Learning-Modelle sowie Klassifizierungsalgorithmen mit Machine Learning.
Dabei können Sie mit Netzen und Netzarchitekturen aus Frameworks wie TensorFlow™, Keras, PyTorch und Caffe2 zusammenarbeiten sowie die Import- und Exportfähigkeiten von ONNX™ (Open Neural Network Exchange) nutzen.
- Automatische Codegenerierung zur Implementierung: Letztendlich kann es erforderlich sein, Ihren Algorithmus außerhalb der Desktop-Umgebung zu betreiben. MATLAB stellt Tools zur Codegenerierung bereit, mit denen Sie Ihren Algorithmus zur Bilderkennung überall implementieren können, sei es webbasiert, in Embedded Hardware oder auf Produktionsservern.