TP1: Colorisation de l'Empire Russe

Sergei Mikhailovich Prokudin-Gorskii en 1907, était convaincu que la photographie couleur était la voie de l'avenir. Il a alors parcouru son pays pour prendre des photos. Pour chaque photo, il capturait 3 images : une avec un filtre rouge, une avec un filtre bleu et une avec un filtre vert. Évidemment, avec les technologies d'aujourd'hui, il est facile de recréer des images couleur à partir de ses photos.

Approche à une seule échelle

Les images sont alignées par recherche exhaustive sur une fenêtre de déplacements de [-15:15] pixels, en comparant la somme des différences au carré par rapport au rouge. On utilise seulement 80% de l'image (centré) pour éviter le bruit sur le contour des images. On peut voir que ça fonctionne assez bien. Il reste cependant des bordures de chaque côté qui pourrait être retirées simplement en rognant.

Résultats :

00106v
Vert : x = -5, y = 2
Bleu : x = -9, y = 1

00757v
Vert : x = -3, y = -2
Bleu : x = -5, y = -5

00888v
Vert : x = -6, y = 0
Bleu : x = -12, y = 0

00889v
Vert : x = -3, y = -1
Bleu : x = -4, y = -3

00907v
Vert : x = -3, y = 1
Bleu : x = -6, y = 0

00911v
Vert : x = -12, y = 1
Bleu : x = -13, y = 1

01031v
Vert : x = -3, y = 0
Bleu : x = -4, y = -2

01657v
Vert : x = -6, y = 0
Bleu : x = -11, y = -1

01880v
Vert : x = -8, y = -2
Bleu : x = -14, y = -4

Autres images :

01182v
Vert : x = -4, y = -1
Bleu : x = -6, y = -1

01188v
Vert : x = -5, y = -5
Bleu : x = -8, y = -11

01189v
Vert : x = -8, y = -1
Bleu : x = -15, y = -4

01252v
Vert : x = -7, y = -1
Bleu : x = -13, y = -2

01275v
Vert : x = -6, y = -1
Bleu : x = -6, y = -3
Petite remarque ici : les nuages ont bougés entre les photos!

Approche à échelles multiples

Pour les plus grosses images, on utilise une pyramide d'images. Cela permet de diminuer le temps de calcul. On utilise ici 4 images de différentes tailles dans notre pyramide : 1/8, 1/4, 1/2 et taille réelle. On commence par appliquer l'algorithme de l'approche à une seule échelle sur la plus petite, ensuite on répète sur l'image 2x plus grande en cherchant autour du résultat précédent et ainsi de suite jusqu'à atteindre la taille réelle. Encore une fois, on utilise qu'une portion de l'image pour éviter le bruit sur le contour des images, mais aussi pour augmenter la vitesse de calcul. En effet, après plusieurs tests, il semblerait que 15% de l'image suffit pour obtenir un très bon résultat. Cependant, les images calculées avec un plus grand pourcentage ont été incluses dans l'archive de remise, mais on peut voir que les translations ne sont pas beaucoup affectées. Le nom de fichier permet de voir le résultat pour chacun. Par exemple, pour la photo 00128u on a obtenu les résultats :

00128u-result_G_x=-17_y=-13_B_x=-52_y=-37_P=15.jpg

00128u-result_G_x=-17_y=-13_B_x=-53_y=-37_P=50.jpg

00128u-result_G_x=-17_y=-13_B_x=-51_y=-38_P=85.jpg

où P est le pourcentage, G le vert (green) et B le bleu.

Résultats :

00029u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -52, y = -19
Bleu : x = -88, y = -38
pleine échelle ici

00087u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -59, y = -17
Bleu : x = -109, y = -66
pleine échelle ici

00128u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -17, y = -13
Bleu : x = -52, y = -37
pleine échelle ici

00458u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -43, y = -26
Bleu : x = -85, y = -32
pleine échelle ici

00737u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -34, y = -9
Bleu : x = -48, y = -13
pleine échelle ici

00822u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -68, y = -8
Bleu : x = -123, y = -33
pleine échelle ici

00892u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -26, y = -1
Bleu : x = -42, y = -6
pleine échelle ici

01043u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -26, y = -9
Bleu : x = -13, y = -20
pleine échelle ici

01047u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -48, y = -14
Bleu : x = -71, y = -34
pleine échelle ici

Autres images :

00080u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -88, y = 12
Bleu : x = -107, y = 22
pleine échelle ici

00839u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -63, y = 18
Bleu : x = -114, y = 23
pleine échelle ici

01025u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -78, y = -20
Bleu : x = -141, y = -52
pleine échelle ici

01101u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -32, y = -21
Bleu : x = -74, y = -50
pleine échelle ici

01142u
Pourcentage de l'image utilisé pour le calcul : 15%
Vert : x = -60, y = 4
Bleu : x = -111, y = 5
pleine échelle ici

Dans la peau de Prokudin-Gorskii

Voici maintenant les résultats sur des photos maisons. Pour chaque résultat, 3 photos ont été utilisées, une pour chaque canal de couleur (elles ont été jointes à la remise).

Résultats :

Pourcentage de l'image utilisé pour le calcul : 30%
Vert : x = 0, y = 14
Bleu : x = -2, y = 2

Pourcentage de l'image utilisé pour le calcul : 30%
Vert : x = 6, y = 1
Bleu : x = 15, y = -2

Pourcentage de l'image utilisé pour le calcul : 30%
Vert : x = 11, y = -89
Bleu : x = 48, y = 33

On peut voir dans cette dernière image que l'algorithme n'a pas très bien fonctionné puisque l'appareil a bougé. Par contre, si on augmente le pourcentage de la photo utilisé pour le calcul à 50% on obtient l'image suivante:

Pourcentage de l'image utilisé pour le calcul : 50%
Vert : x = 11, y = -90
Bleu : x = 20, y = -166

Dans ce nouveau résultat on voit que l'alignement est meilleur. Par contre, on peut observer que le pendule a aussi bougé entre les photos et donc, qu'il est impossible de l'aligner.