Erstellung eines Deep-Learning-Klassifizierungssystems für unter 600 USD

 Einführung

Deep Learning ist dafür bestimmt, den Bereich der maschinellen Erkennung stark zu verändern. Es ermöglicht neue Anwendungen und durchbricht etablierte Märkte. Als Produktmanager bei FLIR habe ich das Privileg, Unternehmen aus vielen Branchen zu besuchen, und jedes Unternehmen, dass ich dieses Jahr besucht habe, arbeitet an Deep Learning. Was war nie einfacher damit zu beginnen, aber wo fängt man an? Dieser Artikel enthält eine leicht verständliche Anleitung zum Aufbau eines Deep-Learning-Inferenzsystems für weniger als 600 USD.

Was ist Inferenz?

Dabei verarbeitet das neuronale Netz unbekannte Daten und klassifiziert diese. Inferenz übertrifft traditionelle, regelbasierte Bildverarbeitungsansätze bei weitem, wenn es um komplexe und ggf. subjektive Problemstellungen geht. Mit entsprechender Optimierung kann Inferenz auch „on the edge“ ausgeführt werden, d.h. nahe der Datenquellen am Rand eines Kommunikations- und Datenverarbeitungs-Netzwerkes aus Sensoren, Aktoren, Cloud-Servern und eben auch Verarbeitungseinheiten nahe der Datenquellen. Dadurch entfällt der Bedarf an einem leistungsfähigen Server für die Bildanalyse, die Latenz ist geringer, die Zuverlässigkeit erhöht sich und es führt zu mehr Datensicherheit. 

1. Auswahl der Hardware

In diesem Leitfaden soll es um den Bau eines zuverlässigen hochqualitativen Systems gehen, dass im Feld eingesetzt wird. Darüber hinaus sei angemerkt, dass die Kombination herkömmlicher Bildverarbeitungsmethoden und Deep-Learning-Inferenz eine hohe Erkennungsrate und Recheneffizienz ermöglichen kann, indem man die Stärken beider Ansätze nutzt. Der Aaeon UP Squared-Celeron-4GP-32GB 1-Platinen-Computer bietet genügend Speicher und CPU-Leistung für diesen Ansatz. Seine x64 Intel CPU ist geeignet für die gleiche Software wie übliche Desktop-PCs. Dies vereinfacht die Entwicklung im Vergleich zu ARM-basierten 1-Platinen-Computern.

Der Algorithmus für die Deep-Learning-Inferenz basiert auf einer Verzweigungs-Logik, deren Ausführung mit eigens darauf ausgelegter Hardware massiv beschleunigt werden kann. Die Intel® Movidius™ Myriad™ 2 Vision Processing Unit (VPU) ist ein sehr leistungsstarker und effizienter Inferenz-Beschleuniger, den wir in unsere neue Inferenzkamera integriert haben: die Firefly DL.

Teil

Artikelnummer

Preis [USD]

Inferenzkamera integriert haben: die Firefly DL.

FFY-U3-16S2M-DL

299

Einplatinencomputer

UP Squared-Celeron-4GB-32GB-PACK

239

3 m USB 3-Kabel

ACC-01-2300

10

Objektiv

ACC-01-4000

10

Software

Ubuntu 16.04/18.04, TensorFlow, Intel NCSDK, FLIR Spinnaker SDK

0

 

Gesamt: 558 USD

 

2. Benötigte Software

Es gibt viele kostenlose Tools für die Erstellung, das Training und den Einsatz von Deep-Learning-Inferenz-Modellen. In unserem Beispiel nutzen wir eine Auswahl an kostenloser Open-Source-Software. Die Installationsanleitungen für jedes Softwarepaket finden Sie auf den jeweiligen Webseiten. In diesem Leitfaden gehen wir davon aus, dass Sie mit den Basics der Linux-Konsole vertraut sind.

Collect Training Data

Train Network (augmentation optional)

Evaluate performance

Convert to Movidius graph format

Auf Inferenzkamera Firefly DLbereitstellen

Run inference on captured images 

Abb. 1. Arbeitsschritte eines Deep-Learning-Inferenz-Systems mit den jeweiligen Tools.

3. Detaillierte Anleitung

In Getting Started with Firefly Deep Learning on Linux (Mit Firefly-Deep-Learning unter Linux einfach loslegen) finden Sie eine Anleitung, wie Sie ein neuronales Netz neu trainieren, das Ergebnis in ein Firefly-kompatibles Format konvertieren und mit SpinView anzeigen. Nutzer erhalten eine Schritt-für-Schritt-Anleitung, um Training und Konvertierung selbst über das Terminal vorzunehmen.

Zugehörige Artikel

Neural Networks Supported by Firefly Deep Learning (Von Firefly-Deep-Learning unterstützte neuronale Netze) enthält eine Übersicht der von uns mit Firefly-DL getesteten neuronalen Netze. 

Tips on creating Training Data for Deep Learning Neural Networks (Tipps zur Erstellung von Trainingsdaten für Deep Learning mit neuronalen Netzen) wird erläutert, wie Sie hochwertige anwendungsbezogene Trainingsdaten erzeugen, um effiziente neuronale Netze für Deep Learning zu erstellen..

Troubleshooting neural network graph conversion issues (Fehlerbehebung bei der Diagrammumwandlung in neuronalen Netzwerken) erhalten Sie Tipps zur Lösung möglicher Probleme bei der Konvertierungen von Dateien aus dem Inferenznetzwerk in ein Firefly DL-kompatibles Format.