46
Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION Dégradations des images Méthodologie de traitement 2. RESTAURATION D’IMAGE Corrections photométriques Corrections géométriques 3. MODIFICATION D’HISTOGRAMME Correction de dynamique Egalisation / ajustement d’histogrammes Transformation adaptative 4. BINARISATION Critères statistique / structurel Exemples FIN DE PRESENTATION

Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION Dégradations des images Méthodologie de traitement 2. RESTAURATION

Embed Size (px)

Citation preview

Page 1: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 1

1ère

PARTIE

PRETRAITEMENTS DES IMAGES

1. INTRODUCTION Dégradations des images Méthodologie de traitement

2. RESTAURATION D’IMAGE Corrections photométriques Corrections géométriques

3. MODIFICATION D’HISTOGRAMME Correction de dynamique Egalisation / ajustement d’histogrammes Transformation adaptative

4. BINARISATION Critères statistique / structurel Exemples

FIN DE PRESENTATION

Page 2: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 2

Traitements spécifiquessans référence au contenude l’image : prétraitements

INTRODUCTION

DEGRADATIONS DES IMAGES

Origines :

Eclairage non homogénéité spatiale, spectre

Prise de vue perturbations du milieu, bougés, vibrations, perspective

Optique défocalisations, aberrations chromatiques, distorsions

Capteur non homogénéité spatiale, non linéarité de réponse, bruits

Electronique bande passante, discrétisation, bruits

Effets :

Défauts de luminance / chrominance :

Défauts géométriques du maillage :

Flou, perte de netteté, de contraste :

Bruits de modèles complexes :

Page 3: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 3

METHODOLOGIE DE TRAITEMENT

INTRODUCTION ( 2 )

Segmentation

Traitement des primitives

Analyse

Image Observation visuelle : critères subjectifs

Extraction de formes ( primitives )

Extraction de paramètres, mesures

Localisation, identification, classification

Dégradations

Prétraitements

Page 4: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 4

TYPES DE PRETRAITEMENTS

INTRODUCTION ( 3 )

Améliorationsubjective

Améliorationobjective

Binarisation

Image

Observation visuelle

Segmentation

Restauration : inversion du processus de dégradation, exige un modèle de dégradation ( corrections photométriques / géométriques ) Améliorations : modifications d’histogrammes méthodes pixel à pixel subjectives ou objectives renforcement du contraste méthodes locales subjectives lissage des bruits méthodes locales subjectives et objectives

Binarisation : transformation en image bi-niveaux pixel à pixel ( segmentation = morphologie )

RestaurationModèle Modèle inconnu : limitation des défauts

Page 5: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 5

CORRECTIONS PHOTOMETRIQUES : EXEMPLES

RESTAURATION D’IMAGE

Correction de capteur ( gain, non linéarité, etc. ) étalonnage expérimental

Energie

Noniveaude gris

N = f ( E )

Courbe d’étalonnage

LUT

No ( pixels bruts ) Nc = LUT (No): pixels corrigés

E = k.f –1 ( No )

Correction de signal : correction gamma modèle explicite

S vidéo = E Nc = ( ( No / 255 ) 1/ ).255 LUT

normalisation No dans [ 0…1 ] puis Nc dans [ 0…255 ]

NB : = 0.45 pour la vidéo noir et blanc

Page 6: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 6

RESTAURATION D’IMAGE ( 2 )

Correction d’uniformité d’éclairement image de référence

Image d’origine : I1 objet sur fond clair

Image de référence : Io (fond) Image I1 – Io + max(Io)

Correction d’éclairement : scène et source fixes, variation de l’éclairement modèle physique

En tout point Lo(x,y) = (x,y).Eo(x,y) si E = Eo + E L = .E = .Eo + .E.Eo/Eo L = Lo + E/Eo.Lo = (1+k).Lo ( multiplication par cste )

Pour progiciels standards, changement d’éclairement : L = Lo + cste faux !

Page 7: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 7

RESTAURATION D’IMAGE ( 3 )

Image d’origine : I1 Correction additive : Id Correction multiplicative : Im

Fond clair théoriquement constant : image de référence fond sans objet Io avec un éclairementconstant devrait être max(Io)

Correction additive : Id = I1 – Io + max(Io) Correction multiplicative : max(Io) = K . Io Im = I1.K = I1.max(Io) / Io

La correction additive fournit le contraste objet / fond mais avec un éclairement non homogènede l’objet, la correction multiplicative prend en compte le modèle physique réel de correctiond’éclairement.

Page 8: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 8

RESTAURATION D’IMAGE ( 4 )

0 50 100 150 200 250 30040

