[PDF] Traitement dimages Travaux pratiques





Previous PDF Next PDF



TPs Traitement dimages

Matlab utilise plusieurs types d'images : 1- Image en niveaux de gris: c'est une matrice d'entiers dont les valeurs représentent des nuances de gris. Les pixels 



Initiation au traitement dimages avec MATLAB

I.2. Rappels sous Matlab : Une image Matlab est une matrice bidimensionnelle de valeurs entières ou réelles. Les principales fonctions de traitement 



Traitement dimages sur MATLAB

17 Jun 2019 Une image numérique est représentée par un tableau ou une matrice contenant les différentes valeurs de chaque pixel. Pour les images en couleur ...



Introduction au traitement dimages

quelles informations peut on extraire d'une image 2D ? ? reconstruire en 3D `a partir d'images. ? outils de test et de démonstration : matlab + toolbox 



Traitement dimages Travaux pratiques

L'acquisition d'une image sous Matlab peut-être réalisée de deux manières : • par la création d'un objet d'entrée vidéo en utilisant la fonction videoinput.



Notions de traitement dimages - Transformation ponctuelle

En traitement d'image on peut considérer 3 types de transformations. Exercice « Prise en main Matlab » du chapitre 1 : essayez image = double(image)).



Filtrage en traitement dimage - avec quelques applications

Filtrage en traitement d'image. Éric Busvelle. Sommaire. Introduction. Probas. Estimateurs. Champs aleatoires. Morphomaths. Filtre de Kalman. Applications.



Traitement dimages

TP3 : Traitement fréquentiel des images sous matlab. TP4 : Détection de contours et segmentation. TP5 : Binarisation d'images et opérations morphologiques 



R31 – Initiation au traitement numérique dimages avec Matlab/Octave

Nous illustrerons les concepts vu en cours à l'aide de MATLAB (MATrix LABoratory) un environnement de programmation et de visualisation.



TRAITEMENT DIMAGE BASES. . Découvrir quelques méthodes de

Ce format est très compatible avec le format de représentation des images. 2• CHARGEMENT AFFICHAGE

Traitement dimages Travaux pratiques

Dans cette manipulation, nous allons développer un premier outil de classification de textures couleur.

Les textures analysées sont des surfaces en vinyle. La classification consiste à déterminer à quelle classe

correspondent les surfaces présentées.

Les images seront acquises et analysées à l"aide du logiciel Matlab. Matlab est associé à des boites

à outils appelé TOOLBOX permettant d"accéder à des fonctions spécifiques à un domaine d"application

comme le traitement d"images par exemple. Les TP de traitement d"images réalisés avec Matlab nécessitent

1 Acquisition

1.1 Mise au point du système de vision

Le matériel d"acquisition est composé de :

une caméra monochrome IDS uEye de modèle UI-1240ML-C, de résolution 12801024 et équipée

d"un capteur 1=1:800(voirdatasheet ), un objectif Fujinon de focalef=25 mm, deux sources à Leds alimentés en courant alternatif 220 V-50 Hz. La caméra est fixée sur un statif et est reliée au PC par le port USB. Un pilote Windows spécifique permet de communiquer entre le PC et la caméra. L"acquisition d"une image sous Matlab peut-être réalisée de deux manières : également les principales propriétés de l"objet d"entrée vidéo créé.

La première méthode nécessite d"utiliser, dans un script, les instructions permettant l"acquisition d"une

image. Elle permet d"ajouter dans ce même script les instructions qui permettent de traiter l"image dès

l"acquisition effectuée. Cette méthode est présentée en annexe (voir page 13

La seconde méthode lance une application permettant d"acquérir une image mais oblige à enregistrer

cette image avant de la traiter. C"est cette méthode qui sera utilisée dans ce TP. Le lancement de cette

application ouvre la fenêtre de la figure

1 TP de traitement d"images3

Figure 1 - Application d"acquisition d"image sous Matlab

