Photographie Algorithmique GIF-4105/7105

Bienvenue sur le site web du cours de Photographie Algorithmique pour la session d'hiver 2018!

La photographie algorithmique est un domaine qui se situe entre la vision artificielle, l'infographie, et la photographie. Elle utilise des techniques de calcul permettant de compenser les limites des appareils photo traditionnels et améliore la façon dont on capture et manipule les données visuelles ainsi que la façon dont on interagit avec elles. Le cours permet d'explorer la formation des images, les modèles d'appareils, la création de panoramas, la synthèse de texture, les images à haute plage dynamique (HDR), le redimensionnement intelligent, le morphage, etc. Il s'oriente sur l'application concrète des concepts par de nombreux travaux pratiques, ainsi qu'un projet personnel.

Semaine courante

Morphage des visages

Rencontrez tous les étudiants du cours grâce à ce montage vidéo (résultats du TP3):

Équipe

Jean-Francois Lalonde

Jean-François Lalonde
Professeur

Contactjflalonde@gel.ulaval.ca
BureauPLT-1138E
Disponibilités Lundi 16h30-17h30
Henrique Weber

Henrique Weber
Assistant

ContactPiazza
BureauPLT-1114C
Disponibilités Lundi 13h30-14h30
Vendredi 13h30-14h30

Logistique

Horaire

Jour Heure Local
Jeudi 9h30 à 12h20 PLT-2504

Plan de cours

Lien vers les plan de cours officiels: GIF-4105 (bacc), GIF-7105 (gradués), et vers la page Capsule.

Forum de discussions

Nous utiliserons Piazza pour toutes questions, discussions, etc. N'hésitez pas à vous en servir!

Évaluations

Travaux pratiques

Tous les travaux pratiques devront être remis sur le portail des cours. La politique des retards est disponible dans le plan de cours.

Travail Disponibilité Date de remise Pondération Résultats
TP1: Coloration de l'Empire Russe (English) 18 janvier 1 février, 23h59 10%
TP2: On s'amuse en fréquences (English) 1 février 15 février, 23h59 10%
TP3: Morphage de visages++ 15 février Partie A (English): 1 mars, 23h59
Partie B (English): 8 mars, 23h59
14%
TP4: Assemblage de photos (English) 8 mars 29 mars, 23h59 14%
TP5: Insertion d'objets virtuels 29 mars 12 avril, 23h59 12%
Projet: À vous de jouer! 12 avril 2 mai (présentations) 20%

Examen

Examen Date Lieu Pondération
Partiel 22 mars PLT-2504 20%

Modules de cours

Cliquez sur le module pour révéler plus d'informations. Les informations manquantes seront mises à jour durant la session.

1. Introduction à la photographie algorithmique

18 janvier 2018

Objectifs d'apprentissage
  • Se familiariser avec la structure du cours et les travaux pratiques
  • Différencier une caméra de l'oeil humain
  • Découvrir le phénomène de constance d'intensité et de couleur
  • Expliquer pourquoi une caméra possède un filtre de Bayer
Contenu détaillé
Description Notes Contenu complémentaire
Introduction au cours PDF Tim's Vermeer
Logistique du cours PDF
Capturer la lumière PDF La squille multicolore
TED talk de Beau Lotto
Démonstration de votre fovée

2. Pixels et filtrage spatial

25 janvier 2018

Objectifs d'apprentissage
  • Connaître les différentes représentations de la couleur d'une image
  • Identifier les avantages et inconvénients des espaces de couleur RGB, HSV et LAB
  • Appliquer des manipulations sur les pixels d'une image
  • Comprendre le filtrage dans le domaine spatial, et connaître ses propriétés
  • Effectuer des opérations de filtrage simples sur une image
Contenu détaillé
Description Notes Contenu complémentaire
Les pixels PDF Démonstrations Matlab
Filtrage dans le domaine spatial PDF Démonstrations Matlab

3. Filtrage spectral et applications

1 février 2018

Objectifs d'apprentissage
  • Connaître différents types de filtres
  • Comprendre l'impact de ces filtres lors de leur convolution avec une image
  • Interpréter le contenu fréquentiel d'une image
  • Reconnaître le phénomène du recouvrement spectral et pouvoir l'expliquer dans ses mots
  • Utiliser des filtres pour accentuer ou réduire les arêtes d'une image
  • Comprendre les principes derrière la compression JPG
Contenu détaillé
Description Notes Contenu complémentaire
Filtrage dans le domaine spectral PDF Démonstrations Matlab
Applications du filtrage PDF

4. Mélange: dégradé, pyramides et gradients

8 février 2018

Objectifs d'apprentissage
  • Comprendre l'équation de la composition d'images
  • Comparer les différentes approches vues: dégradé, pyramides, et gradients
  • Comprendre le processus de formation d'une pyramide Laplacienne
  • Comprendre et implémenter le mélange par pyramide Laplacienne
  • Anticiper l'impact de la manipulation des gradients d'une image
Contenu détaillé
Description Notes Contenu complémentaire
Mélange d'images PDF Démonstration Matlab

5. Transformations linéaires et morphage

15 février 2018

Objectifs d'apprentissage
  • Connaître les déformations linéaires pouvant être appliquées à une image
  • Savoir appliquer une déformation à une image
  • Se familiariser avec la méthode des moindres carrés pour estimer une déformation entre deux images
  • Comprendre comment appliquer ces déformations pour obtenir un morphage progressif entre deux images
