Master d'informatique - Image et 3D (I3D)
Liste chronologique des étapes d’admission
Etape
Validation d'une licence d'informatique
Modalités
Dossier via une plateforme Web (Parcours Sup, e-candidat, mon master, site web organisme de formation)
Lieu
transmission de documents (courrier postal ou électronique, dépôt sur un site web)
Bloc de compétences
Libellé descriptif du bloc
Tronc commun
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
Enseignements de parcours
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Libellé descriptif du bloc
Préparation et validation d’une immersion en entreprise (stage ou apprentissage)
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Issue(s) de l’action
Niveau de diplôme minimum pour accéder à l’action via une VAPP
Nombre minimum d’année(s) d’expérience continue
5.00
Caractéristiques de l’action
Famille(s) Métier concernée(s)
Publics ciblés
Etudiant en poursuite d'études
Salariés (plan de formation de l'entreprise)
Métier(s) ciblé(s)
Description détaillée
Niveau de diplôme minimum requis
Bac+3 / Niveau 6
Diplôme délivré
Master
Déroulement de l’action
Type(s) de parcours concerné(s)
Licence / Bachelor+ Master / Mastère
Modalité(s)
Durée globale
2.00
Unité
Année(s)
En Alternance
Non
Nombre d’heures en entreprise
1400
Précisions (fréquence, période, …)
Stage entre janvier et août de la seconde année ou apprentissage ou contrat de professionnalisation en équipe de recherche ou en entreprise.
Mise en situation : Insertion professionnelle / expérience sur un sujet de recherche.
Formation en alternance lors de la 2e année de Master possible
Rythme d'alternance hebdomadaire : 3 jours en entreprise et 2 jours à l'Université
Mise en situation : Insertion professionnelle / expérience sur un sujet de recherche.
Formation en alternance lors de la 2e année de Master possible
Rythme d'alternance hebdomadaire : 3 jours en entreprise et 2 jours à l'Université
Unité
Mois
Points de contact
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Responsable du suivi des apprenants
Civilité
Madame
Prénom
Alice
Nom
AGOSTINI
Téléphone
03 68 85 01 92
Mail
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
On
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Responsable Admission des stagiaires / étudiants
Responsable du suivi des apprenants
Civilité
Madame
Prénom
Scolarité
Nom
UFR de mathématique et d'informatique
Téléphone
+33 (0)3 68 85 01 23
Mail
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
Off
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Responsable Relations avec les Entreprises (pour stage/alternance)
Civilité
Monsieur
Prénom
Stéphane
Nom
CATELOIN
Téléphone
+33 (0)3 68 85 02 42
Mail
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
Off
Mobile
Affichage média(s) de contact dans le répertoire
Modalités pédagogiques
Outils pédagogiques
Moyens techniques
Bloc de compétence
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Compilation
Thème(s) abordé(s) dans le module
Cet enseignement présente les principes fondamentaux implémentés dans les compilateurs de langages de programmation, et généralise leurs concepts à tout traitement d’un texte source d’entrée : analyse et/ou transformation en un autre texte de sortie.
Les principales étapes de traduction d'un programme source par un compilateur sont étudiées :
- Analyse lexicale : expressions régulières, utilisation de l'outil Lex,
- Analyse syntaxique : analyses ascendantes et descendantes, grammaires LL/SLR/LALR, utilisation de l'outil Yacc/Bison,
- Traduction dirigée par la syntaxe : association d’actions aux règles de grammaire et d’attributs aux symboles de la grammaire,
- Génération de code intermédiaire : implémentation des principales structures de contrôle des langages de programmation,
- Optimisation de programmes : tour d’horizon des principales passes d’analyse et d’optimisation des compilateurs,
- Réalisation d’un mini-compilateur dans le cadre d’un projet par équipe.
Les principales étapes de traduction d'un programme source par un compilateur sont étudiées :
- Analyse lexicale : expressions régulières, utilisation de l'outil Lex,
- Analyse syntaxique : analyses ascendantes et descendantes, grammaires LL/SLR/LALR, utilisation de l'outil Yacc/Bison,
- Traduction dirigée par la syntaxe : association d’actions aux règles de grammaire et d’attributs aux symboles de la grammaire,
- Génération de code intermédiaire : implémentation des principales structures de contrôle des langages de programmation,
- Optimisation de programmes : tour d’horizon des principales passes d’analyse et d’optimisation des compilateurs,
- Réalisation d’un mini-compilateur dans le cadre d’un projet par équipe.
Titre du module
Algorithmique avancée
Thème(s) abordé(s) dans le module
Étude des principales stratégies algorithmiques : diviser pour régner, méthodes gloutonnes, programmation dynamique, branch and bound.Trois aspects sont abordés : la formalisation des problèmes, la conception des algorithmes, et l’analyse de leur complexité.
Titre du module
Sécurité
Thème(s) abordé(s) dans le module
Cette UE introduit les concepts de base de la sécurité de systèmes d'informations et présente son organisation en France. Elle explore les vulnérabilités auxquelles sont exposés les humains (mots de passe, ingénierie sociale), les systèmes (privilèges, confinement, concurrence), les services (web, accès distants) et les réseaux (écoute, authentification, déni de service). Elle traite des moyens de sécurisation techniques notamment la cryptographie, ainsi que les méthodologies de sécurité organisationnelles. Elle propose de mettre en œuvre ces notions au travers de divers travaux pratiques (manipulation de la bibliothèque openssl, gestion de certificats électroniques, filtrage, recherche de vulnérabilités, méthodologie d'attaque).
Titre du module
Calculabilité et complexité
Thème(s) abordé(s) dans le module
On décrit les modèles les plus généraux de calcul et de décision en informatique (qui sont équivalents) : machine de Turing, grammaire, fonction mu-récursive (avec cas particulier des fonctions récursives primitives). On précise la signification du non-déterminisme dans le calcul et la décision. Ensuite on donne les limites de ces modèles en montrant l'impossibilité de décider généralement certaines questions, comme l'arrêt d'une machine de Turing. Enfin on donne les classes fondamentales de complexité des algorithmes, P, NP et EXP, en particulier les problèmes NP-complets.
Titre du module
Programmation parallèle
Thème(s) abordé(s) dans le module
Cette unité d'enseignement étudie les concepts et la mise en œuvre de la programmation parallèle pour accélérer les traitements sur les architectures informatiques qui en sont capables. Les différentes architectures parallèles (machines vectorielles, multi-cœurs, clusters, accélérateurs matériels) y sont présentées ainsi que les différents types de parallélisme (parallélisme de tâches, de threads, d'instructions et de données) et leur efficacité (loi d'Amdahl, évaluation de performances). Cette UE abordera les techniques de parallélisation (analyse de dépendances, ordonnancement) et d'optimisation (localité mémoire, minimisation des communications). Les erreurs classiques de la programmation parallèle y sont détaillées (data race, défaut de synchronisation, incohérence des données), ainsi que les moyens de les identifier et les éviter. Les principes fondamentaux seront mis en oeuvre par la programmation multi-thread pour architecture à mémoire partagée en OpenMP, et par passage de messages pour architectures à mémoire distribuée en MPI.
Cet enseignement présentera :
- Les différents types d’architectures parallèles
- Les différentes méthodes de parallélisation d’applications
- Comment effectuer des mesures de performances fiables et vérifier l’efficacité d’une parallélisation
- Le langage MPI : communications point-à-point, communications collectives, communications non-bloquantes. Il est mis en oeuvre en TP par le développement de quelques applications types.
- Le langage OpenMP : directives de création de région parallèle, de partage de travail entre groupes de threads (boucles, sections, tâches), de synchronisation explicites. Il est mis en oeuvre en TP par la parallélisation de nombreux exemples de codes selon différentes techniques.
Un projet utilisant OpenMP et MPI est réalisé en binômes à la fin de cet enseignement
Cet enseignement présentera :
- Les différents types d’architectures parallèles
- Les différentes méthodes de parallélisation d’applications
- Comment effectuer des mesures de performances fiables et vérifier l’efficacité d’une parallélisation
- Le langage MPI : communications point-à-point, communications collectives, communications non-bloquantes. Il est mis en oeuvre en TP par le développement de quelques applications types.
- Le langage OpenMP : directives de création de région parallèle, de partage de travail entre groupes de threads (boucles, sections, tâches), de synchronisation explicites. Il est mis en oeuvre en TP par la parallélisation de nombreux exemples de codes selon différentes techniques.
Un projet utilisant OpenMP et MPI est réalisé en binômes à la fin de cet enseignement
Cours / Topos en synchrone (heures)
72.00
Travaux dirigés en synchrone (heures)
70.00
Travaux pratiques en groupe en synchrone (heures)
36.00
Nom du bloc de compétence
10103
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Fondements et algorithmes de l'imagerie numérique
Thème(s) abordé(s) dans le module
Cet enseignement introduit les notions fondamentales de l’imagerie numérique: pixels, connexité, topologie et algorithmes élémentaires de tracé.
Notions de Topologie digitale en 2D :
- Pixels, voxels et adjacence ;
- Connexité, composantes connexes ;
- Courbe discrète, dualité figure/fond ;
- Théorème de Jordan ;
- Trous,
- Arborescence des composantes ;
- Nombre d'Euler ;
- Reconstruction de composantes connexes ;
- Pixel simple, nombres de Yokoi ;
- Distances discrètes, masques de chanfrein, algorithmes de transformée de distances.
Algorithmique géométrique de base :
- Algorithme de tracés de segments de droite et de cercle ;
- Algorithme par lignes de balayage au travers de quelques algorithmes de base sur les polygones (remplissage, calcul de l’enveloppe convexe ou diagrammes de Voronoï).
Notions de Topologie digitale en 2D :
- Pixels, voxels et adjacence ;
- Connexité, composantes connexes ;
- Courbe discrète, dualité figure/fond ;
- Théorème de Jordan ;
- Trous,
- Arborescence des composantes ;
- Nombre d'Euler ;
- Reconstruction de composantes connexes ;
- Pixel simple, nombres de Yokoi ;
- Distances discrètes, masques de chanfrein, algorithmes de transformée de distances.
Algorithmique géométrique de base :
- Algorithme de tracés de segments de droite et de cercle ;
- Algorithme par lignes de balayage au travers de quelques algorithmes de base sur les polygones (remplissage, calcul de l’enveloppe convexe ou diagrammes de Voronoï).
Titre du module
Preuves assistées par ordinateur
Thème(s) abordé(s) dans le module
Cet enseignement présente une introduction à la vérification formelle des preuves et les assistants de preuve en utilisant le programme Coq. Cette matière développe des outils pour comprendre l'interaction entre la formalisation des résultats mathématiques et la programmation.
- Motivations. Logiciels critiques. Outils pour garantir la fiabilité des logiciels. Exemples d’utilisation des assistants de preuve pour prouver des propriétés mathématiques et la correction de systèmes informatiques critiques.
- Preuves en logique propositionnelle et calcul des prédicats
- Langages d’interaction à base de tactiques.
- Types énumérés, types produit et types somme.
- Structures de données inductives (listes, arbres), prédicats inductifs.
- Définitions, filtrage, fonctions récursives structurelles.
- Preuves par récurrence.
- Polymorphisme et arguments implicites.
- Fonctions d’ordre supérieur : fold, map.
- Sémantique de Brouwer/Heyting/Kolmogorov. Correspondance de Curry-Howard.
- Motivations. Logiciels critiques. Outils pour garantir la fiabilité des logiciels. Exemples d’utilisation des assistants de preuve pour prouver des propriétés mathématiques et la correction de systèmes informatiques critiques.
- Preuves en logique propositionnelle et calcul des prédicats
- Langages d’interaction à base de tactiques.
- Types énumérés, types produit et types somme.
- Structures de données inductives (listes, arbres), prédicats inductifs.
- Définitions, filtrage, fonctions récursives structurelles.
- Preuves par récurrence.
- Polymorphisme et arguments implicites.
- Fonctions d’ordre supérieur : fold, map.
- Sémantique de Brouwer/Heyting/Kolmogorov. Correspondance de Curry-Howard.
Titre du module
Programmation graphique 3D
Thème(s) abordé(s) dans le module
Cet enseignement introduit les notions de pipeline graphique ainsi que le fonctionnement d’une API graphique, tel OpenGl pour l’imagerie de synthèse.
Architecture d'une application graphique.
Pipeline graphique classique versus pipeline programmable.
Primitives graphiques et leur tramage (rasterization).
Vertex, Fragment et Geometry Shaders.
Buffer Objects.
Attributs.
Textures et leur usage : placage de textures, textures procédurales, bruits, pavages apériodiques, billboards, image-based rendering, environment mapping, bump mapping, displacement mapping, render to texture.
Shadow maps.
Geometry-buffer et rendu différé.
Exemples de shaders : rendu expressif et screen-space ambient occlusion.
Librairie graphique OpenGL 3.0 et GLSL
Architecture d'une application graphique.
Pipeline graphique classique versus pipeline programmable.
Primitives graphiques et leur tramage (rasterization).
Vertex, Fragment et Geometry Shaders.
Buffer Objects.
Attributs.
Textures et leur usage : placage de textures, textures procédurales, bruits, pavages apériodiques, billboards, image-based rendering, environment mapping, bump mapping, displacement mapping, render to texture.
Shadow maps.
Geometry-buffer et rendu différé.
Exemples de shaders : rendu expressif et screen-space ambient occlusion.
Librairie graphique OpenGL 3.0 et GLSL
Titre du module
Apprentissage pour l'image
Thème(s) abordé(s) dans le module
Ce cours vise à introduire les concepts fondamentaux de l'apprentissage machine appliqué à l'analyse d'images. Les notions présentées sont mises en application dans le cadre de travaux pratiques appliqués au domaine de l'image.
Les points abordés sont :
Introduction à la classification (non-supervisée et supervisée), modèle linéaire, régression linéaire, réduction de dimension (analyse en composantes principales).
Méthodes de classification supervisée : machines à vecteurs de support (SVM), k-plus proches voisins.
Réseaux de neurones : perceptrons multicouches, algorithme de rétropropagation du gradient.
Introduction aux réseaux de neurones convolutifs
Les points abordés sont :
Introduction à la classification (non-supervisée et supervisée), modèle linéaire, régression linéaire, réduction de dimension (analyse en composantes principales).
Méthodes de classification supervisée : machines à vecteurs de support (SVM), k-plus proches voisins.
Réseaux de neurones : perceptrons multicouches, algorithme de rétropropagation du gradient.
Introduction aux réseaux de neurones convolutifs
Cours / Topos en synchrone (heures)
50.00
Travaux dirigés en synchrone (heures)
12.00
Travaux pratiques en groupe en synchrone (heures)
62.00
Nom du bloc de compétence
10104
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Algorithmes distribués
Thème(s) abordé(s) dans le module
Cette unité d'enseignement présente différents modèles des systèmes distribués et traite des grandes catégories de problèmes théoriques liées à l'algorithmique distribuée. Pour chaque catégorie de problèmes, de nombreuses solutions algorithmiques sont présentées en fonction du contexte (modèle de communication et type d'architecture sous-jacente). Ces solutions, de leur complexité à leur démonstration, sont discutées et comparées en détail. Cette UE permet aussi de découvrir et de pratiquer un langage de spécification/vérification dédié aux algorithmes distribués, le langage Promela. D'autres aspects plus techniques sont également abordés en TP via la plateforme de simulation JBotSim.
Les algorithmes présentés dans ce cours traitent les problématiques suivantes dans le contexte des systèmes distribués :
- Horloges logiques, ordre total et précédence causale
- Mécanismes de diffusion pour la cohérence et le partage des données réparties
- Exclusion mutuelle.
- Élection d’un leader.
- Détection d’interblocage et de terminaison.
- Calcul d’un état global cohérent pour garantir des points de reprise fiables.
- Consensus.
- Blockchain.
- Protocoles de population.
- Essaim de robots.
- Spécifier et vérifier les grands principes algorithmiques d'une solution distribuée avec le langage Promela
Les algorithmes présentés dans ce cours traitent les problématiques suivantes dans le contexte des systèmes distribués :
- Horloges logiques, ordre total et précédence causale
- Mécanismes de diffusion pour la cohérence et le partage des données réparties
- Exclusion mutuelle.
- Élection d’un leader.
- Détection d’interblocage et de terminaison.
- Calcul d’un état global cohérent pour garantir des points de reprise fiables.
- Consensus.
- Blockchain.
- Protocoles de population.
- Essaim de robots.
- Spécifier et vérifier les grands principes algorithmiques d'une solution distribuée avec le langage Promela
Titre du module
Programmation avancée
Thème(s) abordé(s) dans le module
L’objectif de cette UE est de faire un tour d’horizon des principaux concepts des langages de programmation. Ce cours sera illustré de petits exemples écrits dans de nombreux langages différents afin d’illustrer les différents concepts.Les concepts suivants seront présentés:typage fort/faible, typage dynamique/statique, concept de compilation, interprétation, JIT, bytecode, VM, programmation objet orientée classe vs prototype polymorphisme ad-hoc et polymorphisme paramétrique, sous typage, héritage vs héritage multiple, traits et mixins, surcharge, gestion de la mémoire (GC, comptage de références, pointeurs intelligents), pointeurs et références, clôtures, liaison statique vs liaison dynamique, programmation par continuations, types de données algébriques, réutilisation et modèles de composants logiciels (design patterns), variance et covariance, genericité: modules/foncteurs/interfaces, meta-programmation.
Titre du module
Architecture des logiciels
Thème(s) abordé(s) dans le module
Les grands logiciels actuels ont une complexité telle que la définition d’une archi-tecture logicielle est devenue un préalable à leur conception. Ces architectures ont des impacts tant en termes de coûts de développement, de déploiement et d’exploitation qu’en termes de dimensionnement, d’efficacité énergétique ou de flux réseaux.Cet enseignement a pour objectif de présenter les principales notions utilisées dans les architectures logicielles et les impacts croisés entre l’architecture du logiciel et les contraintes opérationnelles. Les aspects pratiques sont centrés sur les outils et les métiers autour du DevOps.
Titre du module
Travail d'étude et de recherche - en anglais
Thème(s) abordé(s) dans le module
Cette UE est une ouverture aux travaux de recherche scientifique en général et à ceux du domaine de l'informatique en particulier. Son objectif est de présenter le domaine d'activité de la recherche scientifique (métiers, laboratoires, instituts, qu'ils soient publics ou privés), ses interactions avec la société, et former aux problématiques, méthodes et productions de la recherche en informatique (lecture et analyse critique d'articles scientifiques, prospective, outils et plateformes). Elle donnera un aperçu des problèmes ouverts dans les thématiques des équipes de recherche auxquelles s'adossent les différents parcours du master informatique. Elle proposera une première expérience de recherche, tuteurée par un chercheur ou un enseignant-chercheur, donnant lieu à un mémoire et une soutenance devant un jury composé de chercheurs et d'enseignants-chercheurs.
Cours / Topos en synchrone (heures)
70.00
Apprentissage et travaux pratiques en autonomie / asynchrone (heures)
150.00
Travaux dirigés en synchrone (heures)
28.00
Travaux pratiques en groupe en synchrone (heures)
40.00
Nom du bloc de compétence
10103
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Traitement d'images 1
Thème(s) abordé(s) dans le module
Cet enseignement introduit les notions de base du traitement d’images numériques, tels le filtrage et les transformées de Fourier en illustrant les concepts sur des applications de segmentation et reconnaissance de formes.
Opérations sur les contrastes et les histogrammes. Seuillage, double seuillage, et seuillage automatique. Filtres linéaires, lissage, rehaussement et accentuation d'arêtes. Filtre médian et autres filtres non-linéaires. Traitement des images binaires : squelettisation 2D, morphologie mathématique sur les ensembles : Opérateurs élémentaires. Granulométries. Opérateurs géodésiques,. Traitement d'images dans le domaine fréquentiel, Transformée de Fourier 2D, algorithme FFT.
Applications en conditions réelles : segmentation, reconnaissance de formes, outils d'évaluation ; illustration par l'analyse de scènes routières.
Opérations sur les contrastes et les histogrammes. Seuillage, double seuillage, et seuillage automatique. Filtres linéaires, lissage, rehaussement et accentuation d'arêtes. Filtre médian et autres filtres non-linéaires. Traitement des images binaires : squelettisation 2D, morphologie mathématique sur les ensembles : Opérateurs élémentaires. Granulométries. Opérateurs géodésiques,. Traitement d'images dans le domaine fréquentiel, Transformée de Fourier 2D, algorithme FFT.
Applications en conditions réelles : segmentation, reconnaissance de formes, outils d'évaluation ; illustration par l'analyse de scènes routières.
Titre du module
Courbes et surfaces pour la CAO 3D
Thème(s) abordé(s) dans le module
Présentation des modèles de courbes et surfaces de forme libre utilisés en Conception Assistée par Ordinateur dans les logiciels de CAO et mise en pratique dans une application 3D.
- Notions mathématiques sur les courbes et surfaces paramétriques : continuité, tangente, normale, courbure et torsion ;
- Courbes définies par interpolation de points : Lagrange, Hermite, Splines ;
- Courbes et carreaux de surfaces rectangulaires et triangulaires de Bézier ;
- Courbes et carreaux de surfaces B-Splines.
- Notions mathématiques sur les courbes et surfaces paramétriques : continuité, tangente, normale, courbure et torsion ;
- Courbes définies par interpolation de points : Lagrange, Hermite, Splines ;
- Courbes et carreaux de surfaces rectangulaires et triangulaires de Bézier ;
- Courbes et carreaux de surfaces B-Splines.
Titre du module
Géométrie numérique
Thème(s) abordé(s) dans le module
This unit introduces the fundamentals of digital geometry processing.
Lectures begin by presenting the acquisition processes (digitization) and the main discrete representations of 3D shapes. It then focuses on polygonal meshes and presents the mathematical and algorithmic tools allowing their analysis and modification. The practical sessions complete and put into practice the concepts seen in class, in particular through the realization of a real software project on this theme.
Lectures begin by presenting the acquisition processes (digitization) and the main discrete representations of 3D shapes. It then focuses on polygonal meshes and presents the mathematical and algorithmic tools allowing their analysis and modification. The practical sessions complete and put into practice the concepts seen in class, in particular through the realization of a real software project on this theme.
Titre du module
Réalité virtuelle et IHM
Thème(s) abordé(s) dans le module
Dans ce cours, nous allons apprendre les éléments techniques et l'aspect humain pour la conception d'un système de réalité virtuelle. De nombreux facteurs humains entrent en compte lors d’une expérience immersive en RV. Pour que l’environnement permette d’atteindre les objectifs souhaités, il est indispensable que le concepteur d’EV en tienne compte dans toutes les phases de développement du projet.
Une partie du cours sera consacrée à la prise en compte de l'humain dans la boucle Action-Perception. Les techniques d’animation d'un humain virtuel par ordinateur compléteront ces aspects. Enfin, une mise en pratique avec Unity sur des casques de RV finalisera l'acquisition des connaissances.
Une partie du cours sera consacrée à la prise en compte de l'humain dans la boucle Action-Perception. Les techniques d’animation d'un humain virtuel par ordinateur compléteront ces aspects. Enfin, une mise en pratique avec Unity sur des casques de RV finalisera l'acquisition des connaissances.
Cours / Topos en synchrone (heures)
54.00
Travaux dirigés en synchrone (heures)
20.00
Travaux pratiques en groupe en synchrone (heures)
48.00
Nom du bloc de compétence
10104
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Traitement et données large échelle
Thème(s) abordé(s) dans le module
Cet enseignement a pour objectif d'enseigner les principes du développement d’applications de calcul et de manipulation des données profitant des avantages offerts par les architectures distribuées modernes en terme de robustesse, de fiabilité et de scalabilité. Les systèmes de gestion de données NoSQL ainsi que les méthodes d'indexation efficaces pour des recherches optimisées sur des masses de données seront introduits. Les stratégies de fragmentation et de réplication de données adaptées aux architectures fortement distribuées seront présentées. La mise en place et la configuration d’architecture distribuées pour le calcul réparti seront traitées dans ce cours. Le paradigme de programmation map/reduce pour la répartition des traitements sera présenté et mis en pratique par l’utilisation des framework de calcul distribué Hadoop et Spark.
- Présentation des différents modèles de bases de données, en particulier des modèles dit NoSQL :
°Bases de données clé-valeur.
°Bases de données documents.
°Bases de données graphes.
°Autres modèles.
- Contrainte de la répartition sur la cohérence des données et sur les performances des opérations de manipulation de données. Théorème CAP.
- Architecture multi-maîtres. Architecture nœud primaire – nœuds secondaires.
- Fragmentation des données. Fragmentation horizontale et verticale. Fragmentation par intervalle, par fonction de hachage. Fragmentation dynamique : intervalle dynamique et hachage cohérent.
- Réplication. Écritures synchrone/synchrone. Mécanismes de résistances aux pannes.
- Paradigme de programmation Map/Reduce. Traduction d’algorithmes standards dans le paradigme de programmation Map/Reduce.
- Architecture pour le calcul répartie utilisant Map/Reduce :
°Systèmes de fichiers HDFS.
°Présentation des framework Hadoop et Spark
- Présentation des différents modèles de bases de données, en particulier des modèles dit NoSQL :
°Bases de données clé-valeur.
°Bases de données documents.
°Bases de données graphes.
°Autres modèles.
- Contrainte de la répartition sur la cohérence des données et sur les performances des opérations de manipulation de données. Théorème CAP.
- Architecture multi-maîtres. Architecture nœud primaire – nœuds secondaires.
- Fragmentation des données. Fragmentation horizontale et verticale. Fragmentation par intervalle, par fonction de hachage. Fragmentation dynamique : intervalle dynamique et hachage cohérent.
- Réplication. Écritures synchrone/synchrone. Mécanismes de résistances aux pannes.
- Paradigme de programmation Map/Reduce. Traduction d’algorithmes standards dans le paradigme de programmation Map/Reduce.
- Architecture pour le calcul répartie utilisant Map/Reduce :
°Systèmes de fichiers HDFS.
°Présentation des framework Hadoop et Spark
Titre du module
Projet de master
Thème(s) abordé(s) dans le module
Cet enseignement a pour objectif la réalisation d'un projet d'ampleur dans le domaine correspondant au parcours de master. Les étudiants y mettent en œuvre à la fois leur expertise technique et leur capacité à travailler en autonomie ou en équipe pour répondre à un maître d'ouvrage. Les sujets, tournés vers la R&D et l'innovation, sont proposés par des entreprises, des chercheurs ou par les étudiants eux-mêmes. Ils correspondent au niveau technique et organisationnel attendu de la part des diplômés de niveau master en informatique. Ils permettent aux étudiants de valoriser leur travail et d'augmenter leur visibilité pour leur entrée dans le monde professionnel ou leur poursuite d'études en doctorat.
Titre du module
Langue
Thème(s) abordé(s) dans le module
Objectifs linguistiques et langagiersn: travail individualisé sur la langue en fonction du niveau des étudiants et de leurs besoins leur permettant de viser des compétences C1 en master, soit en centre de ressources ou à distance.
Selon votre profil (filière et disponibilité horaire), vous aurez un choix plus ou moins large de modules d’anglais auxquels vous pourrez vous inscrire.
Selon votre profil (filière et disponibilité horaire), vous aurez un choix plus ou moins large de modules d’anglais auxquels vous pourrez vous inscrire.
Titre du module
Vie professionnelle
Thème(s) abordé(s) dans le module
Ce module est composé de quatre matières :
- Impact environnemental et sociétal du numérique
- Droit
- Communication
- Entrepreneuriat
- Impact environnemental et sociétal du numérique
- Droit
- Communication
- Entrepreneuriat
Cours / Topos en synchrone (heures)
96.00
Travaux dirigés en synchrone (heures)
40.00
Travaux pratiques en groupe en synchrone (heures)
6.00
Nom du bloc de compétence
10103
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Rendu et textures et preuves en géométrie
Thème(s) abordé(s) dans le module
Cet enseignement vise à approfondir la création d'images de synthèse par l'introduction d'algorithmes de lancer de rayons et de texturage.
- Optique : Spectre de lumière. Notions de radiométrie (flux, éclairement, radiance). Notions de photométrie. Métamérisme. Transport de lumière. Interaction lumière-matière. Réflectance d'une surface. Modèles de caméra.
- Rendu photoréaliste : Lancer de rayons. Illumination globale par lancer de rayons de Monte-Carlo. HDRI et Tone mapping. Eclairage par cartes d’environnement.
- Textures : modèles stochastiques et descripteurs de textures. Algorithmes de génération de texture.
- Matériaux : illumination locale ; modèles de BRDFs ; échantillonnage pour le lancer de rayons.
- Optique : Spectre de lumière. Notions de radiométrie (flux, éclairement, radiance). Notions de photométrie. Métamérisme. Transport de lumière. Interaction lumière-matière. Réflectance d'une surface. Modèles de caméra.
- Rendu photoréaliste : Lancer de rayons. Illumination globale par lancer de rayons de Monte-Carlo. HDRI et Tone mapping. Eclairage par cartes d’environnement.
- Textures : modèles stochastiques et descripteurs de textures. Algorithmes de génération de texture.
- Matériaux : illumination locale ; modèles de BRDFs ; échantillonnage pour le lancer de rayons.
Titre du module
Modélisation géométrique 3D
Thème(s) abordé(s) dans le module
- Maillages : subdivisions en sommets, arêtes, faces; séparation topologie-plongement ; opérations sur les maillages ; subdivision des maillages ; génération de maillages ;
- Notions sur les surfaces : décomposition cellulaire, caractéristique d'Euler, notion de genre et équation d'Euler, notion de variété, ouvertes ou fermées, orientable ou non ;
- Classification des surfaces.
- Représentations explicites : polyèdres et graphes d'incidence ;
- Représentations implicites : cartes et cartes généralisées ; chaînes de cartes ;-
- 2-cartes, 2-cartes multirésolutions et 2-g-cartes : études des caractéristiques, orbites, composantes connexes, hypervolumes et orientabilité, bords et fermetures, structures de données.
- Association d'un modèles de plongement (Bézier, Gregory, Surfaces de subdivisions) ;
- Mise en pratique dans la plateforme de modélisation géométrique CGoGN.
- Notions sur les surfaces : décomposition cellulaire, caractéristique d'Euler, notion de genre et équation d'Euler, notion de variété, ouvertes ou fermées, orientable ou non ;
- Classification des surfaces.
- Représentations explicites : polyèdres et graphes d'incidence ;
- Représentations implicites : cartes et cartes généralisées ; chaînes de cartes ;-
- 2-cartes, 2-cartes multirésolutions et 2-g-cartes : études des caractéristiques, orbites, composantes connexes, hypervolumes et orientabilité, bords et fermetures, structures de données.
- Association d'un modèles de plongement (Bézier, Gregory, Surfaces de subdivisions) ;
- Mise en pratique dans la plateforme de modélisation géométrique CGoGN.
Titre du module
Traitement d'images 2
Thème(s) abordé(s) dans le module
Imagerie numérique 3D : Composantes, trous et cavités, nombre d'Euler-Poincarré. Squelettisation: voxels et ensembles simples, algorithmes. Courbure discrète.
Morphologie mathématique : Opérateurs élémentaires. Granulométries. Opérateurs géodésiques, filtres connexes. Ligne de partage des eaux. Hiérarchies. Arbre des coupes, arbre des formes, arbre binaire des partitions..
Géométrie Discrète : Différents cadres de discrétisation des objets et des opérateurs. Propriétés des discrétisations des primitives linéaires et quadratiques (droites, plans, hyperplans, coniques). Reconstruction d'informations qualitatives et quantitatives : Reconstruction de propriétés topologiques et géométriques, Polygonalisation et facettesation, Estimations des caractéristiques différentielles (tangente, courbure, etc.), Estimateurs de mesures. Éléments de tomographie discrète : reconstruction des matrices et des convexes (algorithmes de Ryser et de BDNP), conditions d'unicité.
Morphologie mathématique : Opérateurs élémentaires. Granulométries. Opérateurs géodésiques, filtres connexes. Ligne de partage des eaux. Hiérarchies. Arbre des coupes, arbre des formes, arbre binaire des partitions..
Géométrie Discrète : Différents cadres de discrétisation des objets et des opérateurs. Propriétés des discrétisations des primitives linéaires et quadratiques (droites, plans, hyperplans, coniques). Reconstruction d'informations qualitatives et quantitatives : Reconstruction de propriétés topologiques et géométriques, Polygonalisation et facettesation, Estimations des caractéristiques différentielles (tangente, courbure, etc.), Estimateurs de mesures. Éléments de tomographie discrète : reconstruction des matrices et des convexes (algorithmes de Ryser et de BDNP), conditions d'unicité.
Titre du module
CAMS - Computer Assisted Medicine and Surgery
Thème(s) abordé(s) dans le module
This lecture will present theoretical and practical aspects of 3D modeling, visualization, vision, image processing, and associated algorithms, applied to medical imaging. The practical part will involve training to 3D Slicer, vtk/itk libraries, and opencv.
Introduction to medical images: types, acquisition devices and techniques
Basic algorithms and tools for medical imaging: denoising, segmentation, registration, 3D reconstruction, computer vision, object tracking (optical, electromagnetic) and 3D pose estimation
Introduction to vtk/itk libraries: usual data structures, notion of filter, algorithms, practice
Application of the above notions under the 3D Slicer toolkit: introduction to the GUI, base/component architecture, data manager, 2D-3D visualization. Introduction to 3D Slicer programming: python console, modules / python extensions programming. Refresher on GUIs, callback functions, QT widgets. Vtk objects in 3D Slicer, interaction with volumes (3D images) and models (meshes), interactive points, generated objects (sources), programmatic object modification, application of filters. Opencv.
Image-guided surgery: preoperative planning, intraoperative navigation and guidance, geometric optimization, virtual and augmented reality. Theory, examples, and use cases.
A project based on a real-life use case will be implemented at the end of the course.
Introduction to medical images: types, acquisition devices and techniques
Basic algorithms and tools for medical imaging: denoising, segmentation, registration, 3D reconstruction, computer vision, object tracking (optical, electromagnetic) and 3D pose estimation
Introduction to vtk/itk libraries: usual data structures, notion of filter, algorithms, practice
Application of the above notions under the 3D Slicer toolkit: introduction to the GUI, base/component architecture, data manager, 2D-3D visualization. Introduction to 3D Slicer programming: python console, modules / python extensions programming. Refresher on GUIs, callback functions, QT widgets. Vtk objects in 3D Slicer, interaction with volumes (3D images) and models (meshes), interactive points, generated objects (sources), programmatic object modification, application of filters. Opencv.
Image-guided surgery: preoperative planning, intraoperative navigation and guidance, geometric optimization, virtual and augmented reality. Theory, examples, and use cases.
A project based on a real-life use case will be implemented at the end of the course.
Cours / Topos en synchrone (heures)
78.00
Travaux dirigés en synchrone (heures)
4.00
Travaux pratiques en groupe en synchrone (heures)
38.00
Nom du bloc de compétence
10104
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Accompagnement de stage
Thème(s) abordé(s) dans le module
Recherche du stage et insertion dans l’entreprise ou le laboratoire.
Suivi et encadrement du stage, via des bilans intermédiaires.
Rédaction du mémoire et préparation de la soutenance.
Suivi et encadrement du stage, via des bilans intermédiaires.
Rédaction du mémoire et préparation de la soutenance.
Cours / Topos en synchrone (heures)
26.00
Nom du bloc de compétence
10105
Etape(s) concernée(s)
Etape du parcours
Label attribué
Non
Période(s) de démarrage d’une session (promotion)
Zone géographique
Adresse
Pôle API - Bâtiment J, 300 Boulevard Sébastien Brant - 67412 Illkirch Graffenstaden cedex
Mois de début
Nombre minimum d’apprenants par session
10
Nombre maximum d’apprenants par session
20
Domaine de compétences du diplôme
Présentation générale
Le parcours I3D du master forme des concepteurs et des développeurs d’applications en informatique. Outre des étudiants capables de s’adapter à des technologies en évolution constante et maîtrisant les méthodes, les outils et les environnements de l’informatique (conception et développement de logiciels), le master forme des spécialistes de l'imagerie numérique : modélisation géométrique, réalité virtuelle, rendu, traitement de l’image, CAO/CFAO, gestion de banques multimédia, vision par ordinateur, GMCAO, etc.