60

80

100

120

140

160

180

200

220

0 50 100 150 200 250 30060

80

100

120

140

160

180

200

220

Image d’origineet profil colonne

Image corrigéeet profil colonne

Algorithme

Pour chaque ligne de l’image Im calcul du minimum de la ligne : Min ligne de l’image du fond = Min

Image corrigée = Im – Fond + moyenne du fond ( conserve niveau moyen du fond )

Code Matlab :

Min=( min(Im‘ ) )‘ ;Fond=repmat( Min,1,size(Im,2) ) ; Icor =Im - Fond+mean(Min) ;

Correction d’uniformité d’éclairement construction de la référence

Page 9: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 9

CORRECTIONS GEOMETRIQUES : TRANSFORMATIONS PLANES

RESTAURATION D’IMAGE ( 5 )

L

C

Les différentes transformations géométriques planes en coordonnées homogènes :

L

C Changement d’échelle ( zoom ) 1

' 0 01

' . avec 0 0 1

1 1 0 0 1

l l klkl kl

c T c T kc Tkc kc

- ®= = Þ

®

Rotation centrée en 0

1cos( ) sin( ) 0

sin( ) cos( ) 0

0 0 1

T T

q q

q q q q--

= Þ ® -

Translation

11 0

0 1

0 0 1

tltl tl

T tc Ttc tc

- ®-= Þ

®-

C

L

Combinaison des transformationsdirectes ou inverses globalement : forme affine

6 paramètres réels

11 12 13

21 22 230 0 1

t t t

T t t t=

Page 10: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 10

CHANGEMENT D’ECHELLE

RESTAURATION D’IMAGE ( 6 )

Exemple de zoom : détail d’une image binaire avec kl = kc = K = 1.7

Transformation directe :

PI( L,C ) PZ( round(K.L),round(K.C) )

certains pixels ne sont pas affectés

Transformation inverse :

PZ( L,C ) PI( round(L/K),round(C/K) ) plus proche voisin dans { PI }

Image initiale { PI }

Zoom { PZ }

Page 11: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 11

RESTAURATION D’IMAGE ( 7 )

Transformation directe : PI( L,C ) PZ( round(K.L),round(K.C) ) Transformation inverse : PZ( L,C ) PI( round(L/K),round(C/K) )

Calculs en réels puis arrondi pour donner des coordonnées entières la transformation directe ne permet pas de calculer tous les points, ce qui laisse des pixels à unevaleur arbitraire ( ici 0, pixels noirs ).

La transformation inverse, par principe, affecte tous les points utilisation systématique de T -1.

Mise en évidence rotation d’une image ( ici constante ) autour de son centre :

Pixels noirsnon affectés

Transformations directe et inverse

La marge noire résulted’une absence de pixels

correspondants dansl’image initiale

Page 12: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 12

ZOOM AVEC INTERPOLATION

RESTAURATION D’IMAGE ( 8 )

T.inverse avec interpolation bi-linéaire :

PZ( L,C ) interpolé ( PI( L/K, C/K ) ) =

Pl( L+dl,C+dc ) en fonction des 4 voisins

T.inverse avec interpolation bi-cubique :

Pl( L+dl,C+dc ) en fonction de 16 voisins

Voir détails des calculs

P(L,C) P(L,C+1)

P(L+1,C) P(L+1,C+1)

0 dl < 1, 0 dc < 1

P(L+dl,C+dc) = [ P(L,C).(1-dc)+P(L,C+1).dc ] . (1-dl) ligne L + [ P(L+1,C).(1-dc)+P(L+1,C+1).dc ] . dl ligne L+1

Interpolation linéaire sur : ligne L ligne L+1 colonne entre les 2 valeurs ci-dessus

Page 13: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 13

0 10 20 30 40 50 6080

100

120

140

160

180

200

220

240

RESTAURATION D’IMAGE ( 9 )

L’interpolation bi-cubique produit une sensation de meilleur contraste différence de niveau

Lignes centrale des images sur quelques colonnes :

sans interpolation niveaux conservés bi-linéaire niveaux intermédiaires, léger flou bi-cubique dépassement des niveaux ( prévoir butées )

Interpolation bi-linéaire Interpolation bi-cubique

Page 14: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 14

REDUCTION CONSERVATIVE D’IMAGE

RESTAURATION D’IMAGE ( 10 )

Réduction d’image : facteur d’échelle K < 1

des pixels sont supprimés, l’information pertinente peut être éliminée dans le cas d’imagesde documents comportant textes ou graphismes blanc / noir ou noir / blanc

Réduction K = 0.7

