Heliotis entwickelt und vertreibt 3D Messsysteme welche auf der Weisslichtinterferometrie basieren. Dank
der hohen Präzision und geringen Messzeit werden die Messsysteme in Produktionslinien zur Qualitätskontrolle
eingesetzt. In heutigen Bildverarbeitungssystemen werden die Oberflächendaten zu einem Bildverarbeitungsrechner
übertragen, welcher diese auswertet und Ergebnisse zur Maschinensteuerung übermittelt.
In dieser Arbeit wird das bestehende Messsystem zur smarten Kamera erweitert. Ein Framework zur Integration
anwendungsspezifischer Inspektionsaufgaben wird evaluiert. Hierfür wird ein Skript basierter Ansatz
gewählt und mit der Bildverarbeitungsbibliothek HALCON realisiert. Zur Kommunikation mit der
Maschinensteuerung werden zwei Schnittstellen implementiert. Für den einfachen Informationsaustausch
stehen digitale Ein- und Ausgänge zur Verfügung und numerische Resultate können über eine EtherCAT
Schnittstelle übermittelt werden. Abschliessend wird die Funktionalität mit einem Demonstrator belegt und
die Leistungsfähigkeit des smart Kamera Ansatzes mit derjenige Computer basierter Lösungen verglichen.
Heliotis develops and commercializes 3D measurement systems based on white light interferometry. Due to
the high accuracy and the short cycle time these measurement systems are used in production lines for quality
control. In existing machine vision systems the topology information is transferred to and evaluated on a
vision computer which communicates the inspection outcome to a higher level control unit. This thesis
expands the measurement system to a smart camera. A framework for integration of inspection tasks is
evaluated. A script based solution is selected and realized using the HALCON image processing library. Two
interfaces for communication with a higher level control unit are implemented. For simple signalling digital
IOs are used whereas numerical results are transmitted over EtherCAT. A demonstrator was built and the
smart camera’s performance is benchmarked vs. a conventional computer based solution.
Urheberrechtshinweis
Murer Silvan, Hochschule Luzern - Departement Technik & Architektur
Akustische Signalverarbeitung benutzt meistens adaptive Filtermethoden und Anpassungen der Parameter,
um eine optimale Audioqualität für bestimmte Anwendungen zu erreichen. In Bezug auf Anwedungen mit
Hörgeräten wird eine optimale Sprachverständlichkeit und Wahrnehmung der akustischen Umgebung
angestrebt. Weil akustische Szenen und Geräuschkulissen in der Realität kontinuierlich ändern, müssen
Parameteranpassungen in Hörgeräten in Echtzeit erfolgen. In dieser Thesis wird ein System vorgestellt
welches in der Lage ist, mit Hilfe von künstlicher Intelligenz (KI) verschiedene akustische Umgebungen
kontinuierlich erfassen zu können. In diesem Fall wurde ein Deep Convolutional Neural Network (CNN)
benutzt, während der Fokus auf einer Echtzeit-Implementierung lag. Als Grundlage der CNN Architektur
dient VGGNet-16, welches zu einem multi-label multi-output Modell modifiziert wurde. Dies ermöglicht es,
dieselbe Struktur zur Informationsentnahme für zwei Ausgänge zu nutzen und dabei gleichzeitig alle
möglichen Kombinationen von akustische Szenen und Geräuschkulissen zu klassifizieren. Für das Training
des CNN wurde ein eigener Datensatz erfasst welcher aus 23.8h von hochqualitativen, binauralen Audiodaten
besteht. Dazu wurden im Voraus fünf Klassen pro Label festgelegt, welche von Menschen klar
unterscheidbar sind. Mittels eine Grid Search Methode konnten drei optimierte Modelle gefunden werden
welche sich in ihrer Komplexität deutlich unterscheiden und es somit ermöglichen, eine Auswahl zwischen
Genauigkeit und Durchsatz zu treffen. Alle Modelle wurden im Anschluss mit 8 Bit quantisiert, welches zu
einer durchschnittlichen Genaugkeit von 99.07% führte. Nachdem die Anzahl Multiply-Accumulate (MAC)
Operationen und Parameter mit Faktoren von 154x resp. 18x reduziert wurde, war das System immer noch in
der Lage eine Genauigkeit von 94.82% zu erreichen. Dies ermöglicht es, eine Echtzeit-Anwendung auf der
Ebene von Mikrokontrollern zu realisieren welche eine Taktfrequenz von 10 MHz vorweisen und eine
Klassifikation pro Sekunde produzieren können.
Processing of acoustic signals is often accompanied by adaptive filtering and parameter adjustments in order
to achieve optimal audio quality for specific tasks. In terms of hearing aids, the intention is an optimal speech
intelligibility and environmental audio perception. Since acoustic scenes and soundscapes are constantly
changing during operation, adjustments in parameters for hearing devices have to be executed in real-time.
We introduce a system which is able to continuously recognize acoustic environments using Artificial
Intelligence (AI) in the form of a Deep CNN (Convolutional Neural Networks) with focus on real-time
implementation. Inspired by VGGNet-16, the CNN architecture was modified to a multi-label multi-output
model which is able to predict combinations of scene and soundscape labels simultaneously while sharing the
same feature extraction. For training we acquired a custom dataset consisting of 23.8h of high-quality
binaural audio data including five classes per label which are clearly distinguishable by humans. Using a
manual Grid Search method, we were able to optimize three models with respect to different complexity
metrics for choosing a trade-off between accuracy and throughput. CNNs were then post-quantized to 8-bit
which achieved an overall accuracy of 99.07% in the best case. After reducing the number of Multiply-
Accumulate (MAC) operations by a factor 154x and parameters by 18x, the classifier was still able to detect
scenes and soundscapes with an acceptable accuracy of 94.82% which allows real-time inference at the edge
on discrete low-cost hardware with a clock speed of 10 MHz and one inference per second.
Urheberrechtshinweis
Emmenegger Silvio, Hochschule Luzern - Departement Technik & Architektur
BinArray ist ein kundenspezifischer Hardware-Beschleuniger für neuronale Netze (CNN), der von [3]
vorgestellt wurde. Dank BinArray ist es möglich, dass CNNs auf stromsparenden Embedded-Geräten, durch
Reduzieren der Anzahl erforderlichen Multiplikationen mittels binärer Gewichtung betrieben werden können.
Drei Design-Parameter des BinArray erlauben es dem Benutzer, zwischen hoher Genauigkeit oder hohem
Durchsatz zu wählen. Der Design-Parameter, der die Anzahl der parallel zu verarbeitenden Eingangsteilbildern
definiert, wird in dieser Arbeit eingeführt. Es werden Methoden für das Teilen des Eingangsbild
vorgestellt, verglichen und der jeweilige Speicherverbrauch berechnet. Basierend auf den Ergebnissen wird
das BinArray mit zwei systolischen Arrays (SA) implementiert, die auf verschiedenen Teilbildern arbeiten.
Resultate zeigen, der Durchsatz kann auf Kosten höherer Ressourcennutzung erhöht werden. Die besten
Ergebnisse werden erzielt, wenn die Anzahl an Ausgangspixel durch die Anzahl an SAs teilbar ist.
BinArray is a custom hardware accelerator for convolutional neuronal networks (CNN) with binary
approximated weights which is presented by [3]. Thanks to BinArray CNNs operate on low-power embedded
devices by drastically reducing the number of multiplications required. Three design parameters of BinArray
allow the user to select between high accuracy or throughput. The third design parameter which defines the
number of input feature tiles that can be processed in parallel is introduced in this thesis.
Methods for the input feature tiling are presented, compared and the required memory sizes are calculated.
Based on the results BinArray was implemented with two systolic arrays (SA) working on two different tiles
of the input feature. Experimental results show, throughput can be increased at cost of resources utilization.
Tiling of the input feature is most effective for a number of output feature pixels that is divisible by the
number of SAs.
Urheberrechtshinweis
Hinninger Timo, Hochschule Luzern - Departement Technik & Architektur
Convolutional Neural Networks (CNN) werden häufig für die Bildverarbeitung, speziell für die Detektion
von Objekten, eingesetzt. Ein an der HSLU entwickelter Low-Cost CNN Accelerator soll dabei helfen, diese
auf eingebettete Systeme mit wenig Rechenleistung zu bringen. Die Zielhardware besteht aus einer
Kombination aus Processing System (PS) und Programmierbarer Logik (PL).
Ein einfacher CNN Single-Shot-Detektor (SSD-7) wurde ausgewählt, trainiert und getestet. Er erreichte einen
mAP-Wert («Mean Average Precision») von 0.308. Nach der Umwandlung in eine binär approximierte Form
erreichte der Algorithmus nahezu gleich gute Resultate (0.303). Ein Abschätzung der
Ausführungsgeschwindigkeit dieses Netzwerks auf einer Mid-Range sowie einer Low-End Hardware ergab
Verarbeitungsraten von 99.23 beziehungsweise 6.54 Bilder pro Sekunde. Dies ist ausreichend für viele
Echtzeit-Anwendungen.
Convolutional Neural Networks (CNN) are widely used for image processing and especially object detection.
A Low-Cost CNN Accelerator developed at HSLU aims to bring these algorithms onto embedded systems
with limited computational power. The target hardware consists of a combination of processing system (PS)
and programmable logic (PL).
A lightweight CNN single-shot detector (SSD-7) was selected, trained and tested, achieving a mean average
precision (mAP) of 0.308. This network was converted to a binary approximated form and tested again,
achieving almost the same performance as the original (0.303). For this network, the maximum inference
speed for a mid-range as well as a low-end hardware was estimated. With inference speeds of 99.23,
respectively 6.54 inferences per second, this approach could be useful for many embedded systems which
require a low-cost, low-power object detector with real-time capabilities.
Urheberrechtshinweis
Durrer Cyrill, Hochschule Luzern - Departement Technik & Architektur
In der Bildverarbeitung sind neuronale Netze aufgrund ihrer hohen Klassifikationsgenauigkeit kaum mehr
wegzudenken. Obschon der hohe Berechnungsaufwand solcher Netze zu verringern versucht wird, verhindert
die stark limitierte Rechenleistung bei eingebetteten low-power Systemen nach wie vor die Ausführung moderner
CNN-Netze in Echtzeit. Die vorliegende Arbeit präsentiert BinArray, einen Hardware-Beschleuniger
der auf Basis von binär-approximierten CNNs (BACNNs) einen anwendungsspezifischen Kompromiss
zwischen der Genauigkeit, dem Ressourcenverbrauch und der Rechenkomplexität des Netzes erlaubt. Die
systolische Array-Architektur ist skalierbar für verschiedene Grössen von BACNNs, von kleineren GTSRBCNNs
bis zu grossen MobileNets. Die Arbeit zeigt, dass die Beschleunigung durch BinArray auf einem
Xilinx Zynq FPGA ohne Genauigkeitsverlust einen Durchsatz von 92.1 FPS ermöglicht, verglichen mit 7.9
FPS auf einem Mikrokontroller. Der Logikverbrauch liegt dabei unter 2% bei einem mittelgrossen FPGA.
Deep Convolutional Neural Networks (CNNs) have become indispensable for computer vision tasks due to
their high accuracy. While large efforts are made to confine the high computational costs of CNNs, low
power embedded devices struggle to achieve a real-time frame rate. In this work, we present BinArray, a
hardware accelerator for Binary Approximated Convolutional Neural Networks (BACNNs), which provide a
configurable trade-off between accuracy and complexity. BinArray translates this trade-off into a task
specific compromise between area, throughput and accuracy depending on the given constraints. Its Systolic
Array (SA)-architecture is scalable for different sizes of BACNNs ranging from a GTSRB CNN to large
MobileNets. We implemented BinArray on a Xilinx Zynq FPGA. Without loosing accuracy, an accelerated
BACNN achieves a throughput of up to 92.1 FPS on GTSRB compared to a CPU with only 7.9 FPS.
BinArray accomplishes this while using less than 2% of the logic available on a mid-sized FPGA.
Urheberrechtshinweis
Fischer Mario, Hochschule Luzern - Departement Technik & Architektur