Home
Rapport de stage de 2ième année de Master
Contents
1. 96 C1 Ouverture et visualisation d images par OpenCV 111 C 2 Rep re par d faut utilis dans OpenCV 112 Cd e e E a E e E a a a a a e d 112 C 4 Utilisation de primitives simples dans OpenCV aaa aaa aaa 113 C 5 Exemple obtenu partir du filtre Laplacien dans OpenCV 114 C 6 Exemple utilisant la transform e de Borgefors dans OpenCV 114 C 7 Exemple de d tection de lignes par la transform e de Hough dans OpenCV115 Anthony HERBE Universit de la Rochelle vi Sciences et Technologie 1 juillet 2005 Liste des tableaux 4 1 Avantages et inconv nients des diff rentes solutions web 29 42 Co t et compatibilit des diff rentes solutions web 29 Anthony HERBE Universit de la Rochelle vii Sciences et Technologie 1 juillet 2005 Liste des codes sources 5 1 Astuce utilis e pour le chargement des couches du MST 54 5 2 Fichier LDIF repr sentant l annuaire et ses l ments 62 5 4 Source de la proc dure d identification 65 5 5 Exemple de requ te de s lection sur base eXist depuis PHP 70 5 6 Client XML RPC crit en PHP 77 5 7 Serveur XML RPC crit en PHP 79 B1 Paquets installer s ss ssnst ane annee are ptet nt 99 Anthony HERBE Universit de la Rochelle viii Sciences et Technologie 1 juillet 2005 Introduction
2. 38 5 3 Pr paration de l environnement de travail 39 5 4 D veloppement de l interface Utilisateur 40 5 4 1 Utilisation des templates 545 5 age sNevareraere 40 5 42 Configuration de la plate forme 42 5 43 Documentation 44 5 44 Structure et organisation 44 5 5 Traitement d images Ans ee NN es Radars 46 5 5 1 Pr sentation de la Biblioth que OpenCV d Intel 46 5 5 2 D veloppement de plugins OpenCV 46 5 5 3 Interactions entre plugins et images 55 5 6 Authentification 58 5 6 1 Pr sentation de LDAP 58 5 6 2 Le choix d un annuaire LDAP 58 5 6 3 Mise en place de l annuaire 58 5 6 4 Gestion de l annuaire LDAP 60 5 6 5 Interfa age de l annuaire avec la plate forme 63 5 7 Manipulation des arbres XML 4 40 as osss sa 68 5 7 1 De l image au document XML ss sus dus ex eu 68 5 7 2 Le d faut de l impl mentation actuelle 69 5 73 Comparaison des arbres XML 424 sus eu aveux mu 71 5 8 R seau et calcul distribu 72 5 8 1 La technologie XML RPC 44esuecuss 73 5 8 2 Impl mentation de XML RPC dans la plate forme Madonne 77 5 9 Installation et D ploiement LL LAN IN a
3. Annexe C La Biblioth que OpenCV d Intel C 1 Pr sentation Open Source Computer Vision Library est une biblioth que de traitements d images et de vision par ordinateur en langage C C optimis e propos e par Intel pour Win dows Linux et comprend un tr s grand nombre d op rateurs classiques Parmi les quels Cr ation lib ration d images macros d acc s rapide aux pixels Op rateurs standards morphologie filtres d rivatifs filtres de contours suppression de fond recherche de coins Recherche manipulation traitement de contours Pyramides d images Dessins de primitives g om triques lignes rectangles ellipses polygones et m me du texte Cr ation et utilisation d histogrammes Changements d espaces de couleurs RGB HSV L a b et YCrCb Interface Utilisateur Lecture criture d images JPEG PPM Affichage l cran Gestion des signaux sur clic de fen tre fermeture Op rateurs plus complexes Mean Shift Contours actifs Pr diction Kalman et CONDENSATION Analyse du mouvement Flot optique MHI D tection de visages Calibrage de cam ras possible partir d un chiquier Suivi d objets 3D avec plusieurs cam ras Mise en correspondance entre deux images lecture d images la vol e directement depuis une vid o AVI ou une cam ra Elle permet en outre de mani
4. Ouverture de la video avi cvCaptureFromAVI ma video AVl while cvGrabFrame avi im cvkRetrieveFrame avi Traitement de l image Anthony HERBE Universit de la Rochelle 116 Sciences et Technologie 1 juillet 2005 Annexe D Lightweight Directory Access Protocol D 1 Pr sentation Lightweight Directory Access Protocol LDAP est un protocole permettant l acc s des annuaires LDAP est initialement un frontal d acc s des bases d annuaires res pectant la norme X 500 Il est devenu un annuaire natif standalone LDAP utilisant sa propre base de donn es sous l impulsion d une quipe de l Universit du Michigan LDAP est un protocole d fini l TETF Pour simplifier l acc s consultation modification aux annuaires supportant les mod les d information X 500 pour favoriser les impl mentations et l usage des annuaires Sa version courante est LDAP v3 d finie dans la REC 3377 LDAP d finit Un protocole r seau pour acc der l information contenue dans l annuaire un mod le d information d finissant la forme et le type de l information conte nue dans l annuaire un espace de nommage d finissant comment l information est organis e et r f renc e un mod le fonctionnel d finissant comment on acc de et met jour l informa tion un mod le de distribution permettant de r partir les donn es partir de la v3 un proto
5. les sondes circulaires La transform e de Fourier Mellin tait un outil d velopp dans le cadre de la th se de S Adam Les moments invariants issus de son calcul permettent de caract riser l image quelles que soient sa rotation et sa taille moyennant l utilisation du th or me du retard que l on retrouve dans l analyse de Fourier ainsi qu une normalisation Les moments invariants de Zernike issus du calcul des polyn mes de Zernike constituent le mod le le plus fr quemment utilis dans la litt rature de la reconnais sance de nombreux auteurs se sont inspir s de cette approche en utilisant les travaux de M Teague de formes invariantes aux rotations et aux changements d chelle Anthony HERBE Universit de la Rochelle 48 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis ies liste des arcs de cerle amp B C D E F valeurs angulaires 45 30 60 38 80 107 sonde 45 30 60 38 80 107 Liste r orgarus e 107 45 30 60 38 80 FIG 5 3 M thode de reconnaissance de formes par sondes circulaires La m thode utilisant les sondes circulaires d velopp e dans le cadre de la th se de L Lefr re consiste utiliser des valeurs angulaires obtenues partir de cercles concentriques dont le centre est le barycentre de la forme caract riser On obtient cette liste en parcourant les cercles dans un sens donn et en enregistrant lors du par cour
6. A Manuel d utilisation de la plate forme Web Madonne 91 B Administration et installation du syst me 98 C La Biblioth que OpenCV d Intel 109 D Lightweight Directory Access Protocol 117 E Webographie nue nn aires no MR JPA CODES 119 Anthony HERBE Universit de la Rochelle 90 Sciences et Technologie 1 juillet 2005 Annexe A Manuel d utilisation de la plate forme Web Madonne A 1 Pr requis Pour utiliser la plate forme web il faut poss der un navigateur internet disposant d une machine virtuelle JAVA n cessaire au chargement d un plugin L utilisateur doit galement faire partie de la liste des personnes habilit es l utiliser Pour cela elle doit poss der un compte sur l annuaire LDAP de la plate forme A 2 Mode de fonctionnement Une fois en possession d un identifiant et d un mot de passe valide il est possible d acc der la plate forme cette adresse http 13iexp univ Ir fr madonne_web que ce soit en intranet ou en internet Il arrive alors face la page d authentification Blot de passe cale Firnsiie Identant Mot de Passe CHTEL FIG A 1 Page d accueil de la plate forme Si une erreur de saisie concernant l identifiant ou le mot de passe se produit le message suivant s affichera un autre du m me type s affichera signalant un probl me avec le serveur LDAP Anthony HERBE Universit
7. de la Rochelle 71 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis LE 5 8 R seau et calcul distribu Il a t d montr pr c demment l int r t d effectuer du calcul distribu dans le cadre du calcul des signatures que ce soit dans un souci de r activit ou bien cause de contraintes techniques Le principe de fonctionnement que nous souhaiterions obtenir pourrait se r sumer ceci 1 Le serveur web d sire effectuer un ou plusieurs calculs de signatures sur un serveur de calculs 2 Il effectue sa demande de calculs au sein d un message destin au serveur de calculs Ce message devra logiquement contenir Des informations sur la commande ex cuter pour le calcul Des informations sur l image sur laquelle les calculs devront tre effectu s 3 Le serveur de calculs re oit le message 4 Les calculs s effectuent sur le serveur de calculs 5 Le serveur de calculs renvoie les r sultats des calculs au serveur web Faire interagir des programmes diff rents en r seau a toujours t une affaire com plexe notamment si on souhaite standardiser certains aspects de cette interaction une sorte de couche mi chemin entre la couche Transport et la couche Application du mod le OSI comme la d funte couche 5 Les Web Services sont un ensemble de protocoles qui permettent au moins sur le papier de faire communiquer avec un protocole de haut niveau pas just
8. if xmilrpcval gt kindOf scalar and xmirpcval gt scalartyp string cmd xmirpcval gt scalarval ob_start passthru cmd result_exec result array new xmlrpcval result_exec int new xmlrpcval ob_get_contents string ob_end_clean else result array new xmlrpcval EXIT FAILURE int new xmlrpcval Le contenu du message doit tre une cha ne de caract re string return new xmlrpcresp new xmlirpcval result array server new xmilrpc_server array execute gt array function gt exec_cmd signature gt exec_cmd_sig docstring gt exec_cmd_doc gt Anthony HERBE Universit de la Rochelle Sciences et Technologie 1 juillet 2005 80 D M thodologie et travail r alis 5 9 Installation et D ploiement Une fois la plate forme fonctionnelle sur l environnement de d veloppement c est dire un portable s ex cutant sur la distribution Linux Fedora Core 3 il a fallu re faire le point sur l ensemble de l architecture de la plate forme avant de l installer en production Voici donc les sch mas de son fonctionnement et de ce dont elle a besoin Client sous Unix Navigateur internet Mozilla Madonne sur les types de signatures sur les images de la base lt x Stockage des informations Stockage vi Lf Qu Client sous Windows EX E Hi E E B Navigateur internet
9. une requ te ant rieure Pour r sumer une image s identifie la fois dans sa globalit l ensemble des l ments qui la compose mais galement par chacun de ses l ments On observe donc l int r t de pouvoir calculer une ou plusieurs signatures globales ainsi qu un ensemble de signatures associ es aux l ments objets couches etc qui la composent N anmoins quel que soit la combinaison des informations qu on pourrait pr ciser dans la requ te le probl me majeur de la subjectivit de la requ te persiste c est pour quoi il est n cessaire que l utilisateur d un tel syst me joue aussi un r le d acteur sur le r sultat obtenu par le syst me rrain de foot 7 simple grand tendue d herbe 7 FIG 3 5 Exemple de subjectivit de la recherche picturale Anthony HERBE Universit de la Rochelle 15 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images d y une plate forme Web gt 0g Recherche MT retourn d un terrain par le syst me de football recherche d une grande tendue verte repr sentant environ 45 de l image Control de la pertinence du r sultat reorganisation FIG 3 6 Exemple de contr le de pertinence Relevant Feedback 3 2 Indexation de l information Une fois les informations de l image repr sent es sous forme de signatures il est n cessaire de r fl
10. 32 09 L R ACHIVIT naii ne LR ne le ee D Un fn ete PR RE del ten 19 3 347 Interop rabilit z e sis PAS diner Neue ee 19 3 3 5 D ploiement et portabilit Le es ee da uen 19 3 3 6 Contraintes d une plate forme web 19 II tude des probl matiques de d veloppement de la plateforme 20 4 G n ration manipulation et visualisation de l information 21 4 1 Del image l information utile sas eme mens R s 21 Anthony HERBE Universit de la Rochelle ii Sciences et Technologie 1 juillet 2005 TABLE DES MATI RES LE 42 De l information utile la base de donn es 22 42 eXME ziemen 2h84 SRE VER MENR RENE NAN BAS 22 4 2 2 Norme MPEG 7 24 42 3 Type de base de donn es et SGBD 4444 244 vx 27 43 Visualiser et utiliser les donn es 28 4 3 1 D terminer le type de solution web 28 4 3 2 Besoins en terme d interface 30 4 3 3 Contraintes au niveau de la s curit de l application 32 434 Vivacit de la plate forme 33 43 5 Restrictions et Compromis 34 II D veloppement de la plateforme Intra Internet 37 5 M thodologie et travail r alis 38 5 1 La gestion de projet Er 4 ra IIS SR AN Sr etre 38 5 1 1 Communication au sein du consortium 38 5 2 La d marche suivie
11. cvRectangle im cvPoint 25 35 cvPoint 50 50 CV RGB 255 255 0 CV_FILLED Anthony HERBE Universit de la Rochelle 111 Sciences et Technologie 1 juillet 2005 La Biblioth que OpenCV d Intel ki FIG C 2 Rep re par d faut utilis dans OpenCV FIG C 3 Autre rep re possible dans OpenCV cvEllipse im cvPoint 105 100 cvSize 25 30 45 0 0 360 CV_RGB 100 160 220 3 cvEllipse im cvPoint 115 10 cvSize 25 15 45 0 0 300 CV_RGB 220 150 20 CV_FILLED Anthony HERBE Universit de la Rochelle 112 Sciences et Technologie 1 juillet 2005 La Biblioth que OpenCV d Intel bzi FIG C 4 Utilisation de primitives simples dans OpenCV Il existe aussi de nombreuses autres fonctions de manipulations de primitives g o m triques Citons par exemple renvoi de tous les points appartenant un segment d limit par ses deux extr mit s d tection et traitement des contours D tection de contours Une des fonctionnalit particuli rement int ressante dans le contexte de la recon naissance de formes et la recherche de descripteurs sur une image est bien entendu la d tection de contours Pour cela un ensemble de filtres sont mis la disposition du d veloppeur filtre de Canny filtre de Sobel filtre Laplacien filtre de d tection de coins Anthony HERBE Universit de la Rochelle 113 Sciences et Technologie 1 juillet 2005 La
12. dont l interface est calqu sur le tr s c l bre PhpMyAdmin front end pour Serveur MySQL est un front end crit en PHP permettant de faciliter nombre de taches d administration des serveurs LDAP 5 6 4 Gestion de l annuaire LDAP PhpLDAPadmin est un client LD AP web Il offre une vue hi rarchique sous forme d arborescences et des fonctions avanc es de recherche qui rend la navigation et l ad ministration de l annuaire tr s intuitif Depuis que PhpLdapAdmin est une applica tion web ce navigateur LDAP fonctionne sur de nombreuses plate formes rendant la gestion du serveur LDAP accessible quel que soit le lieu Parmi les fonctionnalit s int ressantes offertes on peut citer Ajout dition et suppression d entr es de l annuaire Sauvegarde des entr es LDAP m me entre diff rents serveurs Copie et suppression r cursives d arbres complets Possibilit d effectuer des requ tes LDAP simples ou avanc es Export d l ments ou de l int gralit de l annuaire au format LDIF et DSML Import d l ments de l annuaire partir de fichiers au format LDIF Gestion de diff rents mode de cryptage des mots de passe utilisateur SHA Crypt MD5 Blowfish MD5Crypt Utilisation de phpLDAPadmin Comme nonc pr c demment on peut utiliser l interface graphique de l appli cation afin d ins rer un un chacun des l ments de l annuaire en cliquant sur cr er cf figure 5 11 page 61 puis en remplissant les d
13. gradation de la qualit de num risation seules les images au for mat Bitmap et de bonne qualit ont t retenues parmi une base d origine importante CESR Premi rement nous avons fix le nombre de couches utilis es dans la recherche de Centre d tudes sup rieures de la renaissance de Tours Anthony HERBE Universit de la Rochelle 53 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis similarit s entre images 3 Ensuite nous avons demand S Uttama de nous pr pa rer un jeu de test sur lequel des recherches pourront tre effectu es Cela repr sentant un travail important pour S Uttama en terme de temps de travail nous n avons pu recueillir qu une petite trentaine d images segment es 30 x 3 couches tout de m me Chaque image ayant subi par la suite la normalisation suivante L image d origine sera nomm e en fonction de la lettre de la lettrine suivie d un num ro pour distinguer les lettrines de m me lettre ex A1 A2 G5 etc Chaque couche sera nomm e en utilisant comme son image d origine la lettre de la lettrine suivie du num ro plus le suffixe _Jabel suivie encore d un num ro diff renciant les trois couches chaque type de couche portera toujours le m me num ro relatif sa nature l ensemble des couches a t plac dans un m me r pertoire nomm layers Les images interm diaires ont t conserv es cause
14. juillet 2005 Administration et installation du syst me sbin service smb restart sbin service nfs restart HHH sbin service httpd restart sbin service mysqld restart sbin service ldap restart B 4 Installation et configuration de la plate forme Pour installer la plate forme copiez sur le serveur web l int gralit des fichiers dans l emplacement car www html madonne_web et faite de m me pour le serveur de calculs Ensuite effacez les fichiers et r pertoires inutiles de fa on ce que l organisa tion des fichiers ressemble celle ci Pour le serveur web drwxr r x 2 apache apache 4096 jun 21 22 39 cache drwxrwxrwx 2 apache apache 4096 jun 1 19 21 cgi bin drwxrwxrwx 2 apache apache 4096 jun 14 18 40 classes rw rw 1 apache apache 1601 jun 21 22 32 config php IW IW 1 apache apache 2105 jun 21 22 38 env_vars php drwxrwxrwx 2 apache apache 4096 jun 14 18 43 functions IW 1 1 1 apache apache 960428 avr 7 22 09 ij jar drwx r x 4 apache apache 36864 mai 27 20 06 images IW IW IW 1 apache apache 826 jun 14 18 42 index php drwxrwxr x 2 apache apache 12288 mai 14 20 58 layers IW IW rW 1 apache apache 782 avr 5 18 48 menu php IW IW IW 1 apache apache 6262 jun 1 18 30 search php drwxrwxrwx 2 apache apache 4096 jun 2 16 38 templates IW IW IW 1 apache apache 4475 jun 1 18 30 upload php IW IW IW 1 apache apach
15. matiques scien tifiques sous jacentes th matiques et les caract ristiques particuli res prendre en compte projets En outre cette organisation permet de provoquer les synergies n cessaires entre chercheurs pour atteindre les r sultats vis s Les quipes sont ainsi brass es de sorte que chacun puisse intervenir dans son domaine de recherche dans un contexte diff rent qui peut susciter de nouvelles recherches et l enrichir du point de vue des autres chercheurs Il serait donc r ducteur d assimiler la notion d quipe celle de th matique et tout aussi faux que d adopter le point de vue des projets Chaque chercheur se posi tionne naturellement dans la matrice en fonction de ses comp tences Th matiques et projets ne sont donc pas des entit s administratives mais scientifiques Chacune est anim e par un responsable qui g re uniquement l animation et la coh rence des acti vit s scientifiques men es au sein de son entit La coordination g n rale et la gestion administrative sont assur es au niveau de la direction du laboratoire Ce mode de fonctionnement est possible d abord parce que le laboratoire est d une taille id ale pas trop important pour imposer une structuration trop lourde suffisam ment riche pour aborder des probl mes complexes l aide de comp tences multiples On permet aux chercheurs de se concentrer sur les t ches scientifiques en les d ga geant au mieux des charges administra
16. mes la compilation d Opencv Voici grossi rement les paquets n cessaires rpm qalgrep libpng amp amp rpm qalgrep libjpeg amp amp rpm qalgrep libtiff amp amp rpm qalgrep gtk amp amp rpm qalgrep ffmpeg amp amp rpm qalgrep 1394 libpng devel 1 2 8 1 fc3 libpng 1 2 8 1 fc3 libjpeg devel 6b 33 libjpeg 6b 33 libtiff 3 6 1 10 fc3 libtiff devel 3 6 1 10 fc3 gtk2 devel 2 4 14 3 fc3 gtk2 2 4 14 3 fc3 ffmpeg 0 4 9 7_cvs20050418 rhfc3 at ffmpeg devel 0 4 9 7_cvs20050418 rhfc3 at libraw1394 1 2 0 0 5 rhfc3 at libraw1394 devel 1 2 0 0_5 rhfc3 at libdc1394 1 0 0 3 rhfc3 at Une fois OpenCV compil et install via make et make install ditez le fichier etc ld so conf et ajoutez la ligne usr local lib sauvegardez puis lancez ldconfig toujours en root Afin de faciliter la compilation des futurs programmes crits avec OpenCV je conseille fortement d ajouter un fichier opencv pc pour l utilitaire pkg config Pour cela cr ez en root le fichier usr local lib pkgconfig opencv pc et copiez ce qui suit dedans Package Information for pkg config prefix usr local exec_prefix prefix libdir exec_prefix lib includedir prefix include opencv Anthony HERBE Universit de la Rochelle 100 Sciences et Technologie 1 juillet 2005 Administration et installation du syst me
17. monstration des fonc tionnalit s de la plate forme un premier module permettant de calculer une signature simple a t cr Cette signature consiste simplement effectuer une distance de Vi net Somme des distances entre pixels de deux images entre une image de r f rence et une autre image unie de couleur blanche et de m mes dimensions Ce type de si gnature n est pas tr s pertinent puisqu il n est que peu repr sentatif de l image Il se contente d illustrer la proportion colorim trique de l image dans sa globalit et est donc peu robuste aux d gradations de celle ci Le d veloppement de ce premier module devait galement permettre de mettre en oeuvre une premi re cha ne compl te d utilisation de la plate forme afin de proposer une premi re approche de l interop rabilit cf Sous partie 3 3 4 page 19 du syst me global Le module devait donc utiliser une simple image en entr e et produire comme Biblioth que de traitement d images crite en C par Intel Anthony HERBE Universit de la Rochelle 46 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis Le r sultat un ensemble de valeurs num riques ici un nombre unique repr sentant la distance globale de l image par rapport une image unie de couleur blanche et de m mes dimensions Ce r sultat devant tre transmis la plate forme et afin de ne pas compliquer les processus de communication il a t
18. s en lecture et ou en criture uniquement l autre machine afin de s curiser l acc s Sur l autre machine les dossiers ont t mont s comme n importe quel syst me de fichiers r seau en utilisant la table des montages ce qui rend l en semble transparent pour la plate forme qui n est pas consciente de la sp cificit de ces ressources Pour faciliter l acc s aux ressources comme les plugins les images et les couches associ es des partages SAMBA ont galement t mis en place ceux ci ne fonction nant bien videmment qu en r seau local Anthony HERBE Universit de la Rochelle 86 Sciences et Technologie 1 juillet 2005 Chapitre 6 Bilan du stage Le projet aura t tr s riche en exp riences que ce soit dans les domaines purement technique organisationnel scientifique ou tout simplement relationnel 6 1 valuation du travail r alis Au fur et mesure de l avancement du projet l ampleur de ce dernier a pu tre compar un iceberg Parti sur les bases bien que faibles du travail effectu au cours de l UE Vision 2 le travail avait t divis en un nombre de domaines bien d finis Chacun de ces domaines a pu tre abord et des solutions ont t propos es L objectif que je m tais fix tait d obtenir une plate forme fonctionnel et utilisable L objectif a donc t atteint Cependant le travail effectu n est que la partie mergeante du projet car nombre
19. sentation un utilisateur metteur de requ te Anthony HERBE Universit de la Rochelle 6 Sciences et Technologie 1 juillet 2005 Pr sentation du Lai i Les probl matiques scientifiques sous jacentes concernent la classification la mod lisation pour l analyse mais aussi pour la pr sentation des donn es et l extraction de caract ristiques pour le d veloppement de syst mes de recherche d informations Mod liser un syst me d analyse et de recherche d informations n cessite une indexa tion c est dire une repr sentation du contenu de l information ainsi que des connais sances du domaine couvert par le corpus et une correspondance entre la requ te et la repr sentation du document num rique analys correspondance permettant un cal cul de la pertinence de la r ponse Sur un plan applicatif les corpus d analyse sur lesquels les recherches ont t men es concernent essentiellement des images des s quences d images ou des donn es environnementales S appuyant sur des liens troits avec les th matiques ISI et G loaMemoL les recherches portent sur le d veloppement d outils d analyse d images et d extraction de primitives la recherche de m thodes robustes de classification pour l indexation et l interpr tation la fusion d informations divers niveaux d abstraction donn es primitives d cisions et de structuration num rique num rique num rique sym bolique symbolique symbolique Pou
20. structurer les recherches autour de th matiques dans lesquelles tous les cher cheurs ont leur place Il en r sulte que le L3i est d sormais le plus gros labora Anthony HERBE Universit de la Rochelle 3 Sciences et Technologie 1 juillet 2005 Pr sentation du Lai i toire de l Universit de La Rochelle de d velopper des contacts industriels permettant de motiver des recherches fondamentales et appliqu es de s ins rer dans les r seaux de recherche participer aux r seaux industriels de nos domaines de pr parer l insertion dans les r seaux europ ens d am liorer la diffusion scientifique en qualit et en quantit de trouver une libert financi re en multipliant par quatre les recettes du labo ratoire tout en limitant les concessions sur la nature des recherches de mener une politique de recrutement coordonn e et de limiter les d stabili sations cons cutives des recrutements relativement nombreux d accro tre le nombre de doctorants 6 par an depuis les 2 derni res ann es de mettre en place une politique de valorisation avec d p ts de brevets et trans fert de technologie 1 2 Sa structuration Au niveau de la dynamique du laboratoire afin de ne pas souffrir comme beau coup d entre eux des barri res induites par des structurations administratives et scientifiques une r flexion a t men e sur une structuration adapt e sa taille et correspondant
21. tape afin de pouvoir ob tenir une premi re version fonctionnelle de l application La solution retenue terme est l utilisation d une base de donn es XML native qui r pond mieux nos besoins en terme d indexation puisqu il suffit tout comme dans un SGBDR traditionnel d ef fectuer une requ te XQuery sur la base plut t que d ouvrir tous les fichiers de la base Une base XML native est en fait consid r e comme une for t constitu e des arbres de chacune des images Une fois le d veloppement de la classe PHP cit e ci dessus effectu une tentative d impl mentation de solution partir de base XML native a d but Pour cela et selon les conseils d un collaborateur la base eXist a t choisie Une fois celle ci install e et configur e quelques fonctions d interrogation de cette base ont t d velopp es en utilisant la biblioth que Query eXist existant en Perl et surtout en PHP Voici un exemple de fonctionnement Source 5 5 Exemple de requ te de s lection sur base eXist depuis PHP lt PHP include eXist exXist_soap php Suser madonne_ admin password adm exist Swsdl http 13iexp univ lr fr 8080 exist services Query wsdl db new eXist SOAP user password wsdl db gt setDebug if db gt getError db gt connect else die db gt getError Squery for signatures in VisualDescriptor return signatures query o 1
22. 4 Menu d insertion d images Madonne 1 Charger un ou plusieurs plugins S lectionner un fichier Parcourir 2 Valider les choix Ou Entrer le chemin d un r pertoire Ins rer le s plugin s du serveur accessible depuis l ext rieur Attention le temps de chargement d pend du nombre de fichiers contenus dans le r pertoire retourau menu d connexion Universit de la Rochelle L3i 2004 FIG A 5 Menu d insertion de plugins Les fonctionnalit s de ces deux crans sont identiques Elles permettent d ins rer un fichier situ sur le disque de l utilisateur ou encore partir d un chemin absolu du serveur pointant sur un r pertoire rempli de fichiers Une fois l op ration valid e l utilisateur est ramen au menu principal pr c dent Si l utilisateur s lectionne l action Effectuer une recherche il est aussit t redirig ver cette page Anthony HERBE Universit de la Rochelle 93 Sciences et Technologie 1 juillet 2005 Manuel d utilisation de la plate forme Web Madonne Madonne retourau menu d connexion Nombre d images pertinentes afficher Parcourir 10 l Toutes Cliquez sur Parourir pour charger votre image puis sur Lancer la recherche Lancer la recherche S lection des signatures prise en com r la recherche F MST Y Vinet FIG A 6 Menu de s lection de l image de r f rence Sur cette cran l utilisateur peut s lectionner le nombr
23. Afin de valider l ann e de Master de la formation IMA de l universit de la Ro chelle chaque tudiant doit effectuer un stage de vingt deux semaines Ce stage est une tape importante pour un tudiant non seulement du point de vue de la scolarit mais aussi d un point de vue personnel Ce rapport pr sente l ensemble des travaux que j ai effectu au cours de mon stage au laboratoire L3i Laboratoire Informatique Image Interaction de la Rochelle en Charente Maritime Durant ces vingt deux semaines l activit du stagiaire doit se partager entre une activit d apprentissage fondamental on pourrait dire th orique et une activit d apprentissage professionnel L objectif de cette exp rience est de parvenir une r flexion sur des probl ma tiques qu engendre une plate forme d indexation et de recherche d informations de type pictural en se basant sur une exp rience concr te qu est le d veloppement d une solution logicielle Cette r flexion a pour but de faire ressortir les approches et solutions possibles pour la r solution de ces probl matiques Ce rapport s articulera donc autour de trois axes Tout d abord nous pr senterons le cadre du stage le laboratoire L3i le sujet propos et les probl matiques pos es Ensuite nous examinerons ces probl matiques et tenterons de leur apporter des solutions Enfin le reste du rapport portera sur l ensemble du travail effectu la m
24. Biblioth que OpenCV d Intel LE FIG C 5 Exemple obtenu partir du filtre Laplacien dans OpenCV im cvLoadImage argv 1 0 im2 cvCreatelmage cvGetSize im IPL_ DEPTH_165 1 cvLaplace im im2 Diff rents type de transform es Transform e en distances FIG C 6 Exemple utilisant la transform e de Borgefors dans OpenCV Il s agit de la transform e de Borgefors avec plusieurs filtres CV_DIST_C 3x3 a 1 b 1 CV_DIST_L1 3x3 a 1 b 2 CV_DIST_L2 3x3 a 0 955 b 1 3693 CV_DIST_L2 5x5 a 1 b 1 4 c 2 1969 Anthony HERBE Universit de la Rochelle 114 Sciences et Technologie 1 juillet 2005 La Biblioth que OpenCV d Intel k2 On peut aussi d finir ses propres filtres en donnant a b et c Transform e de Hough FIG C 7 Exemple de d tection de lignes par la transform e de Hough dans OpenCV D tection de lignes en utilisant le plan p O m thode standard 22 image renvoie un ensemble de droites m thode probabiliste 3 image renvoie un ensemble de segments Transform e de Fourier et transform e cosinus transform e de Fourier DFT R gt R C C transform e en cosinus DCT R gt R pour les deux transform es 1D et 2D transform e inverse imf cvCreatelmage cvGetSize im IPL_DEPTH_32F 1 dst cvCreatelmage cvGetSize im IPL DEPTH_32F 1 cvConvert im imf cvDFT
25. Bonne question Celui ci est construit sur la biblioth que initialement d velopp e par Edd Dumbill Useful Information Company avant d tre depuis sa version 1 0 ouverte un d veloppement plus collectif via SourceForge Pourquoi utiliser une biblioth que alors que Php 4 1 propose d sormais par d faut des fonctions XML RPC Bien que celles ci soient crites en C et offrent donc de bonnes performances le site php net pr vient l utilisateur potentiel de ces fonctions que celles ci peuvent tout moment changer de nom on peut lire Be warned and use this extension at your own risk Au regard de cette recommandation il est bien videmment d conseill de les utiliser en production SOAP Simple Object Access Protocol est un protocole de RPC orient objet b ti sur XML Le trans fert se fait le plus souvent l aide du protocole HTTP mais peut galement se faire par un autre protocole comme SMTP Il a t initialement d fini par Microsoft et IBM mais est devenu depuis une recomman dation du W3C Anthony HERBE Universit de la Rochelle 73 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz La biblioth que PHPXML RPC http ph pxmirpc sourceforge net va donc gran dement nous faciliter le travail Il suffit par la suite de conna tre les diff rents m ca nismes et changes n cessaires au dialogue du client avec le serveur pour rapatrier et exploiter les r
26. HTTP Quatri me tape analyse du code retour et exploitation des r sultats C est un objet de type xmlrpcresp qui nous est renvoy Si celui ci est gal z ro la connexion au serveur n a pas pu s effectuer Si ce dernier n est pas gal z ro il se peut quand m me qu un probl me soit survenu le serveur peut ne pas avoir compris notre demande Il faut donc s assurer si la m thode faultcode renvoie z ro signe qu aucune erreur n est survenue En cas d erreur la m thode faultString renvoie un descriptif de l erreur commise Laissons parler le code pour une version plus synth tique de ces deux tapes if resultat a lt p gt Could not connect to HTTP server lt p gt erda E lt p gt XML RPC Fault resultat gt faultCode resultat gt faultString Si tout s est bien pass il faut exploiter les donn es renvoy es par le serveur La m thode value permet de traduire le r sultat retourn par le serveur en un objet de type xmlrpcual Afin de r cup rer de mani re exploitable par PHP les valeurs ren voy es par la m thode compute_sig1 par ex il nous faut passer par plusieurs tapes une fois la m thode value appliqu e il faut ensuite extraire de la valeur obtenue les valeurs r elles Cela donne xmilrcp_obj resultat gt value traduction en objet xmlrpcval Extraction et conversion de l objet xmirpc de telle fa on q
27. Images xml H2 xml INSERT INTO images VALUES 54 var www html madonne_web images H3 jpg ad nages ARR xml INSERT INTO images VALUES 55 var www html madonne_web images 11 JPS r Z images xml T1 xml INSERT INTO images VALUES 56 var www html madonne_web images 1I2 jpg images xml I2 xml INSERT INTO images VALUES 57 var www html madonne_web images G1 JPE 7 7 images xml Gi xml INSERT INTO images VALUES 58 var www html madonne_web images F1 JPE images xml P1 xml INSERT INTO images VALUES 59 var www html madonne_web images G2 JPE ar images anl G2 xml INSERT INTO images VALUES 60 var www html madonne_web images G3 JPE o images m1 G3 xml INSERT INTO images VALUFS 61 var www html madonne_web images 16 ADE a images xml l6 xml INSERT INTO images VALUES 62 var www html madonne_web images L1 JPE images xmu L1 xml INSERT INTO images VALUES 63 var www html madonne_web images L2 IPE a7 images xml L2 xml INSERT INTO images VALUFS 64 var www html madonne_web images L4 IPS images xo LA xml INSERT INTO images VALUFS 65 var www html madonne_web images N2 jpg Eu bien he xml INSERT INTO images VALUES 66 var www html madonne web images Z1 PE o Z images xml Z1 xml INSERT INTO images
28. KEY name name TYPE MyISAM PACK KEY5 0 AUTO INCREMENT 9 INSERT INTO signatures VALUES 2 MSI MST 1 cgi bin M5l NULL NULL INSERT INTO signatures VALUES 1 Vinet Vinet 1 cgi bin Vinet NULL NULL Voil pour ce qui est de la base MySQL Faisons de m me avec l annuaire LDAP B 4 3 Configuration et installation de l annuaire LDAP Apr s avoir install OpenLDAP il faut configurer le serveur et cr er l annuaire Voici la configuration du serveur LDAP situ e dans le fichier etc openldap slapd conf include etc openldap schema core schema include etc openldap schema cosine schema include etc openldap schema inetorgperson schema include etc openldap schema nis schema schemacheck on allow bind_v2 pidfile var run slapd pid argsfile var run slapd args database bdb suffix dc my domain dc com rootdn cn Manager dc my domain dc com rootpw crypt AHDcKj1mlqfPY directory var lib ldap index objectClass eq pres index ou cn mail surname givenname eq pres sub index uidNumber gidNumber loginShell eq pres index uid memberUid eq pres sub index nisMapName nisMapEntry eq pres sub Anthony HERBE Universit de la Rochelle 107 Sciences et Technologie 1 juillet 2005 Administration et installation du syst me ts access to attr userPassword by self write by anonymous auth by dn cn Manager dc my do
29. Le sur eXist Des choix ont donc t faits en ce qui concerne l organisation du d velop pement de la plate forme ils sont le fruit de d cisions prises en compl te autonomie que celles ci fussent bonnes ou mauvaises 6 2 2 Les probl mes techniques Dans le domaine purement technique ou plut t technologique le fait de s impr gner de technologies naissantes et souvent synonymes de longues tudes recherche de documentations m thodologies empiriques Ce fut le cas pour toute la partie don n es bas e sur le XML l g rement orient pour une approche du MPEG 7 Enfin la partie traitement d images n a pas t non plus un travail d une grande facilit puisqu il fallait composer entre les avanc es et les difficult s de chacun dans le domaine surmont des contraintes li es au caract re web de la plate forme 6 2 3 Les probl mes relationnels Ce fut loin d tre les plus inqui tants du moins au niveau du laboratoire L3i o la coop ration fut grande que ce soit dans les moyens techniques ou encore dans les r flexions scientifiques Cependant nombreuses observations ont montr l norme foss de la communication entre les laboratoires En effet il fut tr s difficile de se faire cou ter des scientifiques et ce encore plus si on n a pas le statut minimum de th sard Nombre de mes requ tes concernant la communication ont t ignor es Tout comme moi je suppose que les diff re
30. VALUES 67 var www html madonne_web images O2 jpg images xml 02 xml INSERT INTO images VALUES 68 var www html madonne_web images M2 JPE y 7 images xml Me xml INSERT INTO images VALUES 69 var www html madonne_web images V4 Ni Pari inages xal Va xml INSERT INTO images VALUES 70 var www html madonne_web images R2 Ni ri images xml R2 xml INSERT INTO images VALUES 71 var www html madonne_web images S1 JPE Per images xml S1 xml INSERT INTO images VALUES 72 var www html madonne_web images T1 JPE 7 images xml TI xml INSERT INTO images VALUES 73 var www html madonne_web images Q3 jpg images xml Q3 xml Anthony HERBE Universit de la Rochelle 106 Sciences et Technologie 1 juillet 2005 QUI Administration et installation du syst me INSERT INTO images VALUES 74 var www html madonne_web images Q2 jpg images xml Q2 xml CREATE TABLE signatures index tinyint 4 NOT NULL auto_increment name varchar 30 NOT NULL default label varchar 35 NOT NULL default weight double NOT NULL default 1 bin_path varchar 255 NOT NULL default type varchar 30 default NULL nb_params tinyint 4 default NULL PRIMARY KEY index UNIQUE KEY bin_path bin path
31. ation le chargement et la sauvegarde de documents XML et une derni re ajoute quant elle le support de la recherche dans le document partir d un l ment par le biais de requ tes XPath L utilisation de cette classe rend transparente la mani re de manipuler les donn es XML Ainsi si le besoin de changer d impl mentation se fait sentir il suffira de chan ger le comportement des m thodes sans pour autant modifier toute l application 5 7 2 Le d faut de l impl mentation actuelle La sauvegarde des documents XML de l application s effectue par le biais de fi chiers XML ce qui constitue cependant un inconv nient majeur pour l indexation et la recherche des informations En effet chaque image est associ un fichier XML contenant l intr galit des in formations qui la d crivent m ta donn es et descripteurs ce qui a pour effet que la base de donn es n est autre qu un ensemble de fichiers XML Ainsi pour effectuer une recherche de similarit s entre images on est oblig d ouvrir l int gralit de ces fichiers de mani re s quentielle pour r cup rer l information n cessaire la compa raison Il est donc impossible d acc l rer la recherche en effectuant la recherche sur un sous ensemble de documents Anthony HERBE Universit de la Rochelle 69 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz N anmoins cette impl mentation ne devait tre qu une
32. aussit t appliqu sur ces derni res pour la g n ration des fichiers XML Deux points importants sont souligner En effet en agissant ainsi les informations de la base peuvent devenir h t rog nes puisque les images d j pr sentes dans la base ne poss deront pas forc ment le m me ensemble de valeurs de descripteurs car il est possible que durant leur insertion les plugins disponibles ne soient pas les m mes Cela ne pose pas de r els probl mes pour le calcul de similarit puisque comme il est pr cis ci dessus le calcul est effectu sur le plus grand sous ensemble commun Le deuxi me point concerne le temps d ex cution qui peut tre observ si le nombre d images ins rer est cons quent Si pour chaque image on calcule imm diatement les valeurs des descripteurs disponibles cela peut figer le fonctionnement de la plate forme pendant une dur e importante Il serait alors judicieux de planifier les calculs par le biais d une table d finissant des heures durant lesquelles les calculs pourraient tre lanc s en tache de fond de mani re automatique ce qui permettrait galement d harmoniser l ensemble des informations de la base Ce type d outils est bien connu des syst mes Unix car il existe deux commandes pouvant r pondre ces crit res Cron qui est le nom d un programme permettant aux utilisateurs des syst mes Unix d ex cuter automatiquement des commandes ou des scripts une date et une he
33. celui ci et les re lient aux pages du livre o ces termes ou leurs synonymes apparaissent Ceci faci lite pour le lecteur la localisation des pages ou sections o l on mentionne un sujet particulier De m me la table des mati res d un livre est une forme assez grossi re d indexation Revenons notre contexte pictural et tentons de lui appliquer un exemple concret Imaginons le type de requ te suivante rechercher toutes les images contenant un ballon de volley Il faut donc pouvoir retrouver toutes les occurences de ballons et notamment de volley dans l ensemble des donn es et renvoyer les images auxquelles Anthony HERBE Universit de la Rochelle 16 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images d p une plate forme Web LE elles sont associ es Pour cela il est recommand d organiser les donn es la mani re d une table des mati res ou index o chaque descripteur est associ l image qu il d crit afin que la recherche soit la plus rapide possible Images contenant un ballon Images retenues Recherche Ballon de Beach volley Images de la base FIG 3 7 Exemple de recherche dans une base d images L indexation peut tre manuelle faite par un humain automatique cr e par un programme informatique ou divers degr s interm diaires assist e ou semi automatique par
34. certains probl mes La consultation en mode image des documents patrimoniaux suppose leur ar chivage et exige donc d examiner de mani re approfondie les possibilit s sp ci fiques de compression de ces masses de documents Se pose aussi le probl me de simplifier au maximum la recherche d un docu ment L id e est de d terminer des indices s adaptant aux diff rentes repr sen tations de l information que l on peut rencontrer dans les documents patrimo niaux comme des zones textuelles des images des illustrations graphiques Ces indices apportent des connaissances sp cifiques qui aideront la naviga tion IMAsse de DONn es issues de la Num risation du patrimoiNE Anthony HERBE Universit de la Rochelle 9 Sciences et Technologie 1 juillet 2005 Sujet et objectifs k2 Les diff rents laboratoires L3i LI IRISA PSI CRIP5 6 LORIA 7 LIRIS 8 membres du projet M A D O N N E travaillent actuellement sur les probl mes li s sa r alisation afin d obtenir terme une cha ne de traitements pour la va lorisation d une collection Enfin il est important de souligner que certains facteurs culturels sociaux ou conomiques risquent toutefois d emp cher d exploiter pleinement le potentiel de ces ressources du moins dans un premier temps C est pour ces raisons que ce projet vise aussi et en outre renforcer les actions de sen sibilisation sur les probl mes de conservation d
35. d une chanson d apr s les premiers airs entonn s pour l imagerie la recherche d images ou de photos selon un certain type de logo de visage de texture ou de couleur Si cette m thode de recherche pr sente de nombreux avantages son inconv nient ma jeur est le volume que risquent de prendre toutes ces nouvelles informations ins r es en plus du contenu de base A l inverse au travers de ces nouvelles donn es l utilisateur pourra d finir ses crit res de s lection et de recherche d pendant de son interface d affichage PC t l phone mobile PDA notebook etc et de connexion xDSL c ble GSM UMTS WLAN etc Anthony HERBE Universit de la Rochelle 26 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information ke Bien que la norme MPEG 7 soit standardis e depuis quelques temps tr s peu d applications sont encore disponibles car il s agit avant tout de cr er de nouveaux contenus D autre part depuis peu un nouveau standard a vu le jour sous le nom de MPEG 21 21 correspondant probablement au 21 si cle qui a pour but non pas de remplacer MPEG 7 mais de proposer une architecture unifi e pour la d finition le traitement et la recherche de contenu multim dia appel e UMA Universal Mul timedia Access L objectif principal de cette nouvelle norme est de standardiser une structure dite entit num rique ou Digital Item d
36. de vront tre renseign es par l utilisateur d autres peuvent tre calcul es partir du contenu num rique qu offre un fichier repr sentant l image Dans un fichier on trouve g n ralement deux cat gories d informations que l on peut extraire 1 Les informations de num risation de l image format r solution compression colorim trie poids du fichier date de cr ation etc et m ta donn es du for mat de fichier si elles existent r solution de num risation souvent exprim e en dpi appareil utilis pour la num risation texte suppl mentaire d annotation de l image etc 2 Les pixels de l image Pour la premi re cat gorie nul besoin de traitement l information est aussit t ex ploitable par contre la seconde n cessite des traitements pour extraire l information utile les diff rents descripteurs ou signatures cf Sous partie 3 1 1 page 13 de l image De nos jours de nombreux outils permettent de manipuler le contenu d une image et notamment les pixels de celle ci Cependant dans le cadre de ce projet l outil doit r pondre des besoins bien sp cifiques c est dire tre capable d effectuer n importe quel type de calcul sur les pixels Le type de solution qui r pond le mieux cette attente est bien videmment d utiliser une biblioth que pour un langage de program mation lambda permettant ainsi de r pondre la plupart de nos attentes d autant plus que de nombr
37. de la Rochelle 91 Sciences et Technologie 1 juillet 2005 Manuel d utilisation de la plate forme Web Madonne ki Madonne Cite LT 1 identifiant ou mot de passe incorrecte Retour Uniwanit de la Rochel Li 2503 FIG A 2 Erreur d identification Si l identification s est d roul e avec succ s l utilisateur acc de au menu de l ap plication Madonne EHIE Vider la banque MMAgEs assis i tisanas i dbrggags FIG A 3 Menu principal de la plate forme A partir de cet cran selon les droits de l utilisateur il peut effectuer une recherche ins rer une ou plusieurs images dans la base ins rer un ou plusieurs plugins dans la base supprimer les ressources de la plate forme images et informations associ es Si l utilisateur s lectionne ins rer un ou plusieurs images plugins il obtiendra les crans suivants Anthony HERBE Universit de la Rochelle 92 Sciences et Technologie 1 juillet 2005 gt wi Manuel d utilisation de la plate forme Web Madonne Madonne 1 Charger une ou plusieurs images S lectionner un fichier Parcourir 2 Valider les choix Ou 9 Entrer le chemin d un r pertoire Ins rer l image du serveur accessible depuis l ext rieur Attention le temps de chargement d pend du nombre de fichiers contenus dans le r pertoire retourau menu d connexion Universit de la Rochelle L3i 2004 FIG A
38. de points n ont pu tre abord s faute de temps et ou de moyens humains L ensemble du travail effectu a galement pour ambition d tre r utilisable afin que le projet puisse aboutir si bien videmment le d veloppement continue 6 2 Probl mes rencontr s Comme dans tout projet nombre de difficult s ont vu le jour que ce soit en lien direct avec le projet ou bien dans le cadre de travail Comme cela a t signal dans ce rapport il a t n cessaire de travailler sur des postes coup s physiquement du r seau du laboratoire du moins pour l environnement de d veloppement Cela a d but avec mon ordinateur personnel sur lequel tout avait t pr par et bien entam Malheureusement des probl mes mat riels sont survenus m obligeant l envoyer au service apr s vente Le temps de retrouver un autre poste dans les m mes conditions r installation de tout l environnement a t un pr judice suppl mentaire en terme de temps 6 2 1 Les probl mes organisationnels Etant donn l importance du projet en terme de travail effectuer il a parfois t obligatoire et tr s frustant de devoir abandonner des solutions qui paraissaient vi dentes terme par manque de temps que ce soit en terme de d veloppement ou bien en terme d apprentissage de nouvelles technologie ex Base de donn es XML native Anthony HERBE Universit de la Rochelle 87 Sciences et Technologie 1 juillet 2005 Bilan du stage
39. donc adopt une gestion de projet minimale essentiellement bas e sur les comptes rendus en moyenne hebdomadaires lors d entretiens indivi duels ou de petites r unions Enfin comme l approche employ e est de type empirique son volution est par essence difficile pr voir car on traite les probl mes au fur et mesure de leur d couverte Une pr vision trop pr cise et un planning d cid trop t t auraient t remis en cause chaque nouveau probl me 5 1 1 Communication au sein du consortium Le projet tant au centre d une vaste communaut scientifique il m avait t de mand de r animer les changes au sein du consortium dans le but d effectuer par la suite une synth se afin de visualiser rapidement les travaux de chaque laboratoire Certains aspects de communication ont pu tre abord s au sein d changes lectro niques ou m me au cours d un s minaire effectu la Bresse Cependant il s est vite av r que cet aspect serait tr s difficile mettre en avant tant donn les probl mes de communication persistant au sein du groupe 5 2 La d marche suivie Apr s s tre replong dans le contexte de Madonne il a d abord t n cessaire de s impr gner et de synth tiser tout ce qui avait t effectu lors de l unit d enseigne ment Vision 2 lire et comprendre les documents r dig s par les tudiants trier les id es et autres r flexions faites au cours de ce
40. exist sourceforge net PHP and Perl classes to query eXist XML DB http query exist sourceforge net Pr sentation du MPEG 7 http vVlan org breve63 html E5 Traitement d images OpenCV Open Source Computer Vision Library http www intel com research mrl research opencv Image Image processing and analysis in Java http rsb info nih gov ij E6 Sources d informations g n ralistes Forums de discution ax s programmation et ou administration http www developpez net forums index php JDN Le Journal du Net http www journaldunet com Olnet L Actualit informatique http www 0inet com Wikip dia l encyclop die libre et gratuite http fr wikipedia org wiki Accueil Glossaire du jargon informatique http www linux france org prj jargonf general bgfrm html Anthony HERBE Universit de la Rochelle 120 Sciences et Technologie 1 juillet 2005
41. imf dst CV_DXT FORWARD Histogrammes On peut galement d finir des histogrammes standards mais aussi des histo grammes creux La cr ation n est cependant pas directe il faut auparavant d sen trelacer les canaux de l image D claration on suppose que im existe et est d finie Ipllmage rgb 3 int taillehist 3 32 32 16 Anthony HERBE Universit de la Rochelle 115 Sciences et Technologie 1 juillet 2005 La Biblioth que OpenCV d Intel LE Desentracelacement de l image rgb 0 cvCreatelmage cvGetSize im IPL DEPTH_8U 1 rgb 1 cvCreatelmage cvGetSize im IPL DEPTH_8U 1 rgb 2 cvCreatelmage cvGetSize im IPL DEPTH_8U 1 cvCvtPixToPlane im rgb 2 rgb 1 rgb 0 NULL Creation de l histogramme hist cvCreateHist 3 taillehist CV_ HIST ARRAY NULL 1 cvCalcHist rgb hist 0 NULL Liberation cvReleaseHist amp hist Pour manipuler ces histogrammes il existe des fonctions de comparaison d histo grammes traitement r troprojection sur une image Lecture d une vid o Outre la manipulation d images fixes OpenCV est capable de lire une s quence d images partir d un fichier vid o au format AVI ou encore partir d un p riph rique vid o Pour chaque tape une image de type Iplimage est automatiquement allou e puis lib r e en m moire Variables Ipllmage im CvCapture avi
42. l arbre couvrant de poids minimum ou MST Minimum Spanning Tree consiste trouver un arbre couvrant dont la somme des poids des ar tes est minimum La seule condition n cessaire et suffisante pour qu un graphe admette un arbre couvrant est qu il soit connexe Un arbre couvrant de poids minimum est en g n ral diff rent de l arbre des plus courts chemins SPT Shortest Paths Tree construit par exemple par BFS ou Dijsktra Un arbre des plus courts chemins est bien un arbre cou vrant mais il minimise la distance de la racine chaque sommet et non la somme des poids des ar tes A 3 B 4 7 8 2 bp Un arbre des plus courts chemins SPT de racine A Un arbre de poids minimum MST Sa hauteur est 7 Sa hauteur est 10 Son poids est 14 Son poids est 10 FIG 5 4 Le Minimum Spanning Tree MST par rapport au Shortest Path Tree SPT Il existe deux algorithmes c l bres pour r soudre le probl me de l arbre couvrant SMinimum Spanning Tree Anthony HERBE Universit de la Rochelle 50 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis hax de poids minimum Chacun d eux utilise plus particuli rement l une des caract ri sations des arbres pour trouver un MST soit en consid rant les arbres comme des graphes connexes avec le minimum d ar tes soit en consid rant les arbres comme des graphes acycliques avec le maximum d ar tes Ces algorithmes utilisent galement
43. liorer la machine voire de la changer Les seconde et troisi me solutions sont videmment meilleures car elles permettent de ne pas surcharger le serveur web en terme de charge mais demande une politique de mise en place particuli re et encore plus pour la derni re On pourra dans un pre mier temps s parer la partie calcul sur une machine d di e et ensuite d cider d ajouter un interm diaire qui s occupera de distribuer les calculs d autres machines rendant le processus transparent pour le serveur web Anthony HERBE Universit de la Rochelle 33 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information Serveur Web Serveur interm diaire pour la communication entre les diff rents serveurs de calculs Serveur de calculs n 3 FIG 4 6 Sch ma de r partition des calculs avec serveur interm diaire 4 3 5 Restrictions et Compromis Dans la partie relative aux probl matiques li es aux besoins et aux contraintes cf Sous partie 3 3 6 page 19 nous avons fait ressortir qu il pouvait y avoir des compro mis effectuer tant donn la nature web de l application Nous avons galement soulign l interop rabilit cf Sous partie 3 3 4 page 19 que l application devait avoir En effet l application devant pouvoir ex cuter et traiter les r sultats de tout pro gramme crit par d autres collaborateurs du consortium Madonne et ce sur
44. ne sont pas pr cis s la connexion se fait de mani re anonyme La d connexion du serveur LDAP se fait tout naturellement par la fonction ldap_close avec la syntaxe suivante int Idap_close int identifiant Cette fonction est similaire la fonction dap_unbind Anthony HERBE Universit de la Rochelle 64 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz Voici un exemple complet de connexion et de d connexion un serveur LDAP lt Fichier de configuration pour l interface PHP de notre annuaire LDAP server indus univ l fr port 389 racine dc my domain dc com rootdn cn Manager dc my domain dc com rootpw secret echo Connexion lt br gt ds ldap_connect server if ds 1 On s authentifie en tant que super utilisateur ici Manager r ldap_bind ds rootdn rootpw Ici les op rations effectuer echo D connexion lt br gt Idap_close ds else echo Impossible de se connecter au serveur LDAP gt Gr ce toutes ces directives nous avons donc pu d velopper notre proc dure d authentification Module d authentification Comme la majorit du source de cette plate forme un module ind pendant a t cr en vu d encapsuler les m thodes d interrogation du serveur LDAP afin de rendre l impl mentation transparente par rapport la biblioth que
45. nos param tres mylnt new xmlirpcval 1267 int myString new xmlrpcval Hello World string myBool new xmlrpcval 1 boolean Fort de ces exemples et des pr c dents paragraphes nous r sumons donc la syn taxe de la d claration de notre message message new xmlrpcmsg compute_ signature array new xmlrpcval signatures bin_path compute_sigl string new xmlrpcval pictures_path imgl bmp string Troisi me tape l envoi du message La syntaxe de cette tape se base sur la m thode send de la classe xmlrpc_client que nous voquions tout l heure R capitulons les deux tapes pr c dentes client new xmlrpc_client path xml rpc_server php compute server univ lr fr 80 message new xmlrpcmsg compute_ signature array new xmlrpcval signatures bin_path compute_sigl string new xmlrpcval pictures_path imgl bmp string Anthony HERBE Universit de la Rochelle 75 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis LE Il est temps d envoyer notre message au serveur resultat client gt send message La syntaxe exacte de cette tape est la suivante resultat client gt send message timeout server_method Lorsqu ils sont omis les param tres timeout et server_method prennent respecti vement les valeurs 0 pas de timeout et
46. num riques relatives au x descripteur s qu il repr sente Dans un pre mier temps celui ci devra d organiser de la fa on suivante une ligne un nombre 7 le nom du fichier r sultat devra tre cod de la fa on suivante nomdufichieri mage nomduplugin De plus l emplacement du fichier g n r devra tre param trable et sera par d faut l emplacement syst me des fichiers temporaires ex tmp sous Unix afin que le fichier soit facilement rep rable par la plate forme 8 le calcul ne devra pas non plus demander trop de temps d ex cution afin de ne pas p naliser le fonctionnement de l int gralit de la plate forme Le premier plugin nomm Vinet a donc servi de mod le de d veloppement pour les plugins suivants Les sources de ce dernier s organise alors de la fa on suivante les fichiers Manager cpp et Manager h relatifs la d claration et la d finition d une classe C g n rique d finissant les m canismes de chargement et de sauve garde de fichiers interface avec OpenCV le fichier Signature h d finissant le prototype de la classe g n rique Signature les fichiers Vinet_Utils cpp et Vinet_Utils h contenant uniquement ce qui est propre aux calculs des descripteurs le fichier Vinet cpp tant le lien entre ces diff rents l ments contiendra le main et sera donc le fichier principal Anthony HERBE Universit de la Rochelle 47 Sciences et Technologie 1 juillet 2005
47. objectClass top objectClass inetOrgPerson userPassword CRYPT Y1qol5NRZeJL dn cn Jean Marc OGIER dc my domain dc com cn Jean Marc OGIER givenName Jean Marc telephoneNumber 0607080910 mail jmogier univ lr fr uid jmogier univ lr fr title Utilisateur objectClass top objectClass inetOrgPerson sn jmogier userPassword CRYPT cMwtFP06C3nts Remarque les mots de passe crypt s sont obtenus par la ligne de commande slap passwd h crypt o h est l option permettant de pr ciser le type de hachage Anthony HERBE Universit de la Rochelle 62 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis 5 6 5 Interfa age de l annuaire avec la plate forme Pour utiliser la plate forme l utilisateur doit d abord s identifier afin que le sys t me v rifie s il est habilit ou pas l utiliser Pour cela la plate forme doit tablir un lien avec le serveur LDAP qui peut tre sur une machine distante et soumettre une requ te de connexion avec un couple comportant l identifiant et le mot de passe de l utilisateur pr alablement saisi partir d une page de la plate forme Pour effectuer ce lien nous avons utilis ce qui nous semblait le plus intuitif savoir le module LDAP pour PHP ou plus pr cis ment une biblioth que incluant un ensemble de fonctions crites en PHP permettant d effectuer des requ tes sur un an nuaire LDAP Apr s avoir install
48. s concernant l affi chage purement graphique de l application Le fichier index php repr sente l accueil de l application Le fichier config php contient l ensemble des donn es relatives aux identifiants et mot de passes des bases de donn es et serveurs annexes utilis s par l applica tion Le fichier env_vars php contient l ensemble des variables de configuration de l application Le fichier menu php repr sente le menu affich une fois authentifi sur l applica tion Le fichier search php repr sente la page de recherche de similarit s entre images etc Ces crit res de d veloppement qui peuvent ainsi permettre de gagner un temps pr cieux pour la reprise et ou la compr hension de mes travaux semblent simples et implicites mais s ils n avaient pas t respect s cela aurait rendu tr s laborieux la r utilisation et l am lioration de l application par une personne tierce Anthony HERBE Universit de la Rochelle 45 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis iaz 5 5 Traitement d images Afin de manipuler les images de la base il a fallu effectuer un choix quant la biblioth que cf Partie 4 1 page 21 utiliser Celle ci devait permettre le chargement et l enregistrement dans un nombre assez cons quent de formats int ressants et offrir des fonctionnalit s avanc es quant au traitement d images Apr s quelques discus sions au sein
49. se fait en r alit sur chaque canal par le biais d un pointeur sur un tableau d unsigned char Lib ration de l espace m moire Une fois l ensemble des traitements effectu s il ne faut bien videmment pas ou blier de d sallouer l espace m moire utilis par l image ceci se faisant en utilisant la fonction suivante cvReleaselmage amp im Lire et afficher une image Outre la manipulation m me des pixels de l image cette biblioth que permet le chargement partir de fichiers mais galement une visualisation des images en m moire Anthony HERBE Universit de la Rochelle 110 Sciences et Technologie 1 juillet 2005 La Biblioth que OpenCV d Intel ki Lire une image include lt highgui h gt Ipllmage im im cvLoadiImage mon_image jpg 1 1 1 gt 3 canaux 0 gt 1 seul 1 gt automatique im cvLoadiImage mon_image jpg 0 x 2 Afficher une image cvNamedWindow Ma fenetre CV_WINDOW_AUTOSLE cvShowlmage Ma fenetre im cvWaitKey 0 Attendre qu une touche soit press e FIG C 1 Ouverture et visualisation d images par OpenCV Dessins de primitives La cr ation de formes g om triques de base est galement impl ment e dans un ensemble de primitives Il faut toutefois faire attention au rep re de l image cvRectangle im cvPoint 50 100 cvPoint 75 150 CV RGB 255 0 0 3
50. sultat d ex cution du calcul Serveur de calculs FIG 4 7 Sch ma d ex cution d un calcul dans l application Enfin afin que le serveur de calcul puisse ex cuter un programme d velopp par un collaborateur du consortium Madonne il est n cessaire de normaliser le comporte ment de l ensemble des programmes pouvant tre interfac s En effet il serait impos sible que la plate forme puisse s interfacer avec des modules totalement h t rog nes Afin que l interop rabilit soit conserv e le minimum de conditions respecter est de garantir que tous les modules aient le m me type de donn es en entr e et le m me type de donn es en sortie Ainsi les modules ou plugins seront des programmes compil s ex cutables sur n importe quel syst me d exploitation afin de ne pas nuire la portabilit de l in t gralit du syst me et livr s avec toute leur d pendance de biblioth ques associ es alors des sources compilables avec le manuel d installation du module De plus les programmes devront avoir une ex cution enti rement automatique puisque l ensemble du syst me doit se faire sans intervention humaine dans la mesure du possible Anthony HERBE Universit de la Rochelle 35 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information Cette m thodologie a pour avantage de n imposer par exemple aucune contrainte de d veloppement au niveau du ch
51. sultats transmis par le serveur N oublions pas bien s r la documenta tion de l API qui nous renseignera sur les diff rentes m thodes disponibles Puisque le serveur est fourni voici ce qu il nous reste faire 1 Cr er un objet client c est l initialisation du client 2 Cr er un message destination du serveur 3 Envoyer celui ci 4 Le r ceptionner v rifier les codes retour puis exploiter le r sultat obtenu Premi re tape initialisation du client Nous voulons initialiser notre client nous allons donc tout naturellement utiliser la classe pr vue cet effet xmlrpc_client La documentation est claire voici la syntaxe pour cr er notre objet client client new xmlrpc_client server_path server_host server_port Le premier param tre est le chemin du script qui va g rer la requ te XML RPC le second param tre est le nom ou l IP du serveur quant au troisi me facultatif il repr sente le port sur lequel nous nous connecterons 80 par d faut Au niveau des m thodes fournies par cette classe on trouve send son nom est suffisamment explicite nous l utiliserons la prochaine tape setCredentials Transporte le login password des fins d authentification HTTP setCertificate Permet d employer HTTPS Attention dans ce cas Php doit tre compil avec l extension curl De plus PHP 4 0 2 au moins est n cessaire pour faire fonctionner HTTPS n
52. syst mes implicatifs Ces pr occupations d finissent les activit s de chercheurs du laboratoire Chaque pr occupation se d cline en diff rentes probl matiques Anthony HERBE Universit de la Rochelle 8 Sciences et Technologie 1 juillet 2005 Chapitre 2 Sujet et objectifs 2 1 Pr sentation du contexte 2 1 1 Masse de donn es issues de la num risation du patrimoine Le patrimoine culturel et scientifique de l Europe est un bien public unique qui repr sente la m moire collective et vivante de nos diff rentes soci t s et qui forme une base solide pour le d veloppement des industries s appuyant sur le contenu nu m rique dans une soci t de la connaissance durable La communaut internationale gouvernements organismes ressent un besoin grandissant de sauvegarder ce patrimoine et de d mocratiser l acc s celui ci Les int r ts sont nombreux nous pouvons citer quelques domaines l enseignement l in dustrie du tourisme les m dias C est ici qu intervient le projet M A D O N N E qui a pour mission de mettre en valeur diff rents biens du patrimoine international et plus particuli rement les ou vrages les collections d images et autres documents iconographiques A court terme ces nombreux documents constitueront une source gigantesque d information masse de donn es Consid rant la grande quantit d information stocker il est n cessaire de se pencher sur
53. un message d erreur l informant du probl me serveur introuvable identifiant ou mot de passe erron Madonne Effectuer une recherche Ins rer une ou plusieurs images Vider la barque MMages ces as i denied HiH FIG 5 14 Capture de la page du menu principal de la plate forme Anthony HERBE Universit de la Rochelle 66 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis L utilisateur peut ensuite effectuer les actions en rapport avec ses habilitations Anthony HERBE Universit de la Rochelle Sciences et Technologie 1 juillet 2005 67 M thodologie et travail r alis iaz 5 7 Manipulation des arbres XML La d marche afin de trouver l outil ad quat pour utiliser des arbres XML au sein de la plate forme a t la m me que pour la partie authentification savoir le choix d un module PHP Pour manipuler des donn es XML il faut utiliser un parseur de documents XML qui va analyser la structure du document et permettre d acc der ses diff rents com posants Les parseurs XML s appuient sur deux mod les possibles de traitements d un do cument connus respectivement sous les acronymes SAX Simple API for XML et DOM Document Object Model Le premier consiste parcourir le document lin ai rement et d clencher des fonctions chaque fois qu une des cat gories syntaxiques balises ouvrantes fermantes texte instructions de taitement etc cons
54. une plate forme web il devient n cessaire de nuancer cette contrainte en regard aux limi tations dues l architecture web Pour rappel un serveur web interpr te une suite d instructions afin de g n rer des pages HTML sur le navigateur internet du client Afin que le client n attende pas in d finiment l interpr tation du serveur Web des limitations d ordre m moire et temps d ex cution d un script sont fix es Ainsi si un script demande trop de m moire ou un temps d ex cution trop long il sera tout simplement stopp De ce fait pour obtenir des r sultats corrects mais n anmoins rapides les temps d ex cution devront rester les plus courts possibles Anthony HERBE Universit de la Rochelle 34 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information Le fait que les calculs soient ex cut s en dehors du serveur web ne change pas la donne except pour la partie m moire puisque le temps continue de s couler entre le moment o le serveur web effectue sa demande aupr s du serveur de calcul ou serveur interm diaire et le moment o le serveur de calcul a fini son ex cution et renvoie son r sultat Tout le temps n cessaire pendant et entre ces tapes est inclu dans le temps d ex cution global du script puisque le serveur web reste en attente du r sultat afin de continuer son ex cution Q Demande d ex cution d un calcul A Serveur Web Envoi du r
55. Administration et installation du syst me Ainsi pour que la plate forme fonctionne on aura besoin des paquets suivants avec des versions plus ou moins proches Source B 1 Paquets installer rpm qalgrep http amp amp rpm qalgrep php amp amp rpm qalgrep mysql amp amp rpm qa grep Idap amp amp rpm qalgrep opencv httpd 2 0 52 3 1 php gd 4 3 11 2 5 php ldap 4 3 11 2 5 php mysql 4 3 11 2 5 php 4 3 11 2 5 php domxml 4 3 11 2 5 mysql 3 23 58 16 FC3 1 mysql server 3 23 58 16 FC3 1 openldap clients 2 2 13 2 openldap servers 2 2 13 2 openldap 2 2 13 2 opencv 0 9 6 1 Pour installer un paquet en ligne de commande il existe plusieurs fa ons et cela d pend de la distribution Linux utilis e Dans notre cas nous nous concentrerons sur la Fedora Core et la Red Hat Entreprise Dans les deux cas on peut utiliser la com mande rpm Uvh nomfichier rpm Mais ceci uniquement dans le cas o l on poss de d j le paquet installer L in conv nient est le fait que la commande rpm ne r sout pas les d pendances et refusera d installer un paquet si vous n avez pas tout les biblioth ques qu il requiert Pour vi ter cela on peut utiliser sous Fedora la commande yum install php gd php domxml php ldap opencv Celle ci va chercher directement sur Internet le ou les paquets d sir s ainsi que ses d pendances pour
56. Et les variables int ressantes du fichier env_vars php chemin absolu par rapport la racine du serveur web website_absolutepath madonne web tmp_dir_default tmp cache_dir_default website cache plugins_dir_default website cgi bin templates_dir_default website templates classes_ dir_default website classes Sfunctions_dir_default website functions images_dir_default website images thumbs_dir_default images dir_default thumbs xml_dir_default images_dir_default xm1l image_convert_cmd convert remove_files cmd rm rf signatures_table signatures images_table images DEBUG false xmlrpc_mode true xmirpc_debug_mode false xmilrpc_serverfilepath xmlrpc server php compute_server_host moca univ lr fr error_reporting E ALL amp E NOTICE Taille maximale autoris e pour l upload de fichiers file max_size_default 2097152 Tableau des types mimes autoris s pour les images mime_types_default array image jpeg image pjpeg Anthony HERBE Universit de la Rochelle 43 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis ies image gif image x ms bmp limage tiff nb_images_default 10 decimal_precision_default 2 Le nombre de possibilit s de param trage est donc assez importante ce qui en fait un v ritable atout pour la plate forme 5 4 3 Docum
57. Internet Explorer a en ms nm nn men Serveur de Calculs Fi Serveur Web Binaires des plugins etc PHP DOMXML XML RPC etc 2 Plateforme web Madonne B E EnS Client sous Mac OS Serveur LDAP Navigateur internet Safari Authentification FIG 5 15 Sch ma du fonctionnement g n rale de la plate forme Ce premier sch ma illustre la r partition des diff rentes machines et bases de don n es ainsi que les interactions entre les diff rents acteurs du syst me global Anthony HERBE Universit de la Rochelle 81 Sciences et Technologie 1 juillet 2005 h M thodologie et travail r alis D mon HTTP Client XML RPC Serveur XML RP script PHP script PHP Serveur Web Serveur de Calcul FIG 5 16 R partition des diff rents l ments de la plate forme sur les serveurs Cette repr sentation illustre l organisation des diff rents l ments situ s sur les diff rentes machines de la plate forme ressources fichiers ex cution des d mons ap plications tierces install es etc Anthony HERBE Universit de la Rochelle 82 Sciences et Technologie 1 juillet 2005 si M thodologie et travail r alis Configuration du d mon HTTP du Serveur Web FIG 5 17 Ensemble des modules n cessaires Apache pour le fonctionnement de la plate forme Enfin le dernier sch ma recense l int gralit des modules install s sur le serveur Apache 5 9 1 Passage en p
58. Lsbocemlioies pri ANTHONY HERBE ee 1 Universit de la i n erm CRETE Rochelle nes Sciences et Technologie LABORATOIRE L3I Ann e 2005 P le Sciences et Technologie nnee 17042 La Rochelle Cedex 1 FRANCE RAPPORT DE STAGE DE 2I ME ANN E DE MASTER PROFESSIONNEL IMA Mise en place d une plate forme d indexation d images par le contenu 4 El g 4 gt z gt Enseignant tuteur Jean Marc OGIER Ma tre de stage Jean Marc OGIER UNIVERSIT DE LA ROCHELLE Master Informatique Math matiques et leurs Applications Mention G nie Informatique Anthony HERBE Universit de la Rochelle 2 amp ll ALL ANTHONY HERBE Universit de la alora Rochelle mas Sciences et Technologie LABORATOIRE L3I A se 2005 P le Sciences et Technologie nnee 17042 La Rochelle Cedex 1 FRANCE mn LL r RAPPORT DE STAGE DE 2I ME ANN E DE MASTER PROFESSIONNEL IMA Mise en place d une plate forme d indexation d images par le contenu Ma tre de stage Jean Marc OGIER Enseignant tuteur Jean Marc OGIER Lsbormlio r 6 ANTHONY HERBE D mt us I mear ji Universit de la a i E Rochelle en Sciences et Technologie LABORATOIRE L3I Ann e 2005 P le Sciences et Technologie nnee 17042 La Rochelle Cedex 1 FRANCE R SUM Ce rapport a t r alis lors de mon stage de fin d tudes de Mas ter l universit de la Rochelle Celui ci s est d roul au sein du laboratoi
59. M thodologie et travail r alis Le un fichier Makefile comportant l ensemble des directives de compilation et d di tion de liens avec le compilateur par ex GCC permettant ainsi une compi lation simple et multi plate forme puisque GCC et Make sont dor navant exis tants sur plusieurs environnements syst mes Le d veloppement des autres plugins pourra donc s inspirer de ce type de struc ture quoique non obligatoire si les plugins respectent les r gles cit es plus haut Apr s avoir test le premier plugin de mani re isol e et de fa on manuelle sur diff rentes images et suppos de son bon fonctionnement au sein de la plate forme nous avons d cid de poursuivre le d veloppement d autres plugins afin d largir les futurs tests Migration de traitements d j existants Suite nos entretiens r guliers et aux discussions men es durant les r unions il s est av r int ressant d int grer au sein de plugins les diff rents traitements dispo nibles dans la plate forme Windows de Mario Di Carlo En effet son travail s ins rait dans le domaine de la reconnaissance de symboles Les traitements utilis s dans la plate forme qu il avait d velopp e n cessitait des calculs de descripteurs sur les images calculs pr sentant un fort int r t pour la plate forme Madonne Parmi ces cal culs trois semblaient vraiment int ressants la transform e de Fourier Mellin les polyn mes de Zernike
60. NSERT INTO images VALUES 42 var www html madonne web images B1 jpg images xml B1 xml INSERT INTO images VALUES 43 var www html madonne_ web images B2 jpg images xml B2 xml INSERT INTO images VALUES 44 var www html madonne_ web images C1 jpg images xml C1 xml INSERT INTO images VALUES 45 var www html madonne web images C2 jpg images xml C2 xml INSERT INTO images VALUES 46 var www html madonne web images D1 jpg images xml D1 xml Anthony HERBE Universit de la Rochelle 105 Sciences et Technologie 1 juillet 2005 si Administration et installation du syst me me INSERT INTO images VALUES 47 var www html madonne_web images D2 jps images xml D2 xml INSERT INTO images VALUFS 48 var www html madonne web images D3 jpg images Male xml INSERT INTO images VALUES 49 var www html madonne web images E0 Ni Per images ml B0 xml INSERT INTO images VALUFS 50 var www html madonne_web images E1 JPE y images xml E1 xml INSERT INTO images VALUES 51 var www html madonne_ web images E2 JPE a images mu EZ xml INSERT INTO images VALUES 52 var www html madonne_web images H1 jpg images nl xml INSERT INTO images VALUES 53 var www html madonne_web images H2 jpg 1
61. Rochelle L3i 2004 FIG 5 8 Page relative l insertion d images Anthony HERBE Universit de la Rochelle 55 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis La Lorsqu une image ou un plugin est ins r il faut pouvoir m moriser son empla cement afin que l application ait en sa possession une liste des ressources qui lui sont disponibles Ceci est donc effectu lors de ces insertions par la m morisation des noms chemins et autres informations poids d un plugin nombre de param tres etc dans des tables d une base de donn es relationnelle en l occurrence MySQL Cependant l insertion de plugins et d images dans la plate forme soul ve un cer tain nombre d autres questions auxquelles il a fallu apporter des solutions Par exemple Que doit il se passer au moment de l insertion de nouveaux plugins Que doit il se passer au moment de l insertion de nouvelles images En effet des interfaces bien que primitives ont t d velopp es pour permettre l insertion de nouvelles donn es comme les plugins ou les images Ces fonctionnalit s tant r serv es des utilisateurs restreints r le d administration ou de d veloppe ment il a fallu tudier quels pouvaient tre les comportements du syst me face de tels cas de figures La premi re id e tait de dire qu l insertion de nouvelles images dans la base l ensemble des descripteurs disponibles serait
62. _encode params if this debug mode 1 highlight_string message gt serialize return this gt client gt send message function test_received_msg result Process the response if result Anthony HERBE Universit de la Rochelle 77 Sciences et Technologie 1 juillet 2005 i E OEN L gt M thodologie et travail r alis Les print lt p gt Could not connect to HTTP server lt p gt return FALSE elseif result gt faultCode print lt p gt XML RPC Fault result faultCode result faultString return FALSE else return TRUE function unpack_values_from_valid_msg msg 2 gt return php_xmlrpc_decode msg gt value Pour l impl mentation du serveur nous utiliserons l ensemble des m thodes four nies par la biblioth que PHP d crite ci dessus Le constructeur de la classe du serveur effectue en grande partie tout le n cessaire function exec_cmd m server new xmilrpc_server array execute gt array function gt exec_cmd Le seul argument du constructeur est un tableau associatif qui associe aux noms de m thodes du serveur les noms des fonctions du script Lors de la r ception d une requ te celle ci est analys e puis dispatch e la fonction associ e responsable du retour de l objet xmlrpcresp qui fournit une valeur de retour s rialis
63. ach s au type d objet en question Une classe d objet est d finie par Un nom qui l identifie Un OID qui l identifie galement Des attributs obligatoires Des attributs optionnels Un type qui peut tre structurel objet courant de l annuaire comme une per sonne auxiliaire permet d ajouter des informations des objets structurels ou abstrait objets basiques du sch ma Anthony HERBE Universit de la Rochelle 118 Sciences et Technologie 1 juillet 2005 Annexe E Webographie E 1 Environnement d accueil Universit de la Rochelle http www univ Ir fr L3i Laboratoire Informatique Image Interaction http www l3i univ lr fr L3l L3T html E2 Administration r seau et syst me sous Unix L a Linux entre amis site d aide Linux francophone http www lea linux org Comment a marche site de vulgarisation de l informatique http www commentcamarche net E 3 D veloppement Web PHP Hypertext Preprocessor http www php net Nexen net Portail francais PHP et MySQL http www nexen net PHPIndex La passerelle francaise des Technologies PHP http www phpindex com XML RPC for PHP http phpxmirpc sourceforge net E 4 XML et base de donn es XMLfr l espace XML francophone http www xmlfr org Anthony HERBE Universit de la Rochelle 119 Sciences et Technologie 1 juillet 2005 Webographie eXist Open Source Native XML Database http
64. ans son langage de base faisant r f rence n importe quel contenu vid o image texte m ta donn e ou son Avantages et inconv nients pour notre projet On observe clairement l avantage de ce type de norme pour la description de nos images car il est d autant plus complet et exhaustif mais est du surcro t une norme de description un standard Cependant il ne faut pas oublier qu autant de r gles res pecter peuvent s av rer tre d une grande lourdeur au niveau du d veloppement d applications de part les contraintes respecter et le manque de flexibilit que le stan dard peut imposer Le MPEG 7 n tant qu ses d buts le manque de documentation et sa vitesse d volution peuvent s av rer tre un r el handicap dans notre projet Dans notre contexte de d veloppement il serait plus raisonnable dans un premier temps de s inspirer de cette norme plut t que de la suivre la lettre afin de garder une certaine flexibilit et moins de contraintes quitte s en rapprocher dans le futur dans un souci de standardisation 4 2 3 Type de base de donn es et SGBD Un ensemble d informations constitue ce qu on appelle habituellement une base de donn es Une base de donn es constitue en r alit un ensemble structur et or ganis permettant le stockage de grandes quantit s d informations afin d en faciliter l exploitation ajout mise jour recherche de donn es Une base de donn es se tra duit physiq
65. ation du serveur Apache sur laquelle je n ai pu effectuer toutes les modifications qui s imposaient en terme de s curit En Anthony HERBE Universit de la Rochelle 84 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis effet depuis les versions 4 1 de PHP la variable d environnement register_globals est OFF depuis la d couverte d un trou de s curit alors qu elle ne l tait pas avant Le d veloppement de la plate forme l a donc pris en compte d s le d but en utilisant les m thodes de programmation PHP associ es Cela n tant pas forc ment le cas pour les applications existant sur le serveur web et ne souhaitant pas interf rer dans le bon fonctionnement de ces applications je n ai donc pas modifi la valeur de cette variable dans la configuration de la machine de production Syst me de fichiers des machines de production La plate forme Madonne manipulant un certain nombre de ressources fichiers et dossiers il a fallu v rifier que chacune poss dait les droits ad quats Parmi ces ressources on retrouve 1 les fichiers et dossiers propres l interface web de la plate forme autres que sa configuration 2 les fichiers de syst mes concernant le stockage de la base de donn es MySQL et LDAP 3 les fichiers de configuration des d mons Apache MySQL LDAP 4 les r pertoires o sont stock s les images les fichiers XML et les plugins Pour que la plate forme fonct
66. ations dans un arbre au format XML bien que d autres solutions auraient pu tre possibles mais pas forc ment pertinentes format de texte simple structure tabulaire semi structur e etc 4 2 1 Le XML XML est en quelque sorte un langage HTML am lior permettant de d finir de nouvelles balises Il s agit effectivement d un langage visant mettre en forme des donn es gr ce des balises markup Contrairement HTML qui est consid r comme un langage d fini et fig avec un nombre de balises limit XML peut tre consid r comme un m ta langage per mettant de d finir d autres langages c est dire d finir de nouvelles balises d crivant l organisation de donn es La force de XML r side dans sa capacit pouvoir d crire n importe quel domaine de donn es gr ce son extensibilit Il va permettre de structurer poser le vocabulaire et la syntaxe des donn es qu il va contenir XML a t mis au point par le XML Working Group sous l gide du World Wide Web Consortium W3C d s 1996 Depuis le 10 f vrier 1998 les sp cifications XML 1 0 ont t reconnues comme recommandations par le W3C ce qui en fait un langage reconnu Tous les documents li s la norme XML sont consultables et t l chargeables sur le site web du W3C http www ws3 org XML XML est un sous ensemble de SGML d fini par le standard 1508879 en 1986 utilis dans le milieu de la Gestion lectronique Documentai
67. ce module on b n ficie alors d une nouvelle API regroupant des fonctions pr fix es par ldap_ S quence d interrogation avec un serveur LDAP L interrogation d un serveur LDAP avec PHP se fait selon une s quence simple n cessitant un nombre peu lev de fonctions sp cialis es La s quence basique est la suivante 1 tablissement de la connexion avec le serveur LDAP Liaison et authentification sur le serveur appel bind en anglais Recherche d une entr e ou bien une autre op ration Exploitation des r sultats uniquement dans le cas d une recherche O1 AeA N Fermeture de la connexion Connexion au serveur LDAP Avant de pouvoir interroger le serveur LDAP il est essentiel d initier la connexion Pour cela l interpr teur PHP a besoin de conna tre quelques renseignements relatifs l annuaire L adresse du serveur Le port sur lequel le serveur fonctionne La racine de l annuaire Le login de l utilisateur g n ralement root ainsi que son mot de passe Source 5 3 Informations n cessaires la connexion au serveur LDAP lt Fichier de configuration pour l interface PHP de notre annuaire LDAP server indus univ lr fr port 389 racine dc my domain dc com rootdn cn Manager dc my domain dc com rootpw secret gt Anthony HERBE Universit de la Rochelle 63 Sciences et Technologie 1 juillet 2005 M thodologi
68. chir aux probl matiques li es l organisation le stockage et la re cherche de celles ci c est dire comment proc der l indexation de l information Il faut bien comprendre le caract re restrictif des signatures aussi pertinentes soient elles En effet la signature contient bien videmment beaucoup moins d informations que la zone de l image sur laquelle elle a t effectu e puisqu elle se veut concise et repr sentative d un sous ensemble d informations par rapport l ensemble des in formations d origine relative la zone de l image s lectionn e Il faut donc garder l esprit qu il est n cessaire de conserver avec la signature un ensemble minimal d in formations de la zone sur laquelle celle ci s est appliqu e Il est donc int ressant de m moriser quand cela est possible les coordonn es relatives de la zone de l image sign e ou encore la couche sign e ainsi que sa signification par ex un label ou un nom de couche et enfin les relations avec les autres l ments sign s L indexation d une image quant elle consiste rep rer dans celle ci certaines in formations particuli rement significatives ce que nous appelons ici descripteurs ou signatures dans un contexte le plus g n ral possible et cr er un lien entre ces des cripteurs et l image originale Par exemple en bibliographie les pages d index d un livre reprennent parfois les termes significatifs apparaissant dans
69. cole et un mod le de donn es extensible des API pour d velopper des applications clientes Les donn es LDAP sont structur es dans une arborescence hi rarchique qu on peut comparer au syst me de fichier Unix Chaque noeud de l arbre correspond une entr e de l annuaire ou directory service entry DSE et au sommet de cette arbre appel Directory Information Tree DIT se trouve la racine ou suffixe Ce mod le est en fait repris de X500 mais contrairement ce dernier con u pour rendre un ser vice d annuaire mondial ce que le DNS fait par exemple pour les noms de machines de l Internet l espace de nommage d un annuaire LDAP n est pas inscrit dans un contexte global Anthony HERBE Universit de la Rochelle 117 Sciences et Technologie 1 juillet 2005 Lightweight Directory Access Protocol imaz Les entr es correspondent des objets abstraits ou issus du monde r el comme une personne une imprimante ou des param tres de configuration Elles contiennent un certain nombre de champs appel s attributs dans lesquels sont stock es des va leurs Chaque serveur poss de une entr e sp ciale appel e root directory specific entry rootDSE qui contient la description de l arbre et de son contenu Le sch ma d crit les classes d objets les types des attributs et leur syntaxe Chaque entr e de l annuaire fait obligatoirement r f rence une classe d objet et ne doit conte nir que des attributs qui sont ratt
70. d un contenu MPEG 7 par exemple pour une image un minimum de quatre tapes d enregistrement d informations doit tre pris en consid ration 1 l information sur la cr ation du contenu et la description du m dia utilis et utilisable 2 la forme de l image principale sa texture et sa couleur 3 la forme d un ou de plusieurs d tails dans l image comprenant galement leurs textures et leurs couleurs 4 la couleur la texture et l histogramme de l image de fond Anthony HERBE Universit de la Rochelle 25 Sciences et Technologie 1 juillet 2005 IL 4 G n ration manipulation et visualisation de l information FIG 4 1 Exemple d extraction d informations utilis es dans le MPEG 7 Partant de l de nombreuses applications sont envisageables avec la norme MPEG 7 Les exemples pour ce type d applications sont pour la vid o l acc s l information du type de montage ou de la structure de la vid o l acc s des sc nes pr cises par des recherches de sons phrases musiques ou par une description pr cise d un objet d une marque ou d un acteur l acc s des segments de vid os bas s sur des crit res subjectifs plut t qu ob jectifs pour l audio l acc s un morceau pr cis selon une m lodie siffl e chant e ou jou e l identification d un morceau pass la radio ou diffus partir d un support audio la recherche du texte
71. d valuer la sortie de la cha ne de traitement 2 de d finir des invariants ou signatures spatio temporelles servant d indices pour l indexation d images ou de documents dans des syst mes d informations 3 de d velopper une interaction dynamique entre les diff rents niveaux de la cha ne d information pour optimiser la cha ne de traitement et d analyse cibler les trai tements selon les classes d objets d finir des strat gies d pendantes du contexte et inf rer des attributs non accessibles occultation image d grad e La th matique image et s quences d images s est d abord focalis e sur la probl matique du traitement des images acquises partir de syst mes d imagerie de type industriel Cette probl matique s est donc d clin tr s rapidement sur le mode restau ration extraction d informations pertinentes et d tection selon les sp cificit s indus trielles conditions d acquisition difficiles contraintes d clairement contraintes de temps r el image de haute d finition Cette th matique s est par la suite enrichie de r flexions portant sur des domaines d imageries multi composantes couleur films anciens images sous marines contexte routier multi canaux imagerie satellitaire multi modalit s imagerie biom dicale multi formes document image graphique texte et s appuyant sur des s quences temporelles films anciens s quences de tra fics routiers s quences de vues d aq
72. d cid d utiliser un fichier temporaire dans lequel serait crit le r sultat de l ex cution du plugin Ce fichier serait ensuite lu et interpr t par la plate forme avant d tre effac Dans un premier temps nous avons utilis un simple fichier au format ASCII avec une organisation tabulaire bien qu une organisation semblable au XML aurait pu tre un plus s il avait t coupl d un par seur ad quat mais cela aurait ralenti l avanc du d veloppement Pour faciliter et normaliser la communication entre plate forme et plugins chaque plugin devra suivre un ensemble de r gles bien d finies 1 le nom du binaire ex cutable principal devra tre une forme condens e du ou des descripteurs qu il repr sente ceci afin de faciliter son appel et son identifi cation 2 l entr e du plugin se limitera un chemin repr sent par une cha ne de carac t res vers l image sur laquelle il pourra s appliquer 3 aucune intervention humaine n est possible entre le d but et la fin de son ex cu tion afin de rendre l ensemble du traitement non supervis 4 l ex cution devra pouvoir s effectuer enti rement sans interface graphique 5 le plugin devra pouvoir s ex cuter et ou se compiler sur n importe quelle ma chine et tre livr avec toutes ses d pendances en terme de biblioth ques ex ternes exemple OpenCV 6 le r sultat du plugin devra tre un fichier texte contenant l ensemble des va leurs
73. de leur int r t dans d ven tuels autres traitements Gr ce ce sch ma il est alors ais d associer chaque image de la base de test chacune de ses couches de par son nom et son emplacement connu Il suffit donc en suivant l architecture de d veloppement de plug ins sugg r e plus haut d indiquer dans le programme principal MST cpp la fa on de r cup rer les couches partir de l image d origine sp cifi e en entr e du plug in Source 5 1 Astuce utilis e pour le chargement des couches du MST define NB _ LAYERS 3 define LAYERS PATH var www html madonne_ web layers int main int argc char argv Ipllmage img NB LAYERS MSI mst Explication sur les diff rents param tres argv 0 correspond au nom du programme d ex cution argv 1 correspond au chemin de l image argv 2 correspond au chemin absolue dans lequel sera stock le fichier contenant la signature optionnel par d faut il vaut tmp sous Unix switch argc case 2 for int i 0 i lt NB LAYERS i string old_filename string basename argv 1 string new_extension _label num bmp old_filename replace old_filename length 4 4 new_extension string filepath LAYERS PATH string old_filename readImage char filepath c_str amp img i false Anthony HERBE Universit de la Rochelle 54 Sciences et Technologie 1 juillet 2005 M thodologie et tra
74. deux techniques de r solution tr s diff rentes Algorithme de Prim Il maintient au fur et mesure de la construction un sous graphe connexe qui grossit petit petit Algorithme de Kruskal Il maintient au fur et mesure de la construction un graphe partiel acyclique Si les algorithmes de recherche sont sp cifiques aux graphes l algorithme de Kruskal utilise lui un paradigme de r solution plus g n ral les algorithmes gloutons Pr sentation de la cha ne compl te du plugin Il a t pr cis pr c demment dans ce rapport que tout plugin doit avoir en en tr e une image n ayant subi aucun pr traitement Or le calcul du MST d une image s effectue sur les r gions d une image noeud de l arbre En r alit pour fonctionner le programme de Mouhammed a besoin que l image soit segment e en un ensemble de couches distinctes zones homog nes de l image zones textur es etc o chaque couche est repr sent e par un ensemble de r gions ayant elles m mes subi des post traitements unies de niveaux de gris diff rents afin de les identifier Le travail de segmentation est effectu via un programme d velopp sous Matlab pour Surapong Uttama dans le cadre de ses recherches Le plug in devrait donc en th orie regrouper l ensemble des calculs et se sch matiser de la fa on suivante Fichier texte Proglamme Matlab Fonction calqulant contenant les de ge descripteurs Plug in MST 3 couches b
75. donn es automatiquement mais manuellement Cependant afin de pouvoir quand m me tester la pertinence d un descripteur comme le MST au sein de la plate forme Madonne certaines astuces concernant l in t gration propre cette cha ne de traitements ont t utilis es Anthony HERBE Universit de la Rochelle 52 Sciences et Technologie 1 juillet 2005 si M thodologie et travail r alis Madonne r tourau menu d connexion Nombre d images pertinentes afficher Parcourir 10 5 Toutes Cliquez sur Parourir pour charger votre image puis sur Lancer la recherche S lection des signatures prise en Reset Flip Inver Lancer la recherche compte pour la recherche Lighten Darken Rotate F MST FF Vinet Crop Threshsold Smooth Sharpen Find Edges Add Noise MST 734 98 715 14 84 81 Vinet 46 60 dl D Al jpg A4 jpg A3 jpg L4 jpg CL jpg Diff rente de Diff rente de Diff rente de Diff rente de Diff rente de 8 80 MST Vinet Vinet FIG 5 6 Exemple de r sultats obtenus lors de la recherche de similarit d une image au sein de la base Jeu de donn es utilis s Le consortium Madonne s inscrivant dans un contexte de documents anciens et la plate forme devant travailler sur des images les donn es mises notre disposition furent des lettrines en niveau de gris et fortement illustr es La segmentation tant tr s sensible la d
76. du laboratoire il s est av r qu un grand nombre de chercheurs effec tuait d j leurs traitements en utilisant la biblioth que OpenCV d Intel Outre le fait que cette derni re est capable de lire des formats standards comme le JPEG le PNG le BMP et le TIFF elle poss de surtout une APT tr s riche en terme d imagerie De sur cro t cette derni re tant multi plate forme elle s est tr s vite impos e comme tant un tr s bon choix 5 5 1 Pr sentation de la Biblioth que OpenCV d Intel cf Annexe C page 109 5 5 2 D veloppement de plugins OpenCV Les traitements devant s interfacer facilement avec la plate forme cf Sous partie 3 3 4 page 19 les plugins ont du tre d velopp s avec la possibilit de s ex cuter en ligne de commande sans interface graphique Ceux ci ont galement pour but de li miter le nombre d interventions humaines dans les calculs et ainsi viter des coupures dans le fil global d ex cution cf Sous partie 3 3 3 page 19 Nous obtenons alors des modules de calculs totalement autonomes hormis leur d pendance avec OpenCV qui n ont besoin que de donn es d entr e pour produire un r sultat qui sera ensuite interpr t par la plate forme Ces modules ou plugins peuvent donc tre r utilis s au sein d autres syst mes et ou int gr s facilement dans des cha nes de traitements de type Batch Cr ation d un plugin de test Dans le but d obtenir rapidement une premi re version de d
77. e l appelant le client XML RPC Voici plus en d tails ce que la m thode exec_cmd devrait effectuer function exec_cmd m global EXIT _FAILURE xmlrpcval m gt getParam 0 if xmlirpcval gt kindOf scalar and xmirpcval gt scalartyp string cmd xmirpcval gt scalarval ob_start passthru cmd result_exec Anthony HERBE Universit de la Rochelle 78 Sciences et Technologie 1 juillet 2005 D ON o a amp UON e M thodologie et travail r alis ax result array new xmlrpcval result_exec int new xmlrpcval ob_get_contents string ob_end_clean else result array new xmlrpcval EXIT_FAILURE int new xmlrpceval Le contenu du message doit tre une cha ne de caract re string return new xmlrpcresp new xmlrpceval result array Tout d abord une v rification en ce qui concerne le typage du message de la re qu te doit tre effectu e afin d tre sur que le message re u du client est bien form Puis tout comme pour le client l objet du message doit tre converti en un type ex ploitable par PHP Enfin le r sultat qu il s agisse d une erreur ou pas est encapsul son tour dans un objet XML RPC via new xmlrpcval afin d tre renvoy au client XML RPC sous la forme d un objet xmlresp Une seconde m thode de contr le consiste en l utilisation de signat
78. e 3969 avr 25 21 39 upload _ sig php IW 1 1 1 apache apache 1333 mai 27 18 37 xmilrpc_client php IW t 1 1 apache apache 50512 mai 17 21 39 xmlrpc inc IW 1 1 1 apache apache 13243 mai 17 21 39 xmirpcs inc Pour le serveur de calculs drwxr r x 2 apache apache 4096 jun 21 22 39 cache drwxrwxrwx 2 apache apache 4096 jun 1 19 21 cgi bin drwx r x 4 apache apache 36864 mai 27 20 06 images drwxrwxr x 2 apache apache 12288 mai 14 20 58 layers IW 1 1 1 apache apache 1333 mai 27 18 37 xmlrpc_server php IW 1 1 1 apache apache 50512 mai 17 21 39 xmlrpc inc IW 1 1 1 apache apache 13243 mai 17 21 39 xmirpcs inc Anthony HERBE Universit de la Rochelle Sciences et Technologie 1 juillet 2005 102 Administration et installation du syst me ms Ensuite il faut cr er les partages concernant les ressources communes aux deux serveurs Pour cela on va configurer le serveur NFS situ sur le serveur de calculs qui h bergera les donn es et param trer le client NFS sur le serveur web B 4 1 Partage NFS Partie serveur Les 3 fichiers de configuration principaux sont etc exports etc hosts deny et etc hosts allow etc exports Le fichier etc exports est tr s simple var www html madonne web cache indus rw sync var www html madonne_ web images indus rw sync var www html madonne web layers indus rw sync var www html madonne web cgi bin indu
79. e d images qui appara tront dans le r sultat et les descripteurs prendre en compte lors de la recherche Si tout se d roule normalement l cran de r sultat est affich sinon un cran signal l erreur apparue probl me de connexion au serveur de calcul aucune image dans la base etc Anthony HERBE Universit de la Rochelle 94 Sciences et Technologie 1 juillet 2005 Manuel d utilisation de la plate forme Web Madonne Madonne r tourau menu d connexion Nombre d images pertinentes afficher Parcourir 10 5 Toutes Cliquez sur Parourir pour charger votre image puis sur Lancer la recherche S lection des signatures prise en Reset Flip Invert Lancer la recherche compte pour la recherche Lighten Darken Rotate Crop Threshsold Smooth Sharpen Find Edges Add Noise M MST Vinet MST 734 98 715 14 84 81 Vinet 46 60 fe D Cl jpg Diff rente de Al jpg A4 jpg A3 jpg Fl jpg Diff rente de 8 80 MST 8 88 Vinet FIG A 7 R sultat de la recherche d images L utilisateur peut intervenir sur l image de r f rence en utilisant les boutons de l applet JAVA charg e Anthony HERBE Universit de la Rochelle 95 Sciences et Technologie 1 juillet 2005 a i Manuel d utilisation de la plate forme Web Madonne Votre image Ps LD Reset _ Fin ___ imen Lighten Darken otate Crop Thresh
80. e des bits des programmes tournant sur des machines diff rentes et crits dans des langages de programmation diff rents Ils permettent donc de connecter diff rents composants du syst me d information y compris entre organisations diff rentes Un des mod les le plus simple en programmation distribu e est sans conteste RPC RPC Remote Procedure Calling est un protocole permettant de faire des appels de proc dures sur un ordinateur distant l aide d un serveur d application Ce protocole est utilis dans le mod le client serveur et permet de g rer les diff rents messages entre ces entit s Ainsi notre serveur web devient le client RPC et notre serveur de calculs le serveur N anmoins les messages qui transiteront devront tre envoy s partir de l appli cation web h berg e par notre serveur web et transiter via le protocole HTTP ven tuellement HTTPS si l on d sire s curiser les messages RPC Une bonne solution est d utiliser le format XML pour encapsuler les messages et les transmettre au sein de trame HTTP Nous obtenons ainsi un protocole couplant la fois XML et RPC Il existe bien videmment d autres Web Services que XML RPC comme par exemple Anthony HERBE Universit de la Rochelle 72 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis Le SOAP 8 qui poss de galement de nombreux avantages mais ce dernier peut rapide ment devenir complexe dans sa mi
81. e et travail r alis LEA On d finit donc cinq variables pour caract riser le serveur LDAP le nom du serveur le port 389 par d faut la racine sup rieure de l arborescence la cha ne de connexion pour l administrateur ainsi que son mot de passe La premi re fonction utiliser est la fonction dap_connect permettant d tablir une liaison avec le serveur Sa syntaxe est la suivante int Idap_connect string hostname int port Cette fonction admet en param tre le nom du serveur ventuellement le port Par d faut le port est 389 En cas d chec cette fonction retourne 0 sinon elle retourne un entier permettant d identifier le serveur et n cessaire dans les fonctions suivantes Voici un exemple de connexion au serveur lt echo Connexion lt br gt ds ldap_connect server gt Toutefois cette tape n est pas suffisante pour pouvoir ex cuter des op rations sur le serveur LDAP En effet il est n cessaire d initier la liaison en anglais to bind avec le serveur LDAP l aide de la fonction dap_bind dont la syntaxe est la suivante int Idap_bind int identifiant string bind_rdn string bind_password Cette fonction attend en param tre l identifiant du serveur retourn ainsi qu ven tuellement le nom distingu relatif de l utilisateur RDN Relative Distinguished Name et son mot de passe Si l utilisateur et le mot de passe
82. e maximum d informations la concernant Toutes les commandes qui seront cit es par la suite fonctionnent sur un environnement Linux quel qu il soit en g n ral Tout d abord il est toujours utile de conna tre les commandes quivalentes aux outils que l on utilise habituellement en mode graphique car il peut arriver que l on se retrouve sans mode graphique parce que le serveur X est corrompu engendrant une situation d licate si l on manque de connaissances dans l administration en lignes de commandes La premi re commande que j ai utilis e pour savoir ce qui tait install sur les dif f rentes machines de la plate forme est celle ci rpm qa Cette commande permet de lister tous les paquets install s sur la machine Comme seulement certains nous int ressent il faut rediriger la sortie de la commande dans une commande de filtrage comme la commande grep et en utilisant des jokers carac t re Ainsi si je veux savoir si apache est install et conna tre sa version j ex cute la commande suivante rpm qa grep apache Cela fonctionne pour la version 1 d apache mais pas pour la version 2 puisque le paquet a t renomm en httpd il faut donc effectuer ceci rpm qa grep httpd De m me si on veut conna tre l ensemble des paquets install s pour php on ex cu tera la commande rpm qa grep php Anthony HERBE Universit de la Rochelle 98 Sciences et Technologie 1 juillet 2005
83. e sur laquelle reposera application Une application web ne peut bien videmment fonctionner seule Elle a besoin d au moins une machine appel e serveur Web sur laquelle s ex cutera en permanence un logiciel ou d mon appel HTTPd dont la charge sera d interpr ter et d envoyer aux diff rents navigateurs internet clients des pages HTML Pour cela nous devons tout d abord d finir au moins deux l ments le type de la ou les machines physiques sur laquelle ou lesquelles s ex cutera le d mon HTTPd le d mon HTTPd lui m me 4 3 1 D terminer le type de solution web Il existe l heure actuelle quatre solutions pour le d veloppement d applications web bas es sur le d mon HTTP de quatre grands groupes internationaux SUnit d enseignement de 2i me ann e du Master 2 IMA l universit de la Rochelle base constitu e d une ensemble d arbres XML dit for t Anthony HERBE Universit de la Rochelle 28 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information successeur du NCSA httpd ment iPlanet de Netscape com Solution bas e sur le serveur HTTP Apache de la Apache Software Foundation Solution bas e sur le serveur HTTP Internet Information Services de Microsoft Solution bas e sur le serveur HTTP Sun ONE de Sun Microsystems ancienne Solution bas e sur le serveur HTTP Zeus de Zeus Technology http www zeus Il c
84. ei Name OpenCV Description Intel R Open Source Computer Vision Library Version 0 9 6 Libs L libdir Icxcore lev lhighgui lcvaux Cflags I includedir Ceci vous permettra de compiler vos programmes de la mani re suivante g pkgconfig cflags c mon_fichier cpp g pkgconfig libs o mon_executable mon_fichier o B 3 Configuration de Apache et PHP La configuration du serveur HTTPD se situe dans le fichier etc httpd conf httpd conf les lignes ayant de l int r t pour la plate forme Madonne sont Pour activer le support de LDAP dans Apache LoadModule Idap_module modules mod_Idap so Utiliser l encodage europ en de caract res AddDefaultCharset ISO 8859 1 Pour la configuration de PHP il faut diter le fichier etc php ini et regarder les valeurs suivantes qui peuvent tre modifi es suivant les besoins Resource Limits max_execution_time 30 Maximum execution time of each script in seconds max_input_time 60 Maximum amount of time each script may spend parsing request data memory_limit 8M Maximum amount of memory a script may consume 8MB Maximum allowed size for uploaded files upload_max_filesize 2M Une fois que tout est install et configur on peut relancer tous les d mons utilis par l application Anthony HERBE Universit de la Rochelle 101 Sciences et Technologie 1
85. elatives nos images Cependant lors d un long d bat au sein de l unit d enseignement Vision 2 7 il a t d montr qu il tait possible de repr senter l int gralit de l information d une image en utilisant un ensemble de tables ayant des relations entre elles que ces relations soient de type hi rarchique ou n aire On pourrait donc utiliser soit une base de donn es relationnelle soit un syst me semi structur en utilisant une base de donn es XML Toutefois il est bien videmment plus naturel partir de donn es organis es sous le format XML d utiliser une base foresti re plut t qu une base relationnelle d na turant l organisation d origine pour ins rer les donn es dans des tables Il existe actuellement de nombreux outils pour la manipulation de bases qu elles soient relationnelles ou XML En effet les quivalences sont nombreuses que ce soit au niveau du langage de requ tes SQL pour le relationnel ou XQuery XPath pour le XML ou encore pour l impl mentation du SGBD Oracle MySQL PostgreSQL ou eXist db XML et Apache Xindice 43 Visualiser et utiliser les donn es A partir d un ensemble d images le syst me doit tre capable d indexer et d effec tuer par exemple des requ tes de type s lection sur celles ci et de rendre le r sultat affichable sur une simple page internet Avant d effectuer tout type de d veloppe ment internet il faut au pr alable choisir le type de plate form
86. endant de nouvelles probl matiques apparaissent Comment extraire repr senter et comparer ce type d informations Anthony HERBE Universit de la Rochelle 12 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images di 5 une plate forme Web ki Ti 3 1 1 La notion de signatures Une signature caract rise un l ment repr sentatif d un sujet il fournit une partie de son identit qui le rend la fois unique et reconnaissable Malgr cette unicit une signature peut tre soumise une comparaison avec une autre afin de r aliser une recherche de similarit s La premi re tape consiste calculer ce type de signatures ce qui implique bien videmment de d terminer la fa on de la repr senter Le calcul de signatures d pend aussi des informations dont on dispose en entr e de celui ci En fait une fois num ris e une image n est plus qu un ensemble de pixels entass s dans un unique fichier accompagn s le cas ch ant de m ta donn es diverses qui varient selon le format du fichier choisi Outre les donn es contenues dans les m ta donn es du fichier il semble logique que les signatures soient calcul es partir de l information r elle savoir les pixels Ainsi les signatures seront donc le r sultat d un ensemble de calculs effectu s sur les valeurs des pixels de l images Plus pr cis ment puisque un pixel est un ensemb
87. ent multi plate forme etc OpenLDAP s est impos comme tant la solution retenue Avant de commencer la configuration du serveur il est conseill d tablir l inven taire des objets et des informations stocker dans l annuaire Dans le cadre de cette premi re approche LDAP nous avons choisi un ensemble minimaliste d informations stocker Ainsi les utilisateurs de la plate forme sont ca ract ris s par les attributs suivants leur nom Sn leur pr nom Cn leur mot de passe UserPassword leur num ro de t l phone Telephonenumber leur laboratoire d origine Title leur groupe d appartenance comme administrateur informaticien non informaticien C est par le biais de ce champs que l on adaptera l interface de la plateforme en fonction du groupe d appartenance O leur adresse email Mail sn Cr UserFasswd lelephonenumter T rganizattonal Personn F lnetOrgPFersonn FIG 5 10 Sch ma LDAP de la plateforme Les classes d objets forment ainsi une hi rarchie au sommet de laquelle se trouve l objet top Chaque objet h rite des propri t s attributs de l objet dont il est le fils On pr cise la classe d objet d une entr e l aide de l attribut objectClass Il faut obligatoirement in diquer la parent de la classe d objet en partant de l objet top et en passant par chaque anc tre de l objet Par exemple l objet in
88. ent par contre un comportement normal quel que soit l environnement Une fois les tests effectu s et valid s sur la plate forme de pr production la mi gration vers l environnement de production a pu d buter 5 9 2 Passage en production L environnement de production est un poste de travail classique s ex cutant sur une Fedora Core 1 distribution Linux grand public semblable celle de d veloppe ment quoi que plus ancienne La migration s av rait d licate puisque certaines don n es sensibles y taient stock es certains sites internet du laboratoire etc et il a fallu prendre en compte les configurations existantes et viter tout prix de rentrer en conflit avec les configurations mises en place Cette machine sert en fait uniquement de serveur web le reste restant sur le ser veur de calculs machine de pr production Il a t n cessaire de s occuper unique ment de la partie serveur web le reste ayant d j t effectu sur le serveur de calcul lors du passage en pr production Parmi les l ments qui taient n cessaire la plate forme et qui taient d j install s et plus ou moins configur figuraient Un serveur web Apache en version 2 Le module PHP pour Apache dans une version 4 Le module MySQL pour PHP Il a alors fallu rajouter les modules manquants cf Figure 5 17 page 83 ainsi qu ef fectuer les configurations ad quates Un point important concerne la configur
89. entation En ce qui concerne la documentation du code chaque fichier a t comment selon le standard utilis dans DOxygen afin que ce dernier puisse g n rer plusieurs types de documentation utiles pour le d veloppeur 5 4 4 Structure et organisation Outre le d veloppement orient objet l ensemble des scripts crits respecte l orga nisation suivante 6 cache a images I config php cgi bin 6 templates g search php g functions EA index php menu php E classes i env_vars php A Php FIG 5 2 Arborescence de l application Le dossier cache contient toutes les donn es temporaires de la plate forme qui seront supprim es la fin de la session lorsque l utilisateur se d connectera de celle ci Le dossier cgi bin contient tous les binaires des plugins qui ont t ins r s dans la plate forme Le dossier classes contient toutes les d finitions de classes PHP utilis es dans la plate forme Le dossier functions contient tous les fichiers regroupant des fonctions non incluses dans les classes PHP Le dossier images contient l ensemble des images upload es dans le format JPG ainsi qu une version miniaturis e et les fichiers XML associ s contenus dans le sous r pertoire xml Anthony HERBE Universit de la Rochelle 44 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz Le dossier templates contient l ensemble des mod les utilis
90. eront des connaissances sp cifiques qui aideront la navigation et la recherche d informations Pr cis ment dans le cadre de cette tude il s agira de mettre en place un d mons trateur des techniques de calculs de signatures sur des images graphiques permettant d indexer les images et de faciliter la recherche d informations dans ces images L id e est de mettre en place toutes les structures n cessaires en terme de Web d IHM de repr sentation de donn es XML de plate forme de traitement pour faire ce d monstrateur en appui sur toutes les techniques issues du consortium MADONNE Laboratoire de la Rochelle Laboratoire de Tours Laboratoire de Rennes SLaboratoire de Rouen fLaboratoire de Paris 5 Laboratoire de Nancy 8Laboratoire de Lyon Anthony HERBE Universit de la Rochelle 10 Sciences et Technologie 1 juillet 2005 Chapitre 3 Les probl matiques d indexation et de recherche d informations sur des images dans une plate forme Web 3 1 Recherche et traitements d informations Les informations d une image rel vent de la perception de l individu En effet partir d une image l individu peut s int resser un ensemble de formes de cou leurs ou de composantes de l image textures contours etc Toutes ces informa tions constituent alors l identit de l image ce qui la diff rencie ou la rapproche d une autre image Lorsque l on cherche retrouver des images proches d une autre i
91. es distributions grand public Apr s avoir assimil le prin cipe du syst me RHE3 je me suis heurt des probl mes de mise jour du serveur sur lesquels j ai perdu encore norm ment de temps Apr s avoir trouv une parade ces probl mes essentiellement dus une mauvaise configuration du serveur que je n ai pu solutionner ils existaient avant mon arriv et demeurent toujours j ai donc pu installer et mettre jour l ensemble des modules pour Apache PHP etc ainsi que les diff rentes bases de donn es et la biblioth que OpenCV Malgr une configuration presqu identique des installations de l environnement de pr production RHE3 et celui de d veloppement FC3 le fonctionnement de la plate forme semble diff r pour une raison inconnue En effet bien que l application semble fonctionner parfaitement sur les deux environnements la m thode d authen tification a un comportement anormal uniquement sur la RHE3 Le point qui diff re se produit lorsqu on tente de s identifier avec un identifiant valide mais avec un mot de passe invalide Alors que l authentification est refus e sur la FC3 ce qui est le fonctionnement normal elle est accept e sur la RHE3 Je n ai ce jour pas identifi l origine du probl me qui n est cependant pas important d en un premier temps puisque cela s est produit sur l environnement de pr production et pas sur celui de production Tous les autres cas d utilisation poss d
92. es donn es et par cons quent g n rer des investissements et tablir une politique europ enne commune sur l utilisation du contenu culturel d j num ris 2 2 Pr sentation du projet Ce projet s inscrit dans une d marche de sauvegarde et de valorisation de don n es patrimoniales dont la communaut internationale a pris conscience comme en attestent les impulsions prises au niveau europ en par les repr sentants nationaux des grands organismes de gestion du patrimoine Le contexte de l tude concerne les collections d ouvrages num ris s qui constitueront tr s court terme d normes en trep ts de donn es repr sent s sous forme d images num ris es pour lesquelles les techniques traditionnelles des bases de donn es sont inop rantes L exploitation et la valorisation venir de ces collections d images n ont toujours pas trouv de r ponses satisfaisantes du fait m me de leur caract re faiblement structur La g n ration de ces entrep ts de donn es pr sent s sous forme de collections de documents h t ro g nes faiblement structur s soul ve le probl me de la recherche d informations et de la navigation au sein de ces corpus Il s agit de d terminer des indices s adaptant aux diff rentes repr sentations de l information qu on peut rencontrer dans ces documents patrimoniaux comme des zones textuelles imprim es ou manuscrites des images des illustrations graphiques Ces signatures apport
93. etOrgPerson a la filiation suivante 7OpenLDAP est un serveur d annuaire LDAP Open Source et issu des impl mentations du protocole par l Universit de Michigan Il est d velopp selon les termes de la licence GNU GPL ce qui signifie qu il est enti rement gratuit et que son code source est accessible et modifiable Anthony HERBE Universit de la Rochelle 59 Sciences et Technologie 1 juillet 2005 QUI M thodologie et travail r alis objectClass top objectClass person objectClass organizationalPerson objectClass inetOrgPerson L objet person a comme attributs commonName surname description seeAlso tele phoneNumber user Password L objet fils organizationalPerson ajoute des attributs comme or anizationUnitName title postalAddress L objet petit fils inetOrgPerson lui rajoute des attributs comme mail labeledURI uid userID photo Une entr e peut appartenir un nombre non limit de classes d objets Les attri buts obligatoires sont la r union des attributs obligatoires de chaque classe Une fois que le sch ma a t d fini dans le serveur OpenLDAP cf Annexe B 4 3 page 107 nous devons ins rer quelques l ments ici des utilisateurs dans la base Bien qu il soit possible de le faire la main par l utilisation de ligne de commandes et par extension via des scripts il est bien plus commode d utiliser une interface graphique pour cette tache En effet PhpLdapAdmin
94. eurs afin de relancer la recherche R cup rer toutes les informations relatives la nature de la requ te et les en voyer au serveur pour que ce dernier effectue l int gralit des traitements de son c t afin de relancer la recherche plus tard Quel que soit l approche s lectionn e elle n est pas simple en regard aux contraintes technologiques qu impose le fonctionnement client serveur d une application web Votre image J i ME et re ren Lighten Darken Rotate crop _Threshsold o Smooth Sharpen Find Edges Ado Moise FIG 5 9 Applet permettant la modification en ligne de l image de r f rence Une premi re approche a consist utiliser une applet Java d velopp avec la bi blioth que de traitement d images Image biblioth que puissante rapide et offrant de nombreuses fonctionnalit s quivalentes OpenCV en l int grant l interface Celle ci fonctionne globalement mais le rapatriement de l image modifi e n a pas encore t impl ment ce qui fait que la recherche ne peut tre relanc e Anthony HERBE Universit de la Rochelle 57 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis a 5 6 Authentification Afin de limiter l acc s de la plate forme aux seuls utilisateurs autoris s un syst me authentification bas sur un annuaire LDAP a t r alis Traditionnellement on d finit une liste d util
95. euses biblioth ques de ce genre existent pour presque tous les lan gages de programmation Il suffira alors d impl menter les algorithmes de calcul dans ce langage en utilisant la biblioth que afin d obtenir les informations descripteurs voulues De plus l int r t d utiliser une biblioth que graphique associ e un langage est lunit mesurant la r solution d un scanner on parle de finesse de num risation Plus cette valeur est lev e et meilleure est la qualit Anthony HERBE Universit de la Rochelle 21 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information ke double puisque cela peut rendre le module ainsi cr r utilisable dans d autres do maines moyennant certaines contraintes li es au langage et ou la biblioth que asso ci e 42 De l information utile la base de donn es Une fois toutes les informations obtenues elles devront tre organis es et enregis tr es dans un conteneur Pr c demment cf Sous partie 3 2 page 16 les probl ma tiques li es l organisation des informations et plus pr cis ment les liens qu il peut y avoir entre elles ont t cit s et l id e de les organiser sous forme d arbres a t soumise De plus conform ment ce qui est demand dans le cadre de ce stage cf Sous partie 2 2 page 10 il est a priori logique du moins dans un premier temps d organiser les inform
96. exemple cr e par un humain assist d un programme proposant des informations cl s L indexation manuelle d informations est g n ralement co teuse pour indexer correctement des documents picturaux anciens il faut faire in tervenir des personnes qui soient elles m mes capables de comprendre le contenu du texte ce qui impose un co t non n gligeable Bien que l indexation se base sur des techniques relativement tablies il peut y avoir plusieurs indexations diff rentes d un m me document aussi valables les unes que les autres en fonction de l usage qui doit en tre fait et du public auquel elles s adressent titre d exemple imaginez une image qui soit une description d une lettrine d un document ancien du XVII si cle sous Louis XIV son indexation sera tr s diff rente selon que le public sera constitu d historiens ou de graphistes Anthony HERBE Universit de la Rochelle 17 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images di 5 une plate forme Web boe Wai En ce qui concerne les relations entre les diff rents l ments sign s il est int ressant de revenir sur le cas concret que l image de la joueuse de beach volley Nous avons vu pr c demment que l on pouvait par exemple signer l image dans sa globa lit puis ensuite signer un l ment qui la compose comme le personnage principal savoir la joueuse e
97. ge Techniquement deux l ments principaux font partie du standard MPEG 7 Il s agit de la description du langage DDL Description Definition Language qui d fi nit la syntaxe pour la cr ation des descriptions de l outil ou sch ma de description DS Description Schemes ou Description Tools qui d finit la s mantique de chaque donn e ou m ta donn e DDL fait partie du noyau de la norme MPEG 7 Elle fournit la base par laquelle les fournisseurs peuvent cr er leurs descriptions selon les r gles syntaxiques d finies Plus pr cis ment il s agit d un langage qui permet la cr ation de nouvelles donn es bas es sur la syntaxe XML Toutefois comme le langage XML n a pas t d velopp sp cifiquement pour des contenus multim dias un certain nombre d extensions a t rajout celui ci sp cifi quement pour la norme MPEG 7 Le sch ma de description DS est la structure des m ta donn s pour d crire et annoter des contenus audiovisuels AV Le DS fournit une mani re standardis e pour d crire la gestion et la description du contenu afin de faciliter la recherche le classement et l acc s aux informations La gestion et la description sont d finies en utilisant le langage DDL Ces deux informations peuvent tre exprim es en forme textuelle lisible par l humain ou binaire comprim e pr vu pour le stockage ou pour la transmission Plus concr tement lors de la cr ation
98. h esimeaamuees 81 5 9 1 Passage en pr producti n 4 4 4 444esLx pass 83 5 9 2 Passage en production pe de 6 oaa at aie eu de 84 6 Bilan dust ge s ee saa eke a a o a a E a O e E e a Tes 87 6 1 valuation du travail r alis 87 6 2 Probl mes rencontr s 87 Anthony HERBE Universit de la Rochelle iii Sciences et Technologie 1 juillet 2005 TABLE DES MATI RES Le 6 2 1 Les probl mes organisationnels 87 6 2 2 Les probl mes techniques ue housse ee mena 88 6 2 3 Les probl mes relationnels 55 ssensrtanss bem 88 6 3 Estimation du travail restant effectuer 88 Conclusion 4 4 ur nimes ae teens ed Gras t e eA 89 Annexes 90 A Manuel d utilisation de la plate forme Web Madonne 91 B Administration et installation du syst me 98 C La Biblioth que OpenCV d Intel 109 D Lightweight Directory Access Protocol 117 E Webogtaphie sss ecas esga sme aawo IR RARE SET a 119 Anthony HERBE Universit de la Rochelle iv Sciences et Technologie 1 juillet 2005 Liste des illustrations Sciences et Technologie 1 juillet 2005 3t Exemple d image ua Le same Dre te dd nr 12 3 2 Extraction d un l ment d une image Lure rss aies 12 3 3 Exemple de texture d un l ment d une image texture de peau 12 3 4 Exemple de va
99. helle 88 Sciences et Technologie 1 juillet 2005 Conclusion Les objectifs d un stage professionnel sont multiples le stagiaire doit tirer une double exp rience immersion dans le monde du travail et acquisition de nouvelles connaissances sur les activit s professionnelles et pouvoir apporter la structure qui a accueilli un b n fice aussi bien sous forme de nouvelles comp tences li es sa formation qu sa personnalit Ce stage a t enrichissant aussi bien au niveau humain que professionnel et sera un atout pour mon entr e dans la vie active Il m a apport de nouvelles connaissances tant organisationnelles que techniques et m a permis d approfondir les comp tences que j ai acquises tout au long de ma scolarit Le projet a mis en vidence les nombreux domaines abord s par un projet d une telle envergure et l importance du d coupage de la planification de la r partition et la synchronisation des taches au sein d une quipe Le d veloppement d une plate forme g n rique permettant d valuer la pertinence de traitements d images est un projet bien ambitieux J esp re avoir pu apporter ma pierre l difice et que l ensemble form par ce rapport et la plate forme d velopp e pourra constituer une premi re tape vers un syst me tr s prometteur dans les ann es venir Anthony HERBE Universit de la Rochelle 89 Sciences et Technologie 1 juillet 2005 Liste des annexes
100. helle ou la translation d un objet sujet dans l image Enfin tant qu il se peut une bonne signature doit tre un minimum sensible au Pixel unit de base d une image num rique C est le point minimal adressable par le contr leur vid o Chaque pixel est en fait compos d un ensemble de composants lectrolumininescents Anthony HERBE Universit de la Rochelle 13 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images d une plate forme Web pol bruitage de l image ou toutes interventions dues une diff rence de contraste d clairage de luminosit d espace couleurs FIG 3 4 Exemple de variations d une m me image Malheureusement il n est pas toujours possible de trouver de telles signatures et certaines signatures qui paraissent int ressantes peuvent tre sensibles l un ou plu sieurs de ces crit res 3 12 Combinaison de signatures Nous avons vu dans la section pr c dente qu une image peut tre d compos e en un ensemble d l ments qui peuvent tre identifiables et donc caract risables Il est alors possible de signer une image en calculant une ou plusieurs signatures sur chacun de ces l ments La mesure de similarit entre images se fait alors par une distance entre la combinaison des deux ensembles de signatures Pr c demment nous avons tudi les signatures sur des co
101. i se r p te Affichage des valeurs des n des cripteurs pour chaque image On utilisera donc deux blocs imbriqu s un pour l affi chage des m images du r sultat et l autre pour les n descripteurs de chaque image 5 4 2 Configuration de la plate forme L utilisation de variables globales d environnement permet le regroupement des constantes dans des emplacements bien pr cis ex les fichiers env_vars php et config php afin de rendre l application moins fig e et plus param trable modifier l emplacement des fichiers les types de fichiers accept s les adresses IP des serveurs utilis s etc Gr ce ce proc d la plate forme est enti rement param trable et modulable per Anthony HERBE Universit de la Rochelle 42 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz mettant de fonctionner tout aussi bien sur un ou plusieurs machines avec une r parti tion h t rog ne de ses fichiers Voici ce qu on peut rencontrer dans le fichier config php Configuration de l annuaire LDAP SLDAP_SERVER 0 indus univ lr fr Port utilis par d faut par le serveur LDAP SLDAP_PORTI0 380 SLDAP ROOT 0 dc my domain dc com SLDAP ROOT DN 0 cn Manager dc my domain dc com SLDAP ROOT PW 0 secret Configuration du serveur MySQL mysql_server indus univ lr fr mysql_user root mysql_password jmogier mysql_db madonne_ web
102. iff rents champs propos s cf figure 5 12 page 61 Anthony HERBE Universit de la Rochelle 60 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis I LDAP Server for MADONNE PR EE E EE T N EEE P my damain de com 4 Men Anthony HERBE a Mcen Jean Marc OGIER a Ren ouhamed Hammoud i cn urapong Utama Cr er FIG 5 11 Barre de navigation de PhpLDAPadmin phpLDAPadmin 0 9 5 cn Anthony HERBE J Demander une nouvelle fonctionnalit Signaler u Donation Purge cac Serveur LDAP Server for MADONNE Distinguished Name cn Anthony HERBE dc my domain dc com A i Home _ amp Rafraichir Exporter 3 LDAP Server for MADONNE Copier cette entr e Montrer les attributs internes heme chercher mimichir crer into imporiar export Supprimer cette entr e E Benommer a 3 dc my domain dc com 4 y Note Pour effacer un attribut laissez le champs vide et cliquez pour sauvegarder Cr er une sous entr e Bo Ajouter un nouvel attribut cn Anthony HERBE Note Pour voir le sch ma pour un attribut cliquer sur le nom de l attribut cn Jean Marc OGIER Mcn Mouhamed Hammoud A 2 i en required a Q cn Surapong Uttama P Anthony HERBE Cr er ajouter une valeur givenName JAnthony ajouter une valeur l La Rochelle ajouter une valeur mail FIG 5 12 Edition d une entr e de l annuaire dans phpLDAPadmin Cependant il es
103. in on lance l affichage sur le navigateur par la m thode print cette tape ainsi que la pr c dente peuvent tre effectu es en m me temps gr ce la m thode pparse Un des gros int r ts des templates est galement de pouvoir factoriser du code de pr sentation qui se r p te en le symbolisant par un bloc dont le contenu sera dyna mique On devra au pr alable d clarer au sein du mod le le nom du bloc ainsi que son emplacement de la mani re suivante lt BEGIN MON BLOC gt ma_variable lt END MON BLOC gt L utilisation de ce bloc pourra alors se faire au sein d une boucle o le nombre d it rations d finira le nombre de fois o le bloc sera r p t On peut donc affecter alors la variable ma_variable autant de valeurs que l on veut et ce dynamiquement au sein par exemple d une boucle for ou while Le code PHP permettant d utiliser le bloc pr c dent est le suivant Shttp phplib sourceforge net Anthony HERBE Universit de la Rochelle 41 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis gt kai D claration du bloc MON BLOC template gt set_block MonMod le foreach i 0 i lt 10 i template gt set_var ma _ variabl e i template gt parse mon bloc MON_ BLOC true PL MON_ BLOC mon_ bloc Distance gbbale Q2 jpg Dista
104. ion rechercher Cependant le terme de Nature de l information a besoin d tre clairci Nous avons vu pr c demment cf Sous partie 3 1 1 page 13 que la quasi totalit de l in formation r elle de l image pouvait tre repr sent e par un ensemble de signatures ou descripteurs de l image On pourrait donc associer en quelque sorte chaque des cripteur ou ensemble de descripteurs un label qui repr senterait la nature de l in formation que cet ensemble d crit Ainsi l utilisateur pourrait s lectionner sa guise le type de recherche qu il souhaite effectuer en cochant les diff rents types d informa tions pertinentes pour sa recherche 4 3 3 Contraintes au niveau de la s curit de l application Afin d viter toute ventuelle d t rioration des donn es et dans un souci de res triction concernant l acc s l application des mesures de s curit seront prises Pre mi rement l application tant accessible depuis internet l acc s au serveur web s cu rit physique de la machine ainsi qu une configuration du d mon HTTPd depuis les param tres de Apache devra donc tre surveill et limit Ensuite il faudra bien vi demment veiller aux droits associ s l arborescence contenant les diff rentes bases de donn es de l application Enfin afin de restreindre l acc s de l application aux seuls utilisateurs concern s une m thode d authentification sera mise en place parall le An
105. ionne correctement il faut 1 que l utilisateur nomm apache sous FC et RHE puisse lire parcourir l ensemble des dossiers et fichiers relatifs l interface et la configuration de la plate forme 2 qu il puisse crire dans les dossiers relatifs au cache de l application par d faut dossier nomm cache dans les dossiers o sont stock s les images upload es les fichiers XML et les plugins 3 que le serveur de calcul puisse lire le contenu des r pertoires cit s ci dessus Par d faut l int gralit s des dossiers et fichiers auront pour propri taire et pour groupe l utilisateur apache avec des droits de lecture d criture et d ex cution associ s le reste des droits devant rester en lecture seule Voici ce que donne cette configura tion drwxrwxr x 2 apache apache 4096 jun 21 22 39 cache drwxrwxr x 2 apache apache 4096 jun 1 19 21 cgi bin drwxrwxr x 2 apache apache 4096 jun 14 18 40 classes rw rw r 1 apache apache 392 avr 5 12 12 clean php rw rw 1 apache apache 1601 jun 21 22 32 config php rw rw 1 apache apache 2105 jun 21 22 38 env_vars php drwxrwxr x 2 apache apache 4096 jun 14 18 43 functions rw r r 1 apache apache 960428 avr 7 22 09 ij jar drwxrwxr x 4 apache apache 36864 mai 27 20 06 images rw rw r 1 apache apache 826 jun 14 18 42 index php drwxrwxr x 2 apache apache 12288 mai 14 20 58 layers rw rw r 1 apache apache 105 mar 4 00 52 logout php rw rw r 1 apache apache 782 avr 5 18 48
106. ires les arts le littoral les usages a montr que la prise en compte des interactions sous toutes les formes qu elles peuvent prendre tait primordiale L Image et le Comportement sont donc au centre de l activit du laboratoire Une partie de son activit concerne donc naturellement les aspects analyse mod lisation synth se c est l objet de la th matique Image et s quences d Images ISI Pour l analyse d images et pour l interpr tation de comportements complexes un travail de fusion classification est n cessaire La th matique Mod lisation Analyse Trai tement Recherche d Informations Complexes et volutives MATRICE traite ce pro bl me et le replace dans un cadre plus g n ral lui permettant d aborder en particulier les donn es semi structur es La th matique G nie Logiciel Architecture M thodes Mod les Outils Langages valuation G LoAM MOL contribue inscrire les tra vaux men s dans un contexte op rationnel et un cadre m thodologique Ceci permet de mieux comprendre travers leur mod lisation les syst mes repr sent s par des images mais aussi de produire les logiciels associ s nos r sultats en les int grant dans une architecture pertinente Les quatre derni res ann es ont permis de provoquer des synergies entre l IUT et l UFR de Sciences afin d unifier les chercheurs en informatique de l universit de La Rochelle Ceci a permis de re
107. isant le corpus des r sultats dispo nibles de d velopper de mani re la plus g n rale possible de nouveaux r sultats et enfin d identifier les recherches sp cifiques mener Les cellules de la matrice ainsi form e contiennent des Actions qui correspondent des recherches men es par des chercheurs sp cialement regroup s pour atteindre l objectif vis En fonction de cet objectif et de son envergure une action peut impli quer plusieurs th matiques ou plusieurs projets Une action est classiquement associ e un contrat avec un partenariat impliquant des industriels et ou des acad miciens Le financement est alors principalement externe Une action peut aussi consister en Anthony HERBE Universit de la Rochelle 4 Sciences et Technologie 1 juillet 2005 Pr sentation du Lai i une recherche prospective d finie en interne au laboratoire apr s validation par le conseil scientifique Le financement est alors pris en charge sur fonds propres du la boratoire De telles actions correspondent des recherches exploratoires men es au sein de celui ci Naturellement des partenaires peuvent tre associ s Les recherches prospectives se prolongent naturellement en contrats Il appara t alors clairement que cette structuration induit une dynamique toute particuli re puisque chaque action nouvelle est l occasion dans le cadre d un s mi naire interne puis au sein du conseil scientifique d identifier les probl
108. isateurs de l application avec un en semble de droits puis l on rentre ces utilisateurs dans une nouvelle base de donn es en g n rale relationnelle L originalit du syst me d authentification repose sur le prin cipe d un annuaire aussi h t rog ne soit il Mais avant d en expliquer le choix et ses avantages nous allons en effectuer une br ve pr sentation 5 6 1 Pr sentation de LDAP cf Annexe D page 117 5 6 2 Le choix d un annuaire LDAP De plus en plus de grosses et moyennes structures proc dent la migration de leur catalogue de ressources personnel postes imprimantes etc au sein d un an nuaire de type LDAP Pourquoi Et bien en g n ral parce que cela permet de cen traliser nous verrons plus loin pourquoi ce mot peut tre un peu abusif au sein d une m me base d informations des catalogues totalement h t rog nes Outre cet aspect h t rog ne les annuaires LDAP ont l avantage de pouvoir s organiser selon un syst me hi rarchique de domaines qui peuvent se scinder en plusieurs parties distri buables sur plusieurs serveurs permettant ainsi par exemple de r partir physique ment les ressources du catalogue et cela en toute transparence pour les clients LD AP ou bien encore de faire du mirroring duplication pour sauvegarde et synchronisa tion Autre avantage galement les annuaires LDAP poss de une grande rapidit d acc s en terme de consultation par rapport aux SGBDs traditionnels
109. la dynamique interne de celui ci L activit de la recherche peut ainsi tre d crite l aide d une matrice permettant de croiser les th matiques scientifiques et les projets Une th matique correspond une vision acad mique d une probl matique scien tifique Elle concerne une communaut de recherche identifi e Un chercheur appartiendra donc de mani re privil gi e une th matique C est le vecteur dominant Cependant les activit s de recherches pluri th matiques constituent un moyen d organiser les recherches situ es aux interfaces entre les th matiques Elles sont justifi es d s lors qu un chercheur s investit dans un domaine disci plinaire et aborde les aspects m thodologiques ou s il d veloppe une th orie fondamentale qu il sp cialise dans un contexte disciplinaire particulier Un projet est le support de la transversalit entre th matiques scientifiques Chaque projet ne se r sume pas un contexte applicatif Le L3i a plut t consi d r des objets caract ris s par des contraintes particuli res et une classe de probl mes associ s sur lesquels il tait n cessaire de capitaliser des connais sances Le laboratoire discr tise les recherches en fonction des diff rents pro bl mes aborder Chaque th matique est alors le cadre pertinent pour ma triser l ensemble des recherches men es dans le contexte des projets associ s Il est ainsi possible de replacer les travaux en util
110. le de valeurs num riques une signature sera donc lui aussi un ensemble de valeurs num riques Caract ristiques d une bonne signature Il existe de nombreux calculs permettant d obtenir une signature sur une image Cependant il est n cessaire de faire le point sur ce que l on doit attendre d une signa ture int ressante Premi rement une signature doit tre suffisamment repr sentative d une ou plu sieurs informations de l image C est dire que celle ci doit tre suffisamment inva riante pour que cette derni re ne soit pas valable uniquement dans un contexte bien pr cis et peu reproductible Reprenons l exemple de l image repr sentant la joueuse de beach volley et sup posons qu on dispose d une signature caract risant l organisation spatiale des zones caract ristiques du visage Posons maintenant l hypoth se qu on poss de une seconde image avec la m me joueuse de beach volley mais cette fois ci dans une position dif f rente ex de face au lieu de trois quart Si la signature est pertinente la mesure de similarit s entre les deux images en se basant sur cette signature devrait renvoyer une valeur tr s importante puisqu il s agit du visage de la m me personne On peut donc en conclure que pour qu une signature soit pertinente celle ci doit calculer des descripteurs qui soient invariants la rotation Il en va de m me pour une transformation de l image bas e sur le changement d c
111. mage en r alit l individu effectue une recherche de similarit s entre les composantes de ces images Prenons comme exemple le cas concret d une image repr sentant une joueuse de beach volley en pleine action L utilisateur peut vouloir rechercher des images qui contiennent un ballon auquel cas on s int ressera la forme caract ristique du ballon un cercle ou bien il peut vouloir rechercher toutes les sc nes se d roulant sur une plage auquel cas on fixera la recherche sur de grandes tendues de sable qui peuvent se caract riser par une certaine texture granularit et couleur jaun tre repr sentative du sable ou enfin vouloir effectuer une recherche de toutes les photos repr sentant ce joueur de beach volley celui ci se caract risant par un visage bien d fini traits cou leur des yeux texture de peau organisation spatiale des yeux nez oreilles et bouche etc Anthony HERBE Universit de la Rochelle 11 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images d Sn une plate forme Web hai FIG 3 1 Exemple d image FIG 3 2 Extraction d un l ment d une image FIG 3 3 Exemple de texture d un l ment d une image texture de peau Il est donc important d extraire toutes ces informations afin de pouvoir les com parer entre elles dans le but d obtenir des r sultats aux types de requ tes sus cit es Cep
112. main dc com write by compare access tO by dn cn Manager dc my domain dc com write by read Relancez le d mon LDAP comme ceci sbin service ldap restart Ensuite ins rons les diff rents utilisateurs de la plate forme Pour cela nous allons utiliser un outil fort pratique a installer sur la machine phpLDAPadmin Ouvrez dans un navigateur phpLDAPadmin avec les droits d administration pour pouvoir cr er les entr es de l annuaire puis s lectionnez l annuaire et cliquez sur Im porter S lectionnez le fichier LDIF associ la plate forme et cliquez sur Continuer Voil pour ce qui est de l annuaire LDAP B 4 4 Param trage de la plate forme Comme nous l avons vu dans le rapport l application est enti rement param trable par le biais de deux fichiers nomm s env_vars php et config php Le fichier config php concerne les identifiants les mots de passe et les adresses IP des serveurs LDAP et MySQL modifiez alors les diff rents champs pour qu ils corres pondent la configuration mise en place Le fichier env_vars php contient des variables relatives au mode de fonctionnement de la plate forme comprenant l activation du mode XML RPC du mode de d bogage permettant d afficher des informations suppl mentaires pour r soudre d ventuelles erreurs etc Modifiez donc les variables votre convenance Anthony HERBE Universit de la Rochelle 108 Sciences et Technologie 1 juillet 2005
113. mais cela au d triment d un acc s en criture plus lent Enfin LDAP b n ficie galement de trans missions s curis es par le biais d outils comme le cryptage SSL Dans le cadre de ce projet il parait donc int ressant terme de pouvoir effectuer l authentification sur un annuaire regroupant l ensemble des personnes habilit es utiliser la plate forme sachant que cet annuaire peut tre scind en plusieurs parties diff rents laboratoires par exemple L id e est qu terme un annuaire regroupant le personnel soit utilis avec des informations suppl mentaires relatives uniquement la plate forme de sorte qu il n y ait pas de duplication de base une sp cifique l application en plus des autres bases d j existantes 5 6 3 Mise en place de l annuaire Afin de pr parer cette alternative un annuaire commun un petit annuaire LD AP de test a tout de m me t cr pour obtenir rapidement une premi re version fonc tionnelle avec une authentification LDAP Tout comme les solutions web il existe plu sieurs impl mentations OpenLDAP Active Directory etc plus ou moins rigou reuses de la norme de LDAP Sans rentrer dans les d tails et en conservant les m mes choix qui ont t faits pour la solution web LAMP gratuit documentation rapidit Anthony HERBE Universit de la Rochelle 58 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis hax de d veloppem
114. maquettes effectu es dans le cadre de l UE Vision 2 Anthony HERBE Universit de la Rochelle 39 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz 5 4 D veloppement de l interface Utilisateur Dans un souci de clart et afin que mon travail soit le plus compr hensible possible et modifiable par la suite j ai d cid de m imposer quelques contraintes en terme de d veloppement PHP 1 D velopper en suivant une m thodologie de programmation modulaire et objet m me si l origine PHP est surtout un langage proc dural la couche objet du langage n est apparue que depuis la version 4 et est loin d tre compl te de m me pour la derni re version 2 S parer autant que possible la partie purement graphique du reste de l applica tion 3 Utiliser des noms de variables de fonctions etc les plus clairs possibles tout en veillant un anglicisme maximum afin que tout d veloppeur quelle que soit sa nation puisse comprendre le code source 4 N utiliser aucune constante au sein m me de fonctions ou de classes et privil gier syst matiquement la cr ation de variables globales quand cela est possible pour une modification et ou configuration plus ais e 5 Documenter un maximum l int gralit de mon code source Chaque cas d utilisation poss de son propre fichier PHP ins rer des images des plugins et effectuer une recherche et diff rentes classes ont t c
115. mation Pour cela nous devons d finir clairement les types d utilisateurs et les diff rents cas d utilisation qui leur sont associ s Voici le sch ma repr sentant l ensemble des utilisateurs associ s leurs actions possibles Utilisateurs standards D veloppeurs FIG 4 4 Diagramme des cas d utilisation de la plate forme web A partir de l nous pouvons laborer des maquettes d interface qui r pondrons ces diff rents cas Le cas d utilisation le plus int ressant et celui qui sera le plus usit et sans doute le cas de la recherche d images semblables une image de r f rence Il peut se r sumer l ensemble d actions suivant 1 S lectionner une image requ te 2 D finir la port e de la recherche action facultative si on admet la possibilit d un comportement par d faut 3 Lancer la recherche L interface de ce cas d utilisation devra donc se sch matiser de la fa on suivante Anthony HERBE Universit de la Rochelle 31 Sciences et Technologie 1 juillet 2005 LI G n ration manipulation et visualisation de l information FIG 4 5 Maquette de la page de recherche de l application L important dans cette action est de r duire au maximum le nombre de param tres pr ciser sans diminuer les possibilit de l application Les param tres int ressants pourraient par exemple se limiter ceux ci Nombre de r sultats retourner Nature de l informat
116. menu php rw rw r 1 apache apache 6262 jun 1 18 30 search php drwxrwxr x 2 apache apache 4096 jun 2 16 38 templates rw rw r 1 apache apache 4475 jun 1 18 30 upload php rw rw r 1 apache apache 3969 avr 25 21 39 upload sig php IW r r 1 apache apache 1333 mai 27 18 37 xmlrpc_client php rw r r 1 apache apache 50512 mai 17 21 39 xmlrpc inc rw r r 1 apache apache 13243 mai 17 21 39 xmlrpcs inc N anmoins il faut prendre garde au droit de lecture des fichiers relatifs la confi guration de l application env_vars php et config php puisqu ils contiennent des don Anthony HERBE Universit de la Rochelle 85 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis n es sensibles comme des mots de passe des identifiants et des adresses IP Leur droit de lecture ne doit donc tre donn qu exclusivement l utilisateur apache Partage de ressources Nous venons de voir que certaines ressources comme des r pertoires doivent tre accessibles par deux machines celle de calcul et celle h bergeant le serveur web prin cipal Pour se faire des partages ont t cr s entre les deux machines sur ces dits r pertoires La m thode utilis e la moins restrictive fut l laboration de partage de type NFS Ainsi l int gralit des ressources partag es a t physiquement plac e sur le serveur de calcul il a suffit ensuite d y installer et configurer un serveur NFS et de donner l acc
117. mposants de l image en tant qu objets de l image ex ballon volleyeuse sable etc mais il peut tre int ressant d utiliser des signatures sur des couches de l image ce qui implique videmment un pr traitement de segmentation de l image afin par exemple d isoler les informations relatives aux contours la texture ou m me des zones uniformes Anthony HERBE Universit de la Rochelle 14 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images d p une plate forme Web ki Cependant il faut rappeler que l acteur principal du syst me n est autre qu un tre humain Il en r sulte alors que la nature de la recherche effectu e et la pertinence du r sultat retourn par le syst me reste tr s subjectives Il est donc tr s difficile d adapter le moteur de recherche pour qu il corresponde l intention de l utilisateur Pour s adap ter au mieux ce type de situations le syst me doit pouvoir apprendre et r agir face cette subjectivit Ainsi l utilisateur tient un r le cl dans le syst me puisque pour obtenir un r sultat satisfaisant il pourra influencer le syst me et plus pr cis ment sur la pertinence des r sultats Ce genre d approches est donc bas sur le contr le de pertinence ou relevance feedback technique qui permet de poursuivre une recherche d information en la pr cisant partir des r sultats d
118. n 1650 processeur serveur lequel vaut environ 1300 Compatibilit Linux Windows 98 XP de Windows 2000 Server Linux de nombreux Unix Solaris Linux Red Hat nombreux Unix MacOS X MacOS X Advanced Server Windows 2000 amp 2003 Server et HP UX TAB 4 2 Co t et compatibilit des diff rentes solutions web FIG 4 2 Solution Web compl te propos e par Microsoft Rappelons que le projet a pour client le laboratoire L i le co t de la solution est donc un facteur d terminant vu les moyens limit s du secteur de la recherche Outre le co t le d veloppement sur Apache b n ficie d une communaut importante et de nombreuses documentations disponibles sur Internet r duisant ainsi la difficult toute relative de l installation et de l administration du serveur Enfin c est l offre la plus compl te en ce qui concerne la panoplie d environnement de d ploiement Anthony HERBE Universit de la Rochelle 29 Sciences et Technologie 1 juillet 2005 Fi ki G n ration manipulation et visualisation de l information Ensuite il est vident que des pages HTML crites statiquement seraient inca pables d effectuer ce qu on attend de cette application Les pages seront donc g n r es de fa on dynamique par le biais d un langage de scripts comme PHP Perl ou Python La solution retenue sera donc une solution de type LAMP combin e un certain nombre de modules r pondant no
119. nce gbbale EO jpg Distance globale H2 jpg Distance ghbbale A2 jpg Distance globale Distance gbbale 0 00 102784 E Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant MST 0 00 ozsa o 2087 8 054 270 234 Distance utilisant Vinet Distance utilisant Vinet Distance utilisant Vinet CR x gt 4 12 D3 jpg L2 jpg Ll jpg H1 jpg Distance globale Distance globale Distance globale Distance globale Distance globale Distance ghbbale ES ES CS CS ss Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant MST Distance utilisant Vinet Distance utilisant Vinet Distance utilisant Vinet Distance utilisant Vinet Distance utilisant Vinet Distance utilisant Vinet 0 27 Mo 14 Distance utilisant Vinet Distance utilisant Vinet Distance utilisant Vinet FIG 5 1 Exemple d affichage r sultant d une requ te de recherche d images L utilisation de templates dans notre projet devient particuli rement int ressant lorsqu on retrouve plusieurs reprises le m me type de repr sentation graphique En effet lors de l affichage des r sultats d une requ te de recherche d images simi laires cf figure 5 1 page 42 on obtient une sorte de tableau contenant des images avec un certain nombre d informations qu
120. ntd 100005 1 tcp 875 mountd 100005 2 tep 875 mountd Pour recharger les services NFS par exemple apr s une modification du fichier de configuration sbin service nfs restart le serveur est pr t Partie client Pour utiliser NFS v3 il faut au minimum la version 2 10m du programme mount Pour voir sa version taper mount V On va maintenant pouvoir monter nos partages identifiez vous sur la machine indus en tant que root et faites mount moca var www html madonne web cache var www html madonne_web cache mount moca var www html madonne web cgi bin var www html madonne web cgi bin mount moca var www html madonne web images var www html madonne_web images mount moca var www html madonne web layers var www html madonne_web layers En principe tout devrait bien se d rouler Pour monter ces partages d finitivement chaque d marrage de la machine ditons Anthony HERBE Universit de la Rochelle 104 Sciences et Technologie 1 juillet 2005 QUI Administration et installation du syst me le fichier etc fstab de la mani re suivante moca var www html madonne web cache var www html madonne web cache nfs rw 0 0 moca var www html madonne_web cgi bin var www html madonne_web cgi bin nfs rw 0 0 moca var www html madonne_web images var www html madonne web images nfs rw 0 0 moca var www html madonne web layers var
121. nts intervenants du consortium avaient d autres priori t s que de r pondre mes courriers lectroniques Bien qu ayant fait quelques efforts de relance cette tache a t replac e apr s les autres en partie par faute de temps Pour appuyer mon affirmation j ai pu observer au cours du Workshop Madonne auquel j ai pu participer et qui m a norm ment int ress l encore un malaise concernant la communication point soulign par un des clients majeurs du consortium un in tervenant du CESR si mes souvenirs sont corrects qui s est tonn que les 3 4 des ressources aient t utilis es sur des travaux sur les lettrines alors que le contexte de Madonne se situe sur l int gralit des documents anciens toute forme confondue 6 3 Estimation du travail restant effectuer Comme je l ai fait remarquer plus haut le reste de l iceberg commence juste de venir visible Une grande quantit de travail est pr voir On peut cependant en sou ligner certains points comme l int gration d un v ritable syst me d indexation coupl une base de donn es XML native comme eXist qui est mon avis une tr s bonne piste l impl mentation d un syst me d apprentissage approche statistique et ou r seaux neuronaux concernant le relevance feedback une am lioration g n rale de l interface la continuit de l int gration de l annuaire LDAP etc Anthony HERBE Universit de la Roc
122. oir s adresser des utilisateurs non qualifi s que ce soit dans le domaine informatique ou encore de l ima gerie L interface mais galement le fonctionnement global devront donc prendre en compte cette exigence afin de simplifier au mieux l utilisation de la plate forme Anthony HERBE Universit de la Rochelle 18 Sciences et Technologie 1 juillet 2005 Les probl matiques d indexation et de recherche d informations sur des images di 5 une plate forme Web kai 3 3 2 S curit L application devant manipuler terme une base de donn es qui peut s av rer importante il est important de s curiser l acc s cette derni re ainsi que les donn es manipul es d autant plus que cette application peut tre accessible depuis le r seau des r seaux 3 3 3 R activit Bien que l application devra tre capable d effectuer de lourdes op rations comme le calcul de signatures et l indexation des informations de l image la notion de viva cit du syst me est une notion qui conserve son importance dans le d veloppement de la plate forme L utilisateur final ne devrait pas avoir l impression que le syst me se bloque lors de son ex cution et devrait pouvoir obtenir le r sultat de ses requ tes dans un d lai minimum 3 3 4 Interop rabilit Le calcul de descripteurs d images est actuellement le fruit du travail d un grand nombre d acteurs du consortium L application ayant galement pour but de s inter connec
123. oite noire de s lectionn es de Image d origine la chaine de l image d origine traitement zones textur es zones compl te uniformes contours FIG 5 5 Cha ne compl te du calcul effectu par le plugin MST Anthony HERBE Universit de la Rochelle 51 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis Le Bien que le calcul des MST de chaque couche soit enti rement non supervis le pr traitement en amont pour la segmentation pose probl me En effet le programme actuel d velopp sous Matlab contient bon nombre de param tres fixer humaine ment lors de l ex cution de ce dernier M me si un certain nombre d entre eux puisse tre un jour fix avec des valeurs par d faut d autres en revanche posent probl me de par leur subjectivit Par exemple le nombre de couches g n r es par la segmentation est actuellement une valeur fix e la main en fonction de la complexit de l image qui reste un crit re fort subjectif Enfin le programme Matlab g n re les couches segmen t es de fa on non ordonn e Bien que l tre humain puisse les distinguer et donne un sens chaque couche le programme l heure actuelle en est bien incapable Ceci pose de gros soucis lorsqu on d sire comparer les MSTs de diff rentes images puisque pour que la comparaison ait un sens il est n cessaire de comparer des valeurs de MST de couche de m me nature or ces derni res ne sont pas or
124. oix du langage de programmation la commu naut et de standardiser un minimum les contributions au consortium Quant au choix des donn es en entr e et en sortie des diff rents plugins il pourrait tre comme l illustre ce sch ma ni nE Donn es d entr e du plugin Module de calcul de descripteur s Donn es de sortie du plugin Image sans pr traitements Biialre ex cutable Fichier texte contenant accompagn de ses biblioth ques les valeurs num riques du descripteur FIG 4 8 Standard de d veloppement de plugins Calcul de descripteur Anthony HERBE Universit de la Rochelle 36 Sciences et Technologie 1 juillet 2005 Troisi me partie D veloppement de la plateforme Intra Internet Anthony HERBE Universit de la Rochelle Sciences et Technologie 1 juillet 2005 37 Chapitre 5 M thodologie et travail r alis 5 1 La gestion de projet Ce stage tait un projet informatique comme un autre On peut donc supposer que l utilisation d une m thodologie de gestion de projet informatique aurait t lo gique Cependant l utilisation d une m thode stricte tait en fait peu adapt e ce cas pour diff rents motifs Dans le cadre de projets men s par une seule personne comme c tait le cas ici la mise en place de m canismes complets de management de projet peut s av rer complexe et n cessiter plus de temps qu elle n en fait gagner Nous avons
125. onvient donc d effectuer la comparaison de ces quatre solutions afin d en res sortir la solution qui correspond le mieux aux besoins du projet Voici donc un petit tableau r capitulatif des diff rents avantages et inconv nients de ces quatre solutions Nom du produit Apache IIS Zeus Sun One Points forts Gratuit Peu gourmand en ressources mat rielles Excellente stabilit Grande simpli cit d installation et d utilisation Peu gourmand en ressources mat rielles Excellente stabilit Capacit tenir de tr s gros pics de fr quentation Interface native avec certaines bases de donn es Isolation de proces sus Restauration des donn es de configura tion Points faibles Installation et ad ministration plus la borieuses pas d inter Co t du support technique Co t de la licence environ 1700 face graphique Tr s gourmand en Co t du support us re ressources mat rielles Pas de support tech ressources mat rielles technique nique Co t de la licence Tr s gourmand en TAB 4 1 Avantages et inconv nients des diff rentes solutions web Il est galement primordial de comparer plus en d tail les co ts de toutes ces solutions mais galement les environnements support s Nom du produit Apache IIS Zeus Sun One Prix 0 inclus dans Windows 2000 environ 1900 enviro
126. ors comme ceci 1 r cup ration des m ta donn es et valeurs des descripteurs dans des structures PHP 2 cr ation d un DOM vierge avec la biblioth que DOMXML 3 parcours des structures PHP contenant les donn es de l image cit es ci dessus et cr ation et insertion au fur et mesure de ces donn es dans des noeuds du DOM 4 suvegarde du DOM ainsi cr dans un fichier XML Afin de faciliter le d veloppement et la lisibilit du code une classe PHP dont voici le prototype a t cr e Anthony HERBE Universit de la Rochelle 68 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis iaz lt php class xmlfile var pict var doc var file var xpath function addnode parent child_label function addnode_withvalue parent child_label child_value ms function addnode_withattributes parent child_label attributes attributes_values function search_subtree_from element_type function create_from_picture picture xml_dir function load_from_xmlfile filename xml_ dir function save_doc freetextannotation creationtime Comme on peut l observer sur le prototype ci dessus trois m thodes pr fix es par addnode permettent l ajout de noeuds avec ou sans attributs ou valeurs dans le docu ment doc de l instance de la classe Trois autres m thodes permettent respectivement la cr
127. oter galement qu un bogue de la version 4 0 6 em p che son utilisation setDebug Tr s utile pour obtenir des informations retourn es par le serveur Deuxi me tape construction de la requ te Cette tape repose sur l utilisation de la classe xmlrpcmsg dont voici la syntaxe message new xmirpcmsg methodName parameterArray methodName contient le nom de la m thode appeler et parameter Array contient un tableau de ses param tres La technologie XML RPC permet de manipuler 8 types de donn es Anthony HERBE Universit de la Rochelle 74 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis LE int double string boolean base64 dateTime iso8601 array struct Nous ne sommes pas oblig s d indiquer les param tres ventuels d une m thode lors de la d claration de l objet il est possible de le faire ult rieurement en utilisant la m thode addParam apr s la cr ation de celui ci Nous d cidons de passer n anmoins les param tres de la m thode lors de la cr a tion de l objet Peu importe le moment o nous le faisons il faut de toute fa on avoir recours la classe xmlrpcval afin d encapsuler nos donn es dans un format compr hensible par toutes les autres classes de la biblioth que Voici trois exemples issus de la documentation de cette classe qui permettent de com prendre comment utiliser
128. oteurs de recherches textuelles des contenus multim dias Afin de pallier ce probl me des chercheurs du Moving Picture Experts Group MPEG ont d velopp un nouveau standard ISO sous le nom de MPEG 7 Pour les initiateurs de ce dernier la principale ambition de MPEG 7 est de rendre les informations mul tim dias aussi faciles trouver sur le Web que le texte l est aujourd hui Bien que cette appellation soit dans la m me lign e que les standards MPEG 1 2 ou 4 il ne s agit pas l d un nouvel algorithme de compression de donn es vid o mais d un syst me d encodage de description de contenu appel Multimedia Content Description Interface Chaque description encod e est associ e un contenu pr cis d une partie d une vi Anthony HERBE Universit de la Rochelle 24 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information ke d o d une image ou d un son Diff rents niveaux permettent par exemple d obtenir des informations sur la forme la taille ou la texture d une image le type de sc ne et les objets acteurs figurant dans cette sc ne le type de son le copyright et le prix du morceau Plus simplement la norme MPEG 7 d crit les caract ristiques des diff rents conte nus multim dias de fa on pouvoir par la suite rechercher et extraire tout ou partie d un contenu d une vid o d un son ou d une ima
129. peu que yum soit install Avec la Red Hat Entreprise cela diff re du fait qu il faut planifier l installation de paquet via leur site internet Une fois la planification valid e vous pouvez ex cuter rhn_check pour synchroniser la planification avec le syst me B 1 1 Autres commandes Il est toujours p nible de ne pas trouver l emplacement d un fichier sur une ma chine Heureusement sous Linux il existe plusieurs fonctions de recherche L une d entre elles se nomme locate Pour qu elle fonctionne correctement il faut mettre jour l index des fichiers en root via la commande updatedb Une fois fini vous pouvez rechercher un fichier ou un r pertoire de cette fa on locate fichier Anthony HERBE Universit de la Rochelle 99 Sciences et Technologie 1 juillet 2005 QUI r Administration et installation du syst me B 2 Installation de OpenCV En ce qui concerne OpenCV je conseille de l installer partir des sources com press es dans un tar gz pour tre s r d avoir la bonne version Pour cela vous pouvez effectuer wget http ovh dl sourceforge net sourceforge opencvlibrary opencv 0 9 6 tar gz tar xvzf opencv 0 9 6 tar gz cd opencv 0 9 6 configure make su make install OH H a Apr s avoir fait configure v rifiez bien la fin que vous avez toutes les biblio th ques n cessaires hormis peut tre raw1394 ou dc1394 qui posent parfois probl
130. puler les structures de donn es suivantes Tableaux matrices et matrices creuses op rateurs associ s Op rateurs classiques de matrices inversion d terminant transpos e va leurs vecteurs propres distance de Mahalanobis Thttp www intel com research mrl research opencv overview htm Anthony HERBE Universit de la Rochelle 109 Sciences et Technologie 1 juillet 2005 La Biblioth que OpenCV d Intel E Piles files g n riques Listes denses et listes creuses Ensembles Graphes Arbres Mod les de Markov Cach s HMM 1D et 2D algorithme de Viterbi C 1 1 Utilisation de la biblioth que Avant toute manipulation il faut pouvoir charger en m moire une structure de donn es repr sentant l image sur laquelle on veut pouvoir appliquer des traitements Cr ation d image D claration et cr ation se font donc de la mani re suivante include lt cv h gt Ipllmage im im cvCreatelmage cvSize 512 256 IPL DEPTH_8U 3 Image 512 x 256 de unsigned char avec 3 canaux Remplissage codage par d faut BGR L initialisation ou l acc s aux pixels de l image s effectue de cette fa on pteur unsigned char im gt imageData fin im gt width im gt height for i 0 i lt fin i pteur 255 Bleu pteur 0 Vert pteur 0 Rouge On remarque que l acc s aux pixels
131. r es symbolisant les objets vivants qui sont manipul s par l application images et ses informations arbres XML diff rents types de connections etc En ce qui concerne la partie purement graphique de l application elle a t dis soci e du code PHP pur tant que cela tait possible par l utilisation d une feuille de styles CSS aussi rudimentaire soit elle et de templates qui pourront ainsi faci lement tre modifiables par un graphiste dans le but d am liorer l ergonomie de la plate forme 5 4 1 Utilisation des templates Un template est un anglicisme utilis en informatique pour d signer un mod le de conception de logiciel ou de pr sentation des donn es On parle aussi de patron comme en couture Un template est un moyen de s parer le fond le contenu informationnel de la forme la mani re dont il est pr sent Tr s utilis dans la conception de sites web un template agit comme un mod le dans lequel seuls certains l ments sont modifiables le contenu Cela facilite la concep tion et la mise jour des sites aussi bien sur le contenu que sur la pr sentation changer la charte graphique du site revient changer le template et cela met jour toutes les pages du site ajouter une page ne consiste plus qu en crire le contenu Cascading Styles Sheets Anthony HERBE Universit de la Rochelle 40 Sciences et Technologie 1 juillet 2005 M thodologie e
132. r production Afin de tester la proc dure de migration d un environnement de d veloppement bien rod par la p riode du stage il a t d cid d effectuer un premier passage de l application dans un environnement dit de pr production Ceci afin d viter de se retrouver dans une situation inconfortable et inattendue pouvant nuire aux don n es ou la configuration de l environnement de production Il m a t offert selon les diff rentes ventualit s d installer la totalit des l ments de la plate forme sur un serveur bi processeur qui servira terme uniquement de serveur de calculs Ce dernier s ex cutant sur une distribution Linux Red Hat Entreprise version 3 RHE3 il m a fallu d abord comprendre le fonctionnement de cette derni re n tant moi m me habitu qu des distributions grand public En effet la RHE3 tant d di e des machines de type serveurs celle ci ne b n ficie pas des paquets fichiers rpms auxquels j tais habitu Pour la bonne et simple raison que seul Red Hat est habilit maintenir des paquets officiels dits stables Pour effectuer une installation sur ce type de distribution il a fallu d abord souscrire des Anthony HERBE Universit de la Rochelle 83 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis listes de paquets disponibles via une interface dans un navigateur internet l ment totalement inhabituel dans l
133. r gt Toute donn e est ainsi encapsul e entre une balise ouvrante lt balise gt et une ba lise fermante lt balise gt Sachant qu une donn e peut ventuellement tre un ensemble d l ments XML Ainsi un l ment vide est uniquement constitu d une balise sp cifique dont la syntaxe est la suivante lt balise gt D autre part il est interdit en XML de faire chevaucher des balises c est dire d avoir une succession de balises du type lt balise1 gt lt balise2 gt lt balisel gt lt balise2 gt Autres perspectives au sein de XML Pr c demment XML a t pr sent comme un outil permettant de d finir un m talangage pouvant apporter des solutions dans un contexte pr cis On peut donc uti liser XML en d finissant selon nos propres besoins un langage permettant de d crire et organiser nos donn es dans le contexte de documents visuels comme les images Cependant avant de vouloir tout d finir il faut se demander si le probl me n a pas d j t pos dans la communaut informatique En effet la question est loin d tre nouvelle et un ensemble d acteurs travaille ac tuellement sur le sujet afin de d finir un standard tentant de r pondre un certain nombre de questions sur la description de contenu multim dia incluant les documents de type images 4 2 2 Norme MPEG 7 Actuellement aucun processus standard ne permet de retrouver la mani re des m
134. r les donn es semi structur es on traite le cas particulier de la mod lisation de donn es spatio temporelles et de leur interaction avec les donn es environnementales de donn es g o r f renc es dans un contexte mobile G nie Logiciel Architecture M thodes Mod les Outils Langages valua tion G LoAM MOL Mod lisation de comportements d agents et de leurs interactions dans un contexte de r partition et de mobilit V rification de leurs propri t s comportementales D finition de mod les et de m thodes pour valuer et contr ler la qualit de sp cifications et du logiciel Conception d architectures logicielles composants fiables et r utilisables Mod lisation de syst mes d informations d informations complexes et de leur transfert Probl matique Les objectifs de la th matique sont la conception de mod les de m thodes de langages et d outils pour repr senter analyser et mettre en uvre le comportement des syst mes complexes mobiles et volutifs Le point de vue du L i est de syst matiquement d velopper une approche g n rique dans chacun de ses secteurs d activit informatique mod lisation m thodologie proto types C est dire que les mod les les strat gies les m thodes et les outils sont con us dans le souci de permettre leur adaptation et leur r utilisation pour des cas d tude des domaines applicatifs et des contextes diff rents Un aut
135. re GED XML reprend la majeure partie des fonctionnalit s de SGML Il s agit donc d une simplification de SGML afin de le rendre utilisable sur le web 2eXtensible Markup Language que l on peut traduire par langage tendu balises ou langage exten sible balises 3Standard Generalized Markup Language Anthony HERBE Universit de la Rochelle 22 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information Les avantages de XML Voici les principaux atouts de XML La lisibilit aucune connaissance ne doit th oriquement tre n cessaire pour comprendre un contenu d un document XML Auto descriptif et extensible Une structure arborescente permettant de mod liser la majorit des probl mes Universalit et portabilit les diff rents jeux de caract res sont pris en compte D ployable il peut tre facilement distribu par n importe quel protocole m me de transporter du texte comme HTTP Int grabilit un document XML est utilisable par toute application pourvue d un parser 4 Extensibilit un document XML doit pouvoir tre utilisable dans tous les do maines d applications Ainsi XML est particuli rement adapt notre probl me puisqu il permet de conser ver la structure arborescente de nos donn es qu il permet de s int grer tout type d outils et d tre manipul au sein d une application web p
136. re de la Rochelle L3i du 7 f vrier au 7 juillet 2005 Le but de ce stage concernait la mise en place d une plate forme web d indexation et de recherche de documents picturaux dans le cadre du consortium M A D O N N E Ce rapport est donc compos de trois parties Le contexte du stage Les probl matiques de d veloppement de la plateforme La r alisation de la plateforme MOTS CLEFS Plateforme web reconnaissance des formes indexation d images signatures inter op rabilit XML Remerciements Je tiens tout d abord remercier mon ma tre de stage et tuteur Mr Jean Marc OGIER pour m avoir propos un sujet aussi int ressant et formateur et de m avoir guid dans mon travail tout en me laissant un maximum de libert s et d initiatives Je tiens encore le remercier pour toutes les d marches administratives concernant l obtention de mes outils de travail pr t de portable etc Je tiens galement remercier Aymeric BLONDEL pour m avoir paul dans la mise en place de l environnement de d veloppement de test et de production Phi lippe HARRAND pour tous ses conseils concernant mes diff rents soucis sous Unix Surapong UTTAMA Mouhamed HAMMOUD Manuel BARRAUD et tous ceux que j aurais pu oublier pour leurs conseils et suggestions durant la dur e de mon stage Enfin je remercie ma compagne qui m a soutenu et support durant toute cette p riode ainsi que ma famille pour m avoir pe
137. re point de vue syst matique ment adopt est de chercher garantir la qualit des m thodes analyses adopt es ainsi que des produits logiciels fournis Cela passe par un souci de sp cification et de docu mentation pr cises des domaines des besoins des m thodes et des solutions logicielles Cette sp cification permet de valider et v rifier par le test et le raisonnement formel les applications mises en uvre dans les prototypes Elle r pond galement la volont mentionn e plus haut de travailler sur des solutions g n riques r utilisables Anthony HERBE Universit de la Rochelle 7 Sciences et Technologie 1 juillet 2005 Pr sentation du Lai Les activit s de recherche sont organis es en trois classes de pr occupations compl mentaires Mod lisation et conception Int gration de mod les mod les de comportements d finition et validation de composants automatisation de production de code ou de mod les interm diaires mod lisation base de syst mes multi agents mod les de donn es pour les syst mes de visualisation d informations spatiales embarqu es mod lisation des syst mes d informations g o r f renc es D marche de conception Travaux sur la coh rence m trique des mod les pro duits et sur la m thodologie de production crit res m triques et strat gie qua lit Production d outils th oriques et cadre m thodologique treillis de Galois et ordres partiels
138. result db gt xquery query or die db gt getError hits result HITS queryTime result QUERY_TIME collections result COLLECTIONS print lt br gt nfound hits hits in queryTime ms n XQuery Result print lt p gt lt b gt Result of the XQuery lt b gt lt p gt print lt pre gt print htmlspecialchars implode result XML print implode result XML print lt pre gt db gt disconnect gt Anthony HERBE Universit de la Rochelle 70 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis imaz Le script PHP ci dessus permet de se connecter la base eXist et d afficher l in t gralit des sous arbres VisualDescriptor de la for t On peut effectuer une analogie avec le fonction d une requ te SQL comme SELECT FROM On peut donc tr s fa cilement s lectionner n importe quel sous arbre dans l ensemble de la for t De plus comme avec le langage SQL la clause WHERE permet de filtrer les noeuds rendus par la clause FOR Le contenu de la clause WHERE doit tre bool en Par exemple si on d sire r cup rer l ensemble des valeurs du descripteur Zernike de toutes les images de la base il faudra proc der ainsi FOR signatures in VisualDescriptor WHERE signatures type Zernike RETURN S signatures value Cependant beaucoup de temps a t perdu sur la compr hen
139. riations d une m me image 14 3 5 Exemple de subjectivit de la recherche picturale 15 3 6 Exemple de contr le de pertinence Relevant Feedback 16 3 7 Exemple de recherche dans une base d images 17 3 8 Exemple de graphe des informations d une image 18 4 1 Exemple d extraction d informations utilis es dans le MPEG 7 26 4 2 Solution Web compl te propos e par Microsoft 29 4 3 LAMP Solution Web compl te et Open Source 30 44 Diagramme des cas d utilisation de la plate forme web 31 45 Maquette de la page de recherche de l application 32 4 6 Sch ma de r partition des calculs avec serveur interm diaire 34 4 7 Sch ma d ex cution d un calcul dans l application 35 4 8 Standard de d veloppement de plugins Calcul de descripteur 36 5 1 Exemple d affichage r sultant d une requ te de recherche d images 42 5 2 Arborescence de l application ss een dre ohae ne es Dre tune 44 5 3 M thode de reconnaissance de formes par sondes circulaires 49 5 4 Le Minimum Spanning Tree MST par rapport au Shortest Path Tree C DRIC nan nue done 50 5 5 Cha ne compl te du calcul effectu par le plugin MST 51 5 6 Exemple de r sultats obtenus lors de la recherche de similarit d une image au sein de la base naaa aaa dE ARE 53 5 7 Page relative l in
140. rmis de faire cette derni re ann e d tudes Anthony HERBE Universit de la Rochelle i Sciences et Technologie 1 juillet 2005 Table des mati res Liste des illustrations Sa ua em aie sen RAR Nues v Liste des tablet a cade ae RSR RER e eaa Dan e i a A vii Liste des codes sources 52 ru es ue Gr ASS ann ER Es viii Introduction vee anipe te aa e de ar RS a a e 1 I Contexte du stage 2 T Pr sentation du L3i o ae ee o e Nes a ia a a don E E E 3 LL Some ner n es te te o E ets Mans h y 3 T2 Sa structuration sey sss iane NT nt este ans de SAR SL eus 4 1 3 Ses th matiques scientifiques eue sem Faust 5 2 S jetetobjectifs arvien le de E Da E E Sn A E 9 2 1 Pr sentation du contexte aooaa a 9 2 11 Masse de donn es issues de la num risation du patrimoine 9 2 2 Pr sentation du projet oaoa ee te deu one 4e nu 10 3 Les probl matiques d indexation et de recherche d informations sur des images dans une plate forme Web 11 3 1 Recherche et traitements d informations 11 3 1 1 La notion de signatures et ss 45 on ns e te seu d ariiis 13 3 1 2 Combinaison d signatures 430 est ee a aie 14 3 2 Indexation de l information 4444 44 sua sn pause ma ta 16 3 3 Besoins et contraintes du fonctionnement de la plate forme 18 3 3 1 Utilisateurs de l application das 4 une at seu 0 18 919 2 S CUTIL 4 Let Bis aa a a M mue dos de me er audi db E EE que 19
141. s je devais pouvoir Installer des applications biblioth ques et autres outils Acc s la configuration des syst mes sur lesquels l application interviendrait Installer et configurer des d mons etc Pour des raisons de s curit et de logique il tait impensable d effectuer de telles actions sur un environnement de production ni de poss der de tels droits sur le r seau du laboratoire Je devais donc cr er un environnement similaire dit de d veloppe ment sur une machine locale coup e du r seau Une solution envisageable tait d effectuer la demande d un ordinateur qui serait en permanence disponible totalement coup du r seau de recherche et o les droits d administrateur m taient octroy s N anmoins aucun poste fixe ne r pondait tous ces crit res Ne voulant pas perdre trop de temps effectuer des d marches administratives qui ralentiraient l avanc e de mon stage et poss dant personnellement un ordinateur portable sous environnement Linux Fedora Core 3 sur lequel des droits d administra teur me sont octroy s je me suis d cid l utiliser dans le cadre du projet Conform ment l tude qui a t faite pr c demment cf Sous partie 4 3 1 page 28 sur les diff rentes solutions web j ai donc install et configur la plate forme LAMP Manuel d installation cf Annexe B 3 page 101 et ai commenc le d velop pement de quelques pages en PHP en m inspirant de certaines
142. s les carts angulaires existants entre les points d entr e et de sortie de la forme tude rapide de l existant A la lecture du rapport de M Di Carlo il s est av r que la partie interface utili sateur et l aspect traitement avaient d j t scind s en deux groupes Il suffisait donc en th orie de cr er une interface l g re de type ligne de commande pour pouvoir rendre chaque traitement ind pendant Cependant apr s avoir perdu beaucoup de temps rendre le code compilable sous Linux avec GCC erreurs de compilation nombreuses dues la structure un peu d sordonn e des fichiers sources et des standards de pro grammation non respect s peut tre dus au d veloppement effectu sous Microsoft Visual Studio nous nous sommes rendus compte d une premi re difficult Le carac t re restrictif concernant les formats d entr e et de sortie des fichiers images En effet les seuls formats d entr e accept s sont le BMP le PGM le PCX et en sortie le BMP PBM et PPM ce qui ne correspondait pas nos attentes Il a donc t d cid de r crire une partie du code afin d utiliser la biblioth que OpenCV qui propose plus de possibilit s de formats d importation et d exportation Migration Le programme de Di Carlo tant bas sur la classe centrale Clmage il suffisait donc de la r crire compl tement et de la renommer afin d viter un conflit avec une classe existante du m me nom dans OpenCV en d veloppant
143. s besoins sp cifiques La plate forme LAMP A US FIG 4 3 LAMP Solution Web compl te et Open Source LAMP est un nom usuel pour d signer les plates formes combinant le syst me d exploitation GNU Linux serveur Web Apache syst me de bases de donn es MySQL et bien s r PHP Python ou Perl Par extension sous environnement Windows on parlera de plate forme WAMP Trois WAMP int gr s particuli rement connus sont EasyPHP Xampp et WAMP55 Avantages des technologies Open Source L utilisation des technologies Open Source conf re ses utilisateurs de nombreux avantages Stabilit et robustesse Inter op rabilit des logiciels Assistance et support d une communaut de plusieurs milliers de d veloppeurs Code source disponible Conformit aux normes et standards Adapt des environnements productifs industriels Performance et fiabilit 4 3 2 Besoins en terme d interface Cette application doit tre utilisable par un ensemble assez large d utilisateurs cf Sous partie 3 3 1 page 18 et doit ainsi tre assez simple et agr able d utilisation Il faut donc simplifier au maximum le nombre d interventions en terme d actions sur l interface ainsi que le nombre de param tres saisir ou modifier Anthony HERBE Universit de la Rochelle 30 Sciences et Technologie 1 juillet 2005 Li G n ration manipulation et visualisation de l infor
144. s rw sync Cela signifie que l on autorisera uniquement la machine indus acc der tout ces r pertoires en lecture et criture rw etc hosts deny On va interdire toutes les machines qui ne sont pas autoris es explicitement dans le etc hosts allow Un bon vieux ALL ALL interdira l acc s tous les services partir de toutes les machines On peut cependant tre plus pr cis en crivant portmap ALL lockd ALL mountd ALL rquotad ALL statd ALL etc hosts allow Dans le m me esprit que pour le etc hosts deny ce fichier a l architecture suivante service IP de la machine client Donc pour autoriser moca se connecter un partage NFS on crira portmap moca lockd moca mountd moca Anthony HERBE Universit de la Rochelle 103 Sciences et Technologie 1 juillet 2005 Administration et installation du syst me ts rquotad moca statd moca On va pouvoir lancer les services sbin service nfs start La commande rpcinfo p permet de v rifier que les services fonctionnent Elle devrait produire un r sultat dans cet esprit rpcinfo p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 737 status 100024 1 tcp 739 status 100011 1 udp 851 rquotad 100011 2 udp 851 rquotad 100003 2 udp 2049 nfs 100003 2 tcp 2049 nfs 100005 1 udp 872 mountd 100005 2 udp 872 mou
145. se en oeuvre C est pourquoi nous lui pr f rerons XML RPC qui r pond totalement nos besoins malgr sa simplicit d impl menta tion et ses quelques lacunes Pas normalis sous un organisme neutre IETF W3C etc ce qui est un handicap pour tre utilis comme base pour d autres protocoles normalis s 5 8 1 La technologie XML RPC Issue de la soci t Userland Software Avril 1998 la technologie XML RPC re pose comme son nom l indique sur XML Extensible Markup Language et sur le protocole RPC Remote Procedure Calling Tandis qu XML apporte l ind pendance vis vis de la plate forme d ex cution RPC apporte la possibilit d effectuer des ap pels de proc dures via internet Gr ce l utilisation de la technologie XML RPC il est ainsi possible diff rentes applications de dialoguer entre elles sans se soucier des syst mes sur lesquels elles fonctionnent ni m me du langage dans lequel elles ont t crites En effet il existe de nombreuses impl mentations de cette technologie PHP mais aussi Perl Python C C Java Net Ruby Rebol Cold Fusion La liste est longue Fonctionnement Notre application tant crite en PHP une biblioth que XML RPC crite dans ce langage a t utilis e Voici donc le fonctionnement de cette biblioth que XML RPC un dialogue client serveur Nous allons diss quer le code d un client Php mais pour nous connecter sur quel serveur
146. sertion de plugins 55 5 8 Page relative l insertion d images 55 5 9 Applet permettant la modification en ligne de l image de r f rence 57 5 10 Sch ma LDAP de la plateforme rss sur mener sent 59 5 11 Barre de navigation de PhpLDAPadmin 61 5 12 Edition d une entr e de l annuaire dans phpLDAPadmin 61 5 13 Capture de la page d identification sur la plate forme 66 5 14 Capture de la page du menu principal de la plate forme 66 5 15 Sch ma du fonctionnement g n rale de la plate forme 81 5 16 R partition des diff rents l ments de la plate forme sur les serveurs 82 5 17 Ensemble des modules n cessaires Apache pour le fonctionnement de l pl tezforme LS LAS e Re E ETE E PT net ee 83 A 1 Page d accueil de la plate forme 4443 sinus nus aus 91 Anthony HERBE Universit de la Rochelle v LISTE DES ILLUSTRATIONS k2 A 2 Erreur d identification 92 A3 Menu principal de la plate forme 92 A 4 Menu d insertion d images 44 bus bye ba us ue Re 93 A 5 Menu d insertion de plugins 4 44 dy dues abb eue Roi 93 A 6 Menu de s lection de l image de r f rence 94 A7 R sultat de la recherche d images sus purs an er Lee 44 ea 95 A 8 Edition de l image de r f rence 344444 rues dune des 96 A9 Information d taill e d une image
147. sion de l installation et la configuration de eXist mise en place d un serveur Tomcat n cessaire N ayant pu trouv faute encore de temps comment ins rer des l ments dans la base eXist et n ayant pu pousser trop la recherche toujours faute de temps l impl mentation de la solution base d eXist a t stopp e 5 7 3 Comparaison des arbres XML Pour obtenir une mesure de similarit entre une image et une autre il faut calcu ler la distance entre chaque signature commune au deux images Concr tement en utilisant les donn es XML cela revient 1 Parcourir l arbre XML de chaque image et selectionner le plus petit sous ensemble commun de descripteur 2 Comparer un un chacun des noeuds de chaque sous ensemble et effectuer une distance locale 3 Puis calculer la distance globale partir des distances locales Cependant si on laisse l algorithme de calcul tel quel on ne tient pas compte de l influence que peuvent prendre certains descripteurs par rapport d autres Il est donc n cessaire de pond rer chaque distance locale avec un poids Le calcul de la distance globale qui a t impl ment e est la distance pond r e suivante n Local_Dist S oy V k 0 D o pi Local_Dist Re Pi Global_Dist o les va respectivement vp correspondent aux diff rentes valeurs d crivant le descripteur k pour l image a respectivement b Anthony HERBE Universit
148. sold Smooth Sharpen Find Edges Ado Moise FIG A 8 Edition de l image de r f rence Sinon des informations suppl mentaires autres que l affichage des distances glo bales et locales peuvent tre affich es en cliquant simplement sur l image d sir e Magdonne 546 61 751 83 260 18 Vinet 4436 FIG A 9 Information d taill e d une image Anthony HERBE Universit de la Rochelle 96 Sciences et Technologie 1 juillet 2005 Manuel d utilisation de la plate forme Web Madonne roz Enfin l utilisateur peut relancer la recherche partir de la m me image mais avec des param tres de recherche diff rents sans pour autant avoir res lectionner l image A 2 1 Remarques diverses Il peut arriver que la plate forme s ternise sur une recherche cela est du la sur charge du serveur de calculs qui est monopolis ce moment pr cis par des calculs demandant beaucoup de ressources Anthony HERBE Universit de la Rochelle 97 Sciences et Technologie 1 juillet 2005 Annexe B Administration et installation du syst me Ce chapitre a pour but de faciliter l administration la maintenance et la mise en place de la plate forme puisqu il est en quelque sorte un journal de bord retra ant mon exp rience dans ce domaine dans le cadre de ce projet B 1 Des commandes utiles Afin de savoir ce qui doit tre n cessairement install sur une machine il faut pouvoir r cup rer l
149. t enfin son visage On observe nettement que nous avons une imbri cation d l ments sign s Il peut donc exister une relation de hi rarchie entre les l ments de l image que l on peut repr senter par un graphe et plus pr cis ment un arbre Voil pourquoi il est v ritablement pertinent de conserver cette information en plus des signatures calcul es Image Fes D 0 Resolution Date Format Nature Elements r Y 5 A JPEG Evenement Sportif Joueuse Beach Volley Ballon Plage T T y Y 4 Tete Corps Beach Volley Multicolor i k P y 5 m Visage Cheveux Membres Tenue Peau i gt A x SON ya ya Yeux Bouche Oreilles Blond Long Jambes Bras Maillot Lunettes Texture Bronzee li A V Y y 4 Bleu Ecartement moyen 2 Pieces Bleu clair Soleil Noir FIG 3 8 Exemple de graphe des informations d une image Il en r sulte alors un ensemble de probl matiques comme la construction de ces arbres d informations et leurs manipulations 3 3 Besoins et contraintes du fonctionnement de la plate forme Comme nonc dans la pr sentation du sujet l application permettant d effectuer la recherche et l indexation des images doit tre une application de type plate forme Web ceci afin d obtenir une plate forme simple d utilisation et utilisable depuis n im porte o sur le r seau avec un navigateur internet 3 3 1 Utilisateurs de l application Comme il a t pr cis dans le sujet l application devra pouv
150. t plus rapide moins d intervention de la souris de cr er nos en tr es partir d un fichier qui les regroupe tous Le chargement dans phpLDAPadmin s effectue gr ce au format standard de LDAP le format LDIF Le Format LDIF LDAP Data Interchange Format LDIF est le standard de repr sentation des en tr es sous format texte Il est utilis pour ins rer afficher ou modifier les donn es de l annuaire Le format utilis est l ASCII Toute valeur d attribut ou tout DN qui n est pas ASCII est cod e en base 64 La forme g n rale est la suivante Anthony HERBE Universit de la Rochelle 61 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis iaz dn lt distinguished name gt objectClass lt object class gt objectClass lt object class gt 1 attribute type lt attribute value gt attribute type lt attribute value gt EPEN Nous avons donc import le fichier LDIF suivant Source 5 2 Fichier LDIF repr sentant l annuaire et ses l ments dn de my domain dc com dc my domain o my domain com objectClass top objectClass dcObject objectClass organization dn cn Anthony HERBE de my domain dc com cn Anthony HERBE givenName Anthony sn aherbe o Labo de La Rochelle l La Rochelle telephoneNumber 0606060606 mail anthony herbe etudiant univ lr fr uid anthony herbe etudiant univ lr fr title Administrateur
151. t travail r alis Les templates dans le code de la plate forme En ce qui concerne l impl mentation des templates la classe Template de la biblio th que PHPLib a t utilis e Cette classe peut tre extraite de l ensemble de la bi blioth que puisqu elle est cod e dans un simple fichier templates inc Ainsi il suffit de l inclure dans chaque script o l on d sire utiliser les templates via la commande require_once path templates inc ou une commande similaire Lors de l utilisation des templates il faut donc construire des mod les fichiers TPL qui serviront la g n ration des fichiers HTML affich s dans le navigateur Sch matiquement ces fichiers contiennent des balises HTML traditionnelles ainsi que des balises sp ciales entre accolades ou sous forme de commentaires HTML sp ciaux lt gt En fait ces balises font office de variables dont les valeurs seront pr cis es dans les scripts PHP Le fonctionnement est des plus simple 1 On instancie un objet de la classe Template en lui passant comme param tre le chemin du r pertoire contenant les mod les 2 On pr cise ensuite via la m thode set_file le fichier du mod le que l on va utiliser 3 On affecte chaque variable utile du mod le une valeur via la m thode set_var 4 On lance l analyse permettant de remplacer les balises par leurs valeurs dans le futur code HTML par le biais de la m thode parse 5 Une fois tout ceci term
152. ter avec le travail de ceux ci elle devra garantir la possibilit d int grer facile ment diff rents modules externes dont l objet est le calcul d un ou plusieurs descrip teurs Une m thodologie en r ponse ses attentes sera alors tablir 3 3 5 D ploiement et portabilit Le syst me devra pouvoir s installer facilement et tre utilisable sur un maximum de plate formes que ce soit au niveau de l utilisateur ou encore au niveau de l admi nistrateur du syst me Des mesures devront donc tre prises d s le d part du d ve loppement afin que ces contraintes soient prises en compte 3 3 6 Contraintes d une plate forme web Le d veloppement d applications bas es sur une architecture de type application web engendre bien souvent des contraintes d ordre technique Il est donc essentiel de les d nombrer et d effectuer des choix sur les compromis qu elles engendreront Anthony HERBE Universit de la Rochelle 19 Sciences et Technologie 1 juillet 2005 Deuxi me partie tude des probl matiques de d veloppement de la plateforme Anthony HERBE Universit de la Rochelle Sciences et Technologie 1 juillet 2005 20 Chapitre 4 G n ration manipulation et visualisation de l information 41 De l image l information utile Nous avons vu pr c demment cf Sous Partie 3 1 page 11 la grande quantit d informations que l on peut extraire d une image Certaines sont subjectives et
153. tho dologie les choix effectu s les r sultats obtenus leur analyse et les perspectives envisageables Ce rapport produit avec TEX2 a t compil le 1 juillet 2005 Anthony HERBE Universit de la Rochelle 1 Sciences et Technologie 1 juillet 2005 Premi re partie Contexte du stage Anthony HERBE Universit de la Rochelle Sciences et Technologie 1 juillet 2005 Chapitre 1 Pr sentation du Lai 1 1 Sonhistoire Le laboratoire L3i est reconnu par le Minist re de la Recherche comme quipe d accueil EA2118 depuis 1997 Il regroupe d sormais une quarantaine d enseignant chercheurs dont 12 habilit s diriger des recherches essentiellement issus de la communaut informatique section 27 du CNU et g nie informatique section 61 de l Universit de La Rochelle Au premier janvier 2003 18 doctorants y sont inscrits Le laboratoire a chang de nom d Informatique et Imagerie Industrielle il s est tourn vers Informatique Image Interaction Il se positionne donc beaucoup plus sur une image facteur d interactions que sur les aspects technologiques asso ci s une informatique industrielle Cette orientation a t motiv e par une volont d aborder de la mani re la plus coh rente compl te et fondamentale les diff rentes facettes de chaque contexte applicatif auquel le laboratoire est confront En particu lier l ouverture du laboratoire aux autres domaines disciplina
154. thony HERBE Universit de la Rochelle 32 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information ke ment la cr ation informatique d utilisateurs 4 3 4 Vivacit de la plate forme Des besoins de r activit concernant l application ont t exprim s cf Sous partie 3 3 3 page 19 afin de rendre l application utilisable et conviviale dans un navigateur internet Cela n est en g n ral pas un souci pour la plupart des applications web sauf lorsqu il s agit d effectuer des calculs lourds comme c est ici le cas calcul de descrip teurs sur une ou plusieurs images Il existe diff rentes approches possibles et combi nables pour r soudre ce probl me Utiliser une machine suffisamment puissante pour effectuer rapidement tous les calculs demand s tudes des besoins en terme de puissance de calcul et en terme de m moire n cessaire S parer les diff rentes parties de l application calcul d un c t et le reste de l autre sur des machines distinctes Utilisation d un serveur web ET d un ser veur de calcul Diviser le calcul sur plusieurs machines afin de r partir la charge etc La premi re solution n est videmment pas une des meilleures puisqu il est diffi cile d valuer la puissance et la m moire demand es d autant plus que si les besoins tendent voluer la solution devient co teuse puisqu il est ensuite n cessaire d am
155. tituant un do cument XML est rencontr e Le second quant lui s appuie sur la repr sentation arborescente du document Chaque noeud de l arbre est un objet dot de m thodes propres au type de noeud et de pointeurs vers le ou les sous arbres le p re du noeud les attributs etc Dans notre cas l utilisation d un parseur de type DOM est donc plus appropri pour cr er diter et effectuer des requ tes sur un document XML Pour cela nous avons utilis le module DOMXML pour PHP afin de manipuler nos documents en regard une API bien fournie ex cution de requ te XPath sauvegarde de documents transformation d un fichier XML en un tableau PHP etc et une impl mentation simplifi e Cependant il faut noter que ce module est EXPERIMENTAL Cela signifie que le comportement de certaines fonctions et leurs noms peuvent changer dans le temps cela en vue de l volution de la biblioth que qui tente de se rapprocher de plus en plus de la norme DOM N anmoins les fonctions pouvant poser probl mes sont list es comme tant deprecated et des fonctions alternatives sont propos es quand cela est possible Il suffit donc de bien prendre garde ne pas les utiliser 5 7 1 De l image au document XML Une fois les descripteurs de l image calcul s par les plugins cf Partie 5 5 page 46 il faut pouvoir stocker cette information en vue de la r utiliser ult rieurement pour la recherche de similarit s Nous proc dons al
156. tives Le dynamisme des chercheurs est aussi un atout pr pond rant dans la r ussite de ce mode de fonctionnement Enfin ce mode de fonctionnement bas sur l interaction entre chercheurs facilite l ouverture vers des partenaires ext rieurs au laboratoire 13 Ses th matiques scientifiques Image et s quences d Images ISI D tection et suivi d objets sur des s quences d images tude et mod lisation de d formations Restauration et extraction de l information Reconstruction production et suivi de trajectoires Interaction et planification de s quences de traitement d images Probl matique La finalit de cette th matique s inscrit dans la probl matique du trai tement de l information restreint aux composantes Traitement du Signal Traitement de l Image Reconnaissance des Formes Mod lisation et Conception d algorithmes La th matique est par ce fait en parfaite coh rence avec les deux autres th matiques du laboratoire De mani re conjointe avec celles ci les travaux ont pour finalit d ap Anthony HERBE Universit de la Rochelle 5 Sciences et Technologie 1 juillet 2005 Pr sentation du Lai i porter des solutions originales et robustes sur le plan algorithmique l information pertinente extraite est combin e dans l intention 1 de fabriquer des param tres sur diff rents niveaux s mantiques permettant des techniques de d cision multi composantes
157. tte U E lUnit d enseignement suivie au premier semestre du Master 2 IMA et dirig e par Jean Marc OGIER Anthony HERBE Universit de la Rochelle 38 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis ies r pertorier les outils documentations et autres pointeurs utilis s par les tu diants Une fois ce travail pr alable effectu l tude des probl matiques cf Chapitre 3 page 11 a donc t compl t e ou revue puis le projet a donc t d coup un peu la mani re de Vision 2 en quatre grands domaines qui seront d velopp s par la suite D veloppement de l interface utilisateur cf Partie 5 4 page 40 D veloppement et interfa age de modules de calcul de descripteurs cf Partie 5 5 page 46 D veloppement de la base de donn es cf Partie 5 7 page 68 D veloppement de la couche r seau et s curit cf Partie 5 8 page 72 N anmoins il s est rapidement av r qu une cinqui me partie qui devait tre seulement anodine repr sente une charge de travail consid rable Administration syst me Installation configuration d ploiement test et main tenance cf Annexe B page 98 5 3 Pr paration de l environnement de travail Pour pouvoir d velopper correctement l application il tait n cessaire de poss der des droits diff rents de ceux de simples utilisateurs En effet pour pouvoir travailler dans de bonnes condition
158. uarium s quences de mouvements dans s ima gerie biom dicale et ou sur des contextes de syst mes d informations documen taires patrimoine SIG Le triplet restauration extraction d information et d tec tion d objets se situe r solument au c ur de l activit th matique dans un contexte de caract risation et d interpr tation du mouvement des d formations et des relations spatio temporelles des objets Mod lisation Analyse Traitement Recherche d Informations Complexes et volutives MATRICE Classification robuste Fusion de donn es des niveaux d abstraction et de structuration variables Mod lisation pour l analyse de donn es spatio temporelles Mod lisation pour une repr sentation multi r solution des donn es spatiales g or f renc es Probl matiques Un des objectifs de cette th matique scientifique est de contribuer au d veloppement de syst mes de transformation et de structuration d informations complexes volutives Les donn es d entr e de ces syst mes peuvent tre de niveaux de structuration variables du faiblement structur la base de donn es tre nu m riques et ou symboliques et surtout concernent des processus volutifs pour le quel l aspect temporel n cessite d tre mod lis aspect dynamique de la mise jour des donn es Tous les l ments de la cha ne sont int gr s dans ces syst mes depuis l analyse des donn es jusqu leur pr
159. ue PHP puisse le manipuler des types classiques Anthony HERBE Universit de la Rochelle 76 Sciences et Technologie 1 juillet 2005 Be N e O 9 NN OO UT A ON e QUI r M thodologie et travail r alis real_values php_xmlrpc_decode xmlircp_obj 5 8 2 Impl mentation de XML RPC dans la plate forme Madonne Afin de rendre le code source plus modulaire et r utilisable une classe PHP du nom de my_xmlrpc_client a t cr e par mes soins encapsulant l ensemble des fonc tions du client XML RPC Voici le code qui lui est associ Source 5 6 Client XML RPC crit en PHP lt php if eregi xmilrpc_client php SERVER PHP_SELF die require_once xmlrpc inc Client XMI RFC Classe permettant l envoi et la r ception de messages provenant d un serveur XMI RPC class my_xmirpc_client var client var debug_mode function my_xmlirpc_client path host localhost port 80 debug_mode 0 Make an object to represent our server this gt client new xmlrpc_client path host port B n ficier du mode debug this gt client gt setDebug debug_mode this gt debug_mode debug_mode function sendmsg function params if lis_string function die Le nom de fonction doit tre une cha ne de caract res Send a message to the server message new xmlrpcmsg function array php_xmlrpc
160. uement par un ensemble de fichiers sur disque On d nombre actuellement plusieurs types de bases de donn es Les bases de donn es dites plates Les donn es sont stock es dans un fichier ou chaque ligne repr sente un l ment n uplet de la base Les bases de donn es hi rarchiques Les donn es sont structur es dans des hi rarchies comparables l organisation des r pertoires sur un ordinateur Les bases de donn es r seaux extension du mod le hi rarchique Les bases de donn es relationnelles des donn es h t rog nes sont stock es dans des tables permettant d tablir des relations entre elles Les bases de donn es orient es objet dans une telle organisation les donn es sont repr sent es sous forme d objets Ceux ci contiennent les donn es qui les d crivent et qui repr sentent leur tat Les bases de donn es semi structur es ex bases XML Anthony HERBE Universit de la Rochelle 27 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information ke Le choix du corpus implique bien videment des cons quences sur le syst me qui sera utilis pour le manipuler savoir le SGBD ou syst me de gestion de base de donn es Le dilemme entre le relationnel et le XML pur Nous avons tabli pr c demment cf Sous partie 4 2 2 page 27 la m thode selon laquelle seront organis es nos informations r
161. uisque distribuable par le protocole HTTP Fonctionnement de XML La norme XML en tant que telle doit tre vue comme un outil permettant de d finir un langage on dit alors qu il s agit d un m talangage permettant de cr er des documents structur s l aide de balises Une balise est une cha ne de caract res du type lt balise gt Ainsi un document XML cr en suivant les sp cifications de la norme XML pourra par exemple ressembler ceci lt image gt lt file gt lt filename gt french_country lt filename gt lt filetype gt JPEG lt filetype gt lt filesize gt 20480 lt filesize gt lt file gt lt metadata gt lt creation_date gt 20050123 lt creation_date gt lt creator gt John Smith lt creator gt lt type gt landscape lt type gt lt metadata gt lt image gt La syntaxe des l ments en XML L arbre des l ments c est dire le v ritable contenu du document XML est consti tu d une hi rarchie de balises comportant ventuellement des attributs c est dire un logiciel permettant d analyser un code XML Anthony HERBE Universit de la Rochelle 23 Sciences et Technologie 1 juillet 2005 G n ration manipulation et visualisation de l information ke Un attribut est une paire cl valeur crit sous la forme Cl Valeur ainsi une balise affect e d un attribut aura la syntaxe suivante lt balise cl valeu
162. un wrapper bas sur la struc ture de donn es Ipllmage de OpenCV qui contient toutes les informations de l image Bien qu ayant r crit une grande partie du code de cette classe le r sultat n a pas t un succ s puisque le code source bien que ce compilant correctement continue de s ex cuter anormalement r sultats des traitements incoh rents fuite de m moire Anthony HERBE Universit de la Rochelle 49 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis etc Le choix d abandonner la migration a donc t fait pour ne pas perdre inutile ment de temps sur le d bogage de la biblioth que de Di Carlo Int gration d un plugin bas sur le Minimum Spanning Tree Dans le m me contexte que celui du d veloppement la plate forme Madonne une partie du travail de Mouhammed Hammoud a consist d velopper un programme permettant de calculer le MST sur une image ayant subi en amont un pr traitement Mon r le tant ensuite de pouvoir int grer ce calcul au sein d un plugin utilisable dans la plate forme L int r t d utiliser le MST comme descripteur est qu il permet de d crire l organi sation globale des l ments composant l image L organisation d une image est de ce fait invariante la rotation et la translation Et il suffit d effectuer une normalisation pour qu elle soit invariante au changement d chelle Bref rappel concernant le MST Le probl me de
163. ure sp cifi es l avance At qui est galement le nom d un programme UNIX permettant de d finir des t ches ex cuter une heure pr cise Il suffirait donc d interfacer ces programmes avec des scripts PHP plut t que d ex cuter les calculs en temps r el Cependant faute de temps cette fonctionnalit n a pu tre d velopp e Alt ration ou modification de l image de r f rence depuis le navigateur Une autre fonctionnalit int ressante est l alt ration en ligne depuis le navigateur internet de l image de r f rence de la recherche Afin par exemple d observer ce que pourrait donner les r sultats de la recherche si une partie de l image seulement tait Anthony HERBE Universit de la Rochelle 56 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis source de la requ te ou bien encore si l image tait l g rement bruit e L impl mentation de cette fonctionnalit est un probl me complexe puisqu il sou ligne le fait que l application poss de deux fonctionnements Ce qui s ex cute du c t client sur le navigateur Ce qui s ex cute du c t serveur sur le serveur web La nature de la requ te ayant source chez le client on peut donc envisager deux approches Ex cuter les calculs d alt rations de l image c t client via une applet et envoyer le r sultat au serveur afin que celui ci puisse recalculer les valeurs des descrip t
164. ures associ es aux m thodes du serveur En effet chaque signature renseigne sur le nombre et le type des param tres de chaque m thode ainsi que le type de valeur retourn e Ainsi si une signature a t d finie le serveur effectue une v rification l appel de la m thode concern e exec_cmd_sig array array xmlrpcArray xmlrpcString function exec_cmd m return new xmlrpcresp new xmlrpcval result array server new xmlrpc_server array execute gt array function gt exec cmd signature gt exec cmd_sig 2 Tout comme pour notre client une classe XML RPC a t d velopp e en surcouche de celle fournie par la biblioth que afin de faciliter toutes modifications ult rieures de l impl mentation du code Voici donc le code PHP associ cette classe Source 5 7 Serveur XML RPC crit en PHP lt php require_once xmlrpc inc require_once xmlrpcs inc EXIT_SUCCESS 0 EXIT_FAILURE 1 exec_cmd_sig array array xmirpcArray xmlrpcString exec_cmd_doc Execute a command line in a shell Accepts a string and return the result of the command line Anthony HERBE Universit de la Rochelle 79 Sciences et Technologie 1 juillet 2005 oo NoU Be ND Oh vw N N N N U N e 24 M thodologie et travail r alis function exec_cmd m global EXIT_FAILURE xmirpcval m gt getParam 0
165. utilis e Le code source en est d autant plus simplifi Voici un extrait du code source situ dans le fichier index php faisant office de page d accueil et de page d identification Source 5 4 Source de la proc dure d identification ldap new LDAP if lempty login if ldap login login passwd _ SESSION auth true print_login_success Anthony HERBE Universit de la Rochelle 65 Sciences et Technologie 1 juillet 2005 M thodologie et travail r alis else print_login failure Comme on peut le voir dans l extrait ci dessus si l identification est un succ s une variable de session est positionn e permettant de m moriser l authentification r ussie durant toute la dur e de la navigation sur la plate forme Madonne Bim dr passe cab Sinswtse identan Mo de Passe CPE CERN FIG 5 13 Capture de la page d identification sur la plate forme Pour que l authentification soit un succ s une fois la pr sence du serveur LD AP assur e le programme va s y connecter en mode super utilisateur et rechercher la pr sence d un utilisateur ayant comme identifiant celui pr cis dans le formulaire de connexion Dans le cas o il est trouv il v rifie la pr sence et la validit du mot de passe indiqu Si tout est correcte l authentification est assur e et l utilisateur arrive sur la page de menu de l application Sinon il obtient
166. vail r alis mst new MST img string basename argv 0 mst gt savetoFile string argv 1 Comme l illustre cet extrait du code source du fichier MST cpp on construit un tableau de 3 IplImage repr sentant chaque couche partir du nom du fichier d origine On fournit ensuite ce tableau la fonction de calcul de MST L architecture d origine est donc conserv e savoir une image sans pr traitement en entr e un fichier texte en sortie Cette astuce a bien videmment quelques inconv nients mais reste priori un bon compromis en attendant une cha ne de traitement moins supervis e 5 5 3 Interactions entre plugins et images Madonne 1 Charger un ou plusieurs plugins S lectionner un fichier Parcourir 2 Valider les choix Ou Entrer le chemin d un r pertoire Ins rer le s plugin s du serveur accessible depuis l ext rieur Attention le temps de chargement d pend du nombre de fichiers contenus dans le r pertoire etourau menu d connexion Universit de la Rochelle L3i 2004 FIG 5 7 Page relative l insertion de plugins Madonne 1 Charger une ou plusieurs images S lectionner un fichier Parcourir 2 Valider les choix Ou retourau menu d connexion Entrer le chemin d un r pertoire du serveur accessible depuis l ext rieur Attention le temps de chargement d pend du nombre de fichiers contenus dans le r pertoire Universit de la
167. www html madonne web layers nfs rw 0 0 Et voil le tour est jou B 42 Configuration et installation de la base de donn es MySQL Apr s avoir install MySQL qui en g n ral d j pr sent sur les serveurs il faut cr er la base et les tables Pour cela nous allons utiliser un outil fort pratique d j install sur les machines phpMyAdmin Ouvrez dans un navigateur phpMyAdmin avec les droits d administration pour pouvoir cr er une base et des tables puis cr ez la base madonne_web Une fois cela ef fectu cliquez sur la base nouvellement cr e et s lectionnez SQL pour pouvoir ex cuter une requ te SQL Dans le champ texte entrez ce qui suit puis validez CREATE TABLE images id int 11 NOT NULL auto_increment path varchar 255 NOT NULL default xml_path varchar 255 NOT NULL default PRIMARY KEY id UNIQUE KEY xml_path xml path UNIQUE KEY path path TYPE MYyISAM AUTO INCREMENT Y5 INSERT INTO images VALUES 38 var www html madonne web images A1 jpg images xml A1 xml INSERT INTO images VALUES 39 var www html madonne_ web images A2 jpg images xml A2 xml INSERT INTO images VALUES 40 var www html madonne_ web images A3 jpg images xml A3 xml INSERT INTO images VALUES 41 var www html madonne_ web images A4 jpg images xml A4 xml I
Download Pdf Manuals
Related Search
Related Contents
NEC V651-PC Mechanical Drawings NIBE GBM 10-15 取扱説明書 - オンキヨー株式会社 notice bio 50 - Broyeurs de végétaux User Manual - LTT Manual (english) 取扱説明書囲 - 東芝ライテック Rosewill RC-216 Montageanleitung Copyright © All rights reserved.
Failed to retrieve file