A la place de l’interpolation entre les 4 voisins :

maximum des 4 voisins ( conservation du blanc) minimum des 4 voisins ( conservation du noir )

Page 15: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 15

GENERALISATION : TRANSFORMATION AFFINE

RESTAURATION D’IMAGE ( 11 )

Combinaison de transformations géométriques forme affine, 6 paramètres

11 12 131 1

21 22 23

'

. ' avec

1 1 0 0 1

l l t t t

c T c T t t t- -= =Homologues de 3 points fixées :

3 x 2 équations, résolution du système t ij

( si plus de points : système sur-déterminé )

1 1 1 111 21

2 2 2 212 22

3 3 3 313 23

' ' 1

' ' 11 - résolution de . 0

' ' 1

l c l ct t

l c l ct t

l c l ct t

- =

M M M M M Système linéaire, solution si au moins :

3 points connus dans image initiale,

3 homologues fixés dans image transformée.

PiTPt

2 - calcul des dimensions image transformée

3 - pour tous points image transformée : Pt( L’, C’ )

calcul de interpolé de ( Pi( L, C ) )

Pt * T – Pi = 0

Page 16: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 16

RESTAURATION D’IMAGE ( 12 )

Exemple, recadrage d’un texte choix des points de référence

Code Matlab :

Pi=[ [22 21] ; [113 28] ; [109 87] ] ;

Pt=[ [20 20 1] ; [120 20 1] ; [120 90 1] ] ;

T=Pt \ P i;

P1

P2

P3

Choix d’extrémités de caractères,

a priori pour image correcte :

P1 et P2 sur même colonne P2 et P3 sur même ligne

d‘où Pi et Pt

Page 17: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 17

RESTAURATION D’IMAGE ( 13 )

Puis application de la transformation avec interpolation bi-linéaire

Redressement du texte ( rotation + translation ) et zoom

Page 18: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 18

RESTAURATION D’IMAGE ( 14 )

2 prises de vues avec mouvement du capteur

CAS D’UNE TRANSFORMATION PROJECTIVE ( NON PLANE )

X=|x y z|t

O O1

U=|u v 1|t

T3D

TP3x3

TP3x3 U = k.TP.X X = TP-1.1/k.U k scalaireU1 = k1.TP.(R.X+T) = k1.TP.(R.TP-1.1/k.U+T) k1 scalaire

U1 = fonction ( U ) ?

U1

T-PlanPlan.mws

Le développement des calculs montre que les scalaires disparaissent de U1 = f(U) si le terme de

translation de T3D est faible par rapport à la distance OX (z), ainsi pour |tx ty tz|=0, on obtient alorsune relation homographique.

Voir notations dans « Formation des images »

1 111. 12. 13 21. 22. 23

31. 32. 33 31. 32. 33

h u h v h h u h v hu v

h u h v h h u h v h

+ + + += =

+ + + +

Sous forme matricielle, si des points communs aux 2 vues sont connus, coordonnées U et U1 :

1

1 1 1

11 12 13

. 21 22 23 . U H.U H est donc solution du système linéaire U .H U

1 31 32 33 1

t t tu h h h u

v k h h h v

h h h

= ® = ® =

9 inconnues, 2 relations par point commun 5 points communs

Page 19: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 19

RESTAURATION D’IMAGE ( 15 )

Application, recalage de 2 prises de vues avec rotation 3D du capteur ( mosaïque d’images )

1 1 1

5 5 1

tl c

U

l c

= M M M 1

'1 '1 1

'5 '5 1

tl c

U

l c

= M M M

5 pixels o 5 pixels o

En pratique, lespoints devraient êtremieux répartis dansles 2 images, pourune meilleureestimation de H.

Page 20: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 20

On peut donc reformuler le système précédent pour déterminer T -1 :

Pt * T - Pi = 0

2 x 10 paramètres réels le calcul nécessite au moins 10 couples de points Pi(l,c), Pt(l’,c’)

CORRECTION DES DISTORSIONS

RESTAURATION D’IMAGE ( 16 )

On a modélisé [ voir Modèle de caméra – distorsions ] les défauts géométriques :

Erreurs de positionnement de la caméra, termes petits, donc au premier ordre ; Distorsions géométriques de l’optique ; Déplacement du plan de prise de vue ( rotation axe z, translations selon x et y ) ;

termes d’erreur sur les coordonnées = polynômes de degré 3 :

Valeurs idéales ui,vi valeurs réelles ur,vr : ur = ui + err( ui,vi ) l = l’ + Pl 3( l’,c’ )

vr = vi + err( ui,vi ) c = c’ + Pc 3( l’,c’ )

