SlideShare a Scribd company logo
1 of 13
Download to read offline
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Tesi di laurea magistrale
relatore
Ch.mo Prof Carlo Sansone
correlatori
Ing. Gabriele Piantadosi, Ph.D.
Ing. Stefano Marrone
candidato
Giuseppe Caliendo
Matr. M63/639
An Android Application for Image Super Resolution Through Deep
Learning
Anno Accademico 2017/18
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Context
Improvement of image quality through Super Resolution
Image Super Resolution (SR) with a single image input
Deep Learning to improve Super Resolution
Super Resolution in Mobile Environments
Contribution
Comparisons of different State-of-Art approaches to SR
Implementation of analyzed models in Tensorflow
Design and Development of an Android Application for Image Super
Resolution based on Tensorflow and Tensorflow Mobile.
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Super Resolution aims to recover a high-resolution (HR) version from a
low-resolution (LR) input.
SR approaches can be categorized as:
SISO : Single Input Single Output
MISO : Multiple Input Single Output
MIMO: Multiple Input Multiple Output
Super resolution is used when high-frequency details are
widely desired (es. Medical Imaging, Video
Surveillance, Media, Photography, …)
Single-image approaches: one single LR
image input – one single HR image output
Multi-frame approaches: merge more LR
images to produce a single HR one
Super Resolution
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
A LR Image is an acquired/processed image hindered by a variety of factors:
Imperfections of acquired devices
Instability of the observed scene
Presence of noise (usually White)
A LR image Y can be matematically modeled as:
Where:
Y : LR image
X : Original image (HR image)
D : Downsampling Process
H : Blurring Process
n : AWGN
Single Image Super Resolution (SISR)
෡𝑿
𝒀
≈
𝑿Approximating
Ill-posed Problem
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Tries to estimate the HR version of an LR image, learning from «Examples»
Examples: associations between subparts of LR images and HR image in a Dataset.
Generates optimized dictionaries through Trainable Machine Learning models
Output images composed of the HR version of the recognized “Concepts”
Depends on the size and on the variety of the dataset (may require a Large Dataset)
Deep Learning
Example-Based SISR
✓ Easy to Train
✓ Predetermined features
Classic ML Models:
× Handmade features extraction
× Task Dependence
× Predetermined Examples
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Goals:
Automatic features extraction
Optimization of the patch extraction
(examples generation) and
reconstruction phases
Steps:
1. Preprocessing:
▪ Upsampling of the input to the desired output size
through Interpolation
▪ Conversion input space from RGB to YCbCr. (Optional)
▪ Extraction of luminance component (Optional)
2. Patch extraction and representation
3. Generation of non-linear mapping: correspondence
between upscaled LR patches and HR patches
4. Reconstruction: Average of the HR version of the
overlapping patches Note on YCbCr space:
▪ More efficient train
▪ Luminance contains the most of the details
Early Deep Model for SISR: SRCNN [1]
[1]: Chao Dong, Chen Change Loy, Kaiming He, and Xiaoou Tang. Image super-
resolution using deep convolutional networks.
YRGB
Cb Cr
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
SISR with Deep Residual Learning
SRCNN problems:
As the depth increases, performance tends to deteriorate
(information degradation for vanishing gradient)
Receptive field limited to a single convolution
Training converges too slowly
The network only works for a single scale (fixed input size)
Deep Residual Learning:
Models are forced to learn residual
mapping functions.
Training is more efficient
Information input is continuously
powered within
the network
Implemented Models:
DRRN[3]:VDSR[2]
[2]: Jiwon Kim, Jung Kwon Lee, and Kyoung Mu Lee. Accurate image super-resolution using
very deep convolutional networks
[3]:Ying Tai, Jian Yang, and Xiaoming Liu. Image super-resolution via deep recursive
residual network.
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
From Training to Deployment
Competitors:
Interpolation Bicubic
Anchored Neighborhood Regression[4]
SRCNN (pretrained)
Datasets
Dataset #images #patch Tot.
Patch.
Batch
Size
#Batch
Train S. 800 => 4800
(after aug.)
8 38400 64 600
Valid. S. 100 16 1600 400 4
Test S. 214
(14+100+10)
-- -- -- --
Goals:
Produce a trained version of DRRN and VDSR
Compare with competitors
Porting of deep models on Android
[4]: Timofte, R., De Smet, V., & Van Gool, L. (2013). Anchored neighborhood regression for fast example-based super-resolution.
Training Set (TS) and Validation Set (VS):
DIV2K Dataset
Test Set (TS): Set14 (14 images), BSD100 (100
images), Urban100 Datasets (100 images)
A data augmentation was applied
From each image for TS and VS, 64x64 patches
were extracted, in order to increase the efficiency
of the training phase
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
DL Architecture:
Cloud Service Google Colab
GPU Hardware: NVIDIA Tesla K80
(Google Colab) with 2496 CUDA cores
and 12GB RAM
CuDNN: CUDA primitive for Deep Neural
Networks
Jupyter Notebook: Python Environment
DL Framework: Tensorflow 1.9
Experimental Setup
Deployment Architecture:
Android: TargetSDK 28 -minSDK 24
(Android 7.0 – 9.0)
NDK 14 (to compile
Tensorflow on Android)
Tensorflow Mobile 1.9 compiled for
ARMv7-a Application Processor
Testing on a Xiaomi Redmi Note 4X
Training Parameters:
Loss Function: MSE
Optimizer: Adam
Initial Learning Rate: 0.05
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Evaluation metrics
𝑴𝑺𝑬 =
𝟏
𝑴𝑵
෍
𝒊=𝟎
𝑴−𝟏
෍
𝒋=𝟎
𝑵−𝟏
[𝑿 𝒊, 𝒋 − 𝒀 𝒊, 𝒋 ] 𝟐
, 𝑷𝑺𝑵𝑹 = 𝟐𝟎 ∙ 𝒍𝒐𝒈 𝟏𝟎(
𝑴𝑨𝑿 𝑿
𝑴𝑺𝑬
)
𝑺𝑺𝑰𝑴 𝒙, 𝒚 =
(𝟐µ 𝒙µ 𝒚 + 𝒄 𝟏)(𝟐σ 𝒙𝒚 + 𝒄 𝟐)
µ 𝒙
𝟐
+ µ 𝒚
𝟐
+ 𝒄 𝟏 σ 𝒙
𝟐
+ σ 𝒚
𝟐
+ 𝒄 𝟐
PSNR:
Ratio between the maximum power of a signal and the power of noise
Noise is represented as MSE
SSIM:
Degradation of image quality Quantification
Based on visible structures in the image
Calculated on various windows of images.
Qualitative:
Based on Google Survey consisting in collections of 8 images generated by chosen
SISR models
Proposed to different users (90 submissions achieved) via Facebook
Occurence values were counted
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
Comparison between models output
Zebra from BSD100 Dataset.
a) Ground Truth b) Bicubic c) ANR
d) SRCNN e) DRRN f) VDSR
Experimental Results
VDSR behavior with faces never seen during
training
Quantitative comparisons of models
Dataset images: SISR on Test Set Real image: No Dataset
a)
b)
a) Original Image b) Output Image
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
SuRE! is a multi-thread android application for super-resolution on mobile devices. It works both with images
acquired from the device sensor and device storage. It implements SISR using the VDSR and DRRN models
Elapsed time (in seconds) of the
models on Xiaomi redmi Note4X
App Home Original Image Without SISR Whit SISR
Find me on
Google Play:
SuRE!
An Android Application for Image Super Resolution
Through Deep LearningScuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
SISR can be successfully performed on Android, both in terms of quality and performance
In terms of PSNR, the VDSR model is the best on all used test set, while, in terms of SSIM,
the SRCNN model is better on the SET14 dataset
The results of the survey reflect those of the PSNR (except for SRCNN)
DRRN requires a lower computational effort (resulting in lower execution time on tested
smartphone)
Conclusions
Future works
Improve the model to achieve better results through an Attention-based approach
and by using larger datasets
Explore if pre or post processing can improves the result (i.e.: sharpening)
Improve the Android app user experience
Provide real-time super resolution to live camera stream

