66
Traitement et analyse d'images -ANIMAG

Traitement et analyse d'images -ANIMAG (INSA LYON)

Embed Size (px)

Citation preview

Traitement et analyse d'images -ANIMAG

Page : 2/15

Juste au cas où ….

Qui suis­je ? Et comment me joindre ?Carole Frindel, [email protected]­lyon.fr

Si vous avez des difficultés :– Références à des ouvrages tout au long du cours– Internet est vaste : soyez autonomes.

Si ça ne répond pas à vos questions :– Envoyez un mail à votre enseignant

 

Page : 3/15

Programme du cours

Introduction Qu’est­ce qu’une image ? Traitements de base d’une image Convolution Numérique Traitements fréquentiels Détection des contours Segmentation Opérations sur les images binaires Reconnaissance des formes

Page : 4/15

Calendrier

Page : 5/15

Fonctionnement du cours

Séance de 2 ou 4h (exceptionnellement). Alternance entre séance de cours et de TP

Travaux pratiques– Utilisation de Fiji sous Linux– Programmation de macros sous Fiji

Evaluation du cours– Travaux pratiques (50%) + projet (50%)

Page : 6/15

https://planete.insa-lyon.fr/scolpeda/f/ects?id=22193&_lang=fr

Page : 7/15

Fiji

 Logiciel de traitement et analyse d'images, surcouche de ImageJ 

 ImageJ : logiciel multi­plateforme et open source de traitement et d'analyse d'images développé par les National Institutes of Health 

Il est écrit en Java et permet l'ajout de nouvelles fonctionnalités via des plugins et macros

 Téléchargeable sur http://fiji.sc/Fiji  Utilisé pour les travaux pratiques

Page : 8/15

Attention : accent mis sur les TP

Ne surtout pas commencer à la dernière minute– Travaillez en plusieurs fois– Se laisser du temps pour réfléchir aux problèmes

Du temps est donné en classe pour les TP– Profitez­en pour avancer votre travail !– Evitez de surfez le web dans les cours et relisez votre cours avant de 

venir en TP

Page : 9/15

Attention : accent mis sur les TP

C’est un cours de traitement d’images !– Découvrez le logiciel Fiji et ses fonctionnalités– Ecrivez votre rapport en français– Mais expliquez et démontrez le traitement d’images !

Montrez des résultats sur les images– Choisissez les images et expliquez vos résultats– Faites le lien avec ce qui est vu en cours

Page : 10/15

Ouvrages en Traitement d’images

Diane Lingrand. Introduction au Traitement d’Images, Vuibert, Paris, 2004.

Alain Trémeau, Christine Fernandez­Maloigne & Pierre Bonton. Image Numérique Couleur, Editions Dunod, 2004.

Rafael C. Gonzalez & Richard E. Woords. Digital Image Processing, 2nd edition, Prentice­Hall, 2002.

Wilhelm Burger & Mark J. Burge. Digital Image Processing: An Algorithmic Introduction using Java, Springer, 2007.

Page : 11/15

Vision artificielle (Computer Vision)

Qu'est ce que c'est ?– connaissances et technologies qui permettent de concevoir des 

machines qui peuvent « voir »

Premier niveau : vision– acquiert une image grâce à une chaîne intégrant des éléments 

optiques et un capteur Deuxième niveau : traitement de l'image

– modifie le contenu de l'image afin de mettre en évidence des éléments d'intérêt (objets, contours) 

Troisième niveau : reconnaissance– utilise des techniques d'intelligence artificielle pour identifier des 

formes connues dans l'image

Page : 12/15

Extension de la perception humaine ? Oui

Capteurs meilleurs que l'oeil humain– voient ce que nous ne voyons pas directement, du fait 

de la limitation de notre système visuel 

Autres propriétés optiques– problème d'échelle, de résolution, de point de vue (ex : 

images satellitaires)

Autres gammes de longueurs d'onde– caméras multi­spectrales, infrarouge proche, 

thermiques (infrarouge lointain)

Autres cadences– caméras à haute cadence, plusieurs milliers d'images 

par seconde.

Page : 13/15

Mieux que la perception humaine ? Non

Moins « intelligent » que l'humain– même si les images initiales sont parfois très riches, le 

résultat de leur traitement par un système de VA reste souvent basique

Puissance de calcul– les systèmes de VA ont une capacité de calcul infiniment 

plus limitée que celle du cerveau humain, ou de celui des animaux évolués