1,1 2,13 2 2 3 2 2

1,10 2,10

' '. ' ' . ' ' ' '. ' ' ' ' 1. 0

t t

l l c l c c l l c c l c l c

t t

- =M M

Mod_Cam_2 . mws

Page 21: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 21

RESTAURATION D’IMAGE ( 17 )

Exemple de correction sur une mire, avec interpolation bi-linéaire

Les points de référence sont les centres de gravité ( CdG ) des 9 x 15 carrés

Les carrés sont uniformément répartis coordonnées idéales selon un motif rectangulaire

En pratique, préférabler des disques : meilleure stabilité de position du CdG

Distorsions en barillet Motif rectangulaire restauré

Page 22: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 22

RESTAURATION D’IMAGE ( 18 )

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

Références groupées au centre ( 17 CdG rouges ) la périphérie est mal corrigée

correction par mire interieure (marques rouges)

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

Avec déplacement dans le plan

correction par mire interieure (marques rouges)

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

Page 23: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 23

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

La correction n’est effective qu’à l’intérieur du motif de référence

RESTAURATION D’IMAGE ( 19 )

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

Références situées en périphérie ( 16 CdG bleus ) l’image est globalement bien corrigée

Avec déplacement dans le plan

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

Page 24: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 24

CORRECTIONS DE DYNAMIQUE

MODIFICATION D’HISTOGRAMME

Éviter les saturations ( non linéarités irrécupérables ) :réduction du temps d’intégrationréduction de l’ouverture d’objectif

Modification de l’éclairement de la scène

Dynamique de l’imagenon optimale

0 50 100 150 200 250

0

200

400

600

800

1000

1200

1400

1600

1800

0 50 100 150 200 250

0

200

400

600

800

1000

1200

1400

1600

1800

Ajustement linéaire de la dynamique :

Gt = 255.( Go – Gmin) / (Gmax – Gmin)

Go

Gt255

255

LUT

Code Matlab :

LUT=[0:255] ;LUT=255*(LUT-Gmin) / (Gmax-Gmin) ;LUT=min( max( LUT,0 ),255 );Icor = LUT( Im+1 );

Page 25: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 25

MODIFICATION D’HISTOGRAMME ( 2 )

Correction non linéaire de dynamique : compensation de sur- ou sous-exposition :

Existence de zones claires ou sombres dans l’image et besoin d’amélioration de la visibilité des détails dans ces zones : transformation augmentant la plage de variation des niveaux de gris de ces zones cette transformation s’effectue au détriment des plages complémentaires

0 50 100 150 200 250 3000

50

100

150

200

250

300

Programmation de la LUT de correction :

Code Matlab :

Si N < 1 amélioration zones sombres ( sous-exposées )

Si N > 1 amélioration des zones claires ( sur-exposées )

LUT=[0:255] ;LUT=255*(LUT / 255) .^ N ;

Gt = LUT ( Go )NB : correction gamma …

Page 26: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 26

EGALISATION D’HISTOGRAMME

MODIFICATION D’HISTOGRAMME ( 3 )

Idée : transformer un histogramme quelconque en histogramme uniforme

Équivalence des notions pour les domaines continu et discret :

densité de probabilité f(x) histogramme normalisé H(n)/Ne ( Ne = nbre échantillons ) fonction de répartition F(x) histogramme normalisé cumulé HC(n)

Transformation y = T(x) pour l’égalisation d’histogramme :

répartition initiale donnée : f(x) donc F(x) connues répartition cible de y sur [0…255] avec f(y) uniforme f(y) = 1/255 T(x) respectant les relations d’ordre sur x ( monotone, croissante)

propriété des probabilités : f(y) = f(T –1 (y) ) / ( dT(x) / dx ) dT(x)/dx = 255.f(x)

T(x) = 255.F(x) soit dans le domaine discret : T(Go) = 255/NbrePixels . HC (Go)

Propriétes :

utilise toute la dynamique ajustement implicite de dynamique regroupe les classes de niveaux de gris proches élimine les niveaux intermédiaires amélioration visuelle du contraste problème : transformation exacte dans le domaine continu, mais approchée en discret ( voir exemple, prochaine diapositive )

Page 27: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 27

MODIFICATION D’HISTOGRAMME ( 4 )

Ajustement de dynamique et égalisation d’histogramme :

0 50 100 150 200 250

0

50

100

150

200

250

300

0 50 100 150 200 250

0

50

100

150

200

250

300

Ajustement de dynamique

Égalisation d’histogramme

0 50 100 150 200 250

0

50

100

150

200

250

300

Code Matlab :

