De la photographie numérique à la photographie computationnelle

Cours électif 2A CES8AH

    Les cours / TD ont lieu les mardis entre 13h30 et 16h45.  
    Cours en salle: B307/308
    TD en salle: B208

    Remarque: les corrections sont à destination des élèves suivant ce cours. Elles sont disponibles après le TP jusqu'à la fin du cours.


    Présentation du cours: presentation.pdf

    Des ressources sont disponibles sur la page de l'ancien cours CET42 "initiation au traitement du signal et applications".
    En particulier, les notes de cours: notes_signal_FSur.pdf (v0.4)

    Pour des bases de photographie générale: wikibook "photographie numérique" lien.

    Les livres Digital image processing (Gonzalez et Woods) et Digital image processing using Matlab (Gonzalez, Woods, et Eddins) sont disponibles à la bibliothèque de l'école.

    B.A.-BA Matlab à Brown University: lien.

    Une base d'images classiques: the USC-SIPI image database.

    Collection de cours et ressources sur la vision par ordinateur et le traitement d'images:
        Advanced Vision at University of Edinburgh et CVonline.      


Calendrier et documents complémentaires:


Séance 1: mardi 7 février 2017. Du photon à l'octet: principes de la photographie, introduction au cours.
Transparents.
Sujet de TP: prise en main de Matlab et de la toolbox "Image Processing".

Lecture: un texte sur la représentation numériques des images, sur le site Image des Mathématiques.

Pages web discutées en cours:
Applet "lentille mince": lien.
Applet "profondeur de champ": lien.
Kamerasimulator: lien.
Lytro: lien.
Gigapan: lien.
Building Rome in a day: lien.
DXO OpticsPro: lien.
DXO, débruitage PRIME: lien.


Séance 2: mardi 14 février 2017. Analyse de Fourier et images: signaux numériques, FFT.
Transparents.
Sujet de TP: manipulations élémentaires, synthèse de texture.
Exemple de script Matlab (génération des figures du slide 3): exemple_Fourier.m
Données pour le TP: boat.tif, house.tif, D3.tif, D21.tif, D78.tif, D82.tif, D93.tif, D95.tif, D104.tif (source), et les textures couleur disponibles ici sur IPOL.
Correction du TP: script TP2_correction.m, fonction randomize_phase.m

Page web discutée en cours:
Applet "séries de Fourier": lien.

Vidéos: l'analyseur harmonique de Michelson, comment calculait-on les coefficients de Fourier avant l'ordinateur ? Voir cette série de courtes vidéos.


Séance 3: mardi 28 février 2017. Présentation des mini-projets.
Transparents.
Sujet de TP: fin du TP de la séance du 14 février.

Projets 2017:

1) Démoisaïçage:
Article 30 ans de démoisaïçage, par D. Alleysson, Traitement du Signal, 2004. Lien.
Démoisaïçage de Matlab: Lien.
Kodak Lossless True Color Image Suite: Lien.

2) Qu'est-ce qu'une image de bonne qualité ?
Article: Image quality assessment: from error visibility to structural similarity, par Z. Whang, A.C. Bovik, H.R. Sheikh, E.P. Simoncelli, IEEE Transactions on Image Processing 2004. Lien.

3) Imagerie à haute dynamique:
Documentation des fonction HDR de la toolbox Image processing de Matlab. Lien.
Des séquences d'images à fusionner sont disponibles ici: Lien.
Article (et code):  Fast bilateral filtering for the display of High-Dynamic-Range Images, par F. Durand et J. Dorsey, SIGGRAPH 2002. Lien.

4) Un algorithme de débruitage:
Article et code: DCT image denoising: A simple and effective image denoising algorithm, par G. Yu et G. Sapiro, IPOL, 2011. Lien.

5) Inpainting:
Article: Region filling and object removal by examplar-based inpainting, par A. Criminisi, P. Pérez, K. Toyama, IEEE Transactions on Image Processing, 2004. Lien.
Un code est disponible ici: Lien.

6) Flou de bougé:
Article: Removing camera shake via weighted Fourier burst accumulation, par M. Delbracio et G. Sapiro, IEEE Transactions on Image Processing, 2015. Lien.

7) Simulation du grain photographique:
Article: Stochastic modeling and resolution-free rendering of film grain, par A. Newson, B. Galerne, et J. Delon, preprint 2016. Lien.
Démonstration sur IPOL: Realistic Film Grain Rendering, par A. Newson, N. Faraj, B. Galerne, et J. Delon, preprint 2016. Lien.


