Duration
24h Th, 10h Pr, 50h Proj.
Number of credits
Lecturer
Language(s) of instruction
English language
Organisation and examination
Teaching in the second semester
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
The curriculum is structured into modules, each focusing on a specific computer vision task, covering the three main pillars: (1) the data, i.e., the expected input/output for each task, illustrated with various data representations and datasets commonly used, (2) the methods, i.e., key strategies to solve each task, including major trends and prominent architectures, and (3) the evaluation, i.e., approaches to evaluating and ranking methods. Throughout the course, practical applications of the tasks will be introduced.
The lectures will focus on: (1) Classification and semantic segmentation, (2) object detection and counting, (3) identification and re-identification, (4) object and particle tracking, (5) camera calibration and game state reconstruction, (6) multi-view understanding and novel view synthesis, (7) 3D understanding (recognition, segmentation, detection, and reconstruction), (8) 2D and 3D pose estimation, (9) event localization, (10) grounding tasks, (11) captioning and dense video captioning, and (12) visual and language queries.
Learning outcomes of the learning unit
This course introduces key computer vision tasks, structured around the three pillars: data, methods, and evaluation. Students will also engage in a 50-hour project, applying the concepts from lectures to hands-on tasks.
At the end of the course, students will be able to:
- Understand most major computer vision tasks and define them clearly through the three pillars.
- Decompose a complex application into smaller subtasks and design appropriate solutions for each.
- Properly evaluate the outcomes for different tasks and the overall application.
Prerequisite knowledge and skills
The student shall be familiar with Python programming.
Planned learning activities and teaching methods
Theoretical lessons will introduce students to various computer vision tasks through the three key pillars: data, methods, and evaluation, while highlighting practical applications.
Exercise sessions will equip students with the necessary skills for their projects, demonstrating how to implement a computer vision pipeline in Python via Jupyter notebooks. These sessions will also focus on optimizing workflows for handling large datasets and video files using efficient libraries (e.g., Decord and NVIDIA DALI) and parallelizing computations across multiple GPUs (e.g., Distributed Parallel and PyTorch Lightning). Additionally, they will cover real-time implementation on embedded devices (e.g., NVIDIA Jetson Nano and TX2).
Projects will be carried out in groups of 2 to 4 students, depending on the scale of the chosen application, which must incorporate at least two computer vision tasks, whether covered in class or outside the scope of the course. Example topics will be provided, but students are encouraged to propose their project to encourage creativity. The projects can be implemented on an embedded device, a personal computer, or a computing server, with an emphasis on real-time processing when relevant. Each member of the group will be responsible for at least one task.
The project evaluation will include a technical report that reflects the three-pillar structure, as well as a live presentation and demonstration in front of the class. Students will be allocated time during class hours to work on their projects, with support from the instructor and assistant for Q&A. To ensure proper time management, regular deliverables will be required throughout the semester.
Mode of delivery (face to face, distance learning, hybrid learning)
Face-to-face course
Further information:
Theoretical lectures will be conducted ex-cathedra.
Exercise sessions will also take place in person, with students working on their laptops using freely accessible remote tools such as Google Colab, or servers such as Alan, which can be accessed via standard web browsers.
Q&A and project working sessions will be organized both in person and online.
Course materials and recommended or required readings
Further information:
Slides will be provided for the theoretical lectures.
For the exercise sessions, Jupyter notebooks will be provided to guide students through the practical tasks.
Each lecture will also offer external resources such as books or scientific papers, which, while not mandatory, can help students gain extra knowledge on different topics.
Exam(s) in session
Any session
- In-person
written exam
Written work / report
Further information:
The course assessment will be based on both a project and a written examination. Evaluation of the project will include the technical reports submitted during the year, as well as the final presentation and demonstration.
Work placement(s)
Organisational remarks and main changes to the course
Contacts
Anthony Cioppa (anthony.cioppa@uliege.be)