Hi=imhist( uint8(Im) );[Nl,Nc]=size(Im) ;for G=255:-1:2, HCi(G)=sum( Hi(1:G) ); endLUT=255*Hci / (Nl*Nc) ;Ieh=uint8( LUT(Im+1) );

NB : histogramme non uniforme

Gt = LUT ( Go )

0 50 100 150 200 250 3000

50

100

150

200

250

300

Page 28: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 28

TRANSFORMATION ADAPTATIVE

MODIFICATION D’HISTOGRAMME ( 5 )

Toutes les transformations précédentes sont globales ( sur l’ensemble de l’image )

Si la luminance n’est pas uniforme adaptation de transformation au contexte local Exemple : subdivision en 4 zones, calcul de la transformation pour chaque zone Zi

Code Matlab :

Lo=round(Nl/4); TL=round(Nl/2); Co=round(Nc/4); TC=round(Nc/2);for L=1:Nl, Kv=max( min( (L-Lo)/TL,1 ),0 ) ; for C=1:Nc, G=Im(L,C) ; Kh=max( min( (C-Co)/TC,1 ),0 ) ; Gt01=LUT0(G)*(1-Kh)+LUT1(G)*Kh; Gt23=LUT2(G)*(1-Kh)+LUT3(G)*Kh; Iad(L,C)=Gt01*(1-Kv)+Gt23*Kv; endend

Z2 Z3

Z1Z0

0 C

L

NB :

Kh et Kv [0…1]

respectivement pondérations horizontale et verticale

Zi : dimensions Nl/2 x Nc/2 centre (Li,Ci) et transformation locale Ti

Pour pixel P(l,c) interpolation bilinéaire des transformations : pondération des Ti par les distances P (Li,Ci)

Page 29: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 29

TRANSFORMATION ADAPTATIVE

MODIFICATION D’HISTOGRAMME ( 5 )

Image initiale Ajustement globalde dynamique

Ajustement adaptatif4 zones

Noter que les relations d’ordre sur les niveaux de gris ne sont plus respectées

Page 30: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 30

AJUSTEMENT DE 2 HISTOGRAMMES

MODIFICATION D’HISTOGRAMME ( 6 )

Eclairages différents d’une même scène histogrammes différents

Modification d’un histogramme pour l’ajuster à l’autre images comparables

Algorithme :

Calculer les histogrammes cumulés de référence HCref et cible HCcible ( à modifier )

Pour G dans [0…255] calculer Go tel que : | HCref (Go) – HCcible (G) | = 0 par interpolation linéaire LUT (G) = Go

Code Matlab : for G=256:-1:2, Href(G)=sum( Href(1:G) ); Hcible(G)=sum( Hcible(1:G) );endHref=[-1.0e+38;Href;1.0e+38] ; % butees pour calculfor G=1:256, Tst=Href-Hcible(G); Neg=find(Tst < 0); Gn=Neg(end); % dernier < 0 Pos=find(Tst > 0); Gp=Pos(1); % premier > 0 Lut(G)=( Tst(Gp)*Gn-Tst(Gn)*Gp ) / ( Tst(Gp)-Tst(Gn) ) ;endLut=round( Lut )-2;

Page 31: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 31

MODIFICATION D’HISTOGRAMME ( 7 )

0 50 100 150 200 250 3000

2000

4000

6000

8000

10000

12000

14000

0 50 100 150 200 250 3000

2000

4000

6000

8000

10000

12000

14000

0 50 100 150 200 250 3000

2000

4000

6000

8000

10000

12000

14000

0 50 100 150 200 250 3000

2000

4000

6000

8000

10000

12000

Ajustement des3 histogrammes

R V B

sur la référence

Référence

Lumière blanche

3 images couleur avec des lumières présentant une composante spectrale

Page 32: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 32

PRINCIPE

BINARISATION

Transformation pixel à pixel ( par LUT ) transformant une image multi-niveaux en une image 2 classes, notées C0 et C1 : image binaire

Cas particulier de modification d’histogramme : 2 modes 2 classes

Gt

GoSeuil0

1Problème : choix du seuil ?

Base de choix histogramme

Cas idéal : histogramme bimodalle seuil est tel que H(S) = 0 entre les deux modes

Go

H(Go)

Détermination du seuil :

empiriquementcritère statistique : critère bayesien ou minimisation de la variance intra-classe critère structurel : critère de forme

seuil global ou adaptatif selon critère local optimal

Page 33: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 33

Recherche du seuil optimal So tel que :

où Pei = probabilité d’erreur de classification pour la classe i , et PCi probabilité de la classe Ci

