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.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.
https://hdl.handle.net/10589/145578