CVB Polimago vs Deep Learning
“Deep Learning bezeichnet eine Klasse von maschinellen Lernmethoden, die auf künstlichen neuronalen Netzen basieren. Es gibt überwachtes, semi-überwachtes und unüberwachtes Lernen.”
Wie lässt sich Deep Learning in Machine-Vision-Systeme einbinden?
Um diese Frage zu beantworten, muss man sich genauer ansehen, wie Entscheidungen von Bildverarbeitungssystemen getroffen werden und wie sich diese durch den
Einsatz von automatisiertem Lernen verbessern lassen.
Diese Parameter eignen sich gut für Limousinen. Für andere KFZ-Typen müssten sie angepasst werden.

Neben den verschiedenen Automobiltypen müssten Sie noch mehr Ausnahmen für alle anderen Fahrzeugklassen hinzufügen.

Jedoch wären die Parameter nur für die Profilansicht gültig. Es müssen aber auch alle anderen Perspektiven und Dimensionen des Fahrzeugs mitberücksichtigt werden.
Lernen durch Beispiele
Wie lernen Kinder, was ein Auto ist?
Machine Learning versucht diesen Prozess nachzubilden: Ein System lernt anhand von Beispielen, anstatt sich auf explizite Anweisungen des Anwenders zu verlassen. Machine-Learning-Algorithmen verwenden "Trainingssets" mit Daten aus der realen Welt.
Neuronale Netzwerke
Da es in Bildverarbeitungsanwendungen im Allgemeinen keine lineare Beziehung zwischen Eingangs- und Ausgangsgrößen gibt, müssen zwischen ihnen komplexe Entscheidungsprozesse ablaufen.
Das “Perceptron”, ein vereinfachtes künstliches neuronales Netz, wurde zuerst von Frank Rosenblatt in den späten 1950er vorgestellt. Der US-amerikanische Psychologe ist für seine Arbeit auf dem Gebiet der künstlichen Intelligenz bekannt.
Neuronen (Perzeptronen) bestimmen einen einzelnen binären Ausgabewert (also 1 oder 0) aus mehreren Eingangsgrößen. Jede Eingangsgröße hat eine bestimmte Gewichtung (je nach Relevanz). Aus ihrer Summe und einem entsprechenden Schwellwert wird das Ergebnis berechnet.

Künstliche neuronale Netze basieren auf der Vernetzung von Neuronen. Dabei werden die Neuronen in Schichten angeordnet, deren Vernetzung immer komplexer wird je mehr “Tiefe” das Netz durch Zwischenschichten (hidden layer) bekommt. Neuronale Netze sind üblicherweise aus drei Arten von Schichten aufgebaut:

Ohne Zwischenschichten kann das System nur relativ simple Probleme lösen. Die Anzahl der verdeckten Schichten an Neuronen ist hier ein entscheidender Punkt, da Daten in diesen Zwischenneuronen verknüpft werden können und so komplexe Entscheidungen möglich werden.
Dafür braucht es jedoch eine Art Feedback vom Ergebnis, so dass entsprechende Anpassungen vorgenommen werden können, um den gewünschten Ausgabewert zu erhalten. Das erfordert eine große Menge an Daten.
Convolutional Neural Networks
Ein Convolutional Neural Network (zu Deutsch faltendes neuronales Netzwerk) ist eine Sonderform des künstlichen neuronalen Netzes und besonders gut für maschinelles Lernen und die Verarbeitung von Bilddaten geeignet. Es besteht aus mindestes einer Faltungsschicht, die in der Lage ist, in den Eingabedaten einzelne Merkmale zu erkennen und zu extrahieren.
Überwachtes Lernen
Neuronale Netze sind nicht die einzigen Algorithmen für maschinelles Lernen, aber die meistverbreiteten. Überwachtes Lernen nutzt beschriftete Bilder, anhand derer der konkrete Algorithmus eine Funktion annhähert, die diese Bilder korrekt klassifiziert.
Jedoch erlaubt es keine dieser Methoden zu bestimmen, welche Eingangsgrößen für die Programmierung des Algorithmus zu verwenden sind!
Nach Alan Turing, einem britischen Kryptoanalytiker und Informatiker, ist eine der wichtigsten Eigenschaften einer lernenden Maschine, dass ihr Lehrer weitestgehend nichts darüber weiß, was in ihrem Inneren vor sich geht, obwohl er bis zu einem gewissen Grad imstande ist, das Verhalten seines “Schülers” vorherzusagen.
(vgl. Alan Turing: “Computing Machinery and Intelligence”. Mind, 59, 1950)
Daten, Daten und noch mehr Daten... Braucht man wirklich so viele?
Damit ein Algorithmus für maschinelles Lernen funktionieren kann, benötigt er Feedback über richtige und falsche Entscheidungen. Er kennt lediglich die klassifizierten Trainingsdaten. Abweichungen in den Daten geben Informationen darüber, wie eine Klasse aussehen kann und wo die Grenzen liegen. Grenzfälle in den Trainingsdaten sind dabei ein wichtiger Teil des Lernprozesses.
Deshalb ist es wichtig, dass die Trainingsdaten repräsentativ für die Variationen sind, mit denen das System umgehen können soll. Damit Ergebnisse nicht durch einige wenige “Ausreißer” verzerrt werden, sind große Datensätze nötig.
Vor- und Nachteile von CNNs & CVB Polimago
Die möglichen Anwendungen überschneiden sich größtenteils. Einige werden jedoch nur von CNNs unterstützt: unüberwachtes Lernen (Training mit unklassifizierten Daten) und die Segmentierung von Bildern (beispielsweise durch strukturelle Merkmale).
Im Gegensatz zu CNNs benötigt CVB Polimago wesentlich weniger Trainingsdaten, typischerweise 50 Bilder pro Klasse anstatt 500 bis 1000. Die kleineren Trainingssets machen CVB Polimago für viele industrielle Anwendungen interessant wie z. B. für die Fehlererkennung, wo keine Vielzahl von Bildern unterschiedlichster Mängel zur Verfügung steht.
CVB Polimago bietet einen weiteren Vorteil: Dadurch dass es deutlich weniger Trainingsparameter gibt als bei CNNs, kommen Einsteiger damit oft besser zurecht.
Besuchen Sie unsere Common Vision Blox Website und erfahren Sie mehr über CVB Polimago!