sous hypothèse de distributions gaussiennes de même variance 2 :

CRITERE BAYESIEN

BINARISATION ( 2 )

( )0 0 1 1. .0

d Pe PC Pe PCdPerreur

dS dS

+= =

( ) ( )

( )

( )

2 20 0

0 2 2

21

1 2 2

20

0 12

. exp . 1 . exp .2 2

1. exp . où 2 2

. .exp . .exp2

So

So

So

S SPe K dS K dS

SPe K dS K

SodPerreurK PC K PC

dS

m m

s s

m

s ps

m

s

¥

- ¥

- ¥

æ ö æ ö÷ ÷ç ç- - - -÷ ÷ç ç÷ ÷= = -ç ç÷ ÷ç ç÷ ÷ç ç÷ ÷÷ ÷ç çè ø è ø

æ ö÷ç- - ÷ç ÷= =ç ÷ç ÷ç ÷÷çè ø

æ ö÷ç- - -÷ç ÷=- +ç ÷ç ÷ç ÷÷çè ø

ò ò

ò

( )

( )( )

( )( )

( )

21

2

2 20 1

0 12 2

21 0 0

11 0

02

ln ln2 2

.ln2

So

So SoPC PC

PCSo PC

m

s

m m

s s

m m sm m

æ ö÷ç - ÷ç ÷=ç ÷ç ÷ç ÷÷çè ø

æ ö æ ö÷ ÷ç ç- - - -÷ ÷ç ç÷ ÷Þ + = +ç ç÷ ÷ç ç÷ ÷ç ç÷ ÷÷ ÷ç çè ø è ø

+ æ ö÷çÞ = + ÷ç ÷è ø-

Suppose connus PC 0 et PC 1

0 et 1 obtenus itérativement

Prob

Gris

C0 C1

Pe0.PC0

Pe1.PC1

So

Page 34: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 34

VARIANCE INTRA-CLASSE MINIMALE

BINARISATION ( 3 )

( ) ( )

( )

( )

( ) ( )

0 1

0 1

220 1

i i 0 1

2 2 2

2 2 20. 10 1

2 20. 10 1

1variance intra-classes

1où et effectif de et

.

1 1 .

min max .

i

i i

C C

ii C

i i iC C

C C

Vic g gN

g N C N N NN

g g N

Vic g N NN N

Vic N N

m m

m

m m

m m

m m

æ ö÷ç ÷= - + -ç ÷ç ÷ç ÷çè ø

= = = +

- = -

Þ = - +

Þ Û +

å å

å

å å

åU

VIC=zeros( size(Seuil) ) ;for I=1:length(Seuil) , S=Seuil(I) ; N0=sum(Hi(1:S)) ; SG0=sum( Hi(1:S).*[0:S-1]‘ ) ; N1=sum(Hi(S+2:end)) ; SG1=sum( Hi(S+2:end).*[S+1:255]‘ ) ; VIC(I)=SG0^2/N0+SG1^2/N1 ; end[Vmax,Imax]=max( VIC ) ; VIC=VIC/Vmax ;

Détermination de So séparant C 0 et C 1 :

Pour seuil S dans la plage de test : calcul du critère selon histogramme Hi

Minimum du critère seuil optimal So

Code Matlab :

Page 35: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 35

BINARISATION ( 4 )

0 50 100 150 200 250

0

500

1000

1500

2000

2500

3000

170 180 190 200 210 220 2300.994

0.995

0.996

0.997

0.998

0.999

1

1.001

Histogramme

N0.0 2 + N1.1 2

max pour 220

Exemple : images binarisées pour Seuil = 170, 220, 230

Page 36: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 36

Compacité C = 4. Surface / Périmètre 2

CRITERE DE FORME : COMPACITE

BINARISATION ( 5 )

Critère basé sur la régularité des formes des objets et la stabilité de leurs contours ce critère s’applique sur l’image binaire, donc après seuillage

Discrimination des formes : disque C = 1, carré C = 4 / 16, rectangle 1 x 0.1 C 4 / 50 Indice de fractionnement : 1 forme C = cf N formes identiques même surface totale C = cf / N Indice de points isolés : 1 point isolé à 0 dans une forme P = P+4, S = S-1 C 1 point isolé à 1 dans le fond P = P+4, S = S+1 C ( moins ) Méthode :

Pour toutes les valeurs du seuil dans la plage à tester :binarisationsurface = nbre de pixels à 1, périmètre = nbre de points des contourscalcul de la compacité à 4 près

Compacité maximale Seuil optimal

Page 37: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 37

COMPACITE : MODE DE CALCUL

BINARISATION ( 6 )

