Titelaufnahme

Titel
Image Recognition: Geräte-basierte mobile Inferenz
Weitere Titel
Image Recognition: Device-Based Mobile Inference
AutorInnenAnderka, Karin
GutachterSchefer-Wenzl, Sigrid
Erschienen2018
Datum der AbgabeAugust 2018
SpracheDeutsch
DokumenttypBachelorarbeit
Schlagwörter (DE)Computer Vision / Convolutional Neural Network / Deep Learning Framework / Latenz / Image Classification / Image Recognition / On-Device Inference / Optimierung / Quantisierung / Smartphone
Schlagwörter (EN)computer vision / convolutional neural network / deep learning framework / latency / image classification / image recognition / on-device inference / optimization / quantization / smartphone
Zugriffsbeschränkung
 _
Klassifikation
Zusammenfassung (Deutsch)

Digitale Bilderkennung wird für moderne Einsatzbereiche wie Augmented Reality oder Autonomes Fahren benötigt. Dabei werden Convolutional Neural Networks (CNN) eingesetzt. Bis vor Kurzem war es aufgrund von Größe und Rechenaufwand nicht möglich, diese mit einer geringen Latenz auf Geräten mit limitierten Ressourcen auszuführen. Mit der steigenden Popularität von Smartphones und der Nachfrage nach smarten Applikationen wird zunehmend an Lösungen gearbeitet, die einen mobilen Einsatz ermöglichen. Dazu tragen auch Deep Learning Frameworks wie Caffe2 oder TensorFlow bei und bieten Funktionalitäten für die Umsetzung geräte-basierter Inferenz.

Diese Arbeit beschäftigt sich mit den Strategien, die zum derzeitigen Stand der Technik eine Realisierung von lokaler Inferenz auf mobilen Geräten ermöglichen. Insbesondere werden die Möglichkeiten und Performanz unter dem Einsatz von Deep Learning Frameworks am Beispiel von Googles TensorFlow evaluiert. Im praktischen Teil der Arbeit werden die State of the Art CNNs Inception v3, MobileNets und SqueezeNet in einer Android Applikation auf verschiedenen Smartphone-Modellen getestet. Dabei wurde eine hohe Treffsicherheit und geringe Latenz erzielt. Mit einem MobileNet 0.50 224 war auf einem Nokia 8 eine Inferenz mit durchschnittlich 35,15 ms möglich. Nach dem Re-Training eines MobileNet 1.0 224 mit Bildern von Sehenswürdigkeiten wurde die geräte-basierte Inferenz mit TensorFlow Lite in einer Android App mit der cloud-basierten Inferenz mit der Google Cloudvision API Landmark Detection verglichen. Dabei konnte ein 32,9 mal schnelleres Ergebnis mit der lokalen Inferenz erzielt werden (Durchschnitt von 36 Inferenzen auf 3 Mobiltelefonen). Mit dem quantisierten CNN-Modell war eine beschleunigte Inferenz um das 57,4-fache möglich.

Die in der Praxis demonstrierte, performante geräte-basierte Inferenz mit dem Framework TensorFlow wird ermöglicht durch effiziente CNN-Architekturen und Optimierungsstrategien, wie die Quantisierung von 32-Bit Gleitkommazahlen auf 8-Bit Festkomma, dem Entfernen von – bei der Inferenz nicht mehr benötigter – Knoten sowie dem Zusammenführen von Operationen bei der Inferenz.

Zusammenfassung (Englisch)

Modern applications such as augmented reality or autonomous driving use image recognition implemented with convolutional neural networks (CNN). Until recently, due to size and computational complexity, running state of the art CNNs on limited-resource devices was not possible with low latency. With the increasing popularity of smartphones and the demand for smart applications, solutions are being developed to enable mobile deployment. Deep learning frameworks such as Caffe2 or TensorFlow also contribute and provide functionalities for the implementation of on-device inference.

This thesis deals with the strategies that enable local inference on mobile devices in the current state of the art. In particular, functionalities and performance are evaluated using deep learning frameworks with the example of Google's TensorFlow. Several state of the art CNNs, namely Inception v3, MobileNets and SqueezeNet were tested in an Android application on various smartphone models. High accuracy and low latency were achieved. With MobileNet 0.50 224, inference with an average of 35.15 ms was possible on a Nokia 8. After re-training MobileNet 1.0 224 with 4 landmarks, device-based inference using TensorFlow Lite was compared with cloud-based inference with the Google Cloudvision API Landmark Detection in an Android app. Results were on average 32.9 times faster with local inference (average of 60 inferences on 3 mobile phones). An accelerated inference of 57.4-fold was possible with the quantized model.

The demonstrated, high-performance on-device inference with the TensorFlow framework is achieved by using efficient CNN architectures and optimization strategies, such as quantization of 32-bit float to 8-bit fixed-point, the removal of no longer required nodes during inference and the merging of operations.