Séance 4: mardi 7 mars 2017. Quantification, échantillonnage et théorie de Shannon-Nyquist.
Transparents.
Sujet de TP: étude expérimentale du phénomène d'aliasing, sous-échantillonnage.
Images: synthetique.tif, boat.tif, WTC.tif.
Correction du TP: script TP4_correction.m.


Séance 5: mardi 14 mars 2017. Compression sans perte, théorie statistique de l'information.
Transparents.
Sujet de TP: entropie pour les images, accentuation par filtre flou (unsharp masking).
Données pour le TP: images de la USC-SIPI database. Exemples d'images pour la partie 2.4: brouillard1, brouillard 2, brouillard3.
Correction du TP: script TP5_correction.m, unsharp_mask.m

Lecture: un texte à l'occasion du 100ème anniversaire de la naissance de Claude Shannon, sur le site Image des Mathématiques.


Séance 6: mardi 28 mars 2017. Compression avec perte, JPEG.
Transparents.
Sujet de TP: étude expérimentale de la compression JPEG.
Données images: boat.tif, lettres.tif, D93.tif, les images de la USC-SIPI database.
Correction du TP: script TP6_correction.m et fonction compress.m

Lecture: un texte sur la compression avec ou sans perte (site Image des Mathématiques),
             un texte intitulé Parcimonie, problèmes inverse et échantillonnage compressé (site de la Gazette des Mathématiciens),
             et une page décrivant la compression JPEG.
             Dans l'actualité: Guetzli. L'article Googleblog et le preprint sur Arxiv.


Séance 7: mardi 4 avril 2017. Le bruit dans les images numériques.
Transparents.
Sujet de TP: estimation du bruit, étude des coefficients de la DCT par blocs.
Données images: mire_EOS350D_R100.png, mire_EOS350D_R1600.png, mire_EOS6D_R400.png, mire_EOS6D_R6400.png.
et: clutter_EOS350D_R100.png, clutter_EOS350D_R1600.png, clutter_EOS6D_R400.png, clutter_EOS6D_R6400.png.
Un exemple d'image "no noise" (sur IPOL): computer.
Correction du TP: script TP7_correction.m et fonction ColomBuades_estimation.m

Lecture: pour une discussion approfondie sur le bruit et son estimation, EMVA standard 1288.


Séance 8: mardi 25 avril 2017. Algorithmes de débruitage.
Transparents.
Sujet de TP: filtre médian, filtrage linéaire, diffusion anisotrope, TV-denoising, moyennes non-locales.
Fonction matlab TVdenoising.m
Correction du TP: script TP8_correction.m

Page web discutée en cours: algorithme PRIME de DXO: lien.

Point d'étape des mini-projets.


Séance 9: mardi 2 mai 2017. Restauration d'images.
Transparents.
Sujet de TP: déconvolution directe, par filtre de Wiener, de Richardson-Lucy, par régularisation TV, déconvolution aveugle.
Correction du TP: script TP9_correction.m

Pages web discutées en cours: lien 1, lien 2, lien 3, lien 4, lien 5, lien 6, lien 7.
Lecture: un texte sur un problème de restauration de films (site Image des Mathématiques).


Séance 10: mardi 9 mai 2017. Éléments de vision par ordinateur, et reconstruction de panoramas par création de mosaïques.
Transparents.
Sujet de TP.

Pages web discutées en cours:
RANSAC: animation disponible sur cette page wikipedia.
Exemple d'appariement de points d'intérêt dans la documentation Matlab.
Exemple de stabilisation de vidéo dans la documentation Matlab.
Gigapan.
Building Rome in a day: lien.


Séance 11: mardi 16 mai 2017. Édition d'images par l'équation de Poisson.
Transparents.
Sujet de TP.
Fonction matlab: Poisson_solve.m
Exemple de masque de taille 256x256: masque_rand.png
Image mystère: sample.png
Pour l'interpolation guidée: tedx.jpg et The_Earth_seen_from_Apollo_17.jpg (voir ici).
Correction du TP: script TP11_correction.m et Poisson_solve_guided.m

L'article original:  P. Pérez, M. Gangnet, A. Blake, Poisson Image Editing, ACM Transactions on Graphics (SIGGRAPH'03), vol. 22, no. 3, p.313-318, 2003. Fichier pdf.


Séance 12: mardi 23 mai 2017. Soutenance des mini-projets.

    Résultat de l'expérience d'auto-évaluation / évaluation par les pairs:
    Projet 1: 8,3  -  Projet 2: 7,8  -  Projet 3: 7,8  -  Projet 4: 7,9  -  Projet 5: 8,6  -  Projet 6: 8,7  -  Projet 7: 7,8