MVTec Software Die Möglichkeiten von Deep Learning bei der Bildverarbeitung

Christoph Wagner, MVTec Software: »Deep Learning eignet sich vor allem für Anwendungen, bei denen herkömmliche Machine-Vision-Methoden nicht weiterhelfen.«
Christoph Wagner, MVTec Software: »Deep Learning eignet sich vor allem für Anwendungen, bei denen herkömmliche Machine-Vision-Methoden nicht weiterhelfen.«

Deep-Learning-Algorithmen sind mittlerweile ein fester Bestandteil von Bildverarbeitungs-Software-Bibliotheken. Mit ihrer Hilfe lassen sich komplexe Merkmale einlernen und trainieren; ihre Möglichkeiten sind aber nicht unbegrenzt.

Christoph Wagner, Produktmanager Embedded Vision bei MVTec Software, nimmt Stellung.

Markt&Technik: Was ist der Unterschied zwischen „Machine Learning“ und „Deep Learning“?

Christoph Wagner: In der industriellen Bildverarbeitung lassen sich mit Machine Learning und Deep Learning die Leistungsfähigkeit des menschlichen Sehsinns und das Verstehen visueller Informationen nachbilden und sogar noch übertreffen. Mithilfe von Deep Learning, als Teilbereich des Machine Learning, können komplexe Zusammenhänge gelernt und anhand angelegter Beispiele trainiert werden.

Eine weitere Technologie innerhalb des Machine Learning sind beispielsweise die „Super Vector Machines“. Im Gegensatz zu Deep Learning müssen Merkmale dabei aufwändig manuell definiert und verifiziert werden. Beim Deep Learning übernimmt ein neuronales Netz diesen manuellen Schritt: im Rahmen des Trainings-Prozesses werden Merkmale selbstständig und automatisch identifiziert sowie extrahiert.


Welche Möglichkeiten eröffnet Deep Learning für die Bildverarbeitungstechnik und für die Inspektion auf Bildverarbeitungs-Basis?

Deep Learning lässt sich für typische Klassifikationsanwendungen wie Defekterkennung oder die Unterscheidung zwischen „guten“ und „schlechten“ Objekten nutzen. Mit einem entsprechend trainierten Netz können alle Bildverarbeitungsaufgaben gelöst werden, bei denen ein System entscheidet, ob bestimmte Arten von Defekten im Bild vorhanden sind oder nicht. Deep Learning eignet sich vor allem für Anwendungen, bei denen herkömmliche Machine-Vision-Methoden nicht weiterhelfen. Dies trifft etwa dann zu, wenn wegen der Komplexität von Objekten oder Fehlerklassen kein allgemeingültiger Ansatz zur Lösung des Problems zu finden ist.

Wegen der Vielfalt potenzieller Defekte lassen sich manuell kaum Algorithmen entwickeln, die das gesamte Spektrum denkbarer Fehler erkennen und lokalisieren können. Bei diesen kann es sich um unterschiedlichste Beschädigungen wie Kratzer, Risse oder Dellen handeln, die wiederum viele verschiedene Formen oder Größen haben können. Im Rahmen herkömmlicher Methoden für die Fehlererkennung müssten Machine-Vision-Experten eine hohe Anzahl von Bildern einzeln sichten, auswerten und auf dieser Basis einen Algorithmus programmieren, der den entsprechenden Defekt möglichst detailliert beschreibt. Dieser Prozess wäre sehr aufwändig und teuer.

Deep Learning kann die Defekterkennung und Fehlerinspektion deutlich vereinfachen: Eigenständig lernt die Technologie spezifische Defektmerkmale, auf deren Basis sich bestimmte Problemklassen identifizieren lassen. Greift der Nutzer dabei auf vortrainierte Deep-Learning-Netze zurück, wie sie beispielsweise zur Bildverarbeitungs-Software Halcon von MVTec gehören, sind pro einzulernender Klasse nur wenige hundert eigene Beispielbilder nötig. Anhand der Beispielbilder können die Algorithmen die unterschiedlichsten Defekttypen trainieren und anschließend sicher erkennen.


