2 Caractérisation : extraction des attributs de forme



Documents pareils
Projet Matlab : un logiciel de cryptage

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Utilisation du logiciel ImageJ gratuit

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

= constante et cette constante est a.

Merci de suivre les indications suivantes afin de créer votre compte membre :

L inégale répartition de l énergie solaire est à l origine des courants atmosphériques

Transmission d informations sur le réseau électrique

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Traitement bas-niveau

Représentation des Nombres

INTRODUCTION AU DATA MINING

Géométrie discrète Chapitre V

Fête de la science Initiation au traitement des images

TP Bases de données réparties

Systèmes de transmission

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Logistique, Transports

Opérations de base sur ImageJ

TP : Gestion d une image au format PGM

Logiciel SuiviProspect Version Utilisateur

1 Introduction au codage

Optimisation, traitement d image et éclipse de Soleil

TP - Alarme de voiture / Approche fonctionnelle

Logiciel Libre Cours 3 Fondements: Génie Logiciel

La classification automatique de données quantitatives

TP SIN Traitement d image

TRAITEMENT AUTOMATIQUE DES LANGUES. Licence d'informatique 2ème Année Semestre 1. Département d'informatique Université de Caen Basse-Normandie

MANUEL D INSTALLATION D UN PROXY

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Codage d information. Codage d information : -Définition-

données en connaissance et en actions?

Comment optimiser dans ImageReady?

Utiliser le logiciel Photofiltre Sommaire

Traitement numérique de l'image. Raphaël Isdant

Banque d images SVT. Créer et utiliser une banque d images avec Picasa 2. Version anglaise -Windows 98. Banque photo en SVT : page 1 /14

Efficacité énergétique pour les particuliers : une solution pour le monitoring énergétique

Les nombres entiers. Durée suggérée: 3 semaines

Nouveau Barème W.B.F. de points de victoire 4 à 48 donnes

Test de HSQLDB et Comparatif avec Sqlite

L exclusion mutuelle distribuée

Venez découvrir nos nouvelles formations

Les deux points les plus proches

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

TPs Architecture des ordinateurs DUT Informatique - M4104c SUJETS. R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr

Conversion d un entier. Méthode par soustraction

Recherche De Coalescences Binaires Étalonnage Du Détecteur

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

23. Interprétation clinique des mesures de l effet traitement

Étude des résultats des investisseurs particuliers sur le trading de CFD et de Forex en France

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

N avez-vous jamais rêvé d une nouvelle façon de faire un film? gettyimages.fr/film. Guide de l utilisateur

Licence Sciences et Technologies Examen janvier 2010

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Par Richard Beauregard. Novembre 2011

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Algorithmique I. Algorithmique I p.1/??

LES OUTILS DE GESTION DE PROJET

Programmation C. Apprendre à développer des programmes simples dans le langage C

- un Sigma DP1 Quattro (

Comment utiliser le catalogue?

Aide. Réservez votre séjour pour Disneyland Resort Paris en quelques clics!

CHAPITRE V SELECTION DES CONSULTANTS ET D AUTRES PRESTATAIRES DE SERVICES

Soutien technique en informatique

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Google adwords Google ad sense. Quelle démarche suivre?

Aide à la clé pédagogique «Former à la première intervention et à l évacuation»» 2 e édition

Programmation Par Contraintes

SEO 200. Banc d étude du positionnement angulaire d une éolienne face au vent DESCRIPTIF APPLICATIONS PEDAGOGIQUES

Continuité et dérivabilité d une fonction

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Catégories de format d'optimisation

Compte Rendu. Projet Reseaux : Conception Implémentation d un Mini DataCenter

Extraction d informations stratégiques par Analyse en Composantes Principales

Études et Réalisation Génie Électrique

Chapitre 02. La lumière des étoiles. Exercices :

Mise en pratique : Etude de spectres

Rapport de stage Lien entre les librairies C++ ITK et ILR. KOMBAS Sofiane

CAPTURE DES PROFESSIONNELS

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Synthèse Contrat. d Objectifs. Diagnostic Les services de l automobile En Midi-Pyrénées. Réalisation Observatoire régional emploi, formation, métiers

Etude comparative de différents motifs utilisés pour le lancé de rayon

3.00. Catalogue produit

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Sillage Météo. Notion de sillage

MIS 102 Initiation à l Informatique

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Licence ODbL (Open Database Licence) - IdéesLibres.org

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

L activation de votre compte d accès aux services numériques de Lille 1

Chapitre 1 Le routage statique

Introduction à MATLAB R

Transcription:

Indexation de base d images L indexation a pour objectif de faciliter l accès à des bases de données en extrayant une information synthétique. Cette information peut être apportée par des attributs décrivant la forme, la couleur et/ou la texture lorsqu il s agit de caractériser des bases de données images. Dans ce TP, nous proposons de construire notre propre base d images. Pour cela, nous avons à notre disposition différents objets, regroupés en 4 classes. L objectif va être de caractériser ces différentes classes. Nous évaluerons la pertinence de cette caractérisation en présentant au système de nouveaux objets et en vérifiant si ceux-ci sont assignés correctement à leur classe d appartenance. Pour effectuer cette vérification, nous allons créer une base d images de référence (ou base d apprentissage) et une base d images à tester (ou base d images requêtes). 1 Création de la base de données image La base de données image que vous allez créer est constituée de 4 classes : panneaux de signalisation, personnages, voitures, camions. Pour chaque classe, vous disposez de 6 objets (cf. figure 1). 1) A l aide du banc d acquisition à votre disposition, acquérir, pour chacun des 24 objets présentés ci-dessus, 5 images représentant l objet selon 5 angles de vue différents (cf. figure 2). Enregistrer les images au format.png en suivant l incrémentation suivante : de 001.png à 005.png pour le premier objet pris sous ses différents angles de vue, de 006.png à 010.png pour le deuxième objet pris sous ses différents angles de vue, etc Un objet de chaque classe, pris sous ses différents angles de vue, sera utilisé pour construire la base d apprentissage. Les 5 autres objets de la classe seront utilisés pour tester la pertinence de la caractérisation. La base d apprentissage est donc constituée de 20 images (5 images par classe) et la base à tester de 100 images (25 images par classe). 2 Caractérisation : extraction des attributs de forme La fonction qui va être utilisée dans ce TP pour extraire les attributs de forme nécessite une binarisation préalable des images. 2) Effectuer la binarisation d une des images de la base grâce à la fonction Ѿ Û. TP de vision 1

