359 views
--- title: PROJ601_CMI (Main) Projet de recherche tuteuré --- PROJ601_CMI (Main) Projet de recherche tuteuré === > [name=Jacques-Olivier Lachaud][time=April 2023][color=#907bf7] ###### tags: `proj601` [TOC] # Objectifs Ce module constitue une initiation à la recherche dans le laboratoire d'adossement du CMI Info. Plusieurs sujets en lien avec l'informatique et les thématiques développées dans le laboratoire sont proposés aux étudiants, chacun avec un tuteur identifié. Les étudiants CMI travaillent dans le laboratoire d'accueil sur ces sujets, qui comportent : * découverte du domaine de recherche à partir de références bibliographiques progressives * appropriation du sujet précis visé grâce à des articles, du code, des ressources disponibles en ligne * un point possible de contribution pour l'étudiant, qui constitue un apport nouveau au sujet * ou un prototype logiciel mettant en oeuvre une solution possible au problème posé. > Le projet démarre pendant le S6 puis, sur les 3 dernières semaines en temps plein dans le laboratoire, après la fin des cours en L3. Suivant les années, l'étudiant doit * soit remettre un mémoire synthétisant son travail (présentation du contexte et du sujet, synthèse de l'état de l'art, contributions) * soit faire un exposé d'une quinzaine de minutes sur son travail * et donner un dépôt (github, ...) si il y a des sources associés. Suivant les années et la taille de la promotion, le travail peut se faire en monôme, binôme ou trinôme. Pour 2023-2024, ce sera en monômes ! Tous les projets proposés sont en lien avec le cours [VISI601_CMI Algorithmique numérique](https://codimd.math.cnrs.fr/s/IWTaBkA9m). Ils donnent lieu à la réalisation d'un prototype en `python`, qui utilise `numpy`, `scipy` et `polyscope` pour la visualisation. Les projets se font par binômes. # Sujets Pour les nombreuses utilisation du Laplacien en traitements géométriques de maille, on peut consulter: * [Laplacian Mesh Processing](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/sorkhine-2005.pdf) de Sorkhine * [Spectral Mesh Processing](https://dl.acm.org/doi/abs/10.1145/1837101.1837109) de Lévy et Zhang Ca peut donner des idées de sujets. 1. **Calcul de distances et de géodésiques sur des surfaces triangulées**, via la méthode proposée dans **[Geodesics in Heat](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/crane-2013.pdf)** de Crane, Weischedel et Wardetsky. - adaptation de la méthode (vue en TP) ) à des mailles, via un Laplacien de graphe, puis via un Laplacien de cotangentes - calcul des distances à des sources - calcul de géodésiques (i.e. plus courts chemins) 2. **Restauration d'image** via la méthode de **[diffusion anisotrope](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/perona-malik-1990.pdf)** de Perona et Malik (Amélie Hacque) - compréhension de la méthode et de ses différences avec la diffusion isotrope - mise en oeuvre de l'algorithme numérique par une sorte d'Euler explicite - extension de l'algorithme par le [tenseur de diffusion et applications aux images couleur](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/weickert-1999.pdf) de Weickert. - tests sur des images, comparaison de PSNR. 3. **Paramétrisation de surfaces triangulées**, soit via la méthode **[Least Squares Conformal Maps](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/LSCM_SIGGRAPH_2002.pdf)** de Lévy, Petitjean, Ray et Maillot, soit via **[Spectral Conformal parametrization](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/SpectralConformal08.pdf)** de Mullen, Tong, Alliez et Desbrun. - calcul d'une paramétrisation avec la [méthode de Tutte](https://codimd.math.cnrs.fr/s/GGhM7E8DX) - calcul d'une paramétrisation avec l'une des méthodes données sans analyse spectrale (deux points contraints et moindres carrés), observation des défauts - calcul d'une paramétrisation avec méthode spectrale sans contraintes 4. **Estimation de la géométrie locale** à l'aide des **[Wavejets: A Local Frequency Framework for Shape Details Amplification](https://hal.science/hal-01722993v1/document)** de Béarzi, Digne, Chaine (Matteo Luque) - se familiariser avec les polynomes de Zernike et les osculating jets - implanter les fonctions de base et l'estimation des wavejets d'ordre k sur un nuage de points - tester l'estimation de la géométrie locale, comme les courbures, les points "selle" ou "col" - ou tester l'amplification des détails - fabriquer des surfaces connues (via des polynômes) et vérifier la convergence des estimations de courbures 5. **Estimation des courbures** à l'aide des **[Mesures de courbures corrigées et interpolées](https://jacquesolivierlachaud.github.io/publication/lachaud-2020-cgf/)** de Lachaud, Coeurjolly, Romon et Thibert (Enzo Mauti) - se familiariser avec la notion de courbure et la difficulté de définir des courbures sur des surfaces triangulées - comprendre et implémenter les fonctions linéaires locales qui estiment les courbures par triangle ou quadrangle - vérifier la sensibilité au bruit et l'importance du rayon d'estimation - fabriquer des surfaces connues (e.g. un tore) et vérifier la convergence des estimations de courbures 6. **Débruitage de surfaces triangulées** par la méthode de **[Filtrage bilatéral de normales](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/zheng-bilateral-2011.pdf)**, de Zheng, Fu, Au, and Tai - comprendre le principe de filtrer normales et positions pour débruiter les surfaces, et son intérêt pour préserver des zones avec des arêtes vives - implémenter la méthode et la tester sur des mailles bruitées. # Ressources ## Cours et travaux pratiques * le cours [VISI601_CMI - Algorithmique numérique](https://codimd.math.cnrs.fr/s/IWTaBkA9m) * vos TPs : * [TP1 Algèbre linéaire numérique](https://codimd.math.cnrs.fr/s/xzt9WtbXL) * [TP2 Equations de diffusion et débruitage d'image](https://codimd.math.cnrs.fr/s/2eAHYbDfE) * [TP3 Calcul de distances et de plus courts chemins via des équations différentielles](https://codimd.math.cnrs.fr/s/yDOjwPbxr) ## Aides python / numpy / scipy / images / maillages * [Images en python (numpy, matplotlib)](https://codimd.math.cnrs.fr/s/uatRBXalq) * [Maillages en python (numpy,polyscope)](https://codimd.math.cnrs.fr/s/TmrOWEmyJ) ## Données * Archive de fichiers d'objets 3D en format OBJ (mise à jour du 20/4/2023) : [Mesh.zip](https://jacquesolivierlachaud.github.io/lectures/info601cmi/Proj601cmi/Mesh.zip) # Archive Les projets réalisés par les étudiants les années précédentes sont archivés [ici](https://codimd.math.cnrs.fr/s/eBITsJoz_). L'an dernier, c'était : * Paul AUBRY, Alexandre DESBOS, Baptiste GRIVA [Simplification de surfaces triangulées](https://github.com/aubrypau/surfaceSimplification) * Maxent BERNIER, Emilien BOITOUZET, Luca POLICASTRO [Calcul de surfaces minimales](https://github.com/MaxBuster380/PROJ602) * Théo CONNETABLE, Andrien MONTMAYEUR [Restauration d'image par diffusion anisotrope](https://github.com/theoconnetable/restauration-d-image.git) * Nolann SANMARTI [paramétrisation de surfaces triangulées]( https://github.com/Nosirn/PROJ602_CMI/)