Pour acquérir une image ou une vidéo (séquence d"images), il faut alors suivre les étapes suivantes :

1. Choisir le format d"image : on u tiliserades images 1280 1024 au format RGB codées sur 38=

24 bits.

2. Fix erles paramètres d"acquisition (v oirfigure 2 ) : on veillera en particulier à effectuer tous les

réglages en modemanuel, à minimiser les paramètres de gain et de contraste qui ont pour effet

d"accentuer le bruit et à maximiser le temps d"exposition afin de fermer l"objectif et afin d"atténuer

l"effet de scintillement de la source lumineuse. 3.

Régler le nombr ed" imagesà acquérir et le moment de leur déclenchement : une seule image de vra

4.

Démarrer la prévisualisation : l"appui sur le bouton ????? ???????permet de visualiser l"image. Le

réglage du système peut alors être effectué et les paramètres ajustés si nécessaire.

5. 6. Enre gistrerl"image : l"appui sur le bouton ?????? ????permet d"enregistrer l"image dans un fichier. On choisira les fichiers au format PNG.TP de traitement d"images4

Figure 2 - Paramètres d"acquisition

1)Placer une texture dans le champ de vision de la caméra et, en utilisant l"application Matlab :

Prévisualiser l"image et ajuster les paramètres de réglage. Ajuster la distance de travail de sorte à obtenir un champ de vision de largeur 7 cm.

Effectuer le réglage de la mise au point et de l"ouverture de l"objectif de la caméra. On veillera

à régler correctement la caméra et les paramètres d"acquisition afin d"obtenir une image de bonne

qualité avec le minimum d"ombres et de reflets. Indiquer les valeurs de réglage.

1.2 Acquisition des images

Afin de développer et tester l"approche de classification supervisée, il est nécessaire de constituer une

base de données d"images où sont présentes différentes textures à identifier. Cette base est divisée en deux

parties : une base d"apprentissage dans laquelle figure les prototypes (observation de classe connue) des différentes textures, une base de test dans laquelle figure différents exemples de textures à reconnaitre.

2)Répéter les acquisitions afin d"obtenir une image pour chaque type de texture. Ces images serviront

à constituer la base d"apprentissage. Chaque image représente une texture différente et sera numérotée de 1

3)Répéter à nouveau les acquisitions afin d"obtenir une image différente pour chaque type de texture.

Ces images serviront à constituer la base de test. Chaque image représente une texture différente et sera

Attention, les réglages ne doivent pas être modifiés d"une acquisition à l"autre. Il convient donc d"exa-

miner toute les textures pendant le phase de réglage du poste d"acquisition.

1.3 Constitution de la base d"images

Afin de disposer d"un nombre significatif de prototypes et de réduire la taille des images pour diminuer

les temps de traitement, chaque image acquise précédemment va être décomposée en sous-images de taille

128128. Ainsi, une image de taille 12801024 est divisée en 108=80 images de taille 128128

comme l"illustre la figure 3 .(a) - image de taille 12801024(b) - division en 80 images de taille 128128 Figure 3 - Décomposition d"une image en plusieurs sous-images.

Pour réaliser cette décomposition sur une la base d"apprentissage par exemple, le script suivant peut être

utilisé :%% Décomposition d" une image % le numéro de l " image est incrémenté à l " aide d" une variable % dont la valeur est ajoutée au nom du fichier à ouvrir

clear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commandefigure;forl =1:9I = imread ([ " train "int2str( l ) " . png " ] ) ;%imshow ( I , " Border " , " tight ") ;k=0;

fori =1:8forj =1:10a = 128 *( i1)+1;b = 128 *i ;c = 128 *( j1)+1;d = 128 *j ;J=I ( a :b , c :d , : ) ; imwrite ( J , [ " train "int2str(100*l+k) " . png " ] ) ;%subplot (8 ,10 , k+1); %imshow ( J ); k=k+1;

TP de traitement d"images6

end end end

4)Appliquer le script précédent afin de diviser chaque texture acquise en sous-images selon la décompo-

sition présentée précédemment. Les images ainsi créées seront numérotées de 0 à 80 additionné du numéro

de la classe multiplié par 100. Les images d"apprentissage seront précédées du nom?????et enregistrées

au format PNG dans le dossier?????. Les images de test seront précédées du nom????et enregistrées au

format PNG dans le dossier????.

2 Attributs de texture

Afin de caractériser les textures de la base d"images, on se propose tout d"abord de calculer les indices

d"Haralick à partir de matrices de co-occurrence chromatiques intra-composante.

2.1 Matrices de co-occurrence

avec les paramètres suivants : de la matrice de co-occurrence. pour prendre en compte toutes ces directions. La distanceDentre deux pixels voisins (voir figure4 ).

Cette fonction permet également de retourner l"image sous-quantifié.Figure 4 - Directions d"orientation et distance [0 D; -D D; -D 0; -D -D] (D=4)