Figure 1 Base de données image : chaque ligne représente une classe. Figure 2 Acquisition d un objet selon 5 angles de vue différents. 3) Le seuil utilisé pour binariser les images pouvant varié d une image à l autre, utiliser la fonction graythresh pour déterminer de manière automatique le seuil en fonction de l image passée en paramètre. 4) Inverser l image de manière à ce que l objet apparaisse en blanc et le fond en noir. 5) Afin de détecter une unique région correspondant à l objet, utiliser les fonctions : bwareaopen : permet d élimination des objets de petites surfaces par analyse de connexité. TP de vision 2

ÛÐ Ð : attribue une étiquette aux pixels de chaque région représentant la forme (pixels blancs connexes) présente dans une image binaire et retourne le nombre de ces régions (analyse en composantes connexes). 6) En utilisant la fonction ÑÐÓ, traiter l image binarisée afin d obtenir une image dans laquelle la forme correspond au mieux à l objet de la scène réelle. La fonction Ö ÓÒÔÖÓÔ permet de mesurer différents paramètres de régions contenues dans une image d étiquettes et donc obtenues après une analyse en composantes connexes. Les paramètres mesurés par cette fonction sont les suivants : la surface, le périmètre, le diamètre équivalent, la longueur de l axe principal d inertie (longueur de la région), la longueur du second axe d inertie (largeur de la région), l angle de l axe principal d inertie (orientation de la région), les coordonnées du centre de gravité, les coordonnées du cadre circonscrit à la région (boundingbox), etc 7) Pour les images 001.png, 002.png et 031.png, calculer les coordonnées du centre de gravité des formes correspondantes, ainsi que leur surface, leur périmètre, leur diamètre équivalent, leur longueur, leur largeur et leur orientation. Conclure. 8) Écrire une fonction appelée ØØÖ ÙØ ÓÖÑ permettant de retourner le vecteur des attributs de forme à partir d une image en niveau de gris. Tester cette fonction. 3 Classification Maintenant qu il est possible de calculer un vecteur d attributs de forme à partir d une image, nous allons mettre en place la procédure de classification. Cette procédure va nous permettre d analyser la pertinence de nos attributs en mesurant le taux d images bien classées. Le processus de classification est divisé en deux étapes successives : 1. L apprentissage : l objectif est de "construire" des classes d objets à partir de l ensemble d images d apprentissage. Pour cela, les objets présents dans les images d apprentissage sont décrits par un ensemble d attributs. 2. La classification : durant cette seconde phase, nous utiliserons la méthode du plus proche voisin qui consiste à assigner chaque image requête à la classe de l image d apprentissage la plus similaire. Cette similarité entre images est mesurée en comparant les vecteurs d attributs. 3.1 Apprentissage L apprentissage consiste à ouvrir chacune des images de la base d apprentissage, calculer et enregistrer dans une variable le vecteur d attributs de chaque image d apprentissage ainsi que la classe correspondante. Pour cela, nous allons utiliser une boucle répétitive de la manière suivante : TP de vision 3

