TP1: Colorisation de l'empire Russe, par Louis Bourdages
Partie 1: alignement d'images à échelle unique

Le but de ce TP est de développer un algorithme qui, lorsqu'on lui fournit trois images représentant chacune une couleur de la même scène, recrée l'image telle que vue par l'oeil du photographe. Cela permet de faire de la photographie couleur avec un appareil noir et blanc, en utilisant des filtres rouges, verts et bleus. La grande difficulté est que les images sont rarement bien alignées, et les superposer naïvement donne des mauvais résultats.

Dans la première partie du TP, on utilise une approche assez simple pour aligner les images. Le canal rouge est utilisé comme couleur de référence. On déplace l'autre canal (vert ou bleu) avec circshift sur une plage de 31 pixels (de -15 à 15) horizontalement et verticalement, pour un total de 961 positions différentes. Pour chaque position, on calcule la somme du carré des différences du milieu de l'image. Le "milieu" de l'image est défini comme la zone obtenue en enlevant une bordure d'une largeur correspondant à 1/6 de l'image. Le meilleur résultat est conservé pour le vert et le bleu et l'image composite est créée et enregistrée.

Les résultats sont très bons. Les images sont alignées correctement, sauf pour les parties qui bougent comme l'eau et les nuages (mais cela est dû au fait que la scène a changé entre les prises de vue.). Les bords sont nécessairement moins beaux, mais la partie centrale, qui nous intéresse, est correcte.

Images obligatoires:

Vert: (-5,2) Bleu: (-9,1) Vert: (-6,0) Bleu: (-12,-1)
Vert: (-3,0) Bleu: (-4,2) Vert: (-3,1) Bleu: (-6,0)
Vert: (-3,-1) Bleu: (-4,-3) Vert: (-3,-2) Bleu: (-5,-5)
Vert: (-7,-0) Bleu: (-12,-1) Vert: (-8,-2) Bleu: (-14,-4)
Vert: (-12,1) Bleu: (-13,1)

Images au choix:

Vert: (-4,-3) Bleu: (-7,-7) Vert: (-5,-2) Bleu: (-7,-6)
Vert: (-6,-1) Bleu: (-12,-3) Vert: (-7,0) Bleu: (-12,0)
Vert: (-8,2) Bleu: (-13,3)



Partie 2: alignement d'images à échelle multiple

Lorsque les images deviennent trop grosses, la taille de la zone de recherche doit augmenter en conséquence et comme la complexité algorithmique est en O(n^2), cela devient rapidement incroyablement long.

L'algorithme a donc été réécrit en utilisant une fonction récursive. L'image est redimensionnée de moitié récursivement jusqu'à une échelle de 1/64. Puis, une zone de recherche de 9x9 pixels (de -3 à 3 verticalement et horizontalement) est appliquée. Le nombre total de positions, en comptant toutes les échelles, est de 486. Lorsque le meilleur alignement pour une certaine échelle est connu, il est utilisé dans l'échelle immédiatement supérieure avec un facteur 2, afin de centrer la recherche sur une zone considérée comme bonne. La bordure qu'on enlève est de 1/4 de l'image pour les deux plus grandes échelles (1/1 et 1/2) et 1/10 pour les échelles subséquentes. De cette manière, on parvient à obtenir de bons résultats tout en gardant le temps d'éxécution en dessous de 20 secondes.

Images obligatoires:

Vert: (-17,-13) Bleu: (-53,-38) Vert: (-26,-1) Bleu: (-43,-5)
Vert: (-26,-9) Bleu: (-11,-19) Vert: (-34,-8) Bleu: (-49,-14)
Vert: (-43,-26) Bleu: (-87,-33) Vert: (-47,-14) Bleu: (-71,-33)
Vert: (-53,-19) Bleu: (-92,-42) Vert: (-59,-15) Bleu: (-110,-56)
Vert: (-68,-8) Bleu: (-124,-33)

Images au choix:

Vert: (-25,-4) Bleu: (-38,-20) Vert: (-49,-7) Bleu: (-85,-34)
Vert: (-53,4) Bleu: (-309,-181) Vert: (-64,-3) Bleu: (-107,5)
Vert: (-64,-21) Bleu: (-119,-52)

Images de mon cru:

La photo de la bouteille de bière a été utilisée comme cas "facile". Toutefois, étant donné que le sujet était proche de la caméra, le mouvement est perceptible, et ce même s'il était minimal (l'appareil photo étant appuyé contre la table). Dans la photo, le mur est gris; en réalité, il est bleu pâle. On voit ici l'effet de l'hypothèse "grey world" de la balance des blancs automatique!

La photo de l'église a été prise en grande partie à cause de la dame qui marchait dans l'image. On peut voir des images "fantômes" à l'endroit où elle se trouvait lors de la prise de chaque photo (et fait amusant, elles sont en cyan, magenta et jaune, associées au processus substractif de production de couleur, alors que les caméras sont basées sur un processus additif).

La photo de l'arbre a été prise pour explorer l'effet d'un mouvement plus minime (sur les branches du bas de l'arbre, qui bougeaient au vent). On peut y remarquer un simple flou. Toutefois, la caméra a bougé considérablement entre les prises de vue et cela se répercute sur les bordures du bâtiment.

La dernière photo, celle de la mosaïque, visait à voir l'effet d'une prise de vue avec moins de lumière. Bien que cela ait eu peu d'impact, on remarque quelque chose d'intéressant: une présence importante de rouge dans toute l'image, absente dans les clichés individuels. Cela est dû au fait que l'image ayant été utilisée pour le canal rouge était hors focus. Les deux autres canaux étant correctement focusés, l'image a tout de même une apparence acceptable.
Vert: (5,-7) Bleu: (20,-13) Vert: (-4,20) Bleu: (40,21)
Vert: (5,14) Bleu: (6,15) Vert: (1,8) Bleu: (-20,-24)