Network & Filesystem: Doing less cross rings memory copy
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos clients
1.
2. 2
Pour vous accompagner
Kevin MESSY
Product Marketing Manager
@Scaleway
Fabien DA SILVA
Product Manager AI
@Scaleway
Olga PETROVA
AI Team
@Scaleway
3. + 300
collaborateurs
6 datacenters
Clients dans plus de
160 pays
• Division Cloud d’
• Cloud Souverain, leader Européen, pionnier du Bare Metal
• TOP 10 WORLD’S CSP
The Cloud That Makes Sense
3
8. « Super Resolution »
Augmenter la résolution de vos photos grâce au
Deep Learning
8
9. 9
Pourquoi cet exemple ?
- Résolution des capteurs photos x45 en ~20 ans !
- 2000 : 0.35 MP à 2019 : 16 MP
- Diversité des résolutions dans nos photothèques
- Augmentation de la résolution des écrans
- Et aussi : « Vidéo upscaling »
Comment améliorer la résolution de
nos anciennes Photos ?
Source: https://www.sammobile.com/2019/05/24/infographic-evolution-samsung-smartphone-cameras/
10. 10
« Upscaling »
- Produire une image « Haute Résolution » à partir
d’une image « Basse Résolution »
- Techniques classiques par Interpolations
- Estimer la valeur de pixels manquants dans
une image en se basant sur les pixels
adjacents
- Limites : l’image reste floue
Source – Interpolation : https://www.youtube.com/watch?v=lmUxbRY7H2I
11. 11
- Produire une image « Haute Résolution » à
partir d’une image « Basse Résolution »
- Techniques classiques par Interpolations
- Techniques basées sur de l’IA / Deep Learning
- Domaine de recherche actif
- Beaucoup de techniques (GAN, ..)
+/- Complexes
+/- Performantes
Source : https://towardsai.net/p/machine-learning/reading-esrgan%E2%80%8A-%E2%80%8Aenhanced-super-resolution-generative-adversarial-networks-super-resolution
« Upscaling »
12. 12
Objectif de la Démo
- Multiplier par 2 la résolution d’une image
- Introduction à « l’Upscaling » (Deep Learning)
- Méthode simple…pas la plus performante …
- … mais très bons résultats compte tenu de la simplicité !
?
Basse
Résolution
60x60
Image d’origine
Haute Résolution
120x120
Résultat
« Super Résolution »
60x60 à 120x120
13. 13
Deep Learning
- Approche simple : Réseau de Neurones à seulement 4 couches !
- Convolutions/Relu
à Extraire de nombreux « filtres » de l’image basse résolution
- Sub-Pixel Convolution
à Convolution + « PixelShuffle »
à Pour recombiner les « filtres » collectés en une image de
résolution supérieure
Convolution/Relu
Sub-Pixel
Convolution
Convolution/Relu
Convolution/Relu
!
!
14. 14
Deep Learning : Convolution 101
à Extraire de nombreux« filtres » de l’image basse résolution
à En fonction des paramètres de la convolution
à Les dimension Hauteur/Largeur peuvent changer
à Le nombre de filtres en sortie augmente
Source : https://github.com/vdumoulin/conv_arithmetic
15. 15
- Sub-Pixel convolution = Convolution + « PixelShuffle »
Source : https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Shi_Real-Time_Single_Image_CVPR_2016_paper.pdf
torch.nn.PixelShuffle(upscale_factor: int)
Rearranges elements in a tensor of shape (∗,C×r2,H,W) to a tensor of shape (∗,C,H×r,W×r)
Deep Learning : Sub-pixel Convolution 101
17. 17
Bilan
- Simplicité / Performance
- D’autres techniques à base de GAN, plus complexes, et avec de meilleurs résultats encore
- Bonne surprise : notre modèle semble généraliser assez bien à d’autres contextes
- Au moins pour le San Francisco Bay bridge / datasets de visages
- On notera quand même des imperfections sur les lignes géométriques du pont
- Probablement lié à l’absence de « ligne droite » dans le dataset d’entrainement
Notre modèle:
- Entrainé sur un dataset (propriétaire) de 600 000 images
de visages
- Entrainement sur une RENDER-S (Nvidia P100)
- 3-4 minutes / epoch
- Modèle entrainés sur 20 epochs
18. 18
Pour aller plus loin
Ne manquez pas notre nouveau
tutoriel pour apprendre à
entrainer vos propres modèles !
20. 20
! Synthèse
« Super Resolution »
• Un exemple concret et utile d’IA au service du B2C
• Une technique de Deep Learning simple mais efficace pour bien
débuter
• Sub-Pixel convolutions = Convolution + « PixelShuffle »
• Opportunité d’explorer des techniques plus avancées
Code source de la démo :
• Code source de la démo : Github fdasilva59
• Tutoriel pour entrainer vos propres modèles sur le site de Scaleway
Community Slack
" # $%
Faite nous savoir vos besoins,
souhaits, vos problématiques, et
questions concernant le
domaine de l’IA !