DEEP VISION WIRD REALITÄT · 2019-08-02 · Framegrabber-FPGAs, aber ebenso Kameras und...
Transcript of DEEP VISION WIRD REALITÄT · 2019-08-02 · Framegrabber-FPGAs, aber ebenso Kameras und...
DEEP VISION WIRD REALITÄTDEEP LEARNING MIT VISUALAPPLETS UND HIGHSPEED-FRAMEGRABBERN
DE
Deep Vision wird Realität
Deep Vision im Einsatz
Warum sollte ich FPGAs einsetzen?
Deep Learning Framegrabber mit FPGA
And the winner is…
FPGA-Programmierung leichtgemacht
CNN Runtime-Lizenz – Dienstleistungs-Pakete
Komplexe Aufgaben – treffsichere Lösungen
Deep Learning und embedded Vision
Deep Learning erobert die Bildverarbeitung
Tiefe Ergebnisse - Hohe Genauigkeit
Kontakt
INHALT
HOHE GESCHWINDIGKEIT, BANDBREITE UND VORHERSAGEGENAUIGKEIT
DEEP VISION WIRD REALITÄT
Beim Deep Learning als einem Teil der künstlichen Intelligenz lernt ein
Computermodell automatisch die Merkmale zur Unterscheidung von Objek-
ten und führt Klassifizierungsaufgaben direkt auf Bildern, Videos, Texten oder
Tönen durch. Meist werden hierfür neuronale Netzarchitekturen verwendet.
Ist die Zahl verborgener Schichten in solchen Netzen hoch, spricht man von
tiefen neuronalen Netzen wie etwa CNN (Convolutional Neural Network).
In der Bildverarbeitung eignet sich eine CNN-Architektur für die Verarbeitung
von Bildern und Videos als 2D- wie auch 3D-Daten (z.B. Stereo Vision, Laser-
triangulation, Time of Flight, Blob-Tabellen).
Back To Table of Content
DIE EINFACHHEIT DER IMPLEMENTIERUNG
DEEP VISION IM EINSATZ
Für viele Aufgabestellungen qualifizieren sich neuronale Netze
ganz besonders. Für das Ausführen (Inference) neuronaler Netzte
eignen sich vorrangig FPGAs, die sich im Vergleich zu CPUs und
GPUs durch eine hohe Rechenleistung, Bildrate und Bandbreite
auszeichnen. Auf FPGAs klassifizieren dadurch CNNs mit hohem
Datendurchsatz, was für industrielle und eingebettete Anwendun-
gen (IIoT, Inline-Inspektion, Robotik, Drohnen und autonomes
Fahren) Voraussetzung ist. Eine datenreduzierende Bildvorverar-
beitung ermöglicht es, kleinere Netze oder FPGAs einzusetzen, die
oftmals für einfache Klassifizierungs-Aufgaben mit wenigen Merk-
malen ausreichen.
Trained CNN
Net Architecture
e.g. MobileNet
Adjust Weights
Training (GPU) e.g. TensorFlow
Convolution
Export
Import
Input layer
Back To Table of Content
Anwender sind imstande, Deep Learning-Anwendungen ohne
Hardware-Entwicklung im FPGA zu programmieren – anhand
der grafischen Entwicklungsumgebung VisualApplets. Mittels
Datenfluss-Modellen lassen sich passende Netzarchitekturen
unterschiedlicher Größe und Komplexität integrieren sowie vor-
trainierte Konfigurationsparameter für die Gewichte der Netze
(weights) laden. Neue leistungsfähigere Camera Link Frame-
grabber wie der mit einer CNN-Runtime-Lizenz ausgestattete
microEnable 5 marathon deepVCL enthalten bereits größere FP-
GA-Prozessoren, die für Deep Learning-Anwendungen mit der
benötigten hohen Rechenleistung und Bandbreite notwendig
sind. Anwender profitieren von langfristigen Einsparungen durch
geringere Gesamtsystemkosten und schnelle Anpassbarkeit.
Für Embedded Vision-Anwendungen unterstützt der Ansatz ne-
ben Framegrabbern ebenso Kameras und Vision-Sensoren. Ein
reservierter Teil des FPGAs ist mit VisualApplets beliebig oft
programmierbar und somit sind erstellte Anwendungen auf wei-
tere Geräte leicht portierbar. Die lange Verfügbarkeit von FPGAs,
Framegrabbern und der grafischen Entwicklungsumgebung
VisualApplets von 10 Jahren und darüber hinaus gewährleistet
eine hohe Investitionssicherheit.
Trained CNN
Net Architecture
e.g. MobileNet
Adjust Weights
Training (GPU) e.g. TensorFlow
Convolution
Export
Import
Input layer
Back To Table of Content
PROZESSORTECHNOLOGIE FÜR DEEP LEARNING
WARUM SOLLTE ICH FPGAS EINSETZEN?
FPGAs übertreffen GPUs und CPUs mit ihrer hohen Geschwindigkeit als auch Bandbreite bei gleichzeitig großer Erkennungsgenauigkeit
FPGAs garantieren sofortige Ergebnisse in Echtzeit, also mit geringsten Latenzen, auch für hoch aufgelöste Bilder
FPGAs sind für den Industrieeinsatz, Inline-Inspektion und embedded Vi-sion bestens geeignet
03
02
01
Back To Table of Content
Deep Learning-Anwendungen sind mit VisualApplets ohne Hardware- Programmierung schnell zu implementieren
Langfristige Einsparungen durch geringere Gesamtsystemkosten und schnelle Anpassbarkeit von Gewichten und Netzarchitekturen
Hohe Investitionssicherheit durch lange Verfügbarkeit von FPGAs, Framegrabbern und VisualApplets von über 10 Jahren06
05
04
Back To Table of Content
ANFORDERUNGEN AUS DER PRODUKTION
DEEP LEARNING FRAMEGRABBER MIT FPGA
Schritthaltend mit den Anforderungen an eine hohe Rechenleistung und
Bandbreite bietet der mit einer CNN-Runtime-Lizenz für VisualApplets ausge-
stattete und programmierbare Camera Link Framegrabber microEnable 5
marathon deepVCL einen performanteren FPGA. Das Board bewältigt Band-
breiten über 200 MB/s und berechnet größere neuronale Netze verzöge-
rungsfrei.
Der integrierte FPGA zeichnet sich durch eine hohe Parallelität der Verarbei-
tung, geringe Wärmeleistung, deterministische Latenzen und eine lange
Marktverfügbarkeit aus. Der deepVCL Framegrabber bietet insgesamt eine
kostengünstigere, energieeffizientere und schnellere Lösung als eine ver-
gleichbare mit einer industriellen GPU.
Mittels grafischer FPGA-Programmierung mit VisualApplets lassen sich pas-
sende Netzarchitekturen integrieren sowie vortrainierte Konfigurationspara-
meter für die Gewichte der Netze (weights) laden.
Back To Table of Content
Bildvorverarbeitung für noch mehr Ressourcen
Mit umfangreicheren FPGA-Ressourcen lassen sich
komplexere Architekturen und damit auch
Anwendungen verarbeiten. Die höhere
Datenbandbreite ermöglicht eine Verarbeitung eines
Gesamtbildes oder zusätzliche Bildvor- und -nachver-
arbeitung auf dem FPGA.
Bildvorverarbeitung anhand einer Verringerung der
Auflösung und Lokalisierung (Blob-Analyse) verrin-
gert den Datendurchsatz, wodurch die Bandbreite
weiter erhöht wird und sich kleinere oder tiefere
Netze oder kleinere FPGAs einsetzen lassen, die für
einfache Bildverarbeitungs-Aufgaben oft ausreichen.
Back To Table of Content
FPGAS SIND FÜR DEEP LEARNING IDEAL
AND THE WINNER IS…
FPGAs sind durch ihre Architektur, Daten mit einer hohen Parallelität zu berech-
nen, prädestiniert für die Bildverarbeitung wie auch die Implementierung und
Ausführung neuronaler Netze. Sie zeichnen sich durch einen garantiert robusten
Bildeinzug und – im Vergleich zu CPUs und GPUs – eine hohe Rechenleistung,
Bildrate und Bandbreite aus, wodurch CNNs auf FPGAs mit hohem Datendurch-
satz klassifizieren. Dies erfüllt insbesondere die zeitlichen Anforderungen der
Inline-Inspektion. Der FPGA ermöglicht eine Verarbeitung der Bilddaten direkt
auf einem Framegrabber oder eingebetteten Vision-Gerät – von der Bildaufnah-
me zum Analyseergebnis – ohne die CPU zu belasten. Dadurch sind kleinere
PCs ohne GPU einsetzbar, was die Kosten des gesamten Systems reduziert.
Die Energieeffizienz von FPGAs im industriellen Temperaturbereich ist 10-mal
höher im Vergleich zu GPUs. Dies ist für eingebettete Geräte ideal, was den
Einsatzbereich etwa in Hinblick auf Industrie 4.0 sowie Drohnen und autonomes
Fahren deutlich vergrößert. Für einen FPGA führt die Verlagerung in den Fixed
Point Bereich lediglich zu einer zu vernachlässigenden Reduzierung der Treffge-
nauigkeit im Vergleich zu GPUs, während die gestiegenen Ressourcen für
Model
Throughput
Power
E�ciency
Bandwidth
CPU GPU FPGATechnology
Xeon E5
76 fps
112 W
0.7 f/W
3 MB/s
Titan X
405 fps
164 W
2.5 f/W
15 MB/s
Arria 10-115
2500 fps
42 W
60 f/W
93 MB/s
FPGA Software Industrial Non-Industrial
System Cost
Frame grabber
GPU
IPC
Software license
Back To Table of Content
größere Netzarchitekturen oder einen höheren Datendurchsatz zur Verfügung
stehen. Dadurch ist es möglich, die Produktionsgeschwindigkeit etwa bei der
Schweißnaht-Inspektion oder Robotik zu steigern. Für hohe Bandbreiten
kommen nur FPGAs oder GPUs als Technologie in Betracht. Eine Gegenüberstel-
lung der jeweiligen Schwächen und Stärken zeigt, dass die höhere Rechenge-
nauigkeit von GPUs und damit auch höhere Genauigkeit durch deutlich kürzere
Verfügbarkeiten, höhere Leistungsaufnahme aber auch durch eine geringeren
Datendurchsatz erkauft wird. Die Leistung der Datenbearbeitung liegt bei den
FPGAs um Faktor 7,3 höher als bei vergleichbaren GPUs.
Model
Throughput
Power
E�ciency
Bandwidth
CPU GPU FPGATechnology
Xeon E5
76 fps
112 W
0.7 f/W
3 MB/s
Titan X
405 fps
164 W
2.5 f/W
15 MB/s
Arria 10-115
2500 fps
42 W
60 f/W
93 MB/s
FPGA Software Industrial Non-Industrial
System Cost
Frame grabber
GPU
IPC
Software license
Back To Table of Content
Hard- und Software von Silicon Software unterstützen neben FPGAs ebenso SoCs und Einpla-
tinen-Computer (SBC). Anhand einer grafischen Entwicklungsumgebung wie VisualApplets
sind Anwender imstande, Deep Learning-Anwendungen selbstständig im FPGA in kurzer Zeit
per Drag&Drop zu konfigurieren, ganz ohne Hardware-Programmierkenntnisse. Dies gilt
ebenso für die Integration der Bildverarbeitungs-Peripherie wie Aktoren und Sensoren über
Echtzeit- Signalverarbeitung.
Anwender sehen die Abbildung und Konfiguration eines neuronalen Netzes als einen
CNN-Operator innerhalb eines Datenfluss-Diagramms. Das gesamte Anwendungs-Design
lässt sich an jeder Stelle simulieren und abschließend synthetisieren und läuft immer als
Echtzeitbetrieb in der definierten Geschwindigkeit mit geringsten Latenzen ab. Die grafische
Programmierung öffnet Software-Entwicklern und Anwendungs-Ingenieuren den Zugang zu
Bildverarbeitungs-Projekten wie Deep Learning und reduziert deren Entwicklungszeit und
somit Time-to-Market verglichen mit einer HDL-Programmierung (VHDL/Verilog) erheblich.
CNNS ALS TEIL EINES ANWENDUNGSDESIGNS
FPGA-PROGRAMMIERUNG LEICHTGEMACHT
Back To Table of Content
Über den CNN-Operator lassen sich passende Netzarchitekturen unterschiedli-
cher Größe und Komplexität integrieren sowie vortrainierte Konfigurationspara-
meter für die Gewichte der Netze (weights) für eine Vielzahl von Bildverarbei-
tungs-Anwendungen laden. Dabei werden auch Informationen über Netze und
deren Parameter aus Drittsoftware wie die Deep Learning- Frameworks
TensorFlow oder CaffeNet importiert.
Neue Gewichte sind leicht zu laden, solange das Netz unverändert bleibt. Ein
Nachtrainieren, z.B. für ein neues Werkstück in der Fertigung, geht mit relativ
wenig Aufwand. Ändern sich Testumgebung oder -objekte, können die nachtrai-
nierten Bilder über einen neuen Parametersatz der Gewichte oder als neues
Netz nachgeladen werden (transfer learning).
Back To Table of Content
NIE ALLEINE GELASSEN!
CNN RUNTIME-LIZENZ – DIENSTLEISTUNGS-PAKETE
Für die Implementierung FPGA-basierter Deep Learning- Anwendungen auf
dem deepVCL Framegrabber bieten wir unseren Kunden und Partnern eine
CNN Runtime-Lizenz mit zwei Dienstleistungs-Paketen an, je nachdem wie
erfahren sie im Umgang mit Deep Learning sind.
Haben sie bereits ein Netz aufgesetzt und dieses trainiert, übertragen und
implementieren wir es zusammen mit den Gewichten (Para-
metern) auf den Framegrabber-FPGA (Implementation
Service). Andernfalls können wir Aufbau und Training des Net-
zes wie auch die FPGA-Implementierung komplett für sie
übernehmen (Full Implementation Service).
In beiden Fällen wird die Auslieferung von uns auf die ge-
wünschte Bandbreite und Treffgenauigkeit getestet und doku-
mentiert, während die CNN Intellectual Property beim
Anwender bleibt (Schutz des geistigen Eigentums).
Eine Erweiterung von VisualApplets zur Selbstprogram-
mierung ist geplant und wird zu einem späteren
Zeitpunkt erscheinen.
Convolution
Net Architecture
e.g. MobileNet
Adjust Weights
Training (GPU) e.g. TensorFlow
Export
Input layer
Trained CNN
Import
Back To Table of Content
WANN WECHSELE ICH AUF DEEP LEARNING?
KOMPLEXE AUFGABEN – TREFFSICHERE LÖSUNGEN
Bei komplexen Aufgabestellungen ist die traditionelle Programmierung durch
die algorithmische Beschreibung aller möglichen Varianzen deutlich kompli-
zierter als Deep Learning. Dadurch sind Klassifizierungsaufgaben wesentlich
einfacher zu lösen als mit den existierenden algorithmischen Methoden.
Für viele weitere Aufgabestellungen qualifizieren sich neuronale Netze ganz
besonders, wie etwa für reflektierende Oberflächen, schlecht ausgeleuchtete
Umgebungen, variierende Beleuchtung, bewegende Objekte, Robotik und
3D-Anwendungen, wo herkömmliche Methoden deutlich an Grenzen stoßen
und nur mit hohem Aufwand und großer Expertise realisierbar sind.
Klassische Algorithmen eignen sich weiterhin, wenn eine Lokalisierung von
Objekten oder Fehlern in einem Bild, das maßliche Prüfen, Codelesen oder
Post-Processing benötigt werden. Deep Learning hingegen besticht durch ei-
ne sehr hohe Zuverlässigkeit bei Erkennungsraten und wird die Qualität von
heutigen Bildverarbeitungssystemen verbessern sowie neue Anwendungen
erschließen.
Traditional Machine Vision Deep Learning
◆ Dimensinal measurements◆ Code reading◆ Presence or absence checking◆ Robot guidance◆ Print inspection◆ Automotive◆ Electronics
Typical applications: Typical applications:
Typical characteristics: Typical characteristics:
◆ Surface inspection ( cracks, scratches)◆ Food, plant, wood inspection◆ Plastics, injection molding◆ Textile inspection◆ Medical imaging◆ Agriculture
◆ Deformable objects◆ Variable orientation◆ Customer provides vague specification with
examples of Good and Bad parts◆ Reliability 99%
◆ Rigid objects◆ Fixed orientation◆ Customer provides formal specification with
tolerances◆ Reliability 100%
Back To Table of Content
UNTERSTÜTZUNG PROGRAMMIERBARER VISION-GERÄTE
DEEP LEARNING UND EMBEDDED VISION
Durch den Einsatz kleinerer, aber hoch-performanter Netze und der direkten
Bildübertragung von der Kamera zur Bildverarbeitung eignen sich CNNs auf
FPGAs bestens für embedded Vision-Anwendungen. Sie sind auf
Framegrabber-FPGAs, aber ebenso Kameras und Vision-Sensoren lauffä-
hig. Kleine Bildverarbeitungs- Einheiten oder intelligente Kameras über-
nehmen bereits heute anspruchsvolle Teilaufgaben beim dezentralen
Computing-Ansatz von Industrie 4.0. Hier besteht ein hoher Bedarf an em-
bedded Vision mit Deep Learning.
Da die meisten eingebetteten Geräte mit einem FPGA ausgestattet sind,
haben sie ausreichend Performance für komplexere neuronale Netze.
FPGAs sind im Vergleich zu GPUs besonders energieeffizient und gut für
eingebettete und industrielle Anwendungen mit harten Echtzeit-
Bedingungen geeignet, wie etwa Inline-Inspektion, Robotik und Pick&Place,
kognitive Systeme sowie Mensch-Maschine-Interaktion (HMI). Weitere
Anwendungen mit hoher Treffgenauigkeit liegen im Umfeld von
Qualitätssicherung, Medizintechnik, Drohnen und Automotive (autonomes
Fahren).
Back To Table of Content
Für Embedded Vision-Anwendungen unterstützt VisualApplets
neben Framegrabbern ebenso FPGA-Drittgeräte wie Kameras
und Vision-Sensoren. Hierzu wird mit VisualApplets Embedder
eine Kompatibilitätsschicht zwischen der Hardware und dem
VisualApplets Programmierkern eingerichtet. Dieser reservierte
Teil des FPGAs ist mit VisualApplets beliebig oft programmier-
bar.
Back To Table of Content
Heute ist Deep Learning bereits im Einsatz bei der Muster- und
Objektdetektion mit Klassifizierung. Beste Ergebnisse erzielt das Verfahren
bei variierenden Objekten und dem Erkennen von Defekten oder Anomalien,
aber auch bei schwierigen Oberflächen mit Transparenzen und Reflektionen.
Im Fertigungsprozess ist dadurch eine Maschine imstande, eine Vielzahl von
Varianten auch bei variierenden Umgebungsbedingungen zu handhaben.
Deep Learning wird hier bei der
Zustandsüberwachung und vorbeu-
genden
Wartung erfolgreich eingesetzt.
Weitere Anwendungsgebiete umfassen Inline-Inspektion, Robotik, Pick&Place,
autonomes Fahren und Assistenzsysteme, Drohnen, Satellitenaufnahmen,
Landwirtschaft, Medizintechnik, Zellforschung, und kognitive Systeme, die
mit Menschen zusammenarbeiten bzw. für die Mensch-Maschine-Interaktion
(HMI).
BRANCHENÜBERGREIFENDE ANWENDUNGSBEREICHE
DEEP LEARNING EROBERT DIE BILDVERARBEITUNG
Machine Vision Embedded Vision Non-industrial
◆ Inline Inspection
◆ Condition Monitoring
◆ Predictive Maintenance
◆ Cognitive Systems
◆ Manufacturing
◆ Robotics
◆ Autonomous Driving
◆ Drones
◆ Medical Technology
◆ Agriculture
◆ Satellite Imaging
◆ Cellular Research
Back To Table of Content
DEEPLEARNING ZUSAMMENGEFASST
TIEFE ERGEBNISSE - HOHE GENAUIGKEIT
Deep Learning-Anwendungen mit VisualApplets einfach implemen-tieren und anpassen Grafisch per Drag&Drop mit Flussdiagram-
men und ohne Hardware-Programmierkennt-nisse konfigurieren
Echtzeitfähigkeit für hoch aufgelöste Bilder führt zu sofortigen Ergebnissen
Bildvorverarbeitung optimiert Bilder und reduziert Datendurchsatz sowie CPU-Last
Kleinere Netze sind bei ebenso hoher Trefferquote einsetzbar
1
43
65
Einsatz von Deep Learning in eingebetteten Geräten wie Kameras und Vision-Sensoren
Deep Learning mit VisualApplets programmierbarer
FPGA-Technologie erfüllt die Anforderungen an Da-
tendurchsatz und Bandbreite bei gleichzeitig hoher
Erkennungsgenauigkeit insbesondere für industrielle
Anwendungen. Für die Inline-Inspektion im Produkti-
onstakt sind Echtzeitfähigkeit bzw. geringe Latenzen
wichtig, für embedded Vision die für FPGAs typische
geringe Wärmeleistung.
2
Back To Table of Content
TANDORT
SILICON SOFTWARE GmbH
Konrad-Zuse-Ring 28
D-68163 Mannheim
Deutschland / Germany
KONTAKT
Tel: +49.621.789 507 0
E-Mail: [email protected]
Support
E-Mail: [email protected]
Website
https://silicon.software
INFORMATION
VisualApplets Forum
https://forum.silicon.software
Newsletter Anmeldung
Social Medias
ANFRAGEN
Deutschland, Österreich, Schweiz (DACH)
E-Mail: [email protected]
Tel: +49.170.799 749 5
Europa, Mittlerer Osten, Afrika (EMEA)
E-Mail: [email protected]
Tel: +49.170.799 749 7
Asien-Pazifik (APAC)
E-Mail: [email protected]
Tel: +49.151.121 922 03
Nord-, Mittel-, Südamerika (AMER)
E-Mail: [email protected]
Tel: +1.610.280 0171 x2
© Silicon Software GmbH, 07/2019
Back To Table of Content