PROJ002 CMI : Projet en traitement et analyse d'image
Responsable: Jacques-Olivier Lachaud
Objectifs
Ce module constitue une initiation au monde de la recherche dans le laboratoire d'adossement du CMI Info. Plusieurs sujets en lien avec le traitement et l'analyse d'image et les thématiques développées dans le laboratoire sont proposés aux étudiants, chacun avec un tuteur identifié. Le projet nécessite de
Les étudiants CMI travaillent dans le laboratoire d'accueil sur ces sujets, qui comportent tous:
- découverte du sujet de recherche à partir de références bibliographiques
- appropriation du sujet précis visé et développement d'algorithmes répondant au problème posé.
- un point possible de contribution pour l'étudiant, qui constitue un apport nouveau au sujet.
Le projet se déroule en janvier, après le cours de traitement et analyse d'image, avec environ 25h de présentiel dans le laboratoire. A l'issue du projet, l'étudiant ou le groupe d'étudiant doit remettre un dépôt (github ou autre) présentant l'avancement de son travail, le code développé, un readme expliquant le sujet, décrivant les points saillants du travail réalisé et ainsi que comment se servir du code développé. Des exemples d'utilisation doivent aussi être donnés.
Sujets proposés 2022-2023
Réduction intelligente de taille d'image par "seam carving" or "liquid rescaling"
Si on réduit une image de manière non isotrope, par exemple, on veut passer de 1080x600 à 400x400, les éléments importants de l'image vont être déformés. L'approche proposée ici est d'éliminer les parties non importantes de l'image. Il se trouve que notre perception attache peu d'importance aux parties homogènes d'une image alors que nous distinguons très bien les parties à forte variation. Le principe du seam carving est d'éliminer 1 pixel par ligne (mettons). On pourrait donc essayer d'éliminer la colonne la plus homogène, mais ce n'est un peu trop rigide. On va plutôt tracer une colonne possiblement zigzaguante du haut vers le bas, qui minimise les variations de couleur. Cette "colonne" serait extraite par un algorithme d'optimisation. Une fois qu'on sait enlever une colonne, on peut recommencer le processus pour enlever plus de colonnes.
- Etape 1 : prototype
- comprendre le modèle énergétique du seam carving.
- faire les prétraitements nécessaires à son calcul (gradient notammen)
- mettre en place un algorithme de recherche du meilleur chemin
- faire alors les fonctions qui enlèvent une colonne et une ligne d'une image
- en déduire l'algorithme de réduction de résolution w x h vers w' x h', qui commence par une interpolation puis par éliminer seulement des lignes ou des colonnes
- Etape 2 : traitement temps-réel
- la méthode est presque parallélisable naturellement, au sens où l'algorithme d'optimisation peut donner plusieurs chemins candidats - mettre en place cette approche avec élimination de plusieurs chemins simultanées - voir si on peut aboutir à un traitement temps-réel d'un flux vidéo
- Etape 3 : amélioration possibles
- on peut travailler les énergies mises en place, changer l'espace des couleurs, ou mixer plusieurs modèles de réduction de résolution - on pourra s'inspirer aussi d'articles ayant amélioré cette méthode.
- Quelques liens pour démarrer
Scan de page par Webcam, redressement et amélioration d'image
Archive des projets réalisés
Projets réalisés 2021-2022
- R. Bouvier: Scan de page par WebCam
Projets réalisés 2020-2021
- R. Tournafond et A. Decouttère: Transfert de couleurs entre images par transport optimal par coupes