n b _ c l a s s e = 4 ; % d é f i n i l e nombre de c l a s s e s nb_image = 3 0 ; % d é f i n i l e nombre d images par c l a s s e chemin = C : \... \ Database \ ; nb_ima = n b _ c l a s s e * nb_image ; n b _ i m a _ t r a i n = nb_ima / 6 ; % pour chaque c l a s s e, s e u l un o b j e t s u r 6 e s t u t i l i s é pour l a p p r e n t i s s a g e A t t r i b u t s = z e r o s ( n b _ i m a _ t r a i n, 8 ) ; %% A p p r e n t i s a g e i m a _ l a b e l =0; f o r i _ t r a i n =1: nb_ima i f (((1 <= i _ t r a i n )&&( i _ t r a i n < = 5 ) ) ( ( 3 1 < = i _ t r a i n )&&( i _ t r a i n <=35)) ( ( 6 1 < = i _ t r a i n )&&( i _ t r a i n < = 6 5 ) ) ( ( 9 1 < = i _ t r a i n )&&( i _ t r a i n < = 9 5 ) ) ) i m a _ l a b e l = i m a _ l a b e l +1; % E n r e g i s t r e m e n t du numéro de l a c l a s s e dans un t a b l e a u n u m _ classe ( i m a _ l a b e l ) = f l o o r ( ( i _ t r a i n 1)/ nb_image ) + 1 ; % Concaténaion d es c h a î n e s de c a r a c t è r e s % pour c o n s t i t u e r l e chemain d a c c è s au f i c h i e r image i f ( i _ t r a i n / 1 0 < 1 ) f i c h i e r _ t r a i n = [ chemin Base \ 0 0 i n t 2 s t r ( i _ t r a i n ). png ] ; e l s e i f ( i _ t r a i n /100 < 1 ) f i c h i e r _ t r a i n = [ chemin Base \ 0 i n t 2 s t r ( i _ t r a i n ). png ] ; e l s e f i c h i e r _ t r a i n = [ chemin Base \ i n t 2 s t r ( i _ t r a i n ). png ] ; % A f f i c h a g e du numéro de l a c l a s s e disp ( [ f i c h i e r _ t r a i n C l a s s e i n t 2 s t r ( n u m _ classe ( i m a _ l a b e l ) ) ] ) ; % O u v e r t u r e de l image I m a _ t r a i n = imread ( f i c h i e r _ t r a i n ) ; % Conversion en n i v e a u x de g r i s Ima_gray = r g b 2 g r a y ( I m a _ t r a i n ) ; % A j o u t e r i c i s i n é c e s s a i r e d es o p é r a t i o n s de p r é t r a i t e m e n t % E x t r a c t i o n d es a t t r i b u t s de forme A t t r i b u t s ( i m a _ l a b e l, : ) = A t t r i b u t s F o r m e ( Ima_gray ) ; 9) Réaliser l apprentissage du processus de classification. 10) A l aide de la commande : s c a t t e r ( a t t r i b u t s _ t r a i n ( :, 1 ), a t t r i b u t s _ t r a i n ( :, 2 ), 2 * num_classe, n u m _ classe ) ; visualiser les nuages de points dont les coordonnées sont deux des attributs calculés (la surface et la longueur). 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. TP de vision 4

Afin d obtenir des données indépantes de l unité ou de l échelle choisie, il est nécessaire de centrer et réduire les variables utilisées. Pour cela, nous devons 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. 11) Centrer et réduire les attributs de forme calculés pant l apprentissage. 3.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 reconnaître le type d objet correspondant à l image analysée. Le classifieur utilisé pour cela sera le classifieur 1-ppv (algorithme du plus proche voisin). Cet algorithme 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 laquelle la distance est minimale est alors l image la plus ressemblante à l image requête et sa classe indique la classe de l image requête. 12) 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. 4 Essais expérimentaux 4.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. 13) Écrire un programme permettant de calculer le taux de classification en vous inspirant du programme permettant l apprentissage. Un moyen de valider votre programme est de classer les images de la base d apprentissage et de vérifier que vous obtenez bien un taux de 100%. 4.2 Autres essais 14) Poursuivre les essais expérimentaux en utilisant la couleur, en testant la corrélation, en analysant d autres attributs de reconnaissance de forme, d autres classifieurs, en essayant de classer d autres objets que ceux utilisés pour construire les bases,... Relever à chaque fois les taux de classification, les temps de traitement, la matrice de confusion,... TP de vision 5