How to Train a Deep Learning System for Machine Vision

Wie man ein Deep-Learning-System für maschinelles Sehen trainiert

Wie in unserem letzten Blogbeitrag beschrieben, bietet die Implementierung eines Deep-Learning-Machine-Vision-Systems in industriellen Umgebungen eine Vielzahl attraktiver Vorteile. Wir haben die Definition von Deep Learning, maschinellem Lernen und KI behandelt und uns mit Datensätzen sowie der erforderlichen Vorbereitung für das Training eines Deep-Learning-Systems für Machine-Vision-Projekte befasst.

In diesem Blogbeitrag werden wir dieses Thema näher beleuchten und die Schritte darlegen, die Sie ausführen müssen, um ein Deep Learning System für Machine Vision zu trainieren.

Training eines Deep Learning Systems mit Datensätzen

Datensätze für Deep-Learning-Lösungen sind so wichtig wie der Strom aus der Steckdose. Sie sind die "Ausbildung", die ein Modell benötigt, um wie vorgesehen zu funktionieren. Eine Definition und Einführung in Datensätze finden Sie in unserem letzten Blogbeitrag.

Ohne einen Datensatz, der von Ihrem Modell verarbeitet wird, weiß es nicht, wie es Unterscheidungen zwischen Variablen in Bildern treffen soll, und wird letztendlich den vorgesehenen Verwendungszweck nicht erfüllen.

Datenteilmengen für Machine Vision

Es ist ideal, so viele Bilder für einen Datensatz zu verwenden, da sie vor dem Training in mindestens zwei (vorzugsweise drei) Teildatensätze aufgeteilt werden müssen. Der erste Teildatensatz (der "Trainingsdatensatz") wird für das eigentliche Training des Modells verwendet, was Anpassungen der mathematischen Gewichtungen beinhaltet.

Organising and labelling the training set using Matrox Imaging Library (MIL) CoPilot.

Organisation und Beschriftung des Trainingsdatensatzes mit Matrox Imaging Library (MIL) CoPilot.

Der "Entwicklungs-" (oder "Validierungs-") Datensatz ist der zweite Teildatensatz, den Sie benötigen. Dieser Teildatensatz wird verwendet, um den Trainingsprozess zu überwachen, indem der Unterschied zwischen den realen und erwarteten Klassifizierungsergebnissen verfolgt wird.

Der dritte Teildatensatz, der „Testdatensatz“, ist optional und wird ganz am Ende des Datensatz-Trainingsprozesses verwendet, um die Leistung des trainierten Modells unabhängig zu bewerten; wird der Testdatensatz nicht verwendet, übernimmt der Entwicklungsdatensatz auch diese Rolle der Leistungsbewertung.

Einen guten Datensatz erstellen

Ihr Datensatz muss genau den Bildern entsprechen, die Sie in Ihrem eigentlichen Projekt erwarten.

Je mehr Variablen Sie sich vorstellen können, desto besser. Je größer die Anzahl der eindeutigen Elemente in Ihrem Datensatz, desto besser. Wenn Sie eine konsistente Umgebung (wie die Beleuchtung) zwischen Ihrem Datensatz und Ihrem Projekt in der Praxis aufrechterhalten können, desto genauer sind die Schlussfolgerungen und Entscheidungsfähigkeiten Ihrer KI.

Welche Art von Daten benötige ich?

Im Kontext von Deep Learning für Machine Vision wird Ihr Datensatz aus Bildern von Objekten bestehen, die sich je nach den möglichen Variationen dieser Objekte unterscheiden. Wie wir bisher dargelegt haben, sind Deep-Learning-Vision-Systeme am besten in der Klassifizierung, Erkennung, dem Lesen und der Detektion.

Denken Sie darüber nach, wie Sie Ihre Prozesse automatisieren möchten – versuchen Sie, klein anzufangen, zum Beispiel mit der grundlegenden Erkennung des Vorhandenseins eines Objekts, und arbeiten Sie sich zu nuancierteren Schlussfolgerungen wie Klassifizierung und Lesen vor.

Die optische Zeichenerkennung (OCR) ist eine Aufgabe, in der Deep Learning hervorragend ist. Dafür würde Ihr Datensatz viele Variationen aller möglichen Zeichen umfassen, die in der praktischen Bildgebung auftreten können.

MNIST is a very popular open-source deep learning dataset comprising 70,000 examples of handwritten digits

MNIST ist ein sehr beliebter Open-Source-Deep-Learning-Datensatz, der 70.000 Beispiele handgeschriebener Ziffern umfasst. Aber was, wenn Ihre Anwendung gedruckte Schriftarten erfordert? Berücksichtigen Sie sowohl die Vorteile als auch die Einschränkungen bei der Wahl zwischen Open-Source- und selbst gesammelten Datensätzen.

