Nowadays, Deep Learning and Computer Vision are having a lot of success in various fields. Currently there is a lot of effort in trying to run such complex technology on hardware constrained devices and some optimized Convolutional Neural Networks together with optimization techniques have been developed for this reason. In the mobile world, the number of applications that are taking advantage of Deep Learning models is steadily increasing and one of the first in this field was PeakLens, an Augmented Reality application that displays the name of the mountain peaks exploiting the smartphone camera. This requires the algorithms behind to be very efficient and accurate, in order to keep high performance without sacrificing the user experience. Given that the adopted Convolutional Neural Network plays an important role in the PeakLens algorithms and that generally such models are heavy to execute, this work faces the optimization problem by evaluating the adoption of some modules from state-of-the-art optimized models to improve the performance of the Convolutional Neural Network used in the app. This process has developed a lighter and more accurate model than the original one, which executes faster on all the tested devices. This also required to develop some previously unsupported operations for PolimiDL, the Deep Learning framework on which PeakLens is based; this is a core element for the application and, for this reason, its performance has been verified by comparing it with the framework proposed by Google: TensorFlow Lite.

Al giorno d’oggi, il Deep Learning e il Computer Vision stanno avendo molto successo in vari campi. Attualmente c’è molto sforzo nel cercare di portare una così complessa tecnologia su dispositivi dall’hardware limitato e alcune Reti Convoluzionali ottimizzate assieme a tecniche di ottimizzazione sono state sviluppate per questa ragone. Nel mondo dei dispositivi mobili, il numero di applicazioni che stanno sfruttando il Deep Learning è costantemente in crescita e una delle prime in questo campo è stata PeakLens, un’applicazione di Realtà Aumentata che mostra il nome dei picchi delle montagne sfruttando la fotocamera del cellulare. Ciò richiede che l’algoritmo che vi sta dietro sia veramente efficiente e accurato, in modo da mantenere alte prestazioni senza sacrificare l’esperienza dell’utente. Considerato che la Rete Convoluzionale adottata gioca un ruolo importante negli algoritmi di PeakLens e che generalmente tali modelli sono pesanti da eseguire, questo lavoro affronta il problema dell’ottimizzazione valutando l’adozione di alcuni moduli, usati in modelli stato dell’arte, per migliorare le prestazioni della Rete Convoluzionale usata nell’app. Questo processo ha sviluppato un modello più leggero e accurato rispetto a quello originale, che esegue più velocemente su tutti i dispositivi testati. Ciò ha anche richiesto di sviluppare alcune operazioni precedentemente non supportate per PolimiDL, il framework di Deep Learning su cui PeakLens è basata. Questo è un elemento principale per l’applicazione e, per questa ragione, le sue prestazioni sono state verificate comparandolo con la soluzione proposta da Google: TensorFlow Lite.

Benchmarking and optimizations for mobile computer vision applications

MARONE, CHRISTIAN
2017/2018

Abstract

Nowadays, Deep Learning and Computer Vision are having a lot of success in various fields. Currently there is a lot of effort in trying to run such complex technology on hardware constrained devices and some optimized Convolutional Neural Networks together with optimization techniques have been developed for this reason. In the mobile world, the number of applications that are taking advantage of Deep Learning models is steadily increasing and one of the first in this field was PeakLens, an Augmented Reality application that displays the name of the mountain peaks exploiting the smartphone camera. This requires the algorithms behind to be very efficient and accurate, in order to keep high performance without sacrificing the user experience. Given that the adopted Convolutional Neural Network plays an important role in the PeakLens algorithms and that generally such models are heavy to execute, this work faces the optimization problem by evaluating the adoption of some modules from state-of-the-art optimized models to improve the performance of the Convolutional Neural Network used in the app. This process has developed a lighter and more accurate model than the original one, which executes faster on all the tested devices. This also required to develop some previously unsupported operations for PolimiDL, the Deep Learning framework on which PeakLens is based; this is a core element for the application and, for this reason, its performance has been verified by comparing it with the framework proposed by Google: TensorFlow Lite.
FRAJBERG, DARIAN
ING - Scuola di Ingegneria Industriale e dell'Informazione
15-apr-2019
2017/2018
Al giorno d’oggi, il Deep Learning e il Computer Vision stanno avendo molto successo in vari campi. Attualmente c’è molto sforzo nel cercare di portare una così complessa tecnologia su dispositivi dall’hardware limitato e alcune Reti Convoluzionali ottimizzate assieme a tecniche di ottimizzazione sono state sviluppate per questa ragone. Nel mondo dei dispositivi mobili, il numero di applicazioni che stanno sfruttando il Deep Learning è costantemente in crescita e una delle prime in questo campo è stata PeakLens, un’applicazione di Realtà Aumentata che mostra il nome dei picchi delle montagne sfruttando la fotocamera del cellulare. Ciò richiede che l’algoritmo che vi sta dietro sia veramente efficiente e accurato, in modo da mantenere alte prestazioni senza sacrificare l’esperienza dell’utente. Considerato che la Rete Convoluzionale adottata gioca un ruolo importante negli algoritmi di PeakLens e che generalmente tali modelli sono pesanti da eseguire, questo lavoro affronta il problema dell’ottimizzazione valutando l’adozione di alcuni moduli, usati in modelli stato dell’arte, per migliorare le prestazioni della Rete Convoluzionale usata nell’app. Questo processo ha sviluppato un modello più leggero e accurato rispetto a quello originale, che esegue più velocemente su tutti i dispositivi testati. Ciò ha anche richiesto di sviluppare alcune operazioni precedentemente non supportate per PolimiDL, il framework di Deep Learning su cui PeakLens è basata. Questo è un elemento principale per l’applicazione e, per questa ragione, le sue prestazioni sono state verificate comparandolo con la soluzione proposta da Google: TensorFlow Lite.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
Thesis.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Testo della tesi
Dimensione 2.74 MB
Formato Adobe PDF
2.74 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/145578