Ce projet vise à restaurer des photographies à trois canaux prisent avec des filtres de couleur en une seule image couleur. Les photographies utilisées proviennent de la collection du photographe Sergei Mikhailovich Prokudin-Gorskii qui prit des centaines de photos de l'ancien empire russe. Ses travaux sont maintenant numérisées, conservées et disponible sur le site web de la Librairie du Congrès. Les détails de la méthode utilisée seront expliqués dans les sections suivantes. L'image plus bas est un bon exemple du résultat de l'algorithme utilisé pour la restauration, on y vois le photographe Gorskii lui même devant un paysage Russe.
L'idée est de découper l'image originale en trois sections pour obtenir une image par canal, donc une image de niveau de gris avec filtre rouge, vert et bleu. Ensuite, ces trois images doivent être alignées et combinées pour former l'image finale en couleur. L'alignement se fait en vérifiant la différence entre un canal de référence (le bleu est utilisé) et les deux autres canaux. Pour ce faire, l'algorithme utilise la somme des différences au carré (SDC) en essayant différentes positions (+/- 15 pixels). En minimisant cette différence, on obtient le meilleur alignement. Pour augmenter la fiabilité et la précision de l'alignement, l'image est d’abord traitée, on élimine temporairement les bordures et on applique un filtre de Canny pour détecter les arêtes. Une autre approche analysée fut de binariser l'image après avoir ajusté le niveau d'intensité, cette approche rendait une très bonne performance sur un petit désalignement, mais de mauvais résultats sur de grands désalignements. C'est pourquoi cette dernière technique fut conservée, mais utilisé après que l'image soit alignée avec la technique de détection des arrêtes, ce dernier ajustement permet de corriger les derniers petits défaut d'alignements.
La méthode précédente rend habituellement de bons résultats sur les images de basse résolution, mais est limitée sur les images de grande résolution, car l'alignement est de seulement 15 pixels au maximum. Augmenter cette limite augmenterait aussi grandement le temps de traitement. L'approche utilisée est donc d'aligner l'image à plusieurs échelles. La résolution de l'image est premièrement calculée puis l'échelle initiale et le nombre déplacement en pixel sont ajustés en fonction. Ensuite, l'image est réduite puis l'algorithme d'alignement précédent est appliqué à cette échelle, on refait l'opération pour toutes les échelles en additionnant le déplacement de l'échelle précédente. On obtient donc le même résultat avec la même méthode que pour une image de basse résolution, mais avec une application récursive.
L'alignement des images produit souvent une bordure indésirable de couleur variée. Cette bordure peut être détectée et éliminée automatiquement. Pour effectuer cette tâche la méthode de détection utilisée fut de calculer la variance des lignes dans les différents canaux. Lorsque la ligne analysée se trouve sur une bordure de couleur, au moins un des canaux présente une variance minime entre la valeur d’intensité des pixels de cette ligne. Si c'est le cas, la ligne est simplement effacée. L'opération se répète jusqu'à ce que les trois canaux de couleurs présentent des variances plus hautes que le seuil fixé. On remarque que la performance de l'algorithme est différente sur les images.
Différents ajustements ont été apportés pour améliorer le rendu de l'image finale. Pour ne pas trop altérer l'information de la photographie initiale, ces changements sont légers. Un filtrage médian est effectué pour éliminer un certain bruit et quelques petits défauts sans trop altérer l'image. Ce filtrage n'est automatiquement effectué que sur les images ayant une résolution plus grande que le seuil fixé. Ensuite un léger ajustement du contraste permet d'obtenir des couleurs plus vives et de meilleurs contrastes. Pour obtenir un meilleur résultat, la restauration des images devrait être personnalisée pour chaque photographie.
L'algorithme utilisé sur les photographies en noir et blanc fut utilisé sur des images prises avec un appareil moderne. Pour obtenir trois canaux de couleurs, une série de photographies ont été prises en mode rafale pour éviter le mouvement entre les images. Trois images ont ensuite été séparées en leurs composantes pour n'en conserver qu'une par image pour la reconstitution. Ces trois images ont servi d'entrée à l'algorithme de restauration pour obtenir un alignement et la restauration d'une image couleur. Bien sur, même avec un alignement parfait, si la scène présente un mouvement, ont observe un décalage des canaux. Sur la première image, on voit un mouvement de la scène et de la prise de vue, sur la deuxième image on voit un mouvement d'une voiture et sur la dernière image aucun décalage n'est observé, car le mouvement du sujet est inexistant!
Il est très intéressant de constater toutes les possibilités que les techniques et la technologie moderne peuvent nous apporter. Grâce à un algorithme assez simple, il est possible de restaurer automatiquement des photographies prises il y a plus d'un siècle. L'environnement Matlab fut utilisé lors de ce projet, il s'est avéré un outil de traitement d'image simple et puissant. Par contre, il serait probablement possible de réduire le temps de calcul en utilisant un autre langage de programmation plus approprié au traitement de données.