Oussama Chelly - Correction des Distorsions photometriques d'images et de photos

De Ensiwiki
Aller à : navigation, rechercher


Correction des Distorsions photométriques d'images et de photos

Labo GIPSA

Encadrants Michel.Desvignes@imag.fr


Etudiant

Chelly, Oussama, MMIS-AAD

Introduction

Jusqu'au début des années 90, la photographie argentique limitait énormément le champ du traitement d'image. Pour défaire une déformation photographique, les ingénieurs du domaine n'avaient d'autre choix que de développer les objectifs en incorporant des lentilles de corrections. L'avènement de la photographie numérique a totalement métamorphosé le concept : les images sont désormais traitées à postériori, après l'acquisition de la photo. Ainsi est-il plus efficace d'utiliser des objectifs simples qui apportent des déformations faciles à défaire. Munis d'outils mathématiques, les spécialistes du domaine développent des techniques visant à minimiser l'effet de ces dégradations. Dans un domaine si jeune, ces techniques ne font qu'évoluer.

Parmi les dégradations qui peuvent affecter une image on distingue les aberrations géométriques (qui affectent la géométrie de l'image) comme la distorsion en barillet, les aberrations numériques (liées à la technologie numérique) telles que le bruit et les aberrations chromatiques (qui affectent le pixel) telles que le blooming, le flare ou encore le vignettage.

Photo de la lune mettant en évidence le blooming (éblouissement)
Photo du Port de Haouaria mettant en évidence le flare (reflet)
Image avant et après correction du vignettage


Notre étude ne s'intéresse qu'à cette dernière distorsion photométrique : le vignettage.

Éléments de prérequis

Le vignettage

Le vignettage correspond à l'assombrissement progressif et radial de l'image. Le vignettage est très net si vous photographiez un ciel bleu uniforme : vous remarquerez que les coins de la photo sont progressivement obscurcis. Cette déformation peut avoir deux causes différentes : elle peut provenir de l'éclairage non uniforme de la scène (dû par exemple au flash dans une scène obscure) ou encore de la sphéricité de l'objectif. C'est à ce deuxième cas qu'on consacre notre étude.

D'un point de vue mathématique, le vignettage est une déformation multiplicative de l'image qui se modélise par :

Z(x,y) = H(x,y) . I(x,y) \frac{}{}

où I est l'image idéale, Z l'image acquise et H la fonction de vignettage. Notre défi consiste à distinguer H de I connaissant Z et quelques propriétés mathématiques sur H. En effet, il existe différents modèles pour donner une approximation de H, notamment le modèle physique (provenant de l'optique géométrique) :

H(x,y) = \frac{1}{(1+(\frac{r}{f})^2)^2} . (1-\alpha r) . T(x,y)

où r est la distance du pixel (x,y) au centre de l'image, f la focale de l'objectif, \alpha un coefficient de vignettage caractéristique de l'objectif et T une fonction liée à l'angle entre l'objet de la photo et la normale au capteur de l'appareil. Le vignettage est souvent modélisé par un polynôme de degré pair qui provient du développement limité de la formule citée ci-dessus ou encore par un cosinus hyperbolique. Des corrections de vignettage basées sur ces modèles existent, mais ce n'est pas le cas de notre modèle qui se base sur les propriétés de H sans prendre d'hypothèse sur sa forme mathématique.

Analyse des niveaux de gris d'une image suivant sa diagonale (en haut : toutes fréquence conservée, en bas : après un filtrage passe-bas)

Sur les courbes présentées, H est la tendance croissante (car on se rapproche du centre de l'image) puis décroissante (car on s'en écarte) de la luminosité. Parmi les caractéristiques de H, on note :

- Les composantes fréquentielles de H sont faibles.

- H admet un maximum en un point qu’on notera M.

- M est proche du centre de l’image.

- H est pratiquement symétrique autour de M.

Les 3 derniers critères permettent de dire que H est radiale.

État de l'art

Avant toute entreprise de travail de recherche, une étude de l'état de l'art est indispensable. Voici alors un résumé des méthodes de correction du vignettages tirées de la littérature :

Le calibrage

Le calibrage est caractéristique d'un dispositif de photographie (appareil + objectif). Il est effectué par la majorité des constructeurs d'appareils-photo numériques et est opéré à l'image par le processeur de l'appareil lui-même. Le calibrage consiste à photographier (en laboratoire) une surface uniforme et uniformément éclairée (I est constante), ce qui se traduit mathématiquement par :

Z(x,y) = H(x,y) . cte \frac{}{}
d'où :
H(x,y) = \frac{Z(x,y)}{cte}

On aboutit alors à H sous forme d'une table de calibrage qu'on peut éventuellement lisser.

Table de calibrage

Cette approche est théoriquement la meilleure approximation possible du vignettage. Mais elle ne s'inscrit pas dans notre cadre d'étude qui suppose qu'on opère à partir d'une image réelle. En plus, si on tient notre appareil-photo de deux manières différentes, le couple de force appliqué à la jonction objectif-appareil est modifié. Une variation ne serait-ce que de 0.01° dans l'angle entre l'axe de l'objectif et la normale au capteur modifie le centre de vignettage d'environ 8 pixels (Calcul effectué sur un appareil Canon 550D avec un objectif de 55mm).

La Méthode de Kang-Weiss

Cette méthode fut proposée par Sing Bing Kang et Richard Weiss et reprise et développée par Yuanjie Zheng. Elle repose sur les deux hypothèses suivantes : Le vignettage fait partie d'une famille de fonctions F (suivant le modèle choisi et les approximations effectuées) et elle suppose en plus que l'on connaît les éventuels paramètres de F qui correspondent aux spécifications du dispositif photographique (tels que la focale).

L'objectif de la méthode est de trouver, dans la famille F, la fonction qui approche le mieux la fonction H de vignettage. Ceci s'effectue par un algorithme en 3 étapes. Premièrement, il faut segmenter l’image en zones de gradient homogène. Deuxièmement, il faut calculer le score de chaque segment : un segment a un score d'autant plus élevé que sa surface est grande et que la variance de son gradient est faible. Troisièmement, il faut fitter F aux segments pondérés par leurs scores respectifs pour retrouver H.

Cette méthode a trois défauts majeurs. D'abord, elle suppose d'emblée une forme particulière du vignettage. Ensuite, elle est instable car pour deux images quasi-identiques, la segmentation peut varier énormément. Enfin, elle élague les zones texturées car elles obtiennent des scores très faibles.

La Méthode de Zheng

Cette méthode fut proposée par Yuanjie Zheng lors de son stage chez Microsoft Research Asia. Elle fait l'hypothèse d'une symétrie et d'un centrage parfaits de la fonction H de vignettage ainsi que du bruit. Elle consiste à minimiser la divergence de Kullback-Leibler de l’asymétrie des histogrammes des gradients radiaux. En d'autres termes, il faut calculer les gradients radiaux et les mettre sous formes d'histogrammes, évaluer la divergence sur la symétrie de ces histogrammes et enfin la minimiser.

Croissance de l'asymétrie avec l'augmentation du vignettage

Le défaut capital de cette approche est principalement l'hypothèse du centre. En réalité, en dehors des objectifs les plus sophistiqués, le vignettage n'est pas parfaitement centré.

Travail réalisé

Objectifs

Le travail réalisé s'inspire des travaux précédemment cités dans une perspective visant à prendre moins d'hypothèses. En particulier, l'hypothèse du centre dans la méthode de Zheng. Notre objectif se réduit donc à retrouver le centre du vignettage à partir d'une image réelle.

Principe

Reprenons notre modèle du vignettage :

Z(x,y) = H(x,y) . I(x,y) \frac{}{}

Une simple différentiation opérée par différences finies donne :

dZ = dH . I + H . dI \frac{}{}

Analysons l'ordre de grandeur de chacune des quantités :

Quantité Min Max
dH -1 1
I 0 255
H 0 50
dI -255 255

En effet, une "très grande" valeur de dZ ne peut provenir que du second terme. Ainsi, éliminer ces valeurs "très" grande, nous ramène à :

Quantité Min Max
dH -1 1
I 0 255
H 0 50
dI -2 2

Dans ce contexte, nous pouvons négliger le second terme devant le premier et affirmer que :

dZ = dH . I \frac{}{}

I étant de faible variation, nous pouvons la considérer constante et intégrer le résultat précédent pour trouver :

Z(x,y) = H(x,y) . cte \frac{}{}


H(x,y) = \frac{Z(x,y)}{cte}

Il reste à élucider la définition de "valeur très grande". En fait, nous avons opté pour les boites à moustaches de Tukey. Plus clairement, une valeur est aberrante si elle est à plus d'une fois et demie l'écart inter-quartile de la médiane. Une difficulté se présente également au moment de l'intégration : sur la surface qu'est la dérivée de notre image, pour passer d'un pixel à un autre, il y a une infinité de chemins différents. Deux chemins ne donnent pas forcément le même résultat, d'où l'intérêt de se ramener à un modèle unidimensionnel en travaillant séparément sur chaque ligne de l'image et sur chaque colonne.

Algorithme

D'abord, on procède ligne par ligne (et colonne par colonne) :

- On calcule la dérivée

- On calcule la valeur seuil

- On filtre en éliminant les valeurs au delà de cette limite

- On intègre

- On fait passer un polynôme de degré 2

- On retourne son maximum

Puis, On calcule les coordonnées de M, son abscisse étant la moyenne sur les maxima des lignes et son ordonnée étant la moyenne sur les maxima des colonnes.

Finalement, on minimise l’asymétrie autour de M.

Validation

La procédure de validation est effectuée en deux temps : dans un premier temps, sur des images synthétiques où tous les paramètres -dont le centre du vignettage- sont connus, et dans un second temps, l'étude s'étend par la suite au cadre réel avec des images photographiques.

Sur des images synthétiques

Des images ont été créées à la main pour vérifier si l'algorithme fonctionne correctement. La variation des paramètres permet d'évaluer la consistance de la méthode ainsi que sa stabilité. Voici un tableau récapitulatif des expériences réalisées accompagné de deux exemples d'images utilisées :

Contenu Ecart relatif au centre réél
Vignettage brut 1.4%
Vignettage + bruit 1.7%
Vignettage + objets 1.1%
Vignettage + bruit + objets 0.5%
Images synthétisées (vignettage brut à gauche et vignettage + bruit + objets à droite

La valeur du bruit et l'intensité du vignettage ont également été variés. Cela n'affecte pas la méthode tant que leur gradient est négligeable devant celui des frontières entre les objets de l'image, zones où dI est grand. Autrement, notre approximation faite plus en haut sera invalide.

Sur des images réelles

Le travail de validation et d'évaluation de performances s'est étendu aux images réelles. Sur celles-ci, l'exactitude du centre calculé par notre algorithme ne peut être validée que visuellement, car nous ne disposons pas des coordonnées de celui-ci. Nous avons donc comparé le résultat avec une méthode faisant la correction de vignettage à partir du milieu de l'image. Cette comparaison permet d'apprécier l'apport du calcul du centre du vignettage. L'écart est flagrant sur des images où le centre du vignettage est bien éloigné de celui de la photo.


Comparaison avec une méthode qui prend l’hypothèse du centrage

Conclusions

Notre approche permet une nette amélioration du rendu sur des images où le vignettage n'est pas centré. Toutefois, elle requiert la présence de zones homogènes dans l'image pour donner des résultats meilleurs d'autant plus qu'elle n'est pas efficace face à des images très texturées ou à des images où le vignettage est fort.

L'analyse multi-résolution et les ondelettes sont une bonne perspective d'amélioration

Références

[1] Single-image vignetting correction using radial gradient symmetry,

Yuanjie Zheng Jingyi Yu Sing Bing Kang Lin, S. Kambhamettu, C. Univ. of Delaware, Newark, DE

Computer Vision and Pattern Recognition, 2008. ISBN: 978-1-4244-2242-5

[2] Single-Image Vignetting Correction,

Yuanjie Zheng Lin, S. Kambhamettu, C. Jingyi Yu Sing Bing Kang

Dept. of Comput. & Inf. Sci., Univ. of Delaware, Newark, DE, USA

[3] 10 aberrations en images

Dossier réalisé par Rédaction L'Internaute

http://www.linternaute.com/photo_numerique/dossier/aberrations/

Documents additionnels

Fichier:Transparents chellyo.pdf

Fichier:Rapport chellyo.pdf