Reconnaissance de caractères: Avant tout, connaître le traitement d'images - Philippe Foucher

La page est créée Théo Didier
 
CONTINUER À LIRE
Reconnaissance de caractères:
  Avant tout, connaître le
    traitement d’images

       Philippe Foucher
Plan
Introduction
Pré-traitement
Segmentation d’images
Extraction de caractéristiques
Classification
Conclusion
Une image ?
Définition: image = fonction d’au moins deux
variables spatiales. I=f(x,y).
Image numérique: x et y sont discrets (entiers)
et f(x,y) correspond à une luminance ou une
couleur. exemple f(35,460)= 127.
 Image composée de pixels, un pixel (Picture
Element) correspond à un couple (x,y) et la
valeur de ce pixel correspond à f(x,y).
Exemple
                                   57

                    86

Image 100* 150
                  F(57,86) = 250
Codage niveaux de gris
images monochromatiques (souvent en
niveau de gris ou luminances). Chaque pixel
peut prendre N valeurs.
en général: N = 256 (1 octet)
Noir = 0 ; Blanc = 255 ;
Les images multi-spectrales (plusieurs
valeurs par pixel    vecteur de composantes
par pixel)
 f(x,y)=[fr, fv, fb]
Exemple d’images multi-spectrales
 images en couleurs RVB (Rouge, Vert, Bleu):
 trois composantes couleur.
 f(57,86) = [255,237,255].

              Rouge

                Vert

                      Bleu
Image binaire
Une image binaire: les pixels ne prennent
que deux valeurs (par exemple noir (0) ou
blanc (1 ou 255)).
Exemple:
Voisinage d’un pixel
   Pixel A de coordonnées (x,y)
   Voisinage: pixels autour du pixel A

                                   ×     ×    ×        ×   ×
 ×    ×   ×             ×
                                   ×     ×    ×        ×   ×
 × A ×             × A ×           ×     ×    A        ×   ×
 ×    ×   ×             ×          ×     ×    ×        ×   ×
Voisinage 3*3     Voisinage 3*3
                                   ×     ×    ×        ×   ×
Connectivité 8    Connectivité 4       Voisinage 5*5
Plan
Introduction
Pré-traitement
Segmentation d’images
Extraction de caractéristiques
Classification
Conclusion
Bruit ?
Bruit: nuisances sur le signal ou l’image (tout ce
qu’on ne veut pas). En général aléatoire.
Origine: perturbations à l’acquisition (électronique,
lentilles, capteurs,humidité, température,…), bruit
sur document initial,échantillonnage.
Souvent Bruit additif (constant ou gaussien) noté
n(x,y).
    g(x,y) = f(x,y) + n(x,y) (variable aléatoire)
Parfois Bruit multiplicatif noté m(x,y)
    g(x,y) ) = m(x,y)*f(x,y)
Exemple image bruitée

Image originale   Image fortement bruitée        Image filtrée
                  (bruit additif gaussien)   (filtre gaussien 3*3 )
Notions de fréquence
Image: représentation spatiale      Distance
entre deux pixels facile à calculer
Fréquence spatiale: nombre d’éléments par
unité de distance
exemple: sur une route, on peut voir 200
bandes blanches au kilomètre, c’est la
fréquence spatiale.
Fréquences haute et basse
Dans une image, la fréquence
d’apparition des détails (variations,
contour) est élevée. On parle de
fréquence haute.
 au contraire, les plans très homogènes
(ciel, fond d’écran, plans unis)
présentent de faibles variations qui sont
reproduites dans les basses fréquences
Filtres (passe-haut et passe-bas)
Filtre passe-haut: favorise les hautes
fréquences et donc les détails. Il permet de
rehausser un contour mais ajoute du bruit.
Filtre passe-bas: effet contraire au filtre
passe-haut, favorise les textures
homogènes. il permet de réduire le bruit
additif au risque de louper les détails et les
contours.
Produit de convolution
Produit de convolution = opérateur
mathématique pour multiplier les
matrices entre elles.
Deux matrices: Matrice Image A et une
matrice plus petite appelée noyau K
(c’est le noyau qui va agir sur la matrice
A)
Notation B=A*K
En plus clair…

                                                      K(i-1,j-1)   K(i,j-1)     K(i+1,j-1)

                                                       K(i-1,j)     K(i,j)       K(i,j+1)
                          x,y                    *
                                                     K(i-1,j+1)    K(i,j+1)     K(i+1,j+1)

                                                                              Noyau K

                     Matrice A
