Analyse d`Image et Reconnaissance de Forme Avertissement : La

Transcription

Analyse d`Image et Reconnaissance de Forme Avertissement : La
Analyse d'Image et Reconnaissance de Forme
Avertissement :
La Reconnaissance de Forme (RF) est un thème particulièrement vaste et
pluridisciplinaire qui fait l'objet de nombreux travaux de recherches. La notion de
modélisation d'un comportement intelligent est souvent sous-entendue dans un problème
de RF et donne une idée de la difficulté de la tâche. Aussi, les solutions proposées pour
un problème particulier, ne sont souvent que partielles.
Ce cours n'a pas la prétention de traiter de tous les aspects de la Reconnaissance de
Forme. Aussi, après une présentation rapide et générale de ce thème, nous aborderons
quelques techniques pour résoudre des problèmes classiques que l'on peut rencontrer en
informatique scientifique. L'analyse d'images servira de cadre pour présenter des
algorithmes qui pourraient être employés dans d’autres domaines.
Rémy Bulot
Laboratoire des Sciences de
l'Information et des Systèmes
Marseille
I Introduction à l’analyse d’image
1 Qu’est-ce que le traitement d’image ?
Image :
- Initialement, un espace 2D issu d'un procédé photographique.
- Flux de donnée qui peut être « compris » par un observateur.
Propriétés d'une image :
- Représentation partielle d'une scène réelle.
- Volonté de proposer une entité observable par l'œil humain.
- Généralement structurée comme une matrice.
L'information élémentaire :
Grandeur physique définie et limitée par le capteur.
Pseudo-ponctuelles.
Information géométrique : position relative des points
caméra, caméra infrarouge
scanner, IRM, appareil d'échographie
…
But du traitement d'image :
Représentation plus facilement interprétable.
Interprétation automatique.
Traitements de bas niveau et traitements de haut niveau.
La Reconnaissance de Forme : ensemble des techniques
informatiques de représentation et de décision permettant aux
machines de simuler un comportement "sensible".
Les difficultés majeures résident dans :
- le choix de l'espace de représentation
- le choix des espaces d'interprétation
- la complexité des calculs
2 Représentation d’une image
2.1 Généralités
La vision : 1 sens parmi 6, le plus riche
z
D
B
A
C
y
b
x
a
d
c
Influence de l'espace de représentation sur la perception d'un
phénomène
Le choix de l'espace de représentation nécessite :
- une connaissance du phénomène étudié
- une connaissance du milieu dans lequel il est immergé
! Le capteur employé définit déjà un premier espace de
représentation.
! Possibilité de changer d'espace de représentation (ex : la
Parole)
2.2 Nature et dimension d’une image
Le 2D
Le 2,5D (vision)
Le 3D
Autres dimensions (mouvement, ...)
2.3 Acquisition
Représentation discrète d'un signal : théorème de Shanon
5 volts
32767
0
0
t
t
T
0
Transposition à l'image :
- les scènes observées ne sont jamais à bande passante limitée,
- impossible d'observer une scène de moins l'infini à plus l'infini,
- la mesure de l'énergie lumineuse n'est pas ponctuelle.
Niveaux de gris sur 2, 4, 6 ou 8 bit
Définition d’une image
2.4 Partition élémentaire (ou pavage) d’une image
Répartition des voisins suivant le pavage
Croisement de droites discrètes
2.5 Représentation informatique d'une image
- stockage dans un fichier,
- représentation interne au logiciel,
- représentation pour l'affichage.
a) Fichier image
Structure bien définies pour être manipulée par différentes machines :
- entête (type de codage, dimensions , …)
- données
- bibliothèques spécialisées (lecture, décompression, ...)
Le format PGM (images en niveau de gris) :
- Entête de type texte
- Un octet par pixel (niveau de gris en binaire)
- pixel rangé ligne par ligne, de haut en bas
p5
# quelques commentaires
# largeur et hauteur en mode texte :
256 200
# encore quelques commentaires
# plus fort niveau de gris dans l'image :
255
suite de (largeur x hauteur) octets…
b) Représentation interne
I
j
largeur
haut
marge
adr
tab
i
- accès simplifié à un pixel (I->tab[i][j]),
- simplification des algorithmes utilisant un voisinage,
- parcours séquentiel des pixels dans une ligne .
typedef short PIXEL;
typedef PIXEL *LIGNE;
typedef struct
{ int larg, haut, marge;
PIXEL *adr;
LIGNE *tab;
} *IMAGE, structImage;
Image
marge
IMAGE creerStructImage(int l, int h, int m)
{ IMAGE I; PIXEL *p; int i;
I = malloc(sizeof(structImage));
I->larg = l;
I->haut = h;
I->marge = m;
I->adr = malloc(sizeof(PIXEL)*(h+2*m)*(l+2*m));
I->tab = malloc(sizeof(LIGNE)*(h+2*m));
I->tab += m ;
p = I->adr + m*(l+2*m) + m ;
for (i=-m; i<h+m ; i++)
I->tab[i]= p+i*(l+2*m);
return I;
}
c) Affichage
Bibliothèques graphiques spécialisées :
Conventions propres et contraintes technologiques
=> Conversion entre l'image interne et l'image affichée.
Exemple :
- niveaux de gris -> RGB.
- dynamique image -> [0, 255]
- taille réelle et dimensions de l'écran -> réduction, zoom.
Ces transformations ne se feront que pour l'affichage en conservant la
représentation interne!
3 Interprétation d’une image
3.1 Généralités
Choix de l'espace d'interprétation : difficile !!!
Ë connaissances à priori de l'événement observé
Ë connaissances à priori du milieu ou il se produit.
Connaissances souvent inconscientes, intuitives et difficilement
formalisables.
Ex : définir une tasse à café
Deux espaces d’interprétation différents pour une même forme
On distingue généralement deux niveaux d'interprétation :
- le niveau numérique (continu)
- le niveau structurel (symbolique).
3.2 Interprétation numérique
x2
x2
o
x1
x1
o
Euclide
x2
o
Manhattan
1/2
2
d(X,O) = (S
( xi - oi ) )
i=1,n
x1
Chebychev
d(X,O) = S
| xi - oi |
i=1,n
d(X,O) = max
| xi - oi |
i=1,n
Ensembles des points X équidistants d'un point O suivant une distance.
3.3 Interprétation structurelle
c2
c1
c2
c3
c1
c3
c4
4 Texture, Région, Contour
Un objet dans une scène peu se décomposé en régions délimitées
par des contours et ayant chacune une texture homogène.
4.1 La texture
Aspect visuel et tactile d'une surface :
la rugosité, la finesse, la régularité, un motif, ...
Une définition partielle/partiale en Infographie :
Propriété ou ensemble de propriétés que l'on peut vérifier
quelle que soit la position de la "petite zone" observée
(invariance par translation).
La texture se mesure sur des zones beaucoup plus petites que
l’objet qui la porte.
La texture s’appauvrit avec "l'éloignement".
- écailles de poissons,
- carreaux d'un tissu,
- aspect anarchique et homogène sans motifs localisables ou
répétitifs (cas de l'herbe),
- aspect directionnel (champ labouré)...
Texture aléatoire
directionnelle
structurelle
On distingue 3 types de textures : aléatoire, directionnelle et
structurelle.
On peut toutefois observer un aspect aléatoire dans les textures
directionnelle et structurelle. L’exemple ci-dessus de texture
structurelle révèle aussi une organisation directionnelle.
Une des principales difficultés dans la caractérisation d’une
texture réside dans la taille de la fenêtre d’observation :
Il est rare d’analyser directement l’image texturée.
On préfèrera travailler sur l’image en niveau de gris représentant
la présence ou l’absence de la texture pour chaque pixel.
Quelques indices de texture de textures :
Soit S une zone d'observation, n le nombre de pixels dans S,
p un pixel dans S et I[p] le niveau de gris de ce pixel.
moment d'espace du premier ordre ou moyenne :
m1 = 1/n . SS I[p]
moment d'espace centré du second ordre ou variance :
m2 = 1/n . SS (I[p]-m1) 2
l'écart type qui est la racine carrée de la variance
moment d'espace centré d'ordre k :
mk = 1/n . SS (I[p]-m1) k
moment d'espace composé du second ordre ou autocovariance
pour une translation t du plan :
M2 = 1/nbre de couples . SS (I[p]- m1).(I[t(p)]- m1)
densité des maxima d'ordre 1, 2, ..., k
1/n . SS (maxk(I[p]))
avec maxk vaut 1 si I[p]) est un maximum dans voisinage de
rayon k, 0 sinon
densité des minima d'ordre 1, 2, ..., k
4.2 Régions et contours
Région : zone connexe où la texture est la même.
Contour : zone de forte variation de la texture.
Image texturée -> image en niveaux de gris (présence de la
texture)
Quelques profils de contours : marche, rampe, pic, toit.
On se déplace :
- par 4-connexité dans une région
- par 8-connexité le long d’un contour
8-connexité
4-connexité
5 Quelques définitions :
information : couple formé d'une représentation matérielle et de
son ou ses interprétations.
représentation : chaîne d'éléments d'un alphabet fini permettant
de coder l'information.
interprétation : c'est le signifié. Les interprétations d'une
représentation peuvent être multiples et ont souvent un caractère
subjectif très marqué. Elles sont aussi souvent liées à un
présupposé.
identification : acte de donner un nom à une représentation.
primitive : forme élémentaire issue d'une interprétation de
"premier niveau".
segmentation : passage du numérique (continu) au symbolique
(abstrait) en produisant des primitives. Regroupement de données
élémentaires sous une même entité qui reçoit une étiquette.
région : ensemble de points dans une image qui sont connexes et
qui vérifient un ensemble de propriétés.
contour : aspect dual d’une région.