Connaissance et reconnaissance– nous exploitons nos connaissances pour interpréter le 

contenu de l'image : on reconnaît parfois des objets alors qu'ils ne sont pas visibles

Page : 14/15

Exemple d'application de la VA : imagerie médicale

Objectifs– aider le médecin lors du diagnostic, le chirurgien lors 

de la réalisation d'un geste opératoire

Amélioration des images– rehaussement du contraste, élimination du bruit, mise 

en évidence des détails

Détection et localisation– positionnement des organes, détection des tumeurs, 

mesure de dimensions et de volumes

Imagerie interventionnelle– assistance en­ligne au praticien : opérations réalisées 

sur les images en temps­réel

Page : 15/15

Vision industrielle : contrôle de la qualité, de l'aspect, ...

Objectifs– éviter le contrôle visuel par un opérateur (tâche 

répétitive peu valorisante)

Contrôle dimensionnel– le système de vision détermine la dimension, la forme, 

la position de l'objet qu'il observe

Contrôle d'aspect– le système détermine la couleur, la texture des objets 

observés

Contrôle de la qualité– à partir des données précédentes, le système détermine 

la qualité d'un produit

Carole Frindel, CREATIS

2

Qu'est-ce qu'une image ?

64 60 69 100 149 151 176 182 17965 62 68 97 145 148 175 183 18165 66 70 95 142 146 176 185 18466 66 68 90 135 140 172 184 18466 64 64 84 129 134 168 181 18259 63 62 88 130 128 166 185 18060 62 60 85 127 125 163 183 17862 62 58 81 122 120 160 181 17663 64 58 78 118 117 159 180 176

Niveaux de gris - 8 bits: 0 - noir 255 - blanc

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).

4

Qu'est-ce qu'une image ?

Une image est avant tout un signal 2D (x,y) Souvent, cette image représente une réalité 3D

(x,y,z)

D'un point de vue mathématique : Une image est un matrice de nombres représentant un signal Plusieurs outils permettent de manipuler ce signal

D'un point de vue humain : Une image contient plusieurs informations sémantiques Il faut interpréter le contenu au-delà de la valeur des nombres

5

Images naturelles et artificielles

Image naturelle – Plusieurs moyens d'acquisition caméra, microscope, tomographie, infra-rouge, satellite, …

Image artificielle – Plusieurs outils de représentation synthèse d'images, réalité virtuelle, visualisation scientifique, …

Image naturelle Image artificielle Image artificielle

6

Images en niveaux de gris I(x,y) ∈ [0..255]

Images binaires I(x,y) ∈ {0 , 1}

Images couleurs IR(x,y) IG(x,y) IB(x,y)

Trois principaux types d'images

… et plus encore (image 3D, image réelle, …)

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).

7

Image couleur dans l'espace RVB

Mais il existe aussi d’autres codages de la couleur que RVB…

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).CVIPTools : File>View Band>{Red,Green,Blue} / Utilities>Convert>Color to Gray

8

Acquisition des images

9

Monde Caméra Numériseur Image numérique

Acquisition d'une image

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).

10

Capteur – Principe général

Principe général (ex: photodiode) L'énergie incidente est convertie en signal électrique Sortie est proportionnelle à la lumière Filtre pour augmenter la sélectivité

11

Capteurs – Matrice 2D

KAF-1600 - Kodak.

12

Capteur CCD

Caméras numériques CCD

Matrice CCD (Charged Coupled Devices)

Système d'acquisition numérique 2D le plus utilisé

La réponse est proportionnelle à l'intégrale de l'énergie lumineuse qui atteint chaque élément

Pour la couleur, on utilise trois capteurs par pixel réagissant à des longueurs d'ondes différentes (rouge, vert et bleu)

13

Image numérique

Les valeurs de f (x,y) sont la réponse du capteur au phénomène observé

Les valeurs de f (x,y) sont des valeurs de « voltage » continu

Les valeurs de f (x,y) doivent être converties vers le domaine numérique

Conversion Analogique/Numérique (A/N)

Deux procédés sont impliqués pour numériser une image :

Numérisation = Échantillonnage + Quantification

14

Echantillonnage et quantification

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

15

Echantillonnage et quantification

L’échantillonnage est limité par la capacité du capteur, donc le nombre de pixels disponible (ou autre limite imposée)

La quantification est limitée par la quantité de tons (de gris) définie dans l’intervalle

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

16

Echantillonnage et quantification

Avec un capteur à matrice :

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

17

Echantillonnage et quantification

CVIPTools : Utilities>Size>Spatial Quant / Utilities>Convert >Gray Level Quantization

18

Représentation des images

Matrice de dimension M X N Chaque élément à une valeur entière dans l'intervalle

[Lmin , Lmax]

Le nombre de « bits » requis pour représenter les niveaux de gris dans l’intervalle « L » est « K »

La relation entre « K » et « L » est : L = 2 K

Le nombre de bits pour entreposer un image est donc : b = M X N X K

19

Résolutions des images

Résolution spatiale Le plus petit détail discernable

Résolution tonale (de tons de gris) Le plus petit changement discernable

Une image a donc une résolution spatiale de M X N pixel et une résolution de tons de gris de K bits ou de L niveaux ou tons

20

Résolutions spatiale et tonale

Résolution spatiale : échantillonage

Résolution tonale : quantification

Source : Antoine Mazanera. Introduction et filtrage. ENSTA (France).

25

Profils d’intensité dans une image

26

Profil d'intensité d'une image

Un profil d’intensité d’une ligne dans une image est représenté par des signaux 1D.

Lectures suggérées

● Introduction au Traitement d’Images (Lingrand) : chapitre 1

● Digital Image Processing: An Algorithmic Introduction using Java (Burger & Burge) : chapitre 2

● Wikipédia : Traitement d'images, Image numérique, Image matricielle, Image resolution, Niveaux de gris, Quantification

2

Histogramme d'une image

L'histogramme représente la distribution des niveaux de gris (ou de couleurs) dans une image

H(k) = nombre de pixels de l'image ayant la valeur k.

Nombre de pixels

Niveau de gris

CVIPTools : File>Show Histogram

3

Histogramme d'une image

PI(k)

k

PI(k)

k

1

1

0.5

PI(k)

k

0.1

Dynamique d'une image = [valeur_min,valeur_max]

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).

4

Luminance ou brillance d'une image

La luminance (ou brillance) est définie comme la moyenne de tous les pixels de l'image.

Dans les deux images suivantes, seule la luminance est différente :

Source : Eric Favier. L'analyse et le traitement des images. ENISE (France).CVIPTools : Utilities>Stats>Image Statistics (Mean)

5

Contraste d'une image

Le contraste peut être défini de plusieurs façons : Ecart-type des variations des niveaux de gris

Variation entre niveaux de gris min et max

CVIPTools : Utilities>Stats>Image Statistics (S.D.)

6

Contraste d'une image

Les deux images suivantes possèdent un contraste différent :

Source : Eric Favier. L'analyse et le traitement des images. ENISE (France).

7

Exemples de contrastes d’une image

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

8

Amélioration du contraste

Plusieurs méthodes possibles : Transformation linéaire Transformation linéaire avec saturation Transformation linéaire par morceau Transformation non-linéaire Égalisation de l’histogramme

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.CVIPTools : Enhancement>Histograms

9

Transformation linéaire

I’

Imin max

255

0I(i,j)

I’(i,j)

max− minI i , j − min

=255− 0

I ' i , j − 0Alors :

I ' i , j =255max− min

I i , j − min

[ ]1,0minmaxmin)),(( min)),((

minmax255),(' ∈

−−−

−= jiIavecjiIiiI

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.CVIPTools : Enhancement>Histograms>Linear Modification

10

Transformation linéaire

255

255

min max

255

255

%

0 255min max

0 255

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.

11

Implémentation…

Pour i=1 à nblig Pour j=1 à nbcol I’(i,j) = 255*(I(i,j)-minI)

/(maxI-minI);

Pas optimal

Utilisation d’une LUT(Look Up Table)

/* Initialisation de la LUT */ Pour i=0 à 255 LUT[i]=255*(i-minI)/(maxI-minI);

/* Initialisation de la LUT */ Pour i=1 à nblig Pour j=1 à nbcol I’(i,j) =LUT[I(i,j)];

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.

12

Transformation linéaire avec saturation

255

255%

0 255Smin Smax

0 255min max

255

255

Smin Smax

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.

13

Transformation linéaire avec saturation

)),(max()),(min(

255),('255),('

0),('0),('

)),((255

),('

maxmin

minminmax

jiISSjiI

jiIjiI

jiIjiI

SjiISS

jiI

≤<≤

=⇒≥=⇒≤

−−

=

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.

14

Transformation linéaire par morceaux

255

255%

0 255Smin Smax

0 255min max

255

255

Smin SmaxS

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.

15

Transformation linéaire par morceaux

Exemple d’une fonction ad-hoc de modification du contraste de l’image.

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

18

Correction de la dynamique de l'image

Image originale Image restaurée

Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf CVIPTools : Utilities>Stats>Image Data Range + Enhancement>Histograms>Histogram Stretch

19

Correction de la dynamique de l'image

Dans le cas où l'histogramme initial occupe toute la plage de dynamique, aucun changement n'est visible.

Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf

20

Egalisation de l'histogramme

0 50 100 150 200 2500

500

1000

1500

2000

2500

3000

3500

0 50 100 150 200 2500

500

1000

1500

2000

2500

3000

3500

Image originale Image plus contrastée

Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).CVIPTools : Enhancement>Histograms>Histogram Equalization

21

Egalisation de l'histogramme

Pour améliorer le contraste, on cherche à aplanir l’histogramme

Etape 1 : Calcul de l'histogramme

Etape 2 : Normalisation de l'histogramme (Nbp : nombre de pixels de l‘image)

Etape 3 : Densité de probabilité normalisé

Etape 4 : Transformation des niveaux de gris de l'image

k k

h ideal k h k

f ' x , y =C f x , y × 255

C i = ∑j= 0

i

hn j i∈[ 0, 255 ]

hn i =h i Nbp

i∈[ 0, 255 ]

h i i∈[ 0, 255 ]

Note : voir ImAnalyse pour des exemples d'histogrammes cumulés

22

Egalisation de l'histogramme

L'égalisation d'histogramme peut améliorer une image là où la correction de dynamique de l'histogramme est inefficace.

23

Egalisation de l'histogramme

Si on prend la même image avec des contrastes différents, l’égalisation d’histogramme donne le même résultat pour toutes les images.

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

24

Egalisation (locale) de l'histogramme

Image originale Egalisation globale

Egalisation locale

L’égalisation locale de l’histogramme est faite en prenant une fenêtre de 7x7 autour de chaque pixel.

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.CVIPTools : Enhancement>Histograms>Local Equalization

25

Opérations sur les images (ET,OU)

Les opérations logiques fonctionnent aussi sur les images.

ET

OU

=

=

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.CVIPTools : Utilities>Arith/Logic>{AND,OR}

26

Opérations sur les images (ET,OU)

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

27

Addition d’images

Si f et g sont deux images, on peut définir l’addition R pixel à pixel de ces deux images par :

R(x,y) = Min( f(x,y)+g(x,y) ; 255 )

L’addition d’images peut permettre De diminuer le bruit d’une vue dans une série

d’images D’augmenter la luminance en additionnant une

image avec elle-même

Source : Eric Favier. L'analyse et le traitement des images. ENISE.CVIPTools : Utilities>Arith/Logic>Add

28

Soustraction d’images

On peut définir la soustraction S pixel à pixel de deux images f et g par :

S(x,y) = Max( f(x,y)-g(x,y) ; 0 )

La soustraction d’images peut permettre

Détection de défauts Détection de mouvements

Source : Eric Favier. L'analyse et le traitement des images. ENISE.CVIPTools : Utilities>Arith/Logic>Substract

29

Multiplication d’images

La multiplication S d’une image f par un ratio (facteur) peut se définir par :S(x,y) = Max( f(x,y)*ratio ; 255)

La multiplication d’images peut permettre d’améliorer le contraste ou la luminosité

x1,5 = x1,2 =

Source : Eric Favier. L'analyse et le traitement des images. ENISE.CVIPTools : Utilities>Arith/Logic>Multiply

30

Opérations sur les images (+,-)

0.5*F(x,y) + 0.5*G(x,y)F(x,y)

G(x,y)

F(x,y) - G(x,y)

G(x,y) - F(x,y)

Source : www.nte.montaigne.u-bordeaux.fr/SuppCours/5314/Dai/TraitImage01-02.ppt

Lectures suggérées

● Introduction au Traitement d’Images (Lingrand), chapitre 4

● Digital Image Processing: An Algorithmic Introduction using Java (Burger & Burge) : chapitres 4 et 5

● Wikipédia : Histogramme, Brightness (luminance), Contrast, Lookup table, Color balance (amélioration du contraste), Egalisation d'histogramme