Projet "Imagerie Numérique"

DÉROULEMENT DU PROJET

L'objectif du projet de l'UE Imagerie numérique est de vous permettre de montrer vos compétences acquises sur les différents outils qui ont été abordés durant le semestre. Ce projet va se dérouler selon les modalités suivantes :

MODALITÉS D'ENVOI

Comme pour les exercices effectués durant le semestre, les différentes versions du projet, ainsi que les fichiers associés seront déposés dans votre dossier habituel sur votre espace www au CREMI. Le quota par étudiant sur cet espace est de 5 Go, donc vous aurez largement la place, même si vous souhaitez y mettre des fichiers volumineux comme des vidéos.

Pour avoir une organisation homogène pour l'ensemble des binômes, tous les fichiers du projet doivent être placés dans le dossier PROJET au sein de votre dossier "secret" habituel. Tous les fichiers auxiliaires (données, images, vidéos, etc) utilisés par votre notebook Jupyter devront être copiés dans ce dossier, ce qui permet d'utiliser des liens locaux à l'intérieur de votre notebook.

Pour les fichiers de données utilisés par votre scène 3D, la mise en oeuvre est un peu plus complexe. En effet, le logiciel Wings3D permet d'utiliser soit le mode interne, soit le mode externe pour stocker les images correspondant aux textures des objets :
  1. Dans le mode interne, l'image est directement insérée dans le fichier Wings, ce qui permet de garantir que les textures vont toujours être trouvées par l'application, même si vous copiez le fichier d'un dossier à un autre, ou même d'une machine à une autre.
  2. A l'inverse, dans le mode externe, seul un lien vers le fichier contenant l'image est stocké dans le fichier Wings, ce qui veut dire que le fichier d'origine (PNG ou JPG) doit impérativement être fourni avec le fichier Wings pour y avoir accès. L'avantage est que cela crée des fichiers Wings plus petits (puisque les textures restent à part), mais l'énorme inconvénient est que le lien entre le fichier Wings et l'image sur disque dépend du système d'exploitation. Par conséquent, les images externes d'une scène Wings modélisée sous MacOS, ne pourront pas être récupérés facilement sous Windows ou Linux, et vice versa.
Pour éviter ce problème dans le cadre de votre projet, il est donc indispensable d'utiliser le mode interne pour toutes images qui sont incluses dans votre scène. Le mode externe est le mode par défaut lorsque vous utilisez la commande Import Image présente dans le menu File (ou lorsque vous faites glisser une image vers l'intérieur de la fenêtre Wings en partant de l'explorateur de fichiers). Il est donc nécessaire de convertir chaque image importée en mode interne, en faisant un clic droit sur le nom de l'image dans la zone Outliner et d'activer la commande Make Internal.

A l'inverse, lorsque vous utilisez la commande Screenshot du menu Tools, l'image générée est en mode interne par défaut. Donc si vous voulez utiliser des copies d'écran pour les insérer dans votre notebook afin de créer le making-of, il faut commencer par convertir ces screenshots en mode externe. A nouveau, il suffit de faire un clic droit sur le nom de l'image dans la zone Outline et d'activer cette fois-ci la commande Make External.

SUJETS "IMAGERIE 2D"

L'objectif du sujet 2D est de choisir une des thématiques listées ci-dessous, d'effectuer une recherche bibliographique et webographique sur ce domaine, de produire une documentation (cellules de texte, en langage Markdown) résumant ce que vous avez pu trouver comme éléments scientifiques liés à ce domaine, ainsi qu'un programme (cellules de code, en langage Python) permettant de mettre en oeuvre (avec les outils vus en TD, principalement les packages numpy, pillow, skimage) quelques unes des techniques logicielles utilisées dans la thématique choisie.

