En 1907, le photographe russe Sergei Mikhailovich Prokudin-Gorskii obtint la permission du tsar de l'époque de parcourir la Russie afin de prendre des photographies couleur de ce qu'il voyait. Puisque la photographie couleur n'existait pas à l'époque, il eut l'ingénieuse idée de prendre trois photographies différentes de chaque scène, une avec un filtre rouge, une avec un filtre bleu, et une avec un filtre vert.
Le projet consiste à combiner ensemble ces trois images noir et blanc afin d'obtenir une image couleur. Il s'agit donc de trouver un algorithme qui permette de superposer les trois images en les appariant.
Théoriquement, les 3 images doivent contenir les mêmes détails. En minimisant la différence d'intensité des images deux-à-deux, on devrait obtenir une image où les zones d'ombre sont superposées entre elles. L'algorithme consiste donc à minimiser la somme du carré des différences d'intensité des images deux à deux en débutant avec les images superposées sans décalage. Pour réduire la taille des calculs, cette étape est faite en diminuant la taille des images haute définition par 8 fois et celle des images de plus petite taille pr 2 fois.
Les 3 images ne contiennent pas exactement les mêmes valeurs de luminance. Par exemple, le bruit est différents dans les trois images. Pour éliminer ce bruit, un filtre médian est appliqué sur les images. Ce filtre est de 3 x 3 pour les images basse définition et de 13 x 13 pour les images haute définition. Avec cette opération simple, la superposition fonctionne relativement bien pour la plupart des images. Une partie des images donne cependant des résultats moins intéressants (particulièrement les images 822 et 1043). Les images suivantes sont les résultats de l'algorithme appliqué sur les images haute définition.
result-00029u.jpg
result-00087u.jpg
result-00128u.jpg
result-00458u.jpg
result-00822u.jpg
result-00892u.jpg
result-01043u.jpg
result-01047u.jpg
Pour les images en basse définition, en plus de l'élimination du bruit, l'algorithme utilise un filtre de Sobel vertical et vertical afin de générer une image qui contient les bordures des objets. Cela permet d'éliminer les différences d'illumination entre les images prises avec les différents filtres. Un seuil déteminé empiriquement permet d'éliminer le bruit généré dans certaines images par cette opération. Cet algorithme donne de moins bons résultats sur les images en haute définition car il génère plus de bruit que dans les images en basse définition. Les images suivantes montrent le résultat de l'algorithme décrit plus haut sur les images en basse définition.
result-00106.jpg
result-00757.jpg
result-00888.jpg
result-00889.jpg
result-00907.jpg
result-00911.jpg
result-01031.jpg
result-01657.jpg
result-01880.jpg
Trois autres images basse définition ont été sélectionnées dans la banque d'images disponibles:
result-00006.jpg
result-00009.jpg
result-00011.jpg
On peut constater que le résultat n'est pas très intéressant sur l'image 00006v. En examinant les résultats des filtres de Sobel, on réalise que pour ces images, les résultats varient beaucoup, ce qui explique que la superposition est moins efficace.
L'algorithme pour les images haute définition a également été testé sur 3 images suplémentaires provenant de la banque d'image:
result-00097.jpg
result-00398.jpg
result-00500.jpg
Les déplacements calculés apparaissent plus bas. L'algorithme utilisé pour les images haute définition donne des performances satisfaisantes pour la plupart des images. Les cas où il performe moins bien sont ceux où il y a des variations importante en luminance dans les trois couleurs. L'algorithme appliqué sur les images basse définition est assez performant et permet de bien superposer les image où les niveaux d'illuminance dans les différentes images est très différent. Il arrive cependant qu'il performe moins bien quand la détection des bordures par les filtres de Sobel est moins efficace, comme dans l'image 00006. Plusieurs essais on été faits pour implémenter l'algorithme utilisant les filtres de Sobel. Malheureusement dans tous les cas, l'application des filtres génère des images très bruitées malgré l'application du filtre médian avant les filtres de Sobel.
Déplacements
Image | 00006v | 00009v | 00011v | 00029u | 00087u | 00097u | 00106v | 00128u | 00398u | 00458u | 00500u | 00737u | 00757v | 00822u | 00888v | 00889v | 00892u | 00907v | 01031v | 01043u | 01047u | 01657v | 01880v | Vert | [0 0] | [0 0] | [0 1] | [37 17] | [48 41] | [47 14] | [4 1] | [34 25] | [53 24] | [43 4] | [59 -2] | [9 4] | [2 3] | [57 25] | [6 0] | [2 0] | [16 3] | [3 -2] | [1 0] | [1 1] | [-16 9] | [23 20] | [6 0] | [6 2] |
Rouge | [0 0] | [8 0] | [8 2] | [83 51] | [91 59] | [91 41] | [9 -1] | [55 51] | [91 36] | [83 47] | [99 -35] | [51 25] | [5 5] | [99 33] | [12 1] | [4 3] | [51 6] | [6 -2] | [13 -1] | [4 2] | [27 31] | [67 43] | [12 1] | [14 4] |