Wo liegen die Grenzen von Deep Learning bei der Bildverarbeitungstechnik und bei der Inspektion auf Bildverarbeitungs-Basis?

Typischerweise kommt Deep Learning in den Anwendungsfeldern Klassifizierung, Objektdetektion und semantische Segmentierung zum Einsatz.

Deep Learning ist als Komplementär-Technologie ein nützliches Werkzeug, um Machine-Vision-Anwendungen zu unterstützen. Mit Deep Learning allein lassen sich solch komplexe Aufgaben aber meist nicht lösen, weil die Technologie lediglich eine weitere Methode zur Klassifizierung von Daten ist. Von großer Bedeutung in diesem Kontext ist ein umfassender Werkzeugkasten, der sämtliche Bildverarbeitungs-Tools bietet. Denn nur durch eine Kombination verschiedener Verfahren lassen sich komplexe Anwendungen inklusive Vor- und Nachverarbeitung vollumfänglich beherrschen.

Besonders bei Embedded-Vision-Systemen sind weitere Faktoren zu beachten: Weil hier große Datenmengen analysiert werden müssen, verschlingt das Training meist sehr viele Ressourcen und ist daher auf Embedded-Geräten unrentabel. Auch die Klassifizierung von Daten verursacht einen hohen Aufwand, so dass große Rechenkapazitäten und eine entsprechende Hardware nötig sind. Gerade bei extrem zeitkritischen Anwendungen reicht daher eine Standard-CPU meist nicht aus. Vielmehr ist eine leistungsfähige Hardware wie etwa eine Hochleistungs-GPU erforderlich, die in industriellen Embedded-Systemen eher die Ausnahme ist.


Wozu sind die für Deep Learning benötigten Algorithmen als Teil der Bildverarbeitungs-Software in der Lage?

Im Rahmen eines umfassenden Trainingsprozesses können die Deep-Learning-Algorithmen eigenständig bestimmte Muster lernen, die typisch für entsprechende Merkmale sind. Das System analysiert hierbei vorkategorisierte Bilder, ordnet sie automatisiert einer bestimmten Klasse zu und prüft, ob diese „Prognose“ der tatsächlichen Kategorie entspricht. Dieser Prozess wird so lange wiederholt, bis ein optimales „Vorhersage“-Ergebnis erreicht ist. Auf diese Weise lassen sich Modelle (Klassifikatoren) trainieren, mit denen neu aufgenommene Bilder in die hier gelernten Klassen eingeordnet werden können.


Welche Anwendungen für Bildverarbeitungstechnik mit Deep Learning gibt es schon heute, welche sind für die Zukunft denkbar?

Es existiert eine große Anzahl von Deep-Learning-Architekturen, die jeweils bestimmte Vor- und Nachteile für die jeweiligen Anwendungen haben. Für robuste Erkennungsraten in hoch spezialisierten und komplexen Anwendungen benötigen Kunden ein auf ihre Anforderungen optimiertes und trainiertes Netz. Denn der Grundsatz „one size fits it all“ hat hier meist keine Relevanz.

Viele Anwendungen auf Deep-Learning-Basis fließen in den Embedded-Bereich ein. Hier werden verschiedenste Hardware-Komponenten zur Beschleunigung der Laufzeiten der Deep-Learning-Algorithmen eingesetzt. Erforderlich ist dafür ein Framework, das sich auf einer breiten Palette dedizierter Deep-Learning-Recheneinheiten nutzen lässt.


Gibt es von MVTec auf der Messe embedded world Produkt-Neuvorstellungen in Sachen Deep Learning?

Halcon 18.11 bietet herausragende, neue Deep-Learning-Features, wie semantische Segmentierung und Objektdetektion, die auch auf Embedded-Geräten beeindruckende Laufzeiten erzielen. Besucher der embedded world können diese Technologie bei einer Live-Demonstration am Stand von MVTec hautnah erleben. Dabei analysiert ein AGX-Xavier-Board von Nvidia mit Halcon verschiedene Objekte in Echtzeit.


MVTec auf der embedded world 2019: Halle 4, Stand 203