5)Ecrire un script Matlab permettant d"ouvrir et afficher une image de la base d"images, d"extraire

les composantes R, G, B et calculer la matrice de co-occurrences de chacune des 3 images-composantes.

Faire varier les paramètres et visualiser les matrices de co-occurrence correspondante dans une image mo-

nochrome en ajustant l"affichage ainsi que l"image sous-quantifiée.

6)Compléter votre programme de manière à convertir l"image couleur en image monochrome et procé-

der au même traitement que précédemment.TP de traitement d"images7

2.2 Indices d"Haralick

A partir de la matrice de co-occurrence, les principaux indices d"Haralick peuvent être calculés grâce à

évoluent entre1 et 1.

Cette fonction retourne une structure dont les membres correspondent aux attributs calculés. Afin de

récupérer les valeurs de ces différents attributs dans un vecteur, cette structure peut-être transformée en

Haralick = cell2mat ( s t r u c t 2 c e l l ( Haralick ) ) ; , où???représente la matrice de co-occurrence.

7)Compléter votre programme afin de calculer les 4 indices d"Haralick à partir des matrices de co-

occurrence déterminées précédemment.

8)Modifier le programme afin de concaténer au sein d"un même vecteur les valeurs des indices d"Hara-

lick issue des matrices de co-occurrences chromatiques intra-composante R, G et B.

3 Espaces couleur

Matlab dispose de quelques fonctions de conversion d"espace couleur : ???????: RGB!HSV,

9)Transformer et visualiser une image couleur le espaces couleur HSV et YCbCr puis calculer et ob-

server les indices d"Haralick dans chacun de ces espaces.

4 Classification supervisée

Maintenant qu"il est possible de calculer un vecteur d"attributs de texture à partir d"une image couleur,

nous allons mettre en place la procédure de classification.

On distingue principalement les approches qui exploitent un apprentissage supervisé (classification su-

pervisée) de celles qui utilisent un apprentissage non supervisé (classification non supervisée, classification

automatique ou clustering). Dans une approche supervisée, la caractérisation et la discrimination des dif-

férentes classes est entièrement basée sur desprototypes, qui sont des observations de classes connues. Au

contraire, dans une approche non supervisée, les classes d"appartenance des observations disponibles ne

sont pas connues.

Le processus de classification de textures couleur est alors divisé en deux étapes successives :

1. L "apprentissagea pour but de construire des classes de textures couleur à partir de l"ensemble

des prototypes (également appelé ensemble ou échantillon d"apprentissage). Pour cela, les tex-

tures couleur présentes dans les images prototypes sont décrites par un ensemble dedescripteursTP de traitement d"images8

ou d"attributs. Chacune de ces textures est ainsi représentée par unvecteur d"attributsdans unes-

pace d"attributs. Unclassifieur1est ensuite élaboré afin de déterminer la classe d"appartenance

d"une texture en fonction de ses caractéristiques. 2.

La classificationconsiste à appliquer les règles de décision déterminées lors de l"apprentissage afin

de classer la texture analysée en lui assignant une étiquette. Il existe un grand nombre de méthodes

de classification de données multidimensionnelles qui peuvent alors être appliquées à la texture

couleur comme, par exemple, les réseaux de neurones, les machines à vecteurs de supports

2, lesk

plus proches voisins (k-PPV3), les nuées dynamiques (k-moyennes4)... Dans certaines approches,

plusieurs classifieurs sont combinés afin d"assigner à une classe, la texture couleur analysée.

La base d"images utilisée ici est ainsi décomposée en une base d"apprentissage constituée de 809=

720 images prototypes et une base test constituée du même nombre d"images requêtes qu"il faut recon-

naitre. Les images d"apprentissage sont enregistrées dans le dossier?????tandis que les images test sont

enregistrées dans le dossier????.

4.1 Apprentissage

L"apprentissage consiste à ouvrir chacune des images de la base d"apprentissage, calculer et enregistrerdans une variable le vecteur d"attributs de chaque prototype ainsi que la classe correspondante. Pour cela,nous allons utiliser une boucle répétitive de la manière suivante :%% Classification textures couleur base Outex 13

% le numéro de l " image est incrémenté à l " aide d" un fichier

clear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commandenb_classe = 9;% défini le nombre de classesnb_image = 80;% défini le nombre d" images par classeQ = 32;% défini le niveau de quantificationD = 1;% défini la distance de voisinagechemin = " train \ " ;% défini le nom du dossier de travail%% Apprentissage

tic% prise du temps pour chronomètrageforn=1: nb_classe% boucle de parcours des classesform=1: nb_image% boucle de parours des images% Constitution du nom du fichier image

% Enregistrement du numéro de la classe dans un tableau % Ouverture de l " image % Changement d" espace si nécessaire % Calcul des a t t r i b u t s

1. Nous appelons classifieur une méthode de classification associée à un paramétrage donné.

2. SVM : Support Vector Machine

3.k-NN :kNearest Neighbor

4.k-meansTP de traitement d"images9

% Transposition du vecteur d" a t t r i b u t s et affectation à une variable

end%fin de la bouleend%fin de la bouletoc% Mesure du temps de traitement10)Compléter le script précédent afin de réaliser l"apprentissage du processus de classification.

