Les réseaux de neurones artificiels sont composées d’unités de calcul élémentaires qui (selon un modèle simplifié des neurones biologiques) calculent le produit scalaire du vecteur d’entrée par un filtre, et donnent comme sortie une fonction non-linéaire du résultat. Lorsque ces neurones artificiels sont disposés en réseau selon une structure de graphe spécifiée, leurs paramètres (filtres) peuvent être optimisées pour approximer une grande variété de fonctions, à condition de disposer d’une quantité de données d’apprentissage suffisante.
Bien que les réseaux de neurones artificiels soient bien connus depuis les années 60, c’est seulement à partir de 2012 que l’apprentissage profond s’est imposé comme une technique d’apprentissage automatique dominante qui a progressivement battu les techniques plus traditionnelles dans plusieurs domaines de la vision artificielle tels que la reconnaissance de formes, la segmentation, la détection d’objets, entre autres.
Cette première révolution du deep learning a concerné uniquement des tâches de classification qui pouvaient être résolues sans avoir recours à d’autres disciplines. L’application du deep learning à la restauration et synthèse d’images a mis un peu plus de temps à émerger et à s’imposer. Et pour cause, dans la plupart des cas, afin d’obtenir des images de bonne qualité visuelle, et des systèmes assez flexibles pour répondre à une grande variété de situations, il a été nécessaire d’allier le deep learning pur à d’autres techniques plus classiques des problèmes inverses en traitement d’images, telles que : l’optimisation convexe, les méthodes bayésiennes, l’analyse de Fourier ou le transport optimal.
L’objectif de ce cours est de présenter et prendre en main (via des travaux pratiques) les principes sous-jacents permettant d’obtenir des systèmes de restauration et de synthèse d’images performants. Pour cela nous allons présenter plusieurs manières d’allier les avantages du deep learning à celle d’autres branches des mathématiques appliquées.
Programme
Partie 1: Apprentissage profond bout-à-bout
Dans cette série de cours nous allons revisiter les notions de base du deep learning, et présenter les architectures et techniques d’apprentissage bout-à-bout qui ont été appliquées avec succès à certains problèmes de restauration d’images: débruitage, super-résolution, estimation de profondeur. Nous allons aussi mettre en évidence certaines limitations de ces modèles.
-
Séance 1 – Cours (Ladjal – 2h)(Transparents et sujet TP): Réseaux convolutionnels, méthodes de gradient stochastique, réseaux résiduels, application au débruitage [Zhang et al 2017], avec bruit variable [Zhang et al 2018], et a la sur-résolution [ref].
-
Séance 2 – TP associé (Ladjal – 3h): DnCNN, FFDNet, Adversarial Examples
Partie 2: Plug & Play
Il est habituel en restauration d’images de disposer d’un modèle de dégradation d’images très précis et explicite, alors qu’il est très difficile de décrire de manière très précise un modèle a priori valable pour toutes les images naturelles. Les modèles variationnels de restauration d’images minimisent une fonctionnelle (-log probabilité a posteriori) qui s’écrit comme un terme d’attache aux données (modèle de dégradation ou -log probabilité conditionnelle) plus un terme de régularisation (-log probabilité a priori), et se contentent de modèles de régularisation explicites tels que la variation totale. Cependant ces modèles sont souvent trop simplistes pour tenir compte de toute la richesse des images naturelles.
Les méthodes de type plug & play [Meinhardt et al 2017; Romano et al 2017; Chan et al 2017] se servent de méthodes de descente proximale alternée tels que ADMM ou Chambolle Pock (très utilisés en optimisation convexe non-lisse) pour garder le terme d’attache aux données explicite, mais substituer le terme de regularisation par un modèle de régularisation basé sur l’apprentissage profond.
-
Séance 3 – Cours (Almansa – 3h) – Slides : Approches bayésiennes pour les problèmes inverses. Descente proximale alternée (ADMM & Chambolle Pock), RED, Plug & Play et conditions de convergence. Application aux problèmes inverses en imagerie.
-
Séance 4 – TP associé (Almansa – 3h): (Possibly modified) CNN denoiser as a regularizer for inverse problems in imaging (Ryu et al 2019; Xu et al 2020). Téléchargez le code et le jupyter notebook ici: http://up5.fr/delires
- Séance 8 – Cours (Almansa – 3h) – Slides : Plug & Play methods with a generative priors. Links to bi-convex optimization. Application to inverse problems in imaging. This session takes place after part 3 where GANs and VAEs are introduced.
Partie 3: Modèles génératifs
Les travaux des 3 dernières années indiquent que les réseaux de neurones convolutionnels peuvent fournir une représentation de l’image dans un espace transformé dans lequel il est plus aisé d’apprendre un modèle statistique à la fois réaliste et manipulable des images naturelles.
Moyennant (i) un apprentissage statistique dans l’espace transformé sur une image d’example, et (ii) une technique d’inversion du réseau, plusieurs auteurs ont fourni des outils très puissants pour la synthèse d’images d’une certaine classe. Les différentes approches diffèrent
-
dans leurs choix de réseau pour changer d’espace de représentation (un réseau entrainé pour la classification d’images dans [Gatys et al 2015; Liu et al 2016], un auto encodeur dans [Jetchev et al 2016], une transformée scattering dans [Dokmanić et al 2016; Angles & Mallat 2018])
-
dans la façon d’inverser le réseau (gradient stochastique ou réseau décodeur)
-
Séance 5 – Cours+TP (Ladjal 3h) : Révision de méthodes classiques de synthèse de textures. Méthode de Gatys pour la synthèse de textures. Elimination d’artefacts avec des contraintes spectrales [Liu & Gousseau 2016]. Variante pour le transfert de style. + Ulyanov’s Deep Image Prior.
-
Séance 6 – Cours+TP (Newson/Almansa 3h) (Transparents) : Auto-encodeurs et auto-encodeurs variationnels comme modèles génératifs. Effet de la régularisation sur les autoencodeurs. TP sur MNIST et éventuellement sur une base de données de visages avec un réseau plus grand. [Kingma & Welling 2013; Dinh et al. 2016; Newson et al 2019].
-
Lien de rendu de TP sur les VAE: https://partage.imt.fr/index.php/s/XmEBPkCfKRpco2H
-
- Lien de TP GAN : https://perso.telecom-paristech.fr/anewson/doc/mva/tp_mva_gan_pytorch_for_students.ipynb
- Lien de rendu du TP GAN : https://partage.imt.fr/index.php/s/PqzEpAJ5bex4Bop
Bibliographie
Zhang, K., Zuo, W., Chen, Y., Meng, D., & Zhang, L. (2017). Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising. IEEE Transactions on Image Processing, 26(7), 3142–3155. doi:10.1109/TIP.2017.2662206
Zhang, K., Zuo, W., & Zhang, L. (2018). FFDNet: Toward a Fast and Flexible Solution for CNN based Image Denoising. IEEE Transactions on Image Processing. doi:10.1109/TIP.2018.2839891
Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. In (MICCAI) International Conference on Medical Image Computing and Computer-Assisted Intervention (pp. 234–241). doi:10.1007/978-3-319-24574-4_28
Eigen, D., & Fergus, R. (2016). Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture. In ICCV (Vol. 11–18–Dece, pp. 2650–2658).
Carvalho, M., Le-Saux, B., Trouvé, P., Almansa, A., & Champagnat, F. (2018). ON REGRESSION LOSSES FOR DEEP DEPTH ESTIMATION. In ICIP 2018.
Carvalho, M., Saux, B. Le, Trouvé-Peloux, P., Almansa, A., & Champagnat, F. (2018). Deep Depth from Defocus: how can defocus blur improve 3D estimation using dense neural networks? In ECCV Workshop – 3D Reconstruction in the Wild. arXiv:1809.01567
Kim, J., Lee, J. K., & Lee, K. M. (2016). Deeply-Recursive Convolutional Network for Image Super-Resolution. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (pp. 1637–1645). IEEE. doi:10.1109/CVPR.2016.181
Meinhardt, T., Moeller, M., Hazirbas, C., & Cremers, D. (2017). Learning Proximal Operators: Using Denoising Networks for Regularizing Inverse Imaging Problems. In (ICCV) International Conference on Computer Vision (pp. 1781–1790). arXiv:1704.03488
Romano, Y., Elad, M., & Milanfar, P. (2017). The Little Engine That Could: Regularization by Denoising (RED). SIAM Journal on Imaging Sciences, 10(4), 1804–1844. doi:10.1137/16M1102884
Chan, S. H., Wang, X., & Elgendy, O. A. (2017). Plug-and-Play ADMM for Image Restoration: Fixed-Point Convergence and Applications. IEEE Transactions on Computational Imaging, 3(1), 84–98. doi:10.1109/TCI.2016.2629286
Ryu, E. K., Liu, J., Wang, S., Chen, X., Wang, Z., & Yin, W. (2019). Plug-and-Play Methods Provably Converge with Properly Trained Denoisers. In ICML. arXiv:1905.05406
Xu, X., Sun, Y., Liu, J., Wohlberg, B., & Kamilov, U. S. (2020). Provable Convergence of Plug-and-Play Priors with MMSE denoisers, (4), 1–10. arXiv:2005.07685
González, M., Preciozzi, J., Musé, P. and Almansa, A., “Joint denoising and decompression using CNN regularization” (2018), CVPR Workshop and Challenge on Learned Image Compression. hal-01825573
González, M., Delbracio, M., Musé, P., Almansa, A., Tan, P., Delbracio, M., … Tan, P. (2019). Solving Inverse Problems by Joint Posterior Maximization with a VAE Prior. arXiv:1911.06379
Gatys, L. A., Ecker, A. S., & Bethge, M. (2015). Texture Synthesis Using Convolutional Neural Networks. NIPS 2015, 1–10. arxiv:1505.07376
Liu, G., Gousseau, Y., & Xia, G.-S. (2016). Texture Synthesis Through Convolutional Neural Networks and Spectrum Constraints. Retrieved from arXiv:1605.01141
Jetchev, N., Bergmann, U., & Vollgraf, R. (2016). Texture Synthesis with Spatial Generative Adversarial Networks, (ii). Retrieved from arXiv:1611.08207
Dokmanić, I., Bruna, J., Mallat, S., & de Hoop, M. (2016). Inverse Problems with Invariant Multiscale Statistics. Retrieved from arXiv:1609.05502
Harchaoui, W., Mattei, P-A., Bouveyron, C. and Almansa, A. (2018) “Wasserstein Adversarial Mixture Clustering”, hal-01827775
Genevay, A., Peyré, G., & Cuturi, M. (2017). GAN and VAE from an Optimal Transport Point of View, 1–6. Retrieved from arXiv:1706.01807
Arjovsky, M., Chintala, S., & Bottou, L. (2017). Wasserstein GAN. Retrieved from arXiv:1701.07875
Xie, J., Lu, Y., Zhu, S.-C., & Wu, Y. N. (2016). A Theory of Generative ConvNet. In PMLR (Vol. 48, pp. 2635–2644). Retrieved from arXiv:1602.03264
Kingma, D. P., & Welling, M. (2013). Auto-Encoding Variational Bayes. ICLR, (Ml), 1–14. doi:10.1051/0004-6361/201527329
Dinh, L., Sohl-Dickstein, J., & Bengio, S. (2016). Density estimation using Real NVP. NIPS 2016 – Deep Learning Symposium, arXiv:1605.08803
Newson, A., Almansa, A., Gousseau, Y., & Ladjal, S. (2019). Processing Simple Geometric Attributes with Autoencoders. Journal of Mathematical Imaging and Vision, arXiv:1904.07099, doi:10.1007/s10851-019-00924-w