More Related Content

What's hot

Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine Learningsafa cimenli
 
[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution
[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution
[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-ResolutionTaegyun Jeon
 
Word2vec algorithm
Word2vec algorithmWord2vec algorithm
Word2vec algorithmAndrew Koo
 
Deep learning for image super resolution
Deep learning for image super resolutionDeep learning for image super resolution
Deep learning for image super resolutionPrudhvi Raj
 
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)Universitat Politècnica de Catalunya
 
Real time machine learning
Real time machine learningReal time machine learning
Real time machine learningVinoth Kannan
 
Deep-Learning Based Stereo Super-Resolution
Deep-Learning Based Stereo Super-ResolutionDeep-Learning Based Stereo Super-Resolution
Deep-Learning Based Stereo Super-ResolutionNAVER Engineering
 
3-d interpretation from single 2-d image for autonomous driving II
3-d interpretation from single 2-d image for autonomous driving II3-d interpretation from single 2-d image for autonomous driving II
3-d interpretation from single 2-d image for autonomous driving IIYu Huang
 
Understanding deep learning requires rethinking generalization (2017) 2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017) 2 2(2)정훈 서
 
Human activity recognition
Human activity recognition Human activity recognition
Human activity recognition srikanthgadam
 
Image classification using convolutional neural network
Image classification using convolutional neural networkImage classification using convolutional neural network
Image classification using convolutional neural networkKIRAN R
 
Deep learning frameworks v0.40
Deep learning frameworks v0.40Deep learning frameworks v0.40
Deep learning frameworks v0.40Jessica Willis
 
PR-305: Exploring Simple Siamese Representation Learning
PR-305: Exploring Simple Siamese Representation LearningPR-305: Exploring Simple Siamese Representation Learning
PR-305: Exploring Simple Siamese Representation LearningSungchul Kim
 
Image Steganography Project Report
Image Steganography Project ReportImage Steganography Project Report
Image Steganography Project ReportVijayMaheshwari12
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Modelstaeseon ryu
 
Classifying Text using CNN
Classifying Text using CNNClassifying Text using CNN
Classifying Text using CNNSomnath Banerjee
 

What's hot (20)

Steganography: LSB technique
Steganography: LSB techniqueSteganography: LSB technique
Steganography: LSB technique
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine Learning
 
[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution
[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution
[OSGeo-KR Tech Workshop] Deep Learning for Single Image Super-Resolution
 
Word2vec algorithm
Word2vec algorithmWord2vec algorithm
Word2vec algorithm
 
Deep learning for image super resolution
Deep learning for image super resolutionDeep learning for image super resolution
Deep learning for image super resolution
 
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
Image Segmentation (D3L1 2017 UPC Deep Learning for Computer Vision)
 
Real time machine learning
Real time machine learningReal time machine learning
Real time machine learning
 
Deep-Learning Based Stereo Super-Resolution
Deep-Learning Based Stereo Super-ResolutionDeep-Learning Based Stereo Super-Resolution
Deep-Learning Based Stereo Super-Resolution
 
3-d interpretation from single 2-d image for autonomous driving II
3-d interpretation from single 2-d image for autonomous driving II3-d interpretation from single 2-d image for autonomous driving II
3-d interpretation from single 2-d image for autonomous driving II
 
Value iteration networks
Value iteration networksValue iteration networks
Value iteration networks
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Understanding deep learning requires rethinking generalization (2017) 2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017) 2 2(2)
 
Human activity recognition
Human activity recognition Human activity recognition
Human activity recognition
 
Image classification using convolutional neural network
Image classification using convolutional neural networkImage classification using convolutional neural network
Image classification using convolutional neural network
 
Deep learning frameworks v0.40
Deep learning frameworks v0.40Deep learning frameworks v0.40
Deep learning frameworks v0.40
 
BERT introduction
BERT introductionBERT introduction
BERT introduction
 
PR-305: Exploring Simple Siamese Representation Learning
PR-305: Exploring Simple Siamese Representation LearningPR-305: Exploring Simple Siamese Representation Learning
PR-305: Exploring Simple Siamese Representation Learning
 
Image Steganography Project Report
Image Steganography Project ReportImage Steganography Project Report
Image Steganography Project Report
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Models
 
Classifying Text using CNN
Classifying Text using CNNClassifying Text using CNN
Classifying Text using CNN
 

Similar to An Android App for Image Super Resolution using Deep Learning

Understanding the world in 3D with AI.pdf
Understanding the world in 3D with AI.pdfUnderstanding the world in 3D with AI.pdf
Understanding the world in 3D with AI.pdfQualcomm Research
 
Dataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problemsDataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problemsPetteriTeikariPhD
 
Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.IRJET Journal
 
Obscenity Detection in Images
Obscenity Detection in ImagesObscenity Detection in Images
Obscenity Detection in ImagesAnil Kumar Gupta
 
Generating 3 d model in virtual reality and analyzing its performance
Generating 3 d model in virtual reality and analyzing its performanceGenerating 3 d model in virtual reality and analyzing its performance
Generating 3 d model in virtual reality and analyzing its performanceijcsit
 
PR098: MegaDepth: Learning Single-View Depth Prediction from Internet Photos
PR098: MegaDepth: Learning Single-View Depth Prediction from Internet PhotosPR098: MegaDepth: Learning Single-View Depth Prediction from Internet Photos
PR098: MegaDepth: Learning Single-View Depth Prediction from Internet Photos광희 이
 
Digital_image_processing_-Vijaya_Raghavan.pdf
Digital_image_processing_-Vijaya_Raghavan.pdfDigital_image_processing_-Vijaya_Raghavan.pdf
Digital_image_processing_-Vijaya_Raghavan.pdfVaideshSiva1
 
From Conventional Machine Learning to Deep Learning and Beyond.pptx
From Conventional Machine Learning to Deep Learning and Beyond.pptxFrom Conventional Machine Learning to Deep Learning and Beyond.pptx
From Conventional Machine Learning to Deep Learning and Beyond.pptxChun-Hao Chang
 
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdfmokamojah
 
BEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors India
BEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors IndiaBEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors India
BEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors IndiaTutors India
 
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDSFACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDSIRJET Journal
 
Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr TeterwakLearn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr TeterwakPyData
 
Introduction talk to Computer Vision
Introduction talk to Computer Vision Introduction talk to Computer Vision
Introduction talk to Computer Vision Chen Sagiv
 
最近の研究情勢についていくために - Deep Learningを中心に -
最近の研究情勢についていくために - Deep Learningを中心に - 最近の研究情勢についていくために - Deep Learningを中心に -
最近の研究情勢についていくために - Deep Learningを中心に - Hiroshi Fukui
 
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)Universitat Politècnica de Catalunya
 
Scene recognition using Convolutional Neural Network
Scene recognition using Convolutional Neural NetworkScene recognition using Convolutional Neural Network
Scene recognition using Convolutional Neural NetworkDhirajGidde
 
Content-based image retrieval based on corel dataset using deep learning
Content-based image retrieval based on corel dataset using deep learningContent-based image retrieval based on corel dataset using deep learning
Content-based image retrieval based on corel dataset using deep learningIAESIJAI
 
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...IRJET Journal
 

Similar to An Android App for Image Super Resolution using Deep Learning (20)

Understanding the world in 3D with AI.pdf
Understanding the world in 3D with AI.pdfUnderstanding the world in 3D with AI.pdf
Understanding the world in 3D with AI.pdf
 
Dataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problemsDataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problems
 
Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.
 
Obscenity Detection in Images
Obscenity Detection in ImagesObscenity Detection in Images
Obscenity Detection in Images
 
Generating 3 d model in virtual reality and analyzing its performance
Generating 3 d model in virtual reality and analyzing its performanceGenerating 3 d model in virtual reality and analyzing its performance
Generating 3 d model in virtual reality and analyzing its performance
 
PR098: MegaDepth: Learning Single-View Depth Prediction from Internet Photos
PR098: MegaDepth: Learning Single-View Depth Prediction from Internet PhotosPR098: MegaDepth: Learning Single-View Depth Prediction from Internet Photos
PR098: MegaDepth: Learning Single-View Depth Prediction from Internet Photos
 
Digital_image_processing_-Vijaya_Raghavan.pdf
Digital_image_processing_-Vijaya_Raghavan.pdfDigital_image_processing_-Vijaya_Raghavan.pdf
Digital_image_processing_-Vijaya_Raghavan.pdf
 
DIP-Unit1-Session1.pdf
DIP-Unit1-Session1.pdfDIP-Unit1-Session1.pdf
DIP-Unit1-Session1.pdf
 
From Conventional Machine Learning to Deep Learning and Beyond.pptx
From Conventional Machine Learning to Deep Learning and Beyond.pptxFrom Conventional Machine Learning to Deep Learning and Beyond.pptx
From Conventional Machine Learning to Deep Learning and Beyond.pptx
 
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
 
BEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors India
BEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors IndiaBEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors India
BEST IMAGE PROCESSING TOOLS TO EXPECT in 2023 – Tutors India
 
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDSFACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
 
Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr TeterwakLearn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
 
Introduction talk to Computer Vision
Introduction talk to Computer Vision Introduction talk to Computer Vision
Introduction talk to Computer Vision
 
最近の研究情勢についていくために - Deep Learningを中心に -
最近の研究情勢についていくために - Deep Learningを中心に - 最近の研究情勢についていくために - Deep Learningを中心に -
最近の研究情勢についていくために - Deep Learningを中心に -
 
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
 
Scene recognition using Convolutional Neural Network
Scene recognition using Convolutional Neural NetworkScene recognition using Convolutional Neural Network
Scene recognition using Convolutional Neural Network
 
Content-based image retrieval based on corel dataset using deep learning
Content-based image retrieval based on corel dataset using deep learningContent-based image retrieval based on corel dataset using deep learning
Content-based image retrieval based on corel dataset using deep learning
 
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
 
Depth estimation using deep learning
Depth estimation using deep learningDepth estimation using deep learning
Depth estimation using deep learning
 

Recently uploaded

Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 

Recently uploaded (20)

Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 

An Android App for Image Super Resolution using Deep Learning

  • 1. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Tesi di laurea magistrale relatore Ch.mo Prof Carlo Sansone correlatori Ing. Gabriele Piantadosi, Ph.D. Ing. Stefano Marrone candidato Giuseppe Caliendo Matr. M63/639 An Android Application for Image Super Resolution Through Deep Learning Anno Accademico 2017/18
  • 2. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Context Improvement of image quality through Super Resolution Image Super Resolution (SR) with a single image input Deep Learning to improve Super Resolution Super Resolution in Mobile Environments Contribution Comparisons of different State-of-Art approaches to SR Implementation of analyzed models in Tensorflow Design and Development of an Android Application for Image Super Resolution based on Tensorflow and Tensorflow Mobile.
  • 3. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Super Resolution aims to recover a high-resolution (HR) version from a low-resolution (LR) input. SR approaches can be categorized as: SISO : Single Input Single Output MISO : Multiple Input Single Output MIMO: Multiple Input Multiple Output Super resolution is used when high-frequency details are widely desired (es. Medical Imaging, Video Surveillance, Media, Photography, …) Single-image approaches: one single LR image input – one single HR image output Multi-frame approaches: merge more LR images to produce a single HR one Super Resolution
  • 4. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica A LR Image is an acquired/processed image hindered by a variety of factors: Imperfections of acquired devices Instability of the observed scene Presence of noise (usually White) A LR image Y can be matematically modeled as: Where: Y : LR image X : Original image (HR image) D : Downsampling Process H : Blurring Process n : AWGN Single Image Super Resolution (SISR) ෡𝑿 𝒀 ≈ 𝑿Approximating Ill-posed Problem
  • 5. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Tries to estimate the HR version of an LR image, learning from «Examples» Examples: associations between subparts of LR images and HR image in a Dataset. Generates optimized dictionaries through Trainable Machine Learning models Output images composed of the HR version of the recognized “Concepts” Depends on the size and on the variety of the dataset (may require a Large Dataset) Deep Learning Example-Based SISR ✓ Easy to Train ✓ Predetermined features Classic ML Models: × Handmade features extraction × Task Dependence × Predetermined Examples
  • 6. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Goals: Automatic features extraction Optimization of the patch extraction (examples generation) and reconstruction phases Steps: 1. Preprocessing: ▪ Upsampling of the input to the desired output size through Interpolation ▪ Conversion input space from RGB to YCbCr. (Optional) ▪ Extraction of luminance component (Optional) 2. Patch extraction and representation 3. Generation of non-linear mapping: correspondence between upscaled LR patches and HR patches 4. Reconstruction: Average of the HR version of the overlapping patches Note on YCbCr space: ▪ More efficient train ▪ Luminance contains the most of the details Early Deep Model for SISR: SRCNN [1] [1]: Chao Dong, Chen Change Loy, Kaiming He, and Xiaoou Tang. Image super- resolution using deep convolutional networks. YRGB Cb Cr
  • 7. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica SISR with Deep Residual Learning SRCNN problems: As the depth increases, performance tends to deteriorate (information degradation for vanishing gradient) Receptive field limited to a single convolution Training converges too slowly The network only works for a single scale (fixed input size) Deep Residual Learning: Models are forced to learn residual mapping functions. Training is more efficient Information input is continuously powered within the network Implemented Models: DRRN[3]:VDSR[2] [2]: Jiwon Kim, Jung Kwon Lee, and Kyoung Mu Lee. Accurate image super-resolution using very deep convolutional networks [3]:Ying Tai, Jian Yang, and Xiaoming Liu. Image super-resolution via deep recursive residual network.
  • 8. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica From Training to Deployment Competitors: Interpolation Bicubic Anchored Neighborhood Regression[4] SRCNN (pretrained) Datasets Dataset #images #patch Tot. Patch. Batch Size #Batch Train S. 800 => 4800 (after aug.) 8 38400 64 600 Valid. S. 100 16 1600 400 4 Test S. 214 (14+100+10) -- -- -- -- Goals: Produce a trained version of DRRN and VDSR Compare with competitors Porting of deep models on Android [4]: Timofte, R., De Smet, V., & Van Gool, L. (2013). Anchored neighborhood regression for fast example-based super-resolution. Training Set (TS) and Validation Set (VS): DIV2K Dataset Test Set (TS): Set14 (14 images), BSD100 (100 images), Urban100 Datasets (100 images) A data augmentation was applied From each image for TS and VS, 64x64 patches were extracted, in order to increase the efficiency of the training phase
  • 9. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica DL Architecture: Cloud Service Google Colab GPU Hardware: NVIDIA Tesla K80 (Google Colab) with 2496 CUDA cores and 12GB RAM CuDNN: CUDA primitive for Deep Neural Networks Jupyter Notebook: Python Environment DL Framework: Tensorflow 1.9 Experimental Setup Deployment Architecture: Android: TargetSDK 28 -minSDK 24 (Android 7.0 – 9.0) NDK 14 (to compile Tensorflow on Android) Tensorflow Mobile 1.9 compiled for ARMv7-a Application Processor Testing on a Xiaomi Redmi Note 4X Training Parameters: Loss Function: MSE Optimizer: Adam Initial Learning Rate: 0.05
  • 10. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Evaluation metrics 𝑴𝑺𝑬 = 𝟏 𝑴𝑵 ෍ 𝒊=𝟎 𝑴−𝟏 ෍ 𝒋=𝟎 𝑵−𝟏 [𝑿 𝒊, 𝒋 − 𝒀 𝒊, 𝒋 ] 𝟐 , 𝑷𝑺𝑵𝑹 = 𝟐𝟎 ∙ 𝒍𝒐𝒈 𝟏𝟎( 𝑴𝑨𝑿 𝑿 𝑴𝑺𝑬 ) 𝑺𝑺𝑰𝑴 𝒙, 𝒚 = (𝟐µ 𝒙µ 𝒚 + 𝒄 𝟏)(𝟐σ 𝒙𝒚 + 𝒄 𝟐) µ 𝒙 𝟐 + µ 𝒚 𝟐 + 𝒄 𝟏 σ 𝒙 𝟐 + σ 𝒚 𝟐 + 𝒄 𝟐 PSNR: Ratio between the maximum power of a signal and the power of noise Noise is represented as MSE SSIM: Degradation of image quality Quantification Based on visible structures in the image Calculated on various windows of images. Qualitative: Based on Google Survey consisting in collections of 8 images generated by chosen SISR models Proposed to different users (90 submissions achieved) via Facebook Occurence values were counted
  • 11. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica Comparison between models output Zebra from BSD100 Dataset. a) Ground Truth b) Bicubic c) ANR d) SRCNN e) DRRN f) VDSR Experimental Results VDSR behavior with faces never seen during training Quantitative comparisons of models Dataset images: SISR on Test Set Real image: No Dataset a) b) a) Original Image b) Output Image
  • 12. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica SuRE! is a multi-thread android application for super-resolution on mobile devices. It works both with images acquired from the device sensor and device storage. It implements SISR using the VDSR and DRRN models Elapsed time (in seconds) of the models on Xiaomi redmi Note4X App Home Original Image Without SISR Whit SISR Find me on Google Play: SuRE!
  • 13. An Android Application for Image Super Resolution Through Deep LearningScuola Politecnica e delle Scienze di Base Corso di Laurea Magistrale in Ingegneria Informatica SISR can be successfully performed on Android, both in terms of quality and performance In terms of PSNR, the VDSR model is the best on all used test set, while, in terms of SSIM, the SRCNN model is better on the SET14 dataset The results of the survey reflect those of the PSNR (except for SRCNN) DRRN requires a lower computational effort (resulting in lower execution time on tested smartphone) Conclusions Future works Improve the model to achieve better results through an Attention-based approach and by using larger datasets Explore if pre or post processing can improves the result (i.e.: sharpening) Improve the Android app user experience Provide real-time super resolution to live camera stream