Unité Optionnelle Robotique et Vision 1 Licence EEA – Module Optionnel Automatique VISION Objectif des manipulations de Vision L'objectif des manipulations est d'aborder plusieurs aspects qui pourront conduire aux applications de traitement d’images dans divers domaines, dont la robotique : - les aspects matériels de la prise de vue par caméra d’une scène réelle - l'évaluation de la qualité du signal "image" et ses propriétés - les traitements en vue de l'amélioration de l'image ou de son analyse Les deux manipulations se font sur un logiciel dédié à cette discipline. Il s’agit d’un logiciel libre disponible sur Internet : Image Analyser de Meesoft (http://meesoft.logicnet.dk). La rédaction de ce polycopié alterne les présentations avec les travaux à réaliser, de façon à mettre en application directement les concepts énoncés. La préparation des manipulations consiste donc à lire avec soin le texte avant la manipulation et à confronter les problèmes posés avec le Cours et les Travaux Dirigés. Compte-rendu Les résultats des manipulations pourront être présentés en traitement de texte (Open Office qui est gratuit et avec lequel ce polycopié a été rédigé), en utilisant le plus souvent possible la fonction "copier-coller" sous Windows. Pour assurer une bonne lisibilité au compte-rendu, il est souhaitable de limiter le volume du document à une dizaine de pages maximum, en réduisant fortement la taille des images (une page peut contenir 8 images sans aucune difficulté de lecture!). Il est impératif de sauver périodiquement le compte-rendu. Le compte-rendu sera sauvé sur le répertoire personnel de l'étudiant sur le réseau (chaque étudiant de Licence possède un compte sur les machines du P2 depuis le semestre S5) Important: le compte-rendu ne se limite pas à un simple "collage" des images. Le compte-rendu donnera toutes justifications scientifiques aux résultats. Tout résultat non-justifié sera considéré comme nul. USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 2 Manipulation de vision n° 1 PRISE EN MAIN et ANALYSE DU "SIGNAL IMAGE" I - LE MATERIEL D'ACQUISTION La caméra est un modèle industriel possédant un capteur du type CMOS (Complementary Metal Oxide Semiconductor) Couleur, de dimension 1/3 pouce et de résolution 752 x 480 pixels ; elle est munie d'un objectif à focale variable Varizoom pour adapter le grandissement. Cet objectif n'étant pas un véritable zoom; les réglages 'focale' et 'distance' ont une influence mutuelle; le réglage optique se fait par action conjointe sur les deux bagues. L'objectif possède aussi une bague de réglage du diaphragme (ouverture de l'objectif). Le principal défaut de cette famille d'objectif est la distorsion géométrique (l'image d'un droite est une courbe) ; ce défaut est très fortement perçu par l'observateur. Figure 1 – Caméra et objectif utilisés en manipulation La caméra est fixée verticalement sur un statif ; sa hauteur est réglable par l'utilisateur. La prise de vue est un choix optimal entre hauteur et focale du zoom. Ne pas hésiter à modifier ces paramètres pour obtenir une image présentant peu de distorsion géométrique. Figure 2 – Le banc d'acquisition d'images USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 3 La caméra est reliée à un micro-ordinateur par liaison USB qui assure l'alimentation de la caméra et le transfert des données. Elle possède un fonctionnement très largement paramétrable contrairement à une simple Webcam. Les principales fonctions de réglage de la caméra sont accessibles par l'intermédiaire d'un driver TWAIN (signifie deux en anglais littéraire, pour symboliser la relation entre deux objets). Ce driver permet de faire le lien entre la caméra et un logiciel classique (traitement de texte par exemple) en vue d'insérer une image sans quitter le logiciel principal. Le driver TWAIN présente l'écran suivant : Figure 3 – L'écran du driver TWAIN Les réglages fondamentaux d'une caméra sont : - le choix du mode de fonctionnement Noir&Blanc (grayscale) ou Couleur . Pour la manipulation, le mode N&B sera impérativement choisi (utilisation de la notion de niveau de gris exclusivement) - le temps d'exposition: pour former l'image, l'énergie lumineuse est transformée en charges électriques qui sont accumulées par chaque pixel. L'amplitude du signal est directement proportionnelle à la quantité de charge intégrées pendant l'exposition du capteur à la lumière. La quantité de charge accumulées dépend aussi de l'ouverture de l'objectif (bague marquée avec les lettre O [Open] et C [Close] ). L'utilisateur doit adapter le temps de pose et l'ouverture en fonction des conditions lumineuses de la scène, comme pour un appareil photographique. Un temps de pose long (30ms max) est la garantie d'une quantité de charge importante et d'un faible niveau de bruit. Si cette quantité dépasse le maximum toléré par le capteur (saturation dans le blanc appelé brûlage de la photo), fermer davantage le diaphragme pour limiter la quantité de lumière. Une prise de vue rapide n'est utile que pour les scènes dynamiques en mouvement (pas le cas du TP). - le gain d'amplification ou Master Gain . C'est le facteur d'amplification du signal électrique avant conversion numérique . La valeur 100% correspond à une amplification maximale et 0% au minimum. On peut envisager de baisser le gain plutôt que de fermer le diaphragme lorsque le signal est saturé. Pour faciliter la prise de vue, il est possible de sélectionner le mode AES [Automatic Exposure System] qui ajuste le blanc à la valeur maximale sans saturation et le mode AGC [Automatic Gain Control] qui ajuste le gain au signal maximal. USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 4 - le Gamma est le coefficient de la fonction de compensation visuelle non-linéaire. Pour les mesures de ce TP, laisser le coefficient à 1 (fonction linéaire) - le contraste est un facteur de gain supplémentaire après mesure du niveau de gris. La valeur à placer pour une mesure correcte d'environ 100. - la lumière ou Brightness est une correction du niveau de gris par addition (ou soustraction) d'une valeur constante. La valeur à définir pour ne pas avoir de correction est 100. Pour chaque prise de vue, il conviendra de vérifier les valeurs de ces paramètres; le réglage fondamental sera celui de la bague de diaphragme (et de la netteté!). II - LE LOGICIEL Image Analyser Image Analyser (IA par la suite) est un logiciel de visualisation et de traitement d'image qui s'exécute sous l'environnement WINDOWS. Sa particularité est d'adopter un vocabulaire scientifique pour décrire les traitements, et non un vocabulaire grand public. La correspondance avec le cours et les TD est très directe. La seule difficulté est l'absence de documentation (voir page MeeSoft). La majorité des opérations utilisées dans ce TP possède une description sur Wikipédia (consultable en séance). 1) Types d'images sous IA Le logiciel IA permet de gérer les différents d'images usuellement rencontrés. Suivant le format, certaines opérations ne sont pas accessibles. image 8 bits à niveaux de gris par défaut. image indexée : format utilisé dans le stockage type TIF par exemple. Les valeurs des pixels correspondent à un code de couleur stocké dans une table (palette). image couleur 3x8 bits : L'affichage est directement en couleur. Les images composantes accessibles par "éclatement" de l'image RVB en 3 images indépendantes. IA possède toutes les fonctions nécessaires pour passer d'un type à un autre. Bien remarquer que les opérations usuelles du traitement d'image sont définies pour des images à niveaux de gris 8 bits. Pour gérer certains calculs, le logiciel possède un format spécifique appelé Map ; ce format est utilisé les résultats complexes, comprenant une partie réelle signée et une partie imaginaire signée (transformée de Fourier par exemple). Une boîte de dialogue spécifique permet d'afficher dans la fenêtre de visualisation un paramètre particulier de la structure complexe (amplitude, phase...). Figure 4 – Manipulation des images "Map" Ce type ne sera pas exploité dans les manipulations de licence. USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 2) L'acquisition TWAIN L'acquisition d'images TWAIN est accessible depuis le menu "Fichier" du logiciel IA. Travail à faire: Prise en main du Driver uEye • Placer l'image Lena sous le statif • Lancer le logiciel Image Analyser, puis menu "Fichier" puis " Source Twain", choisir la caméra uEye. • Lancer le menu "Fichier" puis "Acquisition d'Image" . La fenêtre du driver s'affiche • Paramétrer l'acquisition : - Noir&Blanc : Y8 - Brightness : 100 - Contast : 100 - Exposure : 33ms - Master Gain : 0% • Choisir le mode "Live" Image" lorsque le mode "Live" est activé) (par opposition, le bouton affiche "Still • Régler la caméra pour obtenir une image de bonne qualité de Lena (ouverture, focale et mise au point • Geler l'image par • Pour visualiser un pixel particulier, pointer la souris ; les coordonnées et les valeurs RGB sont affichées en bas de la fenêtre. • Sélectionner l'outil zoom . A chaque fois que vous cliquez le bouton gauche (resp. droit) de la souris, vous zoomez (resp. dézoomez) l'image , le centre géométrique de l'opération est le pixel pointé par la souris.. • Le mode de sélection définit graphiquement une zone qui pourra être copiée dans le presse-papier puis réutilisée sous IA ou d'autres logiciels (copie de certains écrans d'IA vers Office..). 3) Enregistrement/Chargement de l'image • Enregistrer l'image en format TIF (Tagged Image File), JPEG (Joint Photograph Expert Group) et BMP (BitMap Microsoft) dans un répertoire créé sur votre compte (il est strictement interdit de stocker les images dans un répertoire du disque C: des machines ) • Avec l'Explorateur de fichiers Windows, visualisez la taille de chaque sauvegarde. Comparez la taille du fichier au nombre total de pixels de l'image. En déduire quel est le type de sauvegarde le plus compact • Discuter de l'intérêt de chacun de ces modes de stockage après documentation sur Wikipédia USTL - Licence E.S.E.A. – 2011-2012 5 Unité Optionnelle Robotique et Vision 6 3) Analyse des niveaux de gris La qualité de la prise de vue est primordiale pour toutes les applications de traitement d'images. Le meilleur outil pour apprécier le réglage de la chaîne d'acquisition est l'histogramme des niveaux de gris. Figure 5 – Histogramme de l'image LENA à niveau de gris L'histogramme des niveaux de gris est le graphe de la population n(i) de chaque niveau de gris i ( i∈ [ 0 , 255 ] ) en fonction de i . Le calcul de l'histogramme se fait par dénombrement en balayant tous les pixels de l'image. Le profil de l'histogramme est proche de la densité de probabilité du niveau de gris. • Evaluation de la qualité à partir de l'histogramme L'histogramme permet de visualiser directement les principaux défauts de prise de vue : insuffisance de la dynamique (absence de noirs et/ou de blancs), saturation de la dynamique (écrasement des noirs et/ou des blancs). Figure 6 – Mise en évidence des défauts de prise de vue sur l'histogramme • Amélioration de la dynamique La meilleure technique d'amélioration se fait dès la capture d'image, en adaptant les conditions de prise de vue, en particulier le diaphragme de la caméra. Le diaphragme permet de maîtriser la quantité de lumière pénétrant dans la caméra. Une deuxième solution est de modifier le gain et l'offset de l'acquisition. Une insuffisance d'éclairement peut être compensée par une amplification électronique du signal (gain), avec l'inconvénient de l'amplification du bruit de mesure. Le décalage éventuel des noirs se compense par décalage (offset). Une troisième solution, la moins bonne mais facile à implanter, est de corriger le signal après USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 7 numérisation. Les corrections envisagées correspondent à des opérations ponctuelles invariantes. La fonction est caractérisée par son graphe . Figure 7 – Modification des niveaux de gris par opération ponctuelle Une fois l'opération effectuée, les niveaux de gris sont modifiés ainsi que l'histogramme. L'observation de dernier permet de vérifier que l'objectif a été atteint. Le logiciel IA permet de déterminer directement l'histogramme d'une image avec l'outil Color Maper et propose de nombreux outils d'amélioration. Les techniques sont à la fois mathématiques (loi préprogrammée), graphique (construction du graphe à la souris) ou numérique (saisie ou réglage de valeurs caractéristiques de la loi). Voici l'écran de l'outil Color Maper : Figure 8 – Ecran de l'outil Color Maper Travail à effectuer Analyse de l'histogramme • Acquérir l'image de Lena avec la caméra, en réglant le diaphragme de façon à obtenir une image visuellement correcte. • Afficher l'histogramme de Lena avec l'outil l'utilisation de la dynamique des niveaux de gris pour cette prise de vue. . Analyser • Reprendre une prise de vue avec le diaphragme davantage fermé (image plus sombre) puis diaphragme plus ouvert (image plus claire). Observer les histogrammes correspondants. USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 8 Ajustement de la dynamique • Acquérir l'image de Lena avec la caméra, en réglant le diaphragme de façon à obtenir une image visuellement correcte. • Afficher l'histogramme de Lena. • Parmi les corrections possibles offertes par Ajustement des Couleurs, choisir Exposition et ajuster les seuils pour obtenir une dynamique maximale. Appliquer par OK. • Observer l'histogramme modifié et conclure sur l'utilisation de la dynamique après correction. Parmi toutes les lois possibles, l'égalisation d'histogramme est souvent utilisée pour son absence de paramètre à régler. L'égalisation d'histogramme utilise comme loi l'histogramme cumulé de l'image convenablement normalisé. La fonction de modification des niveaux de gris a pour expression: l=i f (i ) = k ∑ n (l ) avec n ( l ) valeur de la raie de l'histogramme pour le niveau l et l= 0 k tel que f ( i max ) = max Ajustement automatique de la dynamique • Acquérir l'image de Lena avec la caméra, en réglant le diaphragme de façon à obtenir une image visuellement trop claire. • Afficher l'histogramme de Lena. • Choisir l'égalisation d'histogramme. Appliquer l'égalisation à l'image de Lena (valider par OK) • Quelle est la nouvelle loi d'égalisation proposée par le logiciel ? Montrer que ce graphe apporte la preuve de l'égalisation. • Est-il possible d'appliquer une nouvelle égalisation ? • Reprendre la manipulation sur une image de type "Texte". L'égalisation est-elle souhaitable pour un tel type d'image à contenu dit binaire? USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 9 4) Analyse de la réponse spatiale du capteur L'uniformité de la réponse spatiale est une qualité fondamentale demandée à un capteur. Il est indispensable que le niveau de gris d'une zone uniforme soit une grandeur constante. Plusieurs défauts peuvent être source d'erreur sur la mesure du niveau de gris: - non uniformité des photosites : chaque élément de la matrice possède sa propre réponse, avec sa propre erreur d'offset, son propre gain et son propre bruit thermique. - non uniformité de transmission de l'optique : les objectifs possèdent intrinsèquement le défaut de vignettage, qui est un affaiblissement de la transmission de l'énergie pour les rayons obliques. Il en résulte un assombrissement dans les "coins" de l'image par rapport au centre. Figure 9 – Vignettage d'un objectif Ces paramètres peuvent faire l'objet d'une estimation avec le matériel disponible. Observation de l'uniformité de la réponse • Acquérir l'image d'une feuille blanche, en réglant le diaphragme de façon à obtenir une image visuellement correcte (placer provisoirement un objet noir sur la feuille pour faciliter le réglage). • Utiliser le plug-in "Profile line" : Sélectionner une zone rectangulaire correspondant à la largeur totale de l'image et de très faible hauteur (le logiciel trace le profil le long de la diagonale du rectangle, ce qui permet de déterminer le profil dans toutes les directions de l'image). • Relever la courbe de réponse du capteur et discuter du profil USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 10 5) Analyse de la distorsion géométrique La distorsion géométrique est un phénomène très gênant dans la localisation d'une information, puisqu'elle est source directe d'une erreur de mesure. Seul un étalonnage permettra de compenser cette distorsion dans les applications où la précision demandée est forte. Mesure de la distorsion géométrique • Acquérir l'image de la grille disponible en salle de TP. • Relever sur l'image l'abscisse des intersections de l'axe A'A" (figure 9) exprimées en pixels (affichage des coordonnées en bas de l'écran sous ImageAnalyser en mode pointage 3 ...) . ). Chaque intersection sera désignée par un numéro de repère ( 1, 2, • Reporter ces valeurs dans un tableau sous Tableur Open Office. Tracer graphiquement la valeur relevée en pixel en fonction du numéro d'intersection (utiliser "XY Dispersion", réduire la taille des points représentatifs, afficher la ligne de liaison entre les points). La fonction est elle une droite ? • Tracer la droite de régression (sélectionner les points, pointer le curseur sur la courbe, clic droit "insérer une courbe de tendance" ). Pointer sur la courbe de tendance/régression, clic droit "afficher les propriétés", cocher "afficher l'équation"). Calculer dans le tableau les valeurs prises par la droite de tendance . • En déduire l'erreur géométrique maximale exprimée en pixel. Est-elle acceptable (inférieure à la résolution du capteur) ou non ? • Conclure sur l'importance du choix de l'optique pour les applications de traitements d'image liées à la robotique (précision géométrique) USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 11 Manipulation de vision n° 2 APPLICATIONS DE LA CONVOLUTION ET DU FILTRAGE LINEAIRE La convolution est l'opération la plus typique en traitement d'image. Elle permet d'envisager des traitements à finalités très pratiques (élimination du bruit, amélioration de la netteté...) et aussi des traitements destinés à l'analyse du contenu qui seront les premières étapes de la vision artificielle. La manipulation aborde ces deux thèmes. Le logiciel de travail reste le même que celui de la première manipulation. I. LA CONVOLUTION DISCRETE 1) Principe de la convolution discrète Le produit de convolution est une l'opération de calcul sur les niveaux de gris, faisant intervenir le voisinage de chaque pixel. Elle respecte le principe de la linéarité, propriété fondamentale pour une approche mathématique des opérations; elle est supposée invariante par translation, c'est à dire que la définition de l'opération est la même pour tous les points de l'image. ϕ m n m n P(m,n) P(m,n) Image source F Image résultat G Figure 1 – Opération de voisinage sur une image Soit F une image une image discrète caractérisée par un niveau de gris f et G l'image résultat de niveau de gris g. La convolution discrète H est un calcul linéaire de voisinage: g ( m, n) = f ∗ h∣ m,n = ∑ ∑ f (m − i ,n − j )h (i , j ) (i , j )∈ voisinage La convolution H est caractérisée par l'ensemble de ses coefficients de calculs h , qui forment la réponse impulsionnelle de l'opération. Le traitement complet de l'image est fait en balayant toutes les valeurs de m et n , de façon à construire une image G de même taille que l'image source F . L'opération de convolution demande donc un volume important de calculs, qui est rapidement traité sur les processeurs modernes (il existe des architectures spécialisées pour effectuer les calculs à très haute vitesse). Remarquer que le calcul n'est pas possible sur les bords de l'image, lorsque le voisinage déborde de l'espace de l'image source. Beaucoup de logiciels apportent une solution pratique en extrapolant le contenu de l'image au delà des bords, c'est à dire en attribuant des valeurs calculées aux pixels en dehors du champ de prise de vue. USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 12 Pour simplifier l'écriture pratique de l'opération, on propose souvent la définition suivante : g ( m , n) = ∑ ∑ f ( m + i , n + j ) h̃ (i , j ) (i , j )∈ voisinage Dans cette écriture, h̃ est le symétrique de h (symétrie centrale); l'ensemble H̃ forme le masque de la convolution. L'opération se décrit graphiquement de façon simple (figure 2), on remarque que les produits (valeur de niveau de gris )x(coefficient) se font point par point, ce qui n'est pas le cas dans la définition initiale de la convolution par sa réponse impulsionnelle. m x n f(m-1, f(m, f(m+1, n-1) n-1) n-1) f(m-1, f(m, f(m+1, n) n) n) x x x j x i ~ ~ ~ h (-1,-1) h (0,-1) h (1,-1) ~ ~ ~ h (-1,0) h (0,0) h (1,0) ∑ ~ ~ ~ h (-1,1) h (0,1) h (1,1) f(m-1, f(m, f(m+1, n+1) n+1) n+1) g(m ,n) Pixel résultat ~ masque de convolution h Image source f(m,n) Figure 2 – Principe de calcul de la convolution La convolution est donc caractérisée par deux notions: -son voisinage, c'est à dire l'étendue de calcul autour du point de référence (m,n) - les coefficients de pondération h (i , j) ou h̃ (i , j) affectés à chacun des points du voisinage. Le plus souvent, les opérateurs discrets seront donnés sous forme de masque. 2) Norme d'une convolution Pour des valeurs quelconques de coefficients de convolution, l'application de la règle de calcul conduit à des valeurs de résultat qui peuvent déborder de l'échelle usuelle des niveaux de gris [0, 255] . Exemple: soit le masque suivant destiné à lisser une image : 0 1 0 1 4 1 0 1 0 On remarque que l'application de ce masque sur un image grise de niveau constant 127 conduit à un résultat de calcul de 8x127 = 1016, ce qui déborde de l'espace de définition des niveaux de gris. Pour obtenir un résultat cohérent, il suffit de diviser le résultat par la somme des poids du masque, soit 8. Cette norme peut être appliquée soit à chacun des coefficients du masque (calculs fractionnaires) soit à la somme finale (calculs plus simples et moins nombreux) Le résultat d'une convolution pouvant être signé localement si le masque comporte des valeurs négatives, il faudra prendre toutes les précautions nécessaires pour ne pas déborder des valeurs [0, +255]. Pour que le résultat soit positif, on applique un coefficient de normalisation comme dans le cas précédent et on ajoute 127 au calcul global. La convention de stockage et d'affichage des images signées devient alors: USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 13 Valeur théorique du résultat de la convolution Valeur affichée valeur nulle gris moyen de niveau 127 valeur négative gris sombre à noir (valeur très négative) valeur positive gris clair à blanc (valeur positive grande) La dynamique réelle étant limitée à 127 en valeur absolue, le coefficient de normalisation sera choisi pour interdire toute saturation du signal (valeur inférieure à –128 ou supérieure à +127) Note : IA borne automatiquement les calculs entre [0,255] ; une erreur de normalisation est difficile à détecter visuellement. Il est conseillé de s'aider de l'outil et de l'histogramme pour vérifier la présence éventuelle de niveaux saturés. 3) La convolution sur Image Analyser Image Analyser permet de définir une convolution à partir de ses coefficients (présentés directement sous forme de réponse impulsionnelle). Pour accéder à cet outil, il suffit de cliquer sur dans le menu principal. Figure 3 – L'écran "convolution" d'Image Analyser (version anglaise) Les filtres les plus courants sont directement définis dans l'outil; le choix d'un filtre usuel permet l'affichage des coefficients. Pour définir un filtre personnel, il suffit de prendre "user" et de renseigner l'écran de saisie. Le logiciel permet de sauvegarder la construction d'un filtre de convolution dans un répertoire quelconque. II – FILTRES DE LISSAGE ET RESTAURATEURS 1) Lissage itératif d'une image Les images peuvent comporter un bruit d'acquisition important lié à la technologie de certains capteurs (caméras CMOS par exemple) ou suite à une opération de forte compression (mosaïque spatiale en compression JPEG). USTL - Licence E.S.E.A. – 2011-2012 14 Unité Optionnelle Robotique et Vision L'objectif est d'effectuer une convolution afin d'atténuer "le bruit" et les irrégularités d'une image. USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 15 Pour tester la convolution 3x3, on construit le masque lisseur MOY3X3 suivant : 1 1 1 1 1 1 1 1 1 avec comme facteur de normalisation 1/9. Lissage d'une image • Acquérir l'image d'une page de texte (image binaire). • Ajouter un bruit uniforme par le menu Special --> White noise de largeur 50 • Sauvegarder cette image sous le nom TEXTEBRUIT.tif • Lisser l'image avec MOY3X3 et stocker le résultat dans TEXTEMOY3.tif • Lisser l'image une deuxième fois avec MOY3X3 et stocker le résultat dans TEXTEMOY33.tif • Comparer les images lissées avec un passage puis deux passages du moyenneur 3x3. Pour cela, sélectionner dans une partie homogène de l'image une zone de 30x30 pixels environ, la copier dans une nouvelle image et observer l'histogramme. Quelle est l'influence des passages successifs de la convolution sur le bruit et l'aspect de l'image? 2) Convolution directe 5x5 On définit le masque de lissage 5x5 suivant 1 2 3 2 1 2 4 6 4 2 3 6 9 6 3 2 4 6 4 2 1 2 3 2 1 le facteur de normalisation étant 1/81. Comparaison de lissages • Charger l'image TEXTEBRUIT.tif • Lisser l'image avec le lisseur 5x5 défini ci-dessus et stocker le résultat dans TEXTELIS5.tif • Comparer visuellement les images TEXTELIS5 et TEXTEMOY33 . • Faire la comparaison par soustraction des deux images à l'aide de l'outil (attention, le résultat étant signé, il est nécessaire d'introduire un offset de 127 et de veiller à la norme du résultat). Analyser le résultat à l'aide l'outil Histogramme inclus dans . • Conclusion et justification des résultats (si fait en cours!) USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 16 3) amélioration du contraste par accentuation des contours. Cette opération est l'inverse d'un lissage car elle consiste en une amplification des hautes fréquences spatiales qui met en relief les transitions rapides. Une image peut être rehaussée par application d'un opérateur permettant de détecter les contours : le résultat additionné à l’image initiale permettra alors d’obtenir une image rehaussée. Cette opération peut s’effectuer, par exemple, en appliquant l’opérateur Laplacien : 0 -1 0 -1 5 -1 0 -1 0 Rehausseur = 0 0 0 0 1 0 0 0 0 Elt Neutre - 0 1 0 1 -4 1 0 1 0 Laplacien Figure 4 –Filtre réhausseur des contours Remarque : pour une transition franche de type marche (échelon), l’opérateur Laplacien donne ceci : Donc pour le résultat retranché à l’image originale, on obtient effectivement une image améliorée par accentuation des contours : Figure 5 –Principe du réhaussement des contours Travail à faire • Créer le masque REHAUSS avec comme facteur de normalisation 1.: • Lisser l’image LENA avec le masque MOY3X3 • Restaurer les contours avec REHAUSS. Conclusions . • Peut-on appliquer plusieurs fois successivement ce filtre pour obtenir une "bonne" image ? USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 17 III - SEGMENTATION D'UNE IMAGE BRUITEE La segmentation d'une image consiste à isoler les différents objets présents dans une image. La méthode la plus simple de segmentation d'une image est de seuiller ou binariser une image à partir des niveaux de gris des pixels. Soit S une valeur de seuil et f(x,y) le niveau de gris d'un pixel de coordonnées x et y. Supposons que l'image représente un objet clair (niveaux de gris élevé) sur un fond sombre (niveaux de gris bas). La règle de binarisation est : si f(x,y) < S alors le pixel (x,y) fond de l'image; sinon le pixel (x,y) objet. Travail à faire • Reprendre l'image TEXTE précédemment sauvegardée, la dupliquer par "copy/paste" • Calculer et afficher l'histogramme de l'image et en déduire une valeur de seuil de binarisation. • Binariser l'image par la commande version française!) et décrire le résultat obtenu (appliquer le début sur la • Ajouter un bruit blanc d'amplitude 200 à l'image dupliquée • Binariser cette image bruitée. Quelle est la qualité du résultat pour ce type d'images ? • Lisser l'image bruitée avec un moyenneur 3x3 puis binariser . Montrer l'intérêt du lisseur dans ce type d'application. IV - FILTRES DE DERIVATION 1) Dérivation dans les directions de la maille d'échantillonnage Il arrive souvent qu'on cherche à mettre en évidence les transitions dans une direction ∂ f ( x , y) particulière. Par exemple, l'opérateur met en évidence les contours verticaux et a tendance à ∂x ∂ f ( x , y) gommer les contours horizontaux. Inversement fait ressortir les contours horizontaux et a ∂y tendance à gommer les contours verticaux. Parmi les opérateurs usuels, nous choisissons le dérivateur de Sobel: -1 0 1 -1 -2 -1 -2 0 2 0 0 0 -1 0 1 1 2 1 H1 = ∂ f (x,y ) ∂x H2 = ∂ f ( x,y ) ∂y Figure 6 – Masques de Sobel USTL - Licence E.S.E.A. – 2011-2012 Unité Optionnelle Robotique et Vision 18 Vecteur Gradient • Créer les masques H1 et H2 • Acquérir l'image TEXTE avec un facteur de grossissement maximal (placer la camera le plus bas possible pour obtenir des objets de forte épaisseur) et la sauver. Dupliquer deux fois cette image par copier/coller , de façon à créer une image de référence et deux images de travail. • Appliquer les deux filtres sur les deux images de travail. A l'aide de l'outil Histogramme inclus dans , observer les niveaux de gris et commenter les valeurs obtenues. • Ajouter un bruit blanc uniforme de largeur 30 à l'image TEXTE et reprendre l'analyse. • Conclure sur l'efficacité des dérivateurs usuels 2) Dérivée dans une direction quelconque Il peut être intéressant de chercher à mettre en valeur les contours dans d’autres directions en d f (x , y) utilisant l’opérateur . Cet opérateur peut s’obtenir de la façon suivante : dα df ( x , y) ∂ f ∂f = cos α + sin α dα ∂x ∂y Dérivée directionnelle • Reprendre l'image TEXTE sauvegardée, la dupliquer deux fois cette image par copier/coller , de façon à créer une image de référence et deux images de travail et appliquer les masques H1 et H2 π • Calculer la dérivée dans la direction α = 4 en utilisant la fonction . • Visualiser l'image résultat • Donner la méthode de pour une direction quelconque USTL - Licence E.S.E.A. – 2011-2012 19 Unité Optionnelle Robotique et Vision LE TRAITEMENT D’IMAGE PERMET DE FAIRE DU CONTROLE VISUEL - LE TRAI TEMENT D’IMAGE PERMET DE FAIRE D U CONTROLE VISUEL - LE TRAITEMEN T D’ IMAGE PERMET DE FAIRE DU CO NTROLE VISUEL - LE TRAITEMENT D’ I MAGE PERMET DE FAIRE DU CONTRO LE VISUEL - LE TRAITEMENT D’IMAGE PERMET DE FAIRE DU CONTROLE VIS UEL - LE TRAIT EMENT D’IMAGE PERM ET DE FAIRE DU CONT ROLE VISUEL LE TRAITEMENT D’IMAGE PE RMET DE FAIRE DU CONTROLE VISUEL - LE TRA ITEMENT D’IMAGE PERMET DE FAIRE DU CONTROLE VISUEL - LE TRAITEM ENT D’IMAGE PERMET DE FAIRE DU C ONTROLE VISUEL - LE TRAITEMENT D ’IMAGE PERMET DE FAIRE DU CONTRO LE VISUEL - LE TRAITEM ENT D’IMAGE PERMET DE FAIRE DU C ONTROLE VI SUEL - LE TRAITEMENT D ’IMAGE PER MET DE FAIRE DU CONTROLE VISUEL USTL - Licence E.S.E.A. – 2011-2012 20 Unité Optionnelle Robotique et Vision USTL - Licence E.S.E.A. – 2011-2012