Introduction à l'Imagerie Numérique - Projets de validation du cours
Julie Delon et Yann Gousseau
L'objectif de chaque projet est d'approfondir un point particulier du cours sous la forme d'une étude d'article et d'une étude expérimentale. Pour chaque projet, il faut donc lire, comprendre, implémenter la méthode et la tester expérimentalement pour en apporter une analyse critique. Selon la difficulté d'implémentation informatique, la partie expérimentale consistera en la modification d'un code existant ou l'élaboration d'un code complet. Les précisions concernant ce point sont données par des descriptifs plus précis des sujets lorsque c'est nécessaire.
Merci d'envoyer trois choix, ordonnés par ordre de préférence, à julie.delon[ at ]parisdescartes.fr et à yann.gousseau[ at ]telecom-paristech.fr
Si vous n'avez pas de préférence entre les 3-4 sujets demandés, merci de l'indiquer.
Autant que possible, privilégiez le travail en binôme. Les soutenances seront individuelles.
Restauration d'image
Projet très général de réseaux de neurones pour la restauration d’image, sans entraînement coûteux sur une base. Le code est disponible en ligne (demande d'utiliser la librairie Pytorch de Python). Le but du projet est de partir du code des auteurs et de tester les limites de la méthode (changement d'architecture, etc), il faudra donc modifier leur code.
Le "bilateral solver" est un filtre permettant de régulariser une image tout en préservant ses contours. Il a de nombreuses applications en restauration, photo computationnelle ou vision par ordinateur, et peut être intégré dans un pipeline de deep learning.
Synthèse de Texture
- Synthèse de texture par transport optimal de patchs
- Synthèse de texture par réseaux convolutionnels 1 (poids aléatoires)
- Synthèse de texture par réseaux convolutionnels 2 (contrainte de spectre)
- Synthèse de texture par réseaux convolutionnels 3 (version multi-échelles)
- Texton pour la synthèse de textures. Voir aussi cette page.
Photo computationnelle
Consistance temporelle pour la vidéo numérique
Cette méthode permet d'ajouter de la cohérence temporelle à une vidéo qui a été traitée image par image par un algorithme de traitement (par exemple : balance des blancs, transfert de couleur, etc). La méthode repose sur une simple formulation variationnelle et un calcul de flot optique (on pourra réutiliser une méthode existante pour le flot). On recodera la méthode en Python et on la testera sur plusieurs exemples de courtes vidéos. On proposera aussi une comparaison avec l'approche Learning Blind video consistency, qui effectue la même tâche avec un apprentissage par réseaux.
Colorisation d'images
La colorisation d'image est un problème inverse mal posé (plusieurs images couleurs correspondent à la même image en niveaux de gris). Les méthodes de colorisation d'image essaient donc généralement de construire l'image couleur "la plus probable" à partir de l'image en niveau de gris fournie.
- Learning Diverse Image Colorization + code des auteurs ici (Python + Tensorflow)
Cette méthode utilise un autoencodeur variationnel (VAE) pour apprendre une représentation de basse dimension de l'espace des couleurs d'une image. Cette représentation peut être utilisée pour produire plusieurs colorisation vraisemblables d'une image.