4.2 Décision

Nous allons maintenant mettre en place la procédure permettant de classer une image requête de la base

test, l"objectif étant de reconnaitre le type d"objet correspondant à l"image analysée.

Le classifieur utilisée pour cela sera le classifieur 1-ppv (algorithme du plus proche voisin). Cet al-

gorithme nécessite de mesurer la distance euclidienne entre le vecteur d"attributs de l"image requête avec

chacun des vecteurs d"attributs des images de la base d"apprentissage. L"image d"apprentissage pour la-

quelle la distance est minimum est alors l"image la plus ressemblante à l"image requête et sa classe indique

la classe de l"image requête.

11)Compléter le programme précédent afin d"ouvrir une image de la base test et classer cette image par

un algorithme 1-ppv.

5 Essais expérimentaux

5.1 Taux de classification

Le taux de classification correspond au rapport entre la somme des images requêtes bien classées et le

nombre total d"images requêtes. permettant l"apprentissage.

5.2 Choix des attributs

taux de classification.

5.3 Choix de l"espace couleur

14)Faites varier l"espace couleur et déterminer celui qui permet d"obtenir les meilleurs taux de classifi-

cation.TP de traitement d"images10

5.4 Amélioration des performances

15)Tester différentes combinaisons de paramètres afin de fournir le taux de classification le plus élevé

possible.

Les attributs calculés peuvent avoir des échelles de valeurs très différentes, ce qui peut leur donner un

poids différent lors du processus de comparaison et biaiser les résultats de classification.

Afin d"obtenir des données indépendantes de l"unité ou de l"échelle choisie, il est nécessaire de centrer

et réduire les variables utilisées. Pour cela, il est nécessaire de calculer la moyenne (fonction????) et

l"écart-type (fonction???) des valeurs de chaque attribut sur l"ensemble des données d"apprentissage.

Centrer une variable consiste à soustraire sa moyenne à sa valeur et réduire une variable consiste à

diviser sa valeur par son écart-type.

16)Centrer et réduire les attributs de texture calculés pendant l"apprentissage et visualiser les points

correspondant dans l"espace de décision choisi à l"aide de la fonction???????.TP de traitement d"images11

TP de traitement d"images12

Annexe

Acquisition d"images sous Matlab

Un objet d"entrée vidéo est un objet de type structure sur laquelle il est possible de régler plusieurs

propriétés : les paramètres liés au périphérique comme : le format de l"i mage, l"espace de codage de l"image (RGB, YCbCr ,ni veauxde gris, ...)... Les paramètres liés à l"acquisition comme : la luminosit é(Brightness), le contraste ( Contrast), le temps d"e xposition(Exposure), la correction g amma(Gamma), la netteté (S harpness)...

der et de connaître les caractéristiques détaillées de chaque propriété. Une propriété peut également être

un objet de type structure avec ses propres propriétés. L"accès à cet objet s"adresse de la façon suivante :

nom:propriete. Attention, certaines propriétés ne sont accessibles qu"en lecture seule selon qu"une acqui-

sition est en cours ou non.

La fonction???????permet de créer une fenêtre d"aperçu afin de visualiser la scène observée et la

paramètre d"acquisition. Réglages des paramètres intrinsèques et extrinsèques

Le programme suivant utilise les fonctions précédentes afin de configurer l"acquisition d"un image et

effectuer les réglages nécessaire avant d"acquérir l"image :TP de traitement d"images13 %% ACQUISITION D IMAGES SOUS MATLAB

