TP1: Colorisation de l'Empire Russe

Mise en situation et méthodologie

L’objectif de ce travail est de manipuler les images prisent par Sergei Mikhailovich Prokudin-Gorskii (1863-1944) lors de son tour de la Russie. Les images ont d’abord été enregistrées par un appareil utilisant 3 filtres de couleurs primitives en photographie, soit le rouge-vert-bleu (RGB en anglais). Le résultat pour une scène donnée était alors trois images en niveau de gris représentant l’intensité de chaque couleur. Un artéfact présent dans toutes ses photos est le désalignement des images lorsque celles-ci sont superposées pour ressortir les composantes RGB en tout pixel. Après réalignement, une image en couleur bien défini devrait être retrouvée comme le montre la figure suivante.



Dans ce travail, il faudra concevoir un algorithme permettant de retrouver les composantes RGB d’une série d’images à faible et haute résolution. La première étape est de diviser l’image de base (une colonne composée de trois images à niveau de gris bleu-vert-rouge (BGR en anglais). Pour faire l’alignement des images, on utilise un critère de performance. Dans ce cas-ci, on utilise la somme des différences au carré (SDC). Il s’agit d’une méthode un peu simpliste mais suffisante pour retrouver un alignement optimal entre les 3 canaux de couleur. Chaque canal est translater dans une fenêtre généralement de 15x15 pixels relativement à un canal de référence (bleu). On conserve finalement la position qui minimise l’erreur pour le canal rouge et vert.

Cette méthode se révèle être adéquate pour des images de faible résolution mais trop lente pour une image de plus haute résolution. Deux méthodes ont été implantées pour diminuer le temps de calcul. La première est l’approche pyramidale (échelles multiples). Les canaux sont alignés séquentiellement à partir d’images divisés par un facteur 4, puis 2 puis par la résolution d’origine. La deuxième méthode est d’évaluer l’erreur d’alignement sur une plus petite portion de l’image. Dans ce cas-ci, l’évaluation de l’erreur se fait généralement sur 33% de l’image pour des images à haute résolution mais de 95% pour les images à faible résolution (centré sur l’image pour ne pas inclure les effets de bord). Les deux prochains tableaux présentent le résultat de l’alignement des images en taille réelle pour les images à faible résolution et en taille minimisée pour les images à haute résolution. Les effets de bord (les bandes de couleur horizontales et verticales) ont été enlevés et seront discutés dans la prochaine section. Il est important de souligner que le système d'axe utilisé est selon l'horizontale (gauche vers la droite) pour l'axe des x et selon la verticale (haut vers le bas) pour l'axe des y. Les images ci-dessous sont affichées en taille réelle.

Resultats sur des images à faible résolution




Resultats sur des images à haute résolution




Crédit supplémentaire: Élimination des bordures colorées, étalement d'histogramme et «White balance»

L’idée générale pour la conception de l’algorithme d’élimination des bordures a été inspiré par le travail d’un étudiant de 2014, Tom Toulouse. Ce dernier propose de calculer l’erreur absolue entre les différents canaux de couleurs. L’image résultante de l’application de cette fonction donne des valeurs élevées aux frontières de l’image (là où il y a présence de bande de couleur franche). En appliquant un seuil spécifique à l’image, on obtient une image binaire. En sommant sur les colonnes et sur les lignes le nombre de pixels qui ont une valeur supérieure au seuil, on trouve la nouvelle position des frontières de l’image. Il peut arriver qu'une ligne ou colnne se trouve trop loin des extrémité. Pour ne pas détecter ces valeurs, on ne calcule que la somme sur le premier et dernier dixième de l'image. Il se peut que la valeur de seuillage diffère d'une image à l'autre. Le seuil est donc parfois modifié pour s'ajuster à la scène.

Par la suite, on effectue un étalement de l'histogramme automatiquement afin d'accentuer le contraste dans l'image. Pour les zones à faible contraste comme le ciel dans la première ligne du tableau d'images à haute résolution, on voit l'appartition d'artefacts non désirables. Finalement, on ajuste l'équilibre des couleurs (White balance) en s'assurant que la moyenne des canaux R, G et B donne une couleur grise. Cependant, un problème survient lorsque l'image est supposée avoir une teinte de couleur comme la dernière ligne du tableau d'images à haute résolution (ici je fais la supposition qu'il s'agit d'un couché de soleil et donc que la scène apparait naturellement rougeâtre).

Images à basse résolution

Image sans alignement

Image alignée

Image alignée sans bordure

Image alignée sans bordure et étalement de l'histogramme

Image alignée sans bordure, étalement de l'histogramme et «White balance»

Images à haute résolution

Image sans alignement

Image alignée

Image alignée sans bordure

Image alignée sans bordure et étalement de l'histogramme

Image alignée sans bordure, étalement de l'histogramme et «White balance»




Resultats sur des images prisent sur le campus universitaire

Les trois photos suivantes ont été prises sur le campus de l'Université Laval à partir d'un appareil photo. Pour chaque scène, on prend trois photos sans trop bouger l'appareil. Sur chaque photo, on retire uniquement un canal de couleur afin de recréer les manipulations qu'avait fait M. Mikhailovich Prokudin-Gorskii. Les images sont traitées avec le même algorithme que précedemment. Le deuxième cliché a été pris lorsqu'une voiture passait devant la caméra. La résolution des photos est de 1600x1200 pixels.

Après coupure des bordures

Après étalement de l'histogramme et 'White balance'

Simon Fréchet
Université Laval, 2015