NB : la compacité n’a d’intérêt que si la forme est régulière et modifiée par le choix du seuil !

• Calcul de la surface immédiat, S = nbre de pixels à l’état 1

• Calcul du périmètre, P = nbre de pixels du contour, plusieurs choix possibles :

- 2 contours discrets à combiner : intérieur Pint et extérieur Pext d’où

- et de plus 2 définitions de connexité : 4-connexité ou 8-connexité

• Les valeurs extrêmes des seuils n’ont aucune signification :

- seuil très faible, image à 1 sauf quelques pixels isolés à 0- seuil élevé, image à 0 sauf quelques pixels isolés à 1

il n’y a plus de notion d’objet et de fond, un critère de forme n’a plus de sens

C1 = 4.. S / (Pint*Pext) C2 = 16.. S / (Pint+Pext) 2

Page 38: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 38

COMPACITE : DISCRETISATION

BINARISATION ( 7 )

Calcul de la surface sans ambiguité, S = nbre de pixels à l’état 1

Calcul du périmètre, P = nbre de pixels du contour, dépend de la connexité utilisée 4-C ou 8-C :

P = ( Pint + Pext ) / 2

Exemple, 1 point isolé :

S = 1, Pint =1

Pext 4-C = 4 Pext 8-C = 84-C 8-C

Compacité 8-C = 16. / ( 9 2 ) = 0.62

Compacité 4-C = 16. / ( 5 2 ) = 2 compacité > 1, conséquence de la discrétisation

la valeur limite de 1 pour la compacité (disque) n’est valable que pour un espace continu

Page 39: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 39

0 50 100 150 200 250

0

100

200

300

400

500

600

700

800

70 75 80 85 90 950.026

0.027

0.028

0.029

0.03

0.031

0.032

0.033

0.034

0.035

Exemple : images binarisées pour Seuil = 70, 82, 95

BINARISATION ( 8 )

Histogramme

Compacitémax 0.034 pour 82

Page 40: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 40

BINARISATION ( 9 )

CODAGE DIT « HALF TONING »

Objectif : rendu visuel d’une image en niveaux de gris sous forme binaire

principe en 1D, signal G(i) de dynamique [0,Gm] et seuil S = Gm/2, algorithme :

si G(i) ≥ S Err = G(i)-Gm; B(i) = 1; Err est l’erreur due au codage G(i) ~Gm

sinon Err = G(i); B(i) = 0;

G(i+1) = G(i+1) + Err; l’erreur est reportée sur le point suivant

résultat : si G = S B = 010101… alternance noir / blanc

si G > S la densité de points blancs augmente avec G

si G < S inversement la densité de points noirs augmente

En 2D, diffusion de l’erreur, répartie pondérée vers les points voisins ( Floyd-Steinberg )

- balayage de l’image, en chaque pixel P(i,j) : test / binarisation / calcul de l’erreur

- diffusion de l’erreur sur les suivants :

P(i,j) → Err P(i,j+1)

+ 7/16.Err

P(i+1,j-1)+ 3/16.Err

P(i+1,j)

+ 5/16.Err

P(i+1,j+1)

+ 1/16.Err

Page 41: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 41

BINARISATION ( 10 )

Exemple répartition pseudo-aléatoire de points noirs / blancs :

Binarisation Img > 127

Half-toning

la densité des points donne un rendu multi-niveaux de gris

Page 42: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 42

RETOUR AU PLAN

FIN DE PRESENTATION

FIN DE PRESENTATION

Page 43: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 43

INTERPOLATION BI-CUBIQUE

Interpolation cubique interpolation 1D par polynôme de degré 3 sur 4 points connus

P(L,C-1), P(L,C), P(L,C+1), P(L,C+2)

( )

( )

( )

( )

3 2 3 2

3 2

( 1) 1 1 1 1 ( )

(0) 0 0 0 1 ( )( ) . . . . ( ) 1.

(1) 1 1 1 1 ( )

(2) 8 4 2 1 ( )

1 3 3 1 ( 1)

3 6 3 0 (0)( ) 1. . 1. ( 1) 0. (0) 1. (1) 2. (2)

2 3 6 1 (1)

0 6 0 0 (2)

P i

P i

P i

P i

P a a

P b bP x a x b x c x d P x x x x

P c c

P d d

P

PP x x x x Cm P C P C P C P

P

P

- - -

= + + + ® = ® =

- - -

-= = - + + +

- - -

avec x = dc, 0 < dc < 1donné

Icubic . mws

Sur la ligne L, et avec une référence arbitraire C = 0, calcul de P(dc) :

Ck fonctions de x et des coefficients

