Durée
24h Th, 10h Pr, 50h Proj.
Nombre de crédits
Enseignant
Langue(s) de l'unité d'enseignement
Langue anglaise
Organisation et évaluation
Enseignement au deuxième quadrimestre
Horaire
Unités d'enseignement prérequises et corequises
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement
Le programme est structuré en modules, chacun se concentrant sur une tâche spécifique de vision par ordinateur, couvrant les trois principaux piliers : (1) les données, c'est-à-dire les entrées/sorties attendues pour chaque tâche, illustrées par diverses représentations de données et bases de données couramment utilisés, (2) les méthodes, c'est-à-dire les stratégies clés pour résoudre chaque tâche, y compris les principales tendances et les architectures les plus importantes, et (3) l'évaluation, c'est-à-dire les approches d'évaluation et de classement des méthodes. Tout au long du cours, des applications pratiques des tâches seront introduites.
Les cours se concentreront sur : (1) la classification et la segmentation sémantique, (2) la détection et le comptage d'objets, (3) l'identification et la ré-identification, (4) le suivi d'objets et de particules, (5) la calibration de caméras et la reconstruction de l'état du jeu, (6) la compréhension multi-vues et la synthèse de nouvelles vues, (7) la compréhension 3D (reconnaissance, segmentation, détection et reconstruction), (8) l'estimation de la pose 2D et 3D, (9) la localisation d'événements, (10) les tâches de référenciation, (11) le sous-titrage-, et (12) les requêtes visuelles et de langage.
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement
Ce cours présente les tâches clés de la vision par ordinateur, structurées autour de trois piliers : les données, les méthodes et l'évaluation. Les étudiants prendrons également part dans un projet de 50 heures, en appliquant les concepts des cours à des tâches pratiques.
A la fin du cours, les étudiants seront capables de :
- Comprendre les principales tâches de vision par ordinateur et les définir clairement à travers les trois piliers.
- Décomposer une application complexe en sous-tâches plus petites et concevoir des solutions appropriées pour chacune d'entre elles.
- D'évaluer correctement les résultats des différentes tâches et de l'application dans son ensemble.
Savoirs et compétences prérequis
L'étudiant doit être familiarisé avec la programmation en Python.
Activités d'apprentissage prévues et méthodes d'enseignement
Les leçons théoriques introduiront les étudiants à diverses tâches de vision par ordinateur à travers les trois piliers: les données, les méthodes et l'évaluation, tout en mettant en évidence les applications pratiques.
Des sessions d'exercices permettront aux étudiants d'acquérir les compétences nécessaires pour leurs projets, en démontrant comment mettre en uvre un pipeline de vision par ordinateur en Python via des Jupyter notebooks. Ces sessions se concentreront également sur l'optimisation des flux pour le traitement de grands volumes de données et de fichiers vidéo en utilisant des bibliothèques efficaces (par exemple, Decord et NVIDIA DALI) et en parallélisant les calculs sur plusieurs GPU (par exemple, Distributed Parallel et PyTorch Lightning). En outre, ils couvriront la mise en uvre en temps réel sur des dispositifs embarqués (par exemple, NVIDIA Jetson Nano et TX2).
Les projets seront réalisés en groupes de 2 à 4 étudiants, en fonction de l'échelle de l'application choisie, qui doit incorporer au moins deux tâches de vision par ordinateur, qu'elles aient été abordées en classe ou en dehors du cadre du cours. Des exemples de sujets seront fournis, mais les étudiants sont encouragés à proposer leur projet afin d'encourager la créativité. Les projets peuvent être mis en uvre sur un dispositif embarqué, un ordinateur personnel ou un serveur de calcul, en mettant l'accent sur le traitement en temps réel. Chaque membre du groupe sera responsable d'au moins une tâche.
L'évaluation du projet comprendra un rapport technique reflétant la structure à trois piliers, ainsi qu'une présentation et une démonstration en direct devant la classe. Les étudiants disposeront de temps pendant les heures de cours pour travailler sur leurs projets, avec le soutien de l'instructeur et de l'assistant pour les questions-réponses. Afin d'assurer une bonne gestion du temps, des livrables réguliers seront demandés tout au long du quadrimestre.
Mode d'enseignement (présentiel, à distance, hybride)
Cours donné exclusivement en présentiel
Informations complémentaires:
Les cours théoriques seront donnés ex-cathedra.
Les sessions d'exercices auront également lieu en personne, les étudiants travaillant sur leurs ordinateurs portables à l'aide d'outils à distance librement accessibles tels que Google Colab, ou de serveurs tels qu'Alan, auxquels il est possible d'accéder via des navigateurs web standard.
Des séances de questions-réponses et de travail sur des projets seront organisées à la fois en personne et en ligne.
Supports de cours, lectures obligatoires ou recommandées
Informations complémentaires:
Des diapositives seront fournies pour les cours théoriques.
Pour les sessions d'exercices, des carnets Jupyter seront fournis pour guider les étudiants dans les tâches pratiques.
Chaque cours proposera également des ressources externes telles que des livres ou des articles scientifiques, qui, bien que non obligatoires, peuvent aider les étudiants à acquérir des connaissances supplémentaires sur différents sujets.
Modalités d'évaluation et critères
Examen(s) en session
Toutes sessions confondues
- En présentiel
évaluation écrite
Travail à rendre - rapport
Informations complémentaires:
L'évaluation du cours sera basée à la fois sur un projet et sur un examen écrit. L'évaluation du projet comprendra les rapports techniques soumis au cours de l'année, ainsi que la présentation et la démonstration finales.
Stage(s)
Remarques organisationnelles et modifications principales apportées au cours
Contacts
Anthony Cioppa (anthony.cioppa@uliege.be)