Contenu détaillé
Description Notes Contenu complémentaire
Transformations linéaires PDF Démonstration Matlab
Morphage PDF Démonstration Matlab

6. La caméra

22 février 2018

Objectifs d'apprentissage
  • Connaître les principaux paramètres d'une caméra: focale, ouverture, vitesse d'obturation, ISO
  • Comprendre l'influence de ces paramètres sur la photo résultante
  • Distinguer profondeur de champ, distance focale, champ de vue et focus
  • S'initier au calibrage géométrique d'une caméra
  • Distinguer les paramètres intrinsèques des paramètres extrinsèques d'une caméra
Contenu détaillé
Description Notes Contenu complémentaire
La caméra PDF Simulateur de caméras

7. Mosaïques, détecteurs et descripteurs

1 mars 2018

Objectifs d'apprentissage
  • Implanter un algorithme générant une mosaïque à partir de plusieurs images
  • Distinguer un détecteur d'un descripteur
  • Expérimenter avec un détecteur et un descripteur simple pour apparier des images automatiquement
  • Se familiariser avec l'algorithme RANSAC
  • Connaître d'autres types de projection panoramiques: cylindriques et sphériques
Contenu détaillé
Description Notes Contenu complémentaire
Mosaïques PDF
Détecteurs et descripteurs PDF Démonstration matlab
Panoramas, etc. PDF Demo Hugin
Site web Hugin

8. Semaine de lecture

5 au 9 mars 2018

9. Images à haute plage dynamique

15 mars 2018

Objectifs d'apprentissage
  • Comprendre la différence entre la plage dynamique du monde et celle d'une caméra
  • Comprendre le fonctionnement du calibrage radiométrique par cible de calibrage
  • Comprendre le fonctionnement de l'auto-calibrage radiométrique à partir de plusieurs expositions
  • Implémenter un algorithme de calcul d'images à haute plage dynamique
Contenu détaillé
Description Notes Contenu complémentaire
Plage dynamique PDF

10. Examen partiel

22 mars 2018, 9h30-12h20, PLT-2504

Informations sur l'examen partiel
  • Compte pour 20% de la note.
  • Vous avez droit à une calculatrice approuvée et une feuille aide-mémoire 8.5x11, recto-verso, écrite à la main.
  • L'examen porte sur toute la matière vue en classe jusqu'à présent. Portez attention à bien comprendre le fonctionnement des algorithmes, ainsi qu'aux avantages et inconvénients de ceux-ci.

11. Insertion d'objets virtuels

29 mars 2018

Le TP5 est disponible ici. Date de remise: 12 avril, 23h59

Objectifs d'apprentissage
  • Comprendre la différence entre la plage dynamique du monde et celle d'une caméra
  • Implémenter un algorithme de calcul d'images à haute plage dynamique
  • Comprendre les trois principaux défis lors de l'insertion d'un objet virtuel dans une image
  • Insérer ses propres objets virtuels dans ses propres photos!
Contenu détaillé
Description Notes Contenu complémentaire
Insertion d'objets virtuels PDF

12. Insertion d'objets virtuels (suite et fin)

5 avril 2018

Nous accueillerons Mathieu Benoit de chez Arcane Technologies en première heure du cours. Soyez-y!

Les informations sur le projet final sont disponibles. Date de remise: 2 mai 2018

Objectifs d'apprentissage
  • Connaître les étapes principales nécessaires à l'insertion d'objets virtuels dans une image
  • Utiliser un logiciel de modélisation et de rendu 3D pour insérer des objets virtuels dans ses propres photos
Contenu détaillé
Description Notes Contenu complémentaire
Insertion d'objets virtuels PDF

13. Données visuelles massives et apprentissage profond

12 avril 2018

Nous accueillerons Sébastien Michaud et Louis Légaré de chez Can-Explore en première heure du cours. Soyez-y! Voici les slides de leur présentation.

Contenu détaillé
Description Notes Contenu complémentaire
Données massives et apprentissage profond PDF

14. Données visuelles massives et apprentissage profond

19 avril 2018

Marc-André Gardner, étudiant au doctorat, viendra nous présenter leurs travaux de recherche en collaboration avec Adobe.

Contenu détaillé
Description Notes Contenu complémentaire
Données massives et apprentissage profond PDF

15. Faussaires

26 avril 2018

Nous accueillerons Dragan Tubic, président et fondateur chez Umanx à 11h30. Soyez-y!

Contenu détaillé
Description Notes Contenu complémentaire
Détecter les faussaires PDF

Ressources additionnelles

Voici des ressources additionnelles qui vous permettront de vous pratiquer.

Examens des années antérieures

Année Examen Solutions
2015 Français, English Solutions

Livre

Nous suivrons plusieurs chapitres dans le livre suivant:

Szeliski, Richard, "Computer Vision: Algorithms and Applications", Springer, 2010.

Le livre est disponible gratuitement à la bibliothèque de l’université à l'adresse suivante: https://acces.bibl.ulaval.ca/login?url=http://dx.doi.org/10.1007/978-1-84882-935-0. Une fois connecté avec l'IDUL, il y a un lien "Download Book" (environ 50MB).

Remerciements

Plusieurs cours offerts à d’autres universités ont servi d’inspiration pour ce cours. Notamment:

Merci à tous ces professeurs d'avoir mis le contenu de leur cours disponible sur Internet. À mon tour, je donne la permission à tous d'utiliser le contenu présent sur ce cours, à condition de donner crédit aux sources originales.