Page 44: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 44

INTERPOLATION BI-CUBIQUE ( 2 )

Interpolation bi-cubique autre méthode d’interpolation 1D par polynôme de degré 3 avec 2 points : P(L,C), P(L,C+1) et 2 dérivées : P’ (L,C), P’ (L,C+1)

( , ) 1. ( , 1) 0. ( , ) 1. ( , 1) 2. ( , 2)

avec 1/ 6 :

1 . .( 1).( 2)

0 3. .( 1).( 2).( 1)

1 3. . .( 1).( 2)

2 . .( 1).( 1)

P L C dc Cm P L C C P L C C P L C C P L C

K

Cm K dc dc dc

C K dc dc dc

C K dc dc dc

C K dc dc dc

+ = - + + + + +

=

=- - -

= - - +

=- + -

= - +

Soit en 2D une zone de 4 lignes x 4 colonnes par point

- 4 interpolations 1D horizontales sur 4 lignes - 1 interpolation 1D verticale sur les 4 résultats

3 2

3 2

(0) 0 0 0 1

(1) 1 1 1 1( ) . . . . mais il faut calculer '(0) et '(1)

'(0) 0 0 1 0

'(1) 3 2 1 0

2 2 1 1 (0)

3 3 2 1 (1) 1 1( ) 1. . '(0) ( (1) ( 1)), '(1) ( (2) (0))

0 0 1 0 '(0) 2 2

1 0 0 0 '(1)

P a

P bP x a x b x c x d P P

P c

P d

P

PP x x x x P P P P P P

P

P

= + + + ® =

-

- - -= = - - = -

d’où encore 4 points concernés

par exemple

Icubic . mws

Page 45: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 45

STABILITE DU CdG D’UN DISQUE

La position du centre de gravité d’une forme n’est pas un invariant projectif

La déformation projective d’un disque est plus faible que celle d’un motif rectangulaire ( carré )exemple d’une transformation projective disque et carré englobant pour ax = 0, ay = 45° :

- j : position théorique du CdG- r : CdG du carré transformé en trapèze- b : CdG du disque transformé en ellipse

ax

ay

Ø=0.5

F=0.01

Zo=1

Courbes ErrX ellipse fonction de ay -60…60°

T3DC.mwsT3Do5d0.mws

ax = 0° : b 15 : v 30 : j 45 : r

Maxi pouray=45 ax=0

Page 46: Prétraitements des images - 1 1ère PARTIE PRETRAITEMENTS DES IMAGES 1. INTRODUCTION  Dégradations des images  Méthodologie de traitement 2. RESTAURATION

Prétraitements des images - 46

STABILITE DU CdG D’UN DISQUE ( 2 )

TP_disc_o2 . mws

Erreur de position du centre de gravité d’un disque

Pour un disque de rayon R, situé en (Xo,Yo,Zo) et dans un plan non parallèle au capteur,angles d’Euler ax,ay,az le calcul au second ordre ( angles petits, validité qui s’étend jusqu’à ~ 10° ) fournit une estimation du déplacement du CdG par rapport à sa position théorique :

Exemple, en conditions défavorables :

R = 2 cm, F = 6 mm, pix = 5 μm, Zo = 1mXo = -Yo = 0.5 m et ax = ay = 10° ErrX = 0.1 pix et ErrY = -0.1 pix

2 22 2

22 2

22

.(2. ) . .. . . .

11 . . .( ). 3. 1

2

.(2.. .

Xo Yoay ay ax ax ay

R RZo ZoErrX f f ay

Zo ZoXo Yo Ray ax ax ay

Zo Zo Zo

Yoax ax

R ZoErrY f

Zo

æ ö÷ç + + - ÷ç ÷çæ ö æ öè ø÷ ÷ç ç= ÷ ÷ç ç÷ ÷ç çæ öæ öè ø è ø÷æ öç ÷ç ÷÷ç ÷ç ç ÷+ - + + - ÷÷ç ç ç ÷÷÷çç ç è ø ÷÷÷çç ÷ç è øè ø

- + +æ ö÷ç= ÷ç ÷çè ø

;

22

22 2

) . .. .

11 . . .( ). 3. 1

2

Xoay ax ay

RZof ax

ZoXo Yo Ray ax ax ay

Zo Zo Zo

æ ö÷ç - ÷ç ÷ç æ öè ø ÷ç- ÷ç ÷çæ öæ ö è ø÷æ öç ÷ç ÷÷ç ÷ç ç ÷+ - + + - ÷÷ç ç ç ÷÷÷çç ç è ø ÷÷÷çç ÷ç è øè ø

;