clear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commande%% Affichage des informations l o g i c i e l l e s et matérielle

info_id = imaqhwinfo ( " winvideo " ) info_dev = imaqhwinfo ( " winvideo " ,1)

formats = info_dev . SupportedFormats% affiche les formats d" images possible%% Création d"un objet d" entrée vidéo

vid = videoinput ( " winvideo " ,1 , "RGB8_1280x1024 " );% associe un objet d" entrée vidéo% au périphérique matériel de la caméra en transmettant le numéro

% d" i d e n t i f i c a t i o n de ce périphérique avec un format d" image 1280 x 1024. % Informations sur les propriétés de " Source " information =get( vid )% Réglage du périphérique

propinfo ( vid , "VideoFormat " )% affiche les informations sur le format vidéopropinfo ( vid , " ReturnedColorSpace " )% affiche les informations sur l " espace couleurset( vid , " ReturnedColorSpace " )% permet de visualiser les réglages possibles% ou : get ( vid , " ReturnedColorSpace ")

set( vid , " ReturnedColorSpace " , " grayscale " )% sélectionne l " espace de représentation% ( ici monochrome )

% get ( vid , " ReturnedColorSpace ") pour affichage % Affichage des informations sur les propriétés propinfo ( vid , " Source " ) %% Accès à la source vidéo

Source = getselectedsource ( vid );% <=> Source = vid . Source ;% Informations sur les propriétés de la source vidéo

information =get( Source )% <=> set ( Source )% Affichage des valeurs minimales et maximales de réglage des principales propriétés

info= propinfo ( Source , "Gain " );disp( "Gain " );disp(info. ConstraintValue );info= propinfo ( Source , " Contrast " );disp( " Contrast " );disp(info. ConstraintValue );info= propinfo ( Source , " Exposure " );disp( " Exposure " );disp(info. ConstraintValue );info= propinfo ( Source , "Gamma" );disp( "Gamma" );disp(info. ConstraintValue );info= propinfo ( Source , " Sharpness " );disp( " Sharpness " );disp(info. ConstraintValue );% Affichage et réglage des propriétés de la la source vidéo

inspect ( Source );% ouvre une fenêtre avec les d i f f é r e n t s paramètres à régler% et permet le réglage de ces paramètres de manière interactive

%% Réglage du système

preview ( vid );% ouvre la fenêtre de prévisualisation de l " imagepause;% attend que l " u t i l i s a t e u r appui sur une touche depuis l " éditeur de commande% avant de continuer afin d" effecuer les réglages

closepreview ;% ferme la fenêtre de prévisualisationTP de traitement d"images14

Acquisition d"une image

utilisée afin de mettre le programme en attente pendant le temps du réglage et avant d"acquérir l"image.Le programme suivant permet de fixer les paramètres de réglages définis précédemment et acquérir uneimage avant de l"enregistrer au format brut :%% ACQUISITION D IMAGES SOUS MATLAB

clear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commande%% Création d"un objet d" entrée vidéo

vid = videoinput ( " winvideo " ,1 , "RGB24_1280x1024 " );% associe un objet d" entrée vidéo% au périphérique matériel de la caméra en transmettant le numéro

% d" i d e n t i f i c a t i o n de ce périphérique avec un format d" image 1280 x 1024. % Réglage du périphériquequotesdbs_dbs29.pdfusesText_35
[PDF] COURS DE MATHÉMATIQUES PREMI`ERE ANNÉE (L1 - IMJ-PRG

[PDF] Cours de spécialité mathématiques en Terminale ES - Olivier Lader

[PDF] physique BTS 1 - Don Bosco Marseille

[PDF] iut cachan - gmp 2 - Matthieu Barreau

[PDF] COURS MECANIQUE CLASSIQUE

[PDF] Le MEDAF Modèle d 'évaluation des actifs financiers

[PDF] MERCHANDISING COURS ET APPLICATION

[PDF] MERISE - Lipn

[PDF] Merise - Cours ofppt

[PDF] la messagerie electronique - ACTIV Formations

[PDF] Initiation ? la Météorologie appliquée ? l 'aéronautique Pour le BIA

[PDF] LES ÉTAPES DE L ALGORITHME DU SIMPLEXE

[PDF] Introduction aux méthodes numériques

[PDF] Analyse physico-chimique des sols Agricoles

[PDF] Résumé de méthodes quantitatives II 1 Introduction - Etudiant·e·s