Es ist eine gute Idee, zunächst spezifische Fragen zu stellen, um alle möglichen Grundlagen zu quantifizieren, die Sie mit Ihrem Datensatz abdecken müssen. Was ist das spezifische Ziel, das Sie durch die Verwendung eines Deep-Learning-Systems erreichen möchten? Was wird Deep Learning Ihrem Projekt bringen, was andere Systeme nicht erreichen können? Basierend auf den Antworten, die Sie erhalten, müssen Sie die Art(en) der Daten ermitteln, die Sie benötigen, um die Kriterien zu erfüllen, die diese Antworten darstellen, und somit die Probleme zu lösen, für die Sie Lösungen suchen.

Ich habe einen Datensatz, was nun?

Sobald Sie Ihren Datensatz haben, besteht der nächste Schritt darin, Ihren Datensatz für Deep Learning vorzubereiten. Im Kontext von Deep Learning ist es entscheidend, dass Sie dies durchführen, damit die Daten optimiert und für ihre Funktion geeignet sind.

Auch wenn es eine lange Aufgabe ist – die den größten Teil der Zeit in Anspruch nehmen wird, die Sie für Ihr Deep-Learning-Projekt aufwenden – ist sie von entscheidender Bedeutung. Bedenken Sie die Zeit, die später freigesetzt wird, wenn Ihre Bildverarbeitungsprozesse automatisiert sind.

Datenaufbereitung

Sobald Sie den Datensatz gesammelt haben, ist es wichtig, eine Perspektive einzunehmen, um ihn zu untersuchen. Deckt er alle möglichen Variationen ab? Möglicherweise haben Sie einen unausgewogenen Bilddatensatz, der durch Überabtastung der unterrepräsentierten Klasse oder Unterabtastung der überrepräsentierten Klasse behoben werden kann.

All dies geschieht mit einer Technik namens Datenaugmentation, die es ermöglicht, durch Methoden wie Rotation und Skalierung der vorhandenen Bilder eine Überabtastung vorzunehmen.

Data augmentation using powerful machine vision deep learning software: Matrox Imaging Library (MIL) CoPilot

Datenaugmentation mit leistungsstarker Machine Vision Deep Learning Software:
Matrox Imaging Library (MIL) CoPilot

Der nächste Schritt besteht auch darin, zu verstehen, ob Sie ein Modell von Grund auf neu erstellen oder ein bereits vor-trainiertes Modell nutzen. Im Falle des Aufbaus eines vollständigen Modells ist die Anzahl der benötigten Bilder viel höher als im Falle der Verwendung eines vor-trainierten Modells. Letzteres ist eine Technik namens Transfer Learning und wird bei den meisten Machine-Vision-Anwendungen sehr häufig eingesetzt.

Transferlernen

Als Alternative zum Training eines neuronalen Netzes von Grund auf ist Transfer Learning der Prozess, bei dem ein vortrainiertes Netzwerk genommen und einige seiner Schichten neu trainiert werden, um es an eine neue Aufgabe anzupassen. Dies kann ein effektiver Weg sein, um schnell Fortschritte bei einem Projekt zu erzielen, da die Gesamtleistung des Netzwerks der eines brandneuen, von Grund auf trainierten Netzwerks sehr ähnlich ist, aber deutlich weniger Trainingsdaten benötigt werden, um loszulegen.

Spitzenlösungen für Deep Learning von ClearView Imaging

Wir verstehen, dass die Vorbereitung auf ein Deep-Learning-Machine-Vision-Projekt wie eine Mammutaufgabe erscheinen kann. Bei ClearView Imaging liefern wir nicht nur alle Komponenten, die Sie für Ihr Machine-Vision-Projekt benötigen, sondern verfügen auch über ein großartiges Team von technischen Ingenieuren und Vision-Experten mit dem Wissen und der Erfahrung, um Sie bei Ihrer Anwendung zu unterstützen. Was auch immer die Frage oder Anfrage ist, zögern Sie nicht, uns über unsere Kontaktseite zu kontaktieren.

Bleiben Sie dran an dieser Blogreihe, während wir Deep Learning in verschiedenen Machine-Vision-Kontexten weiter erforschen.

Ob Sie ein OEM, ein Systemintegrator, Ingenieur oder sogar ein Endnutzer sind, schauen Sie sich unbedingt unser großartiges Sortiment an Machine-Vision-Produkten an, um die besten Machine-Vision-Komponenten auf dem Markt zu finden.

Zurück zum Blog >