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.