Comme pour toute recherche bibliographique, l'intégralité des sources utilisées pour la rédaction des cellules de texte doivent être minitieusement référencées (le plus simple est de privilégier des pages web et des vidéos en ligne, facilement identifiable par une URL). La même règle s'applique pour les cellules de code : vous n'êtes pas obligé d'écrire l'intégralité du code Python que vous mettez dans votre notebook, mais il faudra impérativement mettre les références pour me permettre de retrouver le code d'origine. De même, si vous utilisez du code créé par une IA générative, il faudra mettre l'ensemble des prompts ayant permis la génération du code. Dans tous les cas, vous devrez mettre des explications sur le fonctionnement du code fourni, le relier aux notions abordées dans les cellules de texte, et inclure plusieurs exemples d'utilisation de ce code dans votre notebook. Il est important de rappeler que vous ne pouvez pas installer de nouveaux packages dans l'environnement Jupyter du CREMI, il faut donc vérifier que le code importé est bien compatible avec les bibliothèques qui sont déjà installées sur les postes du CREMI.

Voici la liste des 18 thématiques proposées au choix, avec pour chacune d'elle, un premier pointeur bibliographique sous la forme d'une page Wikipedia. J'ai systématiquement mis un lien sur la version anglaise des pages Wikipedia concernées, car il y a souvent plus de détails que dans la version française de la même page. Mais de toutes manières pour chacune des thématiques, vous trouverez plein d'informations en français sur le web.

Il faut noter que toutes ces thématiques sont à géométrie variable, c'est-à-dire que c'est vous qui allez choisir le niveau de complexité que vous souhaitez atteindre, en fonction du temps que vous avez prévu de passer sur cette partie 2D. Concrètement, une version de base du texte explicatif peut tenir sur une trentaine de lignes et une version de base du code peut s'écrire en une dizaine de lignes, mais chaque thématique est suffisamment riche pour vous permettre d'approfondir votre recherche et de rendre un texte et un code extrêmement dense. Si vous le voulez, vous pouvez même aborder plusieurs des thématiques proposées et montrer qu'elles constituent des parties d'une thématique plus vaste. Evidemment, la notation sera adaptée en fonction de la quantité et de la qualité du travail réalisé.

SUJET "IMAGERIE 3D"

L'objectif du sujet 3D est d'utiliser Wings pour produire une scène 3D relativement complexe, mélangeant les différentes techniques (géométriques et photométriques) que nous avons abordées durant le semestre. En plus du fichier Wings qui contiendra la scène 3D, il faudra créer dans le notebook du projet, une partie consacrée à fournir un making-of des différentes étapes nécessaires pour la création des objets composant la scène.

Comme pour les exercices bonus, l'idée est d'utiliser la commande Screenshot de Wings3D pour générer les images nécessaires au making-of. Mais à la différence des exercices bonus, les screenshots devront être transformées en images externes (cf. Modalités d'envoi ci-dessus) pour pouvoir les insérer dans le notebook à rendre, puis de rajouter la description des opérateurs à utiliser. Le notebook-squelette projet.ipynb donne un exemple de construction d'un noeud torique, pour illustrer le type d'informations à fournir. Il n'est pas nécessaire de détailler toutes les étapes de tous les objets : vous choisissez deux ou trois objets principaux dans votre scène et vous mettez entre 8 et 12 images pour chacun d'eux.

Le choix de la scène à créer est totalement libre. La seule contrainte est qu'elle contienne les cinq éléments suivants :
  1. Au moins un objet 3D avec une géométrie et/ou une topologie complexe
  2. Au moins un objet 3D avec une texture 2D (via la commande UV-mapping)
  3. Au moins un objet 3D avec une texture 3D (via la commande Vertex Colors) ou des matériaux différents (via la commande Materials)
  4. Au moins un objet 3D avec texture, importé d'un site quelconque (format OBJ ou autre) et ajusté à votre scène
  5. Inclusion de la scène dans un environnement texturé (sphère, cylindre ou cube)
  6. Optionnel : Rendu photo-réaliste de la scène avec le moteur de rendu Yafaray présenté en cours
  7. Super Optionnel : Vidéo d'animation photo-réaliste de la scène (création image par image avec le moteur de rendu, puis montage vidéo)

CRITERES DE NOTATION

Comme indiqué ci-dessus, l'objectif de votre travail est de valoriser les compétences que vous avez pu acquérir dans le domaine de l'imagerie numérique, depuis le début du semestre. Autrement dit, plus vous allez intégrer des outils variés dans votre travail, plus votre note finale aura des chances d'être élevée.

...
Christophe Schlick