MVTec Software GmbH
 

Deep Learning

HALCON- und MERLIC-Feature

MVTec Softwareprodukte bieten eine große Auswahl an Operatoren, Funktionen und Methoden, die entweder auf Deep-Learning-Technologien basieren oder es Kunden ermöglichen, Deep-Learning-Technologien in ihren eigenen Anwendungen selbst einzusetzen. HALCON (hier kostenlos testen) und MERLIC (hier kostenlos testen) bieten beispielsweise beide eine Deep-Learning-basierte OCR (hier in Aktion zu sehen). Ein weiteres Beispiel ist die Möglichkeit, mit Hilfe von CNNs (Convolutional Neural Networks) einen eigenen Klassifikator zu trainieren, der dann zur Klassifizierung neuer Daten eingesetzt werden kann.

Trainieren kundenspezifischer CNNs

Das Netzwerk trainieren
Trainieren eines CNN mit "gelabelten" Bilddaten

Mit MVTec HALCON können Anwender ihren eigenen Klassifikator bzw. CNN (Convolutional Neural Network) trainieren. Nach dem Training kann das CNN zur Klassifizierung neuer Daten verwendet werden.

Dies geschieht sehr einfach durch die Bereitstellung einer ausreichenden Anzahl beschrifteter bzw. "gelabelter" Trainingsbilder. Um z. B. zwischen fehlerhaften Werkstücken, welche Kratzer oder Verunreinigungen aufweisen, und guten Werkstücken zu unterscheiden, müssen Trainingsbilder für alle drei Klassen zur Verfügung gestellt werden: Bilder, die Kratzer zeigen, müssen mit "Kratzer" gelabelt sein, Bilder, die eine Verunreinigung aufweisen, mit "Verunreinigung" und Bilder, die eine gute Probe zeigen, müssen in der Kategorie "OK"sein.

Anschließend analysiert die Software diese gelabelten Bilder und lernt dabei automatisch, anhand welcher Merkmale fehlerhafte und gute Proben identifiziert werden können. Dies ist ein großer Vorteil gegenüber allen bisherigen Klassifizierungsmethoden, bei denen diese Eigenschaften vom Anwender manuell programmiert werden mussten – ein komplexes und umständliches Unterfangen, das qualifizierte Ingenieure mit Programmier- und Bildverarbeitungskenntnissen erfordert. Es ist das erste Mal, dass Kunden CNNs mit HALCON auf der Basis von Deep-Learning-Algorithmen und anhand von Beispielbildern ihrer spezifischen Anwendung trainieren können. So kann das resultierende Netzwerk optimal auf die Bedürfnisse der Kunden zugeschnitten werden.

Verwendung der trainierten Netze

Defektklassifizierung mit Hilfe von Deep Learning
Das trainierte CNN klassifiziert Defekte.

Sobald das Netzwerk gelernt hat, zwischen den vorgegebenen Klassen zu unterscheiden, z.B. also, ob ein Bild ein zerkratztes, ein verunreinigtes oder ein gutes Werkstück zeigt, kann das Netzwerk in Betrieb genommen werden. Das bedeutet, dass der Anwender den neu erstellten CNN-Klassifikator auf neue Bilddaten anwenden kann, welche der Klassifikator dann mit den im Training erlernten Klassen abgleicht – dies wird auch als "Inferenz" bezeichnet. Die Inferenz kann sowohl auf GPUs als auch auf CPUs ausgeführt werden.

Anwendungsbereiche

Bei der Suche nach realen Anwendungen können CNNs beispielsweise zur Defektklassifizierung (z.B. für Leiterplatten, Flaschenmündungen oder Tabletten) oder zur Objektklassifizierung (z.B. zum Identifizieren einer Pflanzenart anhand lediglich eines Bildes) verwendet werden.

Deep Learning Tutorials

Unsere dreiteilige Tutorialreihe führt Sie durch alle notwendigen Schritte, um Ihren eigenen Deep-Learning-basierten Klassifikator mit HALCON zu trainieren und zu evaluieren.

Vorbereitende Schritte
(1) Vorbereitende Schritte
Trainieren eines Klassifikators
(2) Trainieren eines Klassifikators
Evaluierung eines trainierten Klassifikators
(3) Evaluierung eines trainierten Klassifikators