B(x,y)= [A(x,y)*K(i,j) + A(x-1,y-1)*K(i-1,j-1) + A(x,y-1)*K(i,j-1) + A(x+1,y-1)*K(i+1,j-1)
+ A(x-1,y)*K(i-1,j) + A(x+1,y)*K(i+1,j) + A(x-1,y+1)*K(i-1,j+1) + A(x,y+1)*K(i,j+1) +
A(x+1,y+1)*K(i+1,j+1)]/somme K
Filtre passe-haut
100   100   100   100    100 100
100   100   100   100    100 100       0     -1    0
100   100   100   150    100 100
                                   *   -1    5     -1
100   100   100   100    100 100
100   100   100   100    100 100       0     -1    0

100   100   100   100    100 100
                                            100   100   100   100   100 100
                                            100   100   100   50    100 100
                                            100   100   50    350   50   100
                                            100   100   100   50    100 100
                                            100   100   100   100   100 100
                                            100   100   100   100   100 100
Caractéristiques
Favorise et renforce les détails (exemple
le pixel de luminance initiale150)
Noyau: pixels négatifs autour du pixel
central.
Augmente le bruit dans les zones
homogènes.
Filtre passe-bas
100   100   100   100   100 100
100   100   100   100   100 100       1    1     1
100   100   100   110   100 100
                                  *   1    4     1
100   100   100   100   100 100
100   100   100   100   100 100       1    1     1

100   100   100   100   100 100
                                          100   100   100   100   100 100
                                          100   100   101   101   101 100
                                          100   100   101   104   101 100
                                          100   100   101   101   101 100
                                          100   100   100   100   100 100
                                          100   100   100   100   100 100
Caractéristiques
Filtre passe-bas adoucit les détails et
permet d’enlever le bruit de fond.
valeurs positives autour de la valeur
centrale.
Tendance à réduire les points isolés
et à rendre plus difficile la détection
de contours
Autres filtres: Filtre moyenne

Filtre moyenne: pixel central = moyenne
des pixels voisins.
Filtre passe-bas particulier: trop
homogène, réduit fortement les
contours
             1/9   1/9   1/9

             1/9   1/9   1/9

             1/9   1/9   1/9
Filtre médian
  Atténue les pixels isolés, c’est-à-dire ceux qui
  ony valeur très différente de leur entourage.
  Pas exactement un produit de convolution
433   432   440   439   437 430
433   437   427   423   425 428   Pixels voisins rentrés dans l’ordre:
454   448   432   120   414 415   {120,414,422,423,425,426,427,43
447   450   438   426   422 420   2,438}
434   441   440   430   430 437
433   422   428   426   440 438      Médiane: 425
Exemples sur 512 niveaux
Filtre gaussien

 Filtre « passe-bas » particulier   réduit
 le bruit mais augmente le flou.
                1   2   1

                2   4   2

                1   2   1
Remarque: l’ajout de flou peut-être très
 utile pour obtenir les détails (image-
 image floue)
Et puis…
Les autres filtres plutôt de type passe-
haut seront vues dans la partie
détection de contour:
   - filtre laplacien
   - filtre gradient
   - filtre Prewitt,Sobel,…
Exemples
 Filtre
 passe-bas
 (gaussien)

Filtre
passe-haut
Plan
Introduction
Pré-traitement
Segmentation d’images
Extraction de caractéristiques
Classification
Conclusion
Pourquoi segmenter ?
L’image ne nous intéresse pas en elle-même.
Ce sont les objets qui composent cette image
qui sont intéressants.
Objet partie cohérente de l’image:
    - connexe.
    - couleur ou texture cohérente.
    - contours bien définis.
    - information a priori.
Définition

Partition d’une image en un nombre fini
de régions R1,…,Rs telles que:
- L’ensemble des régions compose
l’image.
- Les régions sont connexes entre elles
- Ri et Rj sont différents.
Traitement bas-niveau (pas d’analyse
des objets)
Méthodes de segmentation

Seuillage d’histogramme
Approche région
Approche contours
Classification de pixels
   - approche statistique
   - approche connexionniste
Exemples de segmentation
Deux régions (fond et plante).

             segmentation
Seuillage d’histogramme
Déterminer les seuils de séparation d’un
histogramme

 Exemple:
Histogramme
Monochromatique: Nombre de pixels par niveau
de gris.
L’histogramme n’apporte aucune information sur
la localisation des pixels
Exemple de seuillage
Seuillage en deux régions et le reste.

              Seuil à 175
Histogramme

 Seuillage à 175
Seuillage en trois régions
Si luminance pixel > 175   blanc
Si luminance pixel > 118   gris
Sinon    noir
Trois régions

  Deux seuils,
  trois régions
Utilisation histogramme
 Recherche automatique de pics et de
 vallées
 Histogrammes 2D, 3D
Exemple:
                           255

             Histogramme

                            Luminance 2
             2D: R et V

                                 0        Luminance 1   255
Avantages
Très simple d’utilisation
pas de connaissance a priori sur l‘image
Très efficace pour régions très
différentes.
Inconvénients (1)

 seuils si histogramme multimodaux (présence de
vallées )
 sinon:
Inconvénients (2)

difficile à mettre en œuvre si besoin de
détecter un grand nombre de régions.
Problème des minima locaux.
Pas d’information spatiale:
segmentation de régions non connexes
Approche régions
Algorithme de croissance de régions
             • germe: pixel de départ (croix rouge)
             • critère d’homogénéité (intensité en
             niveaux de gris compris entre deux
             seuils) à définir au préalable
             • Propagation de proche en proche.
             Pixels appartiennent à la même région
             si leurs valeurs répondent au critère
             d’homogénéité.
Avantages/inconvénients
 Avantage:
- Régions connexes, technique assez
 robustes.

 Inconvénient:
- Programme lourd (temps et mémoire)
- dépendant du choix du point de départ
Region Merging

Fusion des régions si critère d’homogénéité
respecté
Priorité de fusion si deux régions connexes
se présentent        on considère à chaque
fois la région et non le pixel voisin
Exemple
Fusion de régions:

1    2     3         A       B

     5     7
4                    C   D       E
     6     8
Avantages/inconvénients
Avantage: idem que croissance de
région
Inconvénient:
- Lourd à mettre en place    vérification
du critère d’homogénéité + calcul des
caractéristiques de la nouvelle région
- régions souvent grossières
Region splitting
Processus inverse que region merging
Région initiale = image entière divisée en
quatre si non homogène
Processus récursif
Exemple
• Image = région initiale
Avantages/inconvénients
 Avantages: idem
Inconvénients:
- segmentation trop fine (sur-
segmentation).
- segmentation « à la règle » (un peu
trop carré)   Split and merge: division
puis fusion des régions
Détection de contours
Recherche contours de l’image.
   contour = grande variation d’une
valeur (par exemple luminance)
filtres passe-haut
contours actifs
Filtre laplacien
Laplacien:

               Filtre
               laplacien
Filtre gradient

deux types de gradient:

               Filtre Sobel

              Filtre Prewitt
Filtres
Prewitt: 3 filtres successifs
1    1    1    0    1    1    -1       0       1

0    0    0    -1   0    1    -1       0       1

-1   -1   -1   -1   -1   0    -1       0       1

Sobel même chose avec              1       2       1

                                   0       0       0

                                   -1      -2      -1
Avantages/inconvénients
  Avantages:
- Utilisation très simple
- Traitement informatique peu coûteux

  Inconvénients:
- fonctionne difficilement si contours mal
  définis
- Fermeture des courbes        pas simple
- Sensible au bruit
Contours actifs
Courbes mathématiques fermées (ellipse,
cercle) qui évoluent pour représenter au
mieux un objet en fonction de critères
d’homogénéité.
Lien
Avantage: extrêmement robuste
Inconvénient: programmation difficile
Classification de pixels
On affecte un pixel à une classe en
fonction de ses caractéristiques spectrales
(niveaux de gris, composantes
colorimétriques, …)
Étude plus approfondie dans les
prochains cours.
Classification
        R                                Classe 1

        V           Méthodes de
Pixel
                    classification
                                         Classe 2
        B

Même chose que pour classification de formes
ou de paroles.
     - aspect statistique
     - aspect connexionniste (réseau de
neurones)
Schéma de classification
                  V

                                       B

          R   Définition des classes       Image

• Nécessité d’un apprentissage
Approche statistique
Approche bayésienne et approches
dérivées
Nuées dynamiques
…
Réseau de neurones: Perceptron

             W1,1
R                              W1,s
         W2,1
                    W3,1
                                       Valeur réelle
V
                                       comprise          Décision
                W1,N                   entre 0 et 1
         W2,N
B                               WN,s
             W3,N

2 étapes :
- apprentissage pour ajuster les poids des connexions
- affectation à une classe de l’ensemble des pixels de l’image
Conclusion
  Avoir le meilleur document initial possible
  Qualité du pré-traitement et de la
segmentation influence le reste du processus.
  pas de segmentation miracle .

              … Questions ????
Vous pouvez aussi lire