Développement d outils de navigation hypermédia (images) pour dispositifs mobiles (Android)

Dimension: px
Commencer à balayer dès la page:

Download "Développement d outils de navigation hypermédia (images) pour dispositifs mobiles (Android)"

Transcription

1 Université de Mons Faculté des Sciences Développement d outils de navigation hypermédia (images) pour dispositifs mobiles (Android) Bourguignon Grégory En vue de l obtention du grade de Licencié en Sciences Informatiques finalité spécialisée Service Mathématique et Recherche Opérationnelle D r Xavier SIEBERT Année académique

2 Remerciements Je remercie Monsieur Xavier Siebert pour m avoir suivi et soutenu pour réaliser ce mémoire. Sa disponibilité et le temps qu il m a consacré ont permis d organiser des réunions pendant lesquelles différents points de vue ont pu être échangés. Je remercie Monsieur Alexis Moinet pour l aide fournie lors de la première partie du debuggage de MediaCycle ainsi que Monsieur Christian Frisson pour les conseils prodigués à diverses reprises. Le mémoire a pu de ce fait, être terminé dans les délais. i

3 TABLE DES MATIÈRES TABLE DES MATIÈRES Table des matières 1 Description du mémoire Sujet Structure du rapport Etat de l art Les médias Musée et multimédias Analyse d images Data mining Divers outils de data mining R SIPINA TANAGRA RapidMiner Weka La plate-forme Android Qu est ce que Android? Les activités Android et XML Android et API Level Ses faiblesses Architecture REST SQLite et Android Géolocalisation Analyse d images par le contenu Couleur Texture Forme Techniques de Data mining Classification non supervisée Plus proches voisins Classification supervisée Valeurs retournées par les algorithmes de classification Pré-traitement des données Normalisation Discrétisation Transformation en valeurs nominales Implémentation et résultats Présentation de l application Implémentation Espace de stockage ii

4 TABLE DES MATIÈRES TABLE DES MATIÈRES Interface MediaCycle Bases de données Serveur Apache Vue globale des interactions Bilan Avant-propos Knowledge flow layout Résultats Descripteurs de couleur Descripteurs de forme Descripteurs de ligne Descripteurs de visage Descripteurs de texture Conclusions et perspectives 69 5 Annexes Les algorithmes Bayes Net et SVM Bayes Net Support Vector Machine Script PHP Images classifier errors iii

5 1 DESCRIPTION DU MÉMOIRE 1 Description du mémoire Ce mémoire a été réalisé avec l aide du Dr. Xavier Siebert, chargé de recherches dans le groupe Mathématique et Recherche Opérationnelle (MathRO), et du Dr. Stéphane Dupont, chargé de recherches dans le groupe de Théorie des Circuits et Traitement du Signal (TCTS) à la Faculté Polytechnique de Mons. Ces derniers désirent mettre en place une application fonctionnant sur smartphones, tablettes ou autres technologies qui utilisent la plate-forme Android. Celle-ci doit permettre la navigation à travers un ensemble d images. Les chercheurs ont ainsi la possibilité d étendre le développement de leurs applications au monde du mobile. 1.1 Sujet Il est demandé de penser une application qui traite de l imagerie et permette une interaction avec un utilisateur et le monde extérieur. Nous proposons de mettre en place un outil dont le contexte d utilisation est celui du musée. L idée est venue de l intérêt toujours plus important que porte le monde de la culture à la technologie. Un utilisateur est invité à annoter ( taguer ) une peinture qu il vient de prendre en photo lors de sa visite dans un musée. Une fois ceci fait, plusieurs actions sont effectuées sur cette photo et un ensemble d images caractéristiques sont renvoyées sur l écran de l utilisateur. A l heure actuelle, bien que le système d annotation soit très employé, notamment par certains moteurs de recherche sur Internet, celui-ci peut caractériser une image de mille et une façons, les mots employés pour décrire un objet ou autres étant dépendants de chaque utilisateur. Il conviendra, sur base de ces annotations textuelles, de faire des analyses sur les données ( data mining ) pour estimer la pertinence des caractéristiques extraites des images. A cet effet, divers outils peuvent être choisis, il s agira de faire un état de ceux existant et d en choisir un. Ainsi, si un utilisateur annote le style de peinture sur la photo prise, pointillisme, impressionnisme ou classique, correspond normalement à des descripteurs de texture différents, ce qu une classification supervisée permettra de quantifier. Différents descripteurs d images seront fournis dans le but de renvoyer des informations interprétables lors de l analyse de data mining. 1

6 1.2 Structure du rapport 1 DESCRIPTION DU MÉMOIRE 1.2 Structure du rapport Cette partie donne une vue globale de la structure du mémoire. Tout d abord, une partie état de l art est développée en rapport avec l application et son contexte, ainsi que les outils utilisés à travers le développement de l application et des recherches. Sont abordés des sujets tels que le monde des musées et leurs applications, l analyse d images ou encore le data mining. Ensuite l application est présentée. Le lecteur est amené à connaître le fonctionnement et les possibilités offertes par l application développée. Cette partie décrit l interface graphique, les interactions avec l utilisateur, la base de données et autres. Pour pouvoir analyser des peintures et ainsi appliquer du data mining sur ces dernières, une base de données d images a dû être mise en place. Dans un souci de réutilisabilité de cette base de données via notre application (démonstration, mise en libre téléchargement par exemple) les images stockées ont été choisies parmi des images libres d utilisation. Sur chacune des images est appliqué un ensemble d algorithmes permettant de retourner une description de l image sous la forme d un ensemble de vecteurs de données, appelés descripteurs. Une peinture peut être décrite de différentes manières telles que par ses couleurs, sa texture, ses formes. Chaque algorithme appliqué a eu pour effet de retourner un type de descripteurs. A partir de là, les données peuvent être traitées. Les recherches menées sont effectuées par l intermédiaire d un outil de data mining. Après discussion de plusieurs de ces outils, un seul est retenu. Une fois ce choix effectué, le sujet de la classification est discuté et les algorithmes les plus efficaces discutés dans la littérature, à savoir Bayes Net et Support Vector Machine (SVM), sont appliqués sur plusieurs jeux de données. Ces derniers sont triés suivant le type de descripteurs qui leur a été appliqué précédemment. S ensuit un ensemble d analyses basées sur un retour d informations que les algorithmes proposent tels que des tableaux, certaines valeurs spécifiques et des graphiques. Au début de chaque analyse, des intuitions, quant aux résultats qui sont attendus, sont proposées. Une fois les résultats retournés, ceux-ci sont analysés pour en ressortir des connaissances et émettre des conclusions. 2

7 2 ETAT DE L ART 2 Etat de l art Dans un premier temps, cette section traite de ce qui existe en termes de multimédia dans le monde de la culture et plus particulièrement dans l univers du musée. Nous mettons en évidence l intérêt du multimédia et ce que la technologie en général a apporté. Ensuite, le sujet d analyse d images par le contenu ainsi que différentes techniques qui existent sont abordés. Nous présentons les caractéristiques particulières de certains types de peintures, qui sont utilisées par la suite dans le but de comparer ces dernières. Enfin, l analyse de données, ou data mining et diverses méthodes connues pour classer un ensemble d images sont discutées. 2.1 Les médias Un média peut tout aussi bien être un support texte, graphique, audio, image, que vidéo. Le multimédia est, comme son nom le laisse supposer, un ensemble de médias utilisés les uns avec les autres. L exemple le plus couramment utilisé pour expliquer ce qu est un média est le CD-Rom (Compact Disc-Rom). Lorsqu une personne introduit dans son ordinateur un CD-Rom pour écouter de la musique tout en écrivant un document, on dit qu elle utilise le multimédia. Parfois, lorsque le sujet du multimédia est abordé, les termes hypermédia ou encore rich media se distinguent... Mais que sont-ils? Un hypermédia est un hypertexte multimédia [1]. Il définit un accès simultané à des données textes, images et sons que ce soit sur un ou bien plusieurs écrans. Il caractérise la façon dont un internaute communique avec des informations partagées et accessibles sur un même réseau. L exemple le plus explicite est la toile, ou encore World Wide Web, qui amène un internaute à suivre des liens d un site vers un autre. Comme nous le constatons l utilisateur est plus impliqué et la recherche qui en découle est moins séquentielle dans le cas de l hypermédia. De ce fait, malgré le grand nombre d avantages offerts par ces derniers, l internaute peut-être confronté à une surcharge cognitive et une désorientation [2]. La surcharge cognitive résulte de la quantité d informations qui lui sont proposées et donc de l effort que l internaute doit fournir pour trier, associer et trouver l information qui l intéresse. Plusieurs raisons existent à ce phénomène. Tout d abord, liées à la mémoire à court terme qui oublie toute information qui y est stockée après une trentaine de secondes. L internaute allant de page en page ne peut donc pas retenir tout le contenu de l information. Ensuite, liées à un manque d habitude du support de lecture. En effet, comme plusieurs études ont eu tendance à le montrer, en moyenne seulement 5 à 10 pour cent des informations lues sur un support électronique, sont retenues. 3

8 2.1 Les médias 2 ETAT DE L ART La désorientation, quant à elle, se produit lorsque l internaute perd le fil de sa recherche au cours de la navigation. Perdu dans un océan d informations et ne sachant plus exactement quel était son but premier, on dit que l internaute est désorienté. Ce phénomène peut, une nouvelle fois, être causé par la mémoire à court terme incapable de se souvenir de tout le cheminement qui a été suivi. Le dernier média qu il nous reste à aborder est le Rich Media. Développé par l entreprise AT Internet, il est considéré comme un module [3]. Ce dernier intègre des médias tels que le son, la vidéo, ou l image, dont le but est d aider, faciliter l interactivité entre un internaute et la page web qu il consulte. L idée principale est d utiliser les médias pour accompagner l internaute tout au long de sa navigation à travers un site Web. La particularité de ce type de média est sa capacité à synchroniser l audio et/ou la vidéo avec les autres supports, pour pallier par exemple, aux longs textes rébarbatifs qui nous donnent envie de changer de site. Le Rich Media est souvent associé à la notion d interfaces riches d où son nom. Un exemple en image sur la Figure 1 : FIGURE 1 Le Rich Media permet d accompagner la lecture du site et son contenu afin de rendre la visite plus interactive. [4] Pour comprendre toute la puissance, une visite sur les sites utilisant le Rich Media [4] [5], s impose. 4

9 2.2 Musée et multimédias 2 ETAT DE L ART 2.2 Musée et multimédias Maintenant un tour d horizon est effectué sur ce qui existe en tant que multimédia dans le monde du musée. Depuis plusieurs années, la technologie a été très souvent mise au service de la culture. Ainsi, ont vu le jour, entre autres, des bornes interactives puis des audio-guides, pour ne citer qu eux, permettant aux visiteurs d écouter les informations propres à une oeuvre sans quitter cette dernière des yeux. Nous pouvons y voir une envie toujours plus grande de donner au visiteur un apprentissage interactif et ludique. Pour cette raison le multimédia semble bien adapté à cette mission. A plus forte raison, il apparaît plus présent que jamais dans les musées [6]. Le multimédia est devenu un outil incontournable permettant de tenir au courant autrui des dates des expositions, de rendre plus agréable la visite au musée, etc. Quatre applications, qui ont fait parler d elles sont présentées. La première, nommée CultureClic, est une application dans le domaine du musée déployée sur iphone. Sur le site qui lui est dédié [7], il peut être traduit que Celle-ci permet de parcourir des oeuvres géolocalisées en haute définition, d accéder aux fiches des musées en France, d être tenu au courant des évènements culturels proches de chez vous. Cette application d un nouveau genre, permet de découvrir d une nouvelle façon l art et l histoire. Le monde devient une exposition en réalité augmentée. Tout comme CultureClic notre application touche le domaine de l art, plus particulièrement le monde de la peinture, et offre une géolocalisation des images prises pour une utilisation ultérieure. La Figure 2 suivante donne une idée générale de ce que CultureClic propose : FIGURE 2 Application CultureClic qui permet de consulter des oeuvres et des évènements culturels en fonction de l endroit où nous nous se situons. [8] 5

10 2.2 Musée et multimédias 2 ETAT DE L ART La deuxième application a fait beaucoup parler d elle et s appelle Musetrek. Cette dernière est particulièrement intéressante car en plus d être mobile et portative, on y trouve un réseau social [9]. Ce dernier permet de laisser un message concernant un endroit, une oeuvre ou tout autre coup de coeur que l utilisateur voit. Ainsi, via le réseau social, les gens peuvent y répondre et donner leur opinion, mais aussi découvrir des lieux qui leur étaient jusqu alors inconnus ou non accessibles. A l instar de CultureClic, cette application fonctionne sur iphone et est également accessible via internet. Dédiés à faire découvrir la culture dans le monde (villes, parcs, etc.), les dirigeants du Louvre ont voulu tester Musetrek [10] à l intérieur même du musée en fournissant des iphones à leurs visiteurs. Ainsi, ces derniers ont eu la possibilité pendant deux jours de faire une expérience d un nouveau genre. Ils ont pu suivre des itinéraires préétablis dans le musée, créer eux-mêmes leur propre itinéraire, laisser des commentaires sur des oeuvres qui les ont marqués, mais aussi réagir aux commentaires laissés par d autres. Cette application est riche en possibilités et ouvre la voie à de nouvelles idées. Bien que notre application n embarque pas de réseau social et autres fonctions de ce type, elle permet à un utilisateur d annoter une image (indexation textuelle) et d en récupérer d autres possédant la même annotation. De ce fait il existe une interaction (plus impersonnelle que dans le cas d un réseau social) entre les différents utilisateurs puisque les résultats dépendent des annotations de chacun. La Figure 3, ci-dessous, présente un aperçu de l application Musetrek : FIGURE 3 Application MuseTrek qui permet, par l intermédiaire d un réseau social, de marquer, découvrir ou encore donner son avis sur un endroit qu il aime. [11] 6

11 2.2 Musée et multimédias 2 ETAT DE L ART La prochaine application présentée fonctionne, elle, sous Android. Elle a été créée par le musée du quai Branly [12], premier musée national à développer une application pour ipad. L application [13] propose une visite du site en vidéo, mais aussi tous les évènements qu il met en place et ce sous forme d un agenda. Il est aussi possible d envoyer une carte postale du musée et de faire part de ses impressions grâce à une sélection visuelle. Possédant déjà cette application pour l iphone, le musée du quai Branly affirme son envie de garder le contact avec le public français. Notre application est elle aussi développée sous Android et pourrait, peut-être, se voir ultérieurement developpée sous iphone. La Figure 4 montre l interface de l application du quai Branly : FIGURE 4 Application agenda du musée du quai Branly qui offre un agenda des évènements, une visite du site en vidéo, et la possibilité de laisser ses impressions sur une oeuvre du musée. [13] La dernière application, mais non des moindres, qui est abordée se nomme Goggles. Cette application a été mise en place par les développeurs de Google et fonctionne sur les plates-formes Android et iphone. Goggles offre un très large panel de possibilités. En effet, cette application est capable de reconnaître tout type d objets/images, que ce soient des logos, des tableaux, des morceaux de textes, des monuments et de renvoyer un ensemble d informations les concernant. Cette application différente de la nôtre par toutes les possibilités qu elle offre, ainsi que par le nombre de développeurs qui l ont conçu, est abordée car elle peut représenter une sorte d idéal dans son domaine par la complétude des fonctions qu elle propose. 7

12 2.3 Analyse d images 2 ETAT DE L ART La figure 5, ci-dessous, donne un exemple de ce dont Goggles est capable de faire : FIGURE 5 Application Goggles qui offre la possibilité de prendre en photo tout type d objet et de récupérer un ensemble d informations le concernant. [14] 2.3 Analyse d images Dans le monde de l informatique et du multimédia le numérique connaît depuis plusieurs années un essor toujours plus important. Ce phénomène est dû, en particulier, au succès rencontré par Internet et à l intérêt porté à la technologie numérique. Le monde de l image numérique touche aussi bien des domaines tels que les musées ou l astronomie que le simple particulier désireux de sauvegarder des photos souvenirs sur son ordinateur personnel. Les bases de données stockant ces informations n ont cessé de croître et il n est plus étonnant que ces bases possèdent plusieurs dizaines de milliers d entrées. En raison de ce nombre important d entrées, des chercheurs se sont adonnés, et s adonnent toujours, à développer des algorithmes de recherche et d indexation, toujours plus efficaces, dans le but de minimiser le temps de parcours dans une base de données. Beaucoup d études et d articles ont été développés sur l analyse d images par le contenu et les différents domaines que cette technique couvre [15]. Dans la pratique, beaucoup de ces domaines, qui utilisent des bases de données d images, font leur indexation et leur recherche via des annotations textuelles (titres, tags, etc.) liées aux images stockées. L exemple le plus courant reste Internet, via ses moteurs de recherche (Google, Yahoo, YouTube, etc.), qui, à partir de mots-clés, proposent un ensemble d images hétérogènes. Ce processus se faisant manuellement devient contraignant lorsque 8

13 2.3 Analyse d images 2 ETAT DE L ART le nombre d images à archiver évolue. Sans oublier que l annotation peut être subjective, dépendant de chaque personne, de la culture, par exemple. Cette technique n est pas parfaite parce que quelques mots n expriment pas le sens d une image. Cependant, l intérêt porté à cette façon de faire n est plus à démontrer. En effet, il permet des recherches simples retournant un ensemble d images non structuré. Il permet entre autre de ne pas devoir suivre, ou utiliser, des règles d indexation strictes, parfois compliquées, et amène souvent à des applications plus interactives. Les annotations, par exemple, d un utilisateur sont utiles à la fois pour lui et pour la communauté d utilisateurs d un site. Nous pouvons dire que la technique d indexation et de recherche à privilégier dépend de l application et du public visé. Hormis cette façon de chercher, il existe bien d autres manières de comparer un ensemble d images, comme la recherche d images par le contenu. Cette approche se base sur les caractéristiques visuelles telles que la texture, la couleur, la forme et tout autre critère permettant une comparaison. Un cas typique d utilisation est la recherche par l exemple où nous souhaitons retrouver des images visuellement similaire à un exemple donné. Un grand nombre d algorithmes ont été développés à cet effet. Vers la fin du 20ème siècle, les chercheurs se sont rendu compte que leurs algorithmes, basés sur la recherche par contenu, n étaient pas aussi intuitifs et user-friendly qu ils ne l auraient souhaité. En d autres termes, ceux-ci ne pouvaient être utilisés correctement que par la personne l ayant développé. Pour résoudre ce problème les chercheurs se sont concentrés à rendre ces algorithmes plus faciles à utiliser et plus performants concernant le rendu des données à l utilisateur. De là, est née l idée selon laquelle un utilisateur peut entrer une requête pour interroger, par exemple, une base de données. La barrière qu il restait (et reste encore) à franchir est le passage du langage bas niveau (langage de programmation scientifique) vers un langage de haut niveau (proche du langage parlé d autrui), rendant ainsi l utilisateur capable d effectuer ses propres recherches et d interagir avec l application de manière intuitive. Beaucoup d efforts et de recherches ont été effectués dans ce domaine. Ainsi, plusieurs concepts ont vu le jour [16]. Un d eux est le développement d application centré sur l utilisateur ( human-centered ). L idée fondamentale est d arriver à faire en sorte qu un utilisateur puisse exprimer une requête dans sa propre terminologie. Un autre concept, appelé Interactive Search and Agent Interfaces, consiste en un système capable d apprendre/comprendre, de manière interactive, ce que l utilisateur désire. Dans les deux cas, des études de psychologie sont menées pour comprendre au mieux pourquoi l utilisateur agit d une certaine façon, comment il va réagir face à l interface qui lui est proposée, ainsi que pour répondre à bon nombre d autres questions. De plus, pour une réactivité et une interactivité plus complètes de l application avec l utilisateur, des recherches sont 9

14 2.3 Analyse d images 2 ETAT DE L ART menées pour récupérer, détecter le visage de ce dernier et ainsi pouvoir déceler par exemple, une émotion telle qu une insatisfaction, un sourire, ou autres. Ceci nous amène à la détection d objets, de visages et plus particulièrement de contours. Que ce soit dans l idée de détecter le visage de l utilisateur ou des formes dans une image fixe, telle qu une peinture, l ensemble des algorithmes utilisés se basent sur une analyse du contenu de l image récupérée. A cet effet plusieurs caractéristiques sont employées. Chaque image possède ses propres particularités souvent appelées paramètres de l image qui sont les contours, la texture, le bruit, la luminosité, le contraste ainsi que la couleur. Il est à noter que contours et textures sont étroitement liés. Les contours traduisent des zones bien déterminées de l image (objets, paysages, etc.). Nous pouvons aussi les voir comme étant la limite entre deux pixels dont les niveaux de gris ont une valeur significativement différente. Les textures, quant à elles, sont la structure de ces zones. En d autres termes, l extraction de contours a pour but d identifier dans l image les points qui séparent deux textures différentes. Lors de l analyse de nos images nous nous intéressons à des algorithmes utilisant des descripteurs de texture et de contour. Il existe plusieurs méthodes permettant l analyse d images par leur contenu qui se basent par exemple sur les moments de Zernike, les moments de Hu ou encore Fourier [17]. La finalité de cette étape est de récupérer des valeurs caractéristiques (vecteurs de nombres) de nos peintures pour ensuite effectuer une classification en utilisant des algorithmes de data mining. L analyse de nos images est une étape très importante puisque de ces valeurs dépendent les résultats de nos classifications. 10

15 2.4 Data mining 2 ETAT DE L ART 2.4 Data mining A travers différentes lectures [18] [19], nous présentons une idée générale du data mining, ses enjeux, ses possibilités, son but. Le data mining, ou fouille de données, est l art d extraire des connaissances à partir de données. Les données peuvent être présentes dans des espaces de stockages de type différents tels que des entrepôts, appelés data warehouse, ou encore des bases de données distribuées ou sur Internet appelés web mining. Le data mining permet de travailler sur un large choix de données de types différents comme le texte, le son, les images ou la vidéo. Le data mining est devenu un concept incontournable dans le monde des entreprises qui cherchent à retirer des informations des énormes bases de données qu ils possèdent. Ceci leur est nécessaire pour par exemple, connaître les désirs de leurs clients, savoir ce qui se vend le plus, etc., dans le but de rester compétitif sur le marché. Des recherches et études tentent à montrer que le volume de données numériques stocké double tous les deux ans [20]. Il est à noter que les termes data mining et knowledge discovery in data bases (KDD), traduit par extraction de connaissances à partir de données (ECD), sont souvent confondus et utilisés de manière non distincte. Le data mining n est qu une étape de la chaîne dans le concept de la découverte de connaissances à partir d un ensemble de données. L ECD représente l ensemble de la chaîne. L extraordinaire expansion qu ont connu la production et le stockage de données ont amené à mettre en place de larges bases de données. La taille de ces dernières étant toujours plus conséquente, l extraction manuelle de connaissances, à partir de ces données stockées, a vite laissé place à des outils automatisés. L idée est d extraire un ensemble de connaissances utilisables dans divers secteurs tels que l administration, la production, les musées, la photographie et bien d autres encore. Dû au volume important et à cette automatisation, ces secteurs prennent conscience de l importance du data mining. Ce dernier permet une analyse plus aisée et une mise en évidence de connaissances que le commun des mortels ne peut voir à l oeil nu. Il se révèle incontournable pour une compréhension dans les moindres détails de l information contenue dans un ensemble de données. Par le biais des méthodes de data mining, les bases de données volumineuses, considérées comme un capharnaüm pour l être humain, sont devenues source de richesse et de fiabilité pour l extraction et la validation de connaissances. Cependant, les résultats que proposent le data mining, peuvent être à double tranchant. Il ne faut pas perdre de vue que, quelles que soient les données entrées et la manière de les utiliser, nous obtiendrons toujours un résultat. Ainsi, il n est pas rare d avoir des résultats douteux, non cohérents, ne montrant tout simplement pas la réalité des faits. Il est donc nécessaire d effectuer un pré-traitement correct 11

16 2.5 Divers outils de data mining 2 ETAT DE L ART des données, de choisir correctement les méthodes de data mining à employer et de faire ressortir des résultats, les conclusions qui correspondent le mieux aux objectifs. Les résultats doivent être accompagnés d un raisonnement et d un travail de recherche qui permettent de les expliquer. Dans le domaine du data mining, une chose essentielle est de pouvoir justifier le choix de l outil approprié en fonction de l objectif à atteindre. Il existe de nombreuses méthodes de data mining ayant le même but mais ayant une façon de faire différente. L idée générale qui ressort est qu a priori aucune méthode n est réellement meilleure qu une autre, chacune d entre elles possédant ses avantages et ses désavantages. Il semble qu utiliser diverses méthodes de manière coopérative soit la meilleure solution. Le concept de data mining a pu être appliqué avec succès dans divers secteurs qu ils soient professionnels ou non. Tel qu énoncé précédemment, les données sous forme d images, ou de textes, peuvent être traitées par des méthodes de data mining en vue d en extraire des connaissances. Celles-ci permettent d identifier, de reconnaître ou de classer automatiquement des bases volumineuses d images. Pour être exploitées par des méthodes de data mining, ces images doivent subir une série de manipulations. Les algorithmes d analyse d images par le contenu sont utilisés pour en extraire des caractéristiques. Celles-ci sont renvoyées sous forme d un ensemble de vecteurs de nombres. Le tout est stocké dans une matrice où chaque ligne désigne une image et chaque colonne une caractéristique de l image. Une fois ces valeurs récupérées, les algorithmes de data mining sont employés pour analyser, classer et apprendre de ces images. Le processus de l ECD est un processus itératif, car les résultats produits à une étape sont remployés dans les étapes ultérieures. De plus, il est interactif car chacune de ces étapes est suivie par l analyste. En effet, c est ce dernier qui assiste le processus en fonction de ses objectifs, de ses propres connaissances dans le domaine et des résultats renvoyés par les étapes antérieures d extraction. 2.5 Divers outils de data mining Divers outils ont été développés dans le domaine du data mining, offrant plusieurs techniques pour la fouille de données. Nous en présentons quelques-uns R R [21] est un logiciel de calcul statistique et de traitement de données. Ce logiciel est libre et le grand nombre d extensions qu il comporte le rendent complet et varié. R possède, en plus, des outils d analyse de données, des fonctionnalités graphiques, ainsi qu un langage de programmation complet. R est libre ce qui 12

17 2.5 Divers outils de data mining 2 ETAT DE L ART le rend puissant aux yeux des utilisateurs, ceux-ci pouvant créer leurs propres méthodes ainsi qu utiliser les divers algorithmes existant SIPINA SIPINA [22] est un logiciel gratuit de data mining spécialisé dans l induction des arbres de décision. Il implémente quelques autres méthodes supervisées, des techniques de statistique et d analyse de données, mais dans ce domaine cet outil n est pas le plus intéressant. Le problème relatif à SIPINA est qu il n a plus beaucoup évolué depuis une dizaine d années, les développeurs s étant penchés sur un nouveau programme, appelé TANAGRA qui est amené à le remplacer TANAGRA TANAGRA [22] est un logiciel gratuit de data mining destiné à l enseignement et à la recherche. Il embarque un ensemble de méthodes utilisées dans le domaine de la statistique exploratoire, de l analyse de données, de l apprentissage automatique et des bases de données. A l instar du logiciel R, TANAGRA est libre et son code source est accessible à tous, ce qui permet à tout utilisateur le désirant de définir ses propres méthodes. Il présente une interface graphique intuitive suivant des normes des logiciels de fouille de données actuels, y compris les logiciels commerciaux. Ceci le rend, de ce fait, utilisable, par les chercheurs et les étudiants, pour mener des études sur des données réelles et/ou synthétiques. Cependant TANAGRA n intègre pas encore, tout ce qui est essentiel dans les outils commerciaux du marché (multiplicité des sources de données, accès direct aux entrepôts de données et autres datamarts, par exemple) RapidMiner RapidMiner est un logiciel de Data mining proposant un vaste ensemble d algorithmes aussi bien pour la régression, que la classification supervisée et non supervisée. Il se targue d être l outil incontournable et incontourné dans le domaine [23]. Il offre une interface complète mais l interaction avec l utilisateur n est pas des plus intuitives et la mise en oeuvre de la recherche est plus complexe que Weka. Enfin, après traitement des données, un retour graphique est possible Weka Weka [24] intègre des algorithmes d analyse de données et de prédictions de modèles mais aussi des outils de visualisation (graphiques et histogrammes par exemple). Il propose une interface graphique simple et intuitive permettant d amener 13

18 2.5 Divers outils de data mining 2 ETAT DE L ART plus ou moins directement l utilisateur vers les fonctionnalités qu il désire utiliser. Ce logiciel propose diverses techniques de data mining telles que pré-traitement des données, clustering, classification, visualisation, etc. Une option qui en fait entre autre un outil puissant est sa possibilité d accéder à des bases de données SQL grâce à l interface Java Database Connectivity et peut même traiter des données retournées par une requête effectuée sur la base de données. Weka est gratuit et multiplateforme, le langage utilisé pour son implémentation étant le Java. Le choix d un logiciel plutôt qu un autre dépend des besoins de l utilisateur. Cependant, divers critères, définissant la qualité du programme, doivent être pris en compte tels que la puissance des algorithmes de recherche, sa réaction face au traitement et l analyse d un grand nombre de données, son interaction, sa flexibilité d utilisation, etc. Mais aussi les diverses techniques de data mining que le programme intègre telles que classification, prédiction, préparation des données, visualisation des résultats par exemple. Le choix du logiciel s est tourné vers Weka pour analyser une base de données d images. Au vu de ce que propose ce dernier, à savoir une interface riche et intuitive, un large panel de méthodes, un retour visuel, et par sa grande popularité et qualité dans le domaine du data mining, ce logiciel est adapté à nos besoins. 14

19 2.6 La plate-forme Android 2 ETAT DE L ART 2.6 La plate-forme Android A cette étape, Android [25] [26] est présenté, plate-forme via laquelle notre application a été développée Qu est ce que Android? Android est une plate-forme regroupant un système d exploitation des middleware 1, et certaines applications. Celui-ci a été conçu principalement pour les smartphones, les PDA (Personal Digital Assistant) et autres terminaux mobiles fonctionnant sous un noyau Linux. Le SDK (Software Development Kit) fournit les outils et les API s (Application Programming Interface) nécessaires pour commencer à développer des applications sur la plate-forme en utilisant le langage de programmation Java. La principale caractéristique d Android est qu il possède un large éventail de possibilités. En effet, il peut servir, par exemple, de téléphone (GSM), de support média (image, vidéo, audio), ou encore, d espace de stockage. De par sa complétude et sa plate-forme orientée développement, Android a vite été adopté par les programmeurs, tant amateurs que professionnels, pour créer de nouvelles applications et laisser libre cours à leur imagination. La possibilité de manipuler le matériel périphérique, d accéder facilement aux données stockées, d utiliser des applications en arrière plan, et autres, a donné très vite naissance à de nouvelles applications riches et innovantes. De plus, il propose ses propres librairies et fournit la plupart des fonctionnalités offertes dans les librairies Java. Pour finir, des environnements de développement, incluant des émulateurs, des outils de debuggage et bien d autres encore, existent. Nous avons choisi un plugin intégrable au logiciel Eclipse pour développer sous la plate-forme Android Les activités Bien que la plate-forme Android utilise le langage de programmation Java, la façon d aborder le développement de l application est différent de Java. Dans le cas d Android les activités sont le centre d intérêt principal des développeurs. Une activité est un composant de l application qui fournit un écran via lequel un utilisateur peut réaliser une action telle que téléphoner, répertorier ses contacts, naviguer et bien autres. Pour chaque activité est donnée une fenêtre ( screen ) dans laquelle un développeur peut créer ce qu il désire sous forme d une interface (boutons, champs de saisie, image, etc.). Une application se limite rarement à une activité mais consiste en un ensemble d activités liées les unes aux autres grâce à un système de pile. Chaque activité peut donner naissance à une nouvelle activité la précédente étant arrêtée et 1. Logiciel permettant à deux ou plusieurs applications réparties sur un réseau de communiquer entre eux 15

20 2.6 La plate-forme Android 2 ETAT DE L ART placée dans une pile de type last-in-first-out. Ceci permet lors du retour sur l activité précédente de ne pas devoir la recréer. Lorsqu une activité est arrêtée dû à la création d une nouvelle, la première subit un changement d état. Ce dernier est reporté par les méthodes dites de rappels 2 mettant en place un système de cycle de vie lié à chaque activité et représenté sur la Figure 6 ci-dessous : FIGURE 6 Cycle de vie d une application [27] 2. The activity s lifecycle callback methods 16

21 2.6 La plate-forme Android 2 ETAT DE L ART Plusieurs méthodes de rappels peuvent être reçues par une activité dû à un changement d état. Le système va alors créer, arrêter, reprendre ou encore détruire l activité concernée. Chacune de ces méthodes permet au développeur d effectuer des actions spécifiques au changement d état. Sur la Figure 6 ci-dessus, nous pouvons mettre en évidence trois boucles imbriquées dans le cycle de vie d une activité : 1. Le cycle de vie complet : cette boucle se déroule entre le moment où les méthodes oncreate() et ondestroy() sont appelées. L application est chargée lors du oncreate() de mettre en place les éléments (layout) et ressources nécessaires (base de données) et de les libérées lors du ondestroy(). 2. Le cycle de vie visible : cette boucle se déroule entre le moment où les méthodes onstart() et onstop() sont appelées. Cette étape traduit la durée pendant laquelle l activité est visible sur écran et permet une interaction avec l utilisateur. Ces méthodes permettent de mettre en place des ressources utiles le temps de l interaction. Enfin ces méthodes peuvent être appelées plusieurs fois sur un cycle de vie complet. 3. Le cycle de vie en avant-plan : cette boucle se déroule entre le moment où les méthodes onresume() et onpause() sont appelées. L activité est un avant-plan de toutes les autres sur l écran et retient l attention de l utilisateur. Lorsque onpause() est appelée l activité est mise en pause et se retrouve en arrière-plan. Une activité peut transiter souvent entre ses deux états. Cette façon de faire est différente de l approche purement orientée objet proposée par Java. Un certain temps d adaptation, plus ou moins long, est nécessaire afin de commencer à la maîtriser Android et XML En ce qui concerne le développement graphique, Android utilise des fichiers XML pour afficher les données à l écran. L idée sous-jacente à cette pratique est de mettre une frontière entre algorithmique et implémentation du design. Ainsi, le développement et le maintien de l application se font plus facilement. Il est à noter qu il est toujours possible de programmer en dur l interface graphique dans le code comme en Java. Mais dans ce cas toute la puissance de la séparation entre design et code est perdue Android et API Level Avant de commencer à développer, il est important de savoir quel niveau d API utiliser et de comprendre ce que chacun offre par rapport aux différents besoins. 17

22 2.6 La plate-forme Android 2 ETAT DE L ART Un point important est que toute API possédant un certain niveau est compatible avec les API s ayant un niveau supérieur, l inverse n est pas toujours vrai. La structure de l API qu une plate-forme Android procure est identifié par un nombre entier, incrémenté à chaque nouvelle version d une plate-forme. Niveau d API supporté par chaque plate-forme Android : Version de la plate-forme Niveau de l API Android Android Android Android Android Android Android Android Android Android Android Android Android API Level [26] De cette manière, la plate-forme Android décrit quel niveau maximum de l API est supporté (la valeur du niveau étant stockée dans cette plate-forme). En particulier, lors de l installation sur une technologie utilisant Android, ce dernier va regarder si le nombre entier est compatible avec son système. Dans le cas d une incompatibilité, le système n installera pas l application. Il parait logique de penser à utiliser directement l API dont le level est le plus élevé, pourtant ce choix serait téméraire. En effet, en plus de savoir ce que l API propose, il faut aussi savoir sur quel type de smartphone ou tablette l application doit être exécutée. A l heure actuelle peu de smartphones fonctionnent sous la plate-forme Android 3.0 qui propose l API de niveau 11. D un autre côté, il n existe presque plus de smartphones, car trop vieux, fonctionnant sous la plateforme Android 2.1. Le problème reste à savoir quel API choisir. Une bonne pratique, pour une compatibilité maximum, est de choisir l API compatible avec l application dont le niveau est le plus bas possible. Pour déterminer ce niveau, il faut compiler l application sur un niveau d API de plus en plus bas. Une fois que cette dernière ne compile plus, l API minimum compatible est déterminé. Dans le cas présent, la version de la plate-forme employée est la

23 2.6 La plate-forme Android 2 ETAT DE L ART Ses faiblesses Nous pouvons souligner que Android est encore jeune ce qui est un handicape majeur en particulier dans le peu de documentation pertinent qui existe et rend l API moins intuitive quand à son parcours et son utilisation. De plus, la plateforme Android évolue très rapidement. Ceci amène à la création de nouvelles versions de plate-formes très fréquemment ce qui oblige tout développeur à se réadapter dans sa façon de programmer. Notre application est développée sur un smartphone avec un écran spécifique. Le layout développé est donc valable pour tous les smartphones dont la taille de l écran est semblable à celui sur lequel nous avons testé notre logiciel. Il est un fait, pour ne donner que cet exemple, qu un bouton adapté à la taille de l écran d un smartphone n aura pas le même rendu que sur l écran d une tablette, la taille de ce dernier étant beaucoup plus importante notre bouton aura une taille démesurée. Ceci met en évidence que nous ne pouvons penser une application sur un smartphone comme nous la penserions sur une tablette. 19

24 2.7 Architecture REST 2 ETAT DE L ART 2.7 Architecture REST Representational State Transfer, ou REST [28], n est pas un protocole mais une architecture. Autrement dit, c est une façon de faire, un schéma possible à suivre pour utiliser le Web. Le protocole sous-jacent est HTTP avec ses méthodes (GET, POST, PUT et DELETE). REST est un style d architecture, une manière de mettre en place des applications sur des systèmes distribués tels que le World Wide Web. Outre le fait que REST ne soit pas un standard, il utilise des standards tels que URI (Uniform resource identifier 3 ) pour adresser les ressources, le protocole HTTP pour transmettre des données, les types MIME pour les ressources (text/xml,image/jpeg,etc.). L architecture REST n est pas un protocole mais une sorte de marche à suivre pour utiliser le Web. REST offre une interface uniformisée dans la gestion des transferts de données. Il utilise le protocole HTTP et emploie lors des transferts de données les méthodes GET, POST, PUT et DELETE. La Table 1 met en évidence le rôle de ces méthodes et souligne la simplicité avec laquelle l architecture est pensée : CRUD SQL REST CREATE Insert PUT READ Select GET UPDATE Update POST DELETE Delete/Drop DELETE TABLE 1 Tableau de correspondance entre les méthodes CRUD et celles utilisées par REST [28] Maintenant que les méthodes ont été abordées, un exemple de leur fonctionnement est montré sur la Figure 7 : 3. Traduit par identifiant uniforme de ressource est une chaîne de caractère qui permet d identifier une ressource sur un réseau. Un exemple concret sont les hyperliens. 20

25 2.8 SQLite et Android 2 ETAT DE L ART FIGURE 7 Exemple d application des méthodes CRUD par REST sur un réseau. [28] De nos jours, c est l architecture REST qui est la plus utilisée pour développer une application ayant besoin de communiquer et d échanger des données à travers le Web. 2.8 SQLite et Android L entièreté de la base de données est sauvegardée dans un fichier indépendant de la plate-forme ce qui convient parfaitement au concept d Android, à savoir, rendre chaque application indépendante l une de l autre. Ainsi, chaque fichier de la base de données fait partie intégrante de l application et est uniquement accessible par celle-ci. De plus, SQLite est multiplateforme, facile à développer, et très léger ce qui fait de lui un choix très populaire. Aujourd hui, il est employé par un grand nombre d applications et d entreprises telles que Firefox, Skype, Apple, McAfee et bien d autres encore [29]. A contrario, des serveurs de base de données comme MySQL ou PostGreSQL, sont plus lourds (nécessitent plus d espace mémoire à l installation) et directement dépendants de l environnement sur lequel ils se trouvent. En effet, ils ne peuvent être déplacés d un endroit à un autre comme un fichier SQLite. Ces serveurs ne peuvent être utilisés sur des appareils mobiles sans demander trop de ressources, ou perdre le concept d application indépendante. 21

26 2.9 Géolocalisation 2 ETAT DE L ART 2.9 Géolocalisation La géolocalisation, aussi appelée géoréférencement, est une technique permettant de localiser une personne ou un objet partout dans le monde en fonction de ses coordonnées géographiques (latitude, longitude). Ce processus peut être réalisé par l intermédiaire d un appareil électronique tel qu un téléphone mobile grâce à un module GPS ou autre. Une fois les positions géographiques récupérées, elles peuvent être utilisées immédiatement (concept de temps réel) ou stockées dans le but d une utilisation ultérieure Analyse d images par le contenu L extraction de caractéristiques, plus communément appelées descripteurs, est la base de la reconnaissance d images par le contenu. Ces descripteurs peuvent être textuels (mots-clés, annotations) ou visuels. Les descripteurs visuels se basent généralement sur les couleurs, les formes, les textures Couleur Les descripteurs de couleur [30] sont très utilisés pour la reconnaissance d images. Ils sont robustes aux complications découlant de l arrière-plan (fond bruité par exemple) et indépendants de la taille comme de l orientation de l image. Le graphe sous forme d histogramme est la technique la plus usitée pour représenter les caractéristiques des couleurs. Ce dernier représente un graphique statistique mettant en évidence la distribution des intensités des pixels d une image. De manière standard, le niveau d intensité se trouve sur l axe des abscisses (les valeurs allant du plus foncé au plus clair). Par exemple, une image possédant 256 niveaux de gris donne naissance à un histogramme ayant 256 valeurs en abscisses et le nombre de pixels en ordonnées. Concernant les images en couleur, plusieurs histogrammes sont nécessaires. Par exemple, dans le cas d une image dont le format de codage est en HSV (Hue pour teinte, Saturation pour saturation, Value pour luminosité), sont nécessaires trois histogrammes, chacun représentant la distribution des composantes rouges, vertes et bleues. Ceci a pour effet de générer 768 (256*3) descripteurs ce qui est trop important. Il existe d autres représentations des caractéristiques de couleur telles que les moments de l histogramme. L idée mathématique sous-jacente à cette approche est que toute distribution de la couleur peut être caractérisée par ses moments. La plupart des informations se concentrent sur les moments d ordre inférieur, mais seul le premier (la moyenne), le deuxième (la variance), le troisième et le quatrième moment sont extraits comme étant les descripteurs de couleur. On se retrouve finalement avec 12 (4*3) descripteurs. 22

27 2.10 Analyse d images par le contenu 2 ETAT DE L ART Texture La texture fait référence à une région de l image qui a des propriétés d homogénéité qui ne résultent pas de la présence d une seule couleur ou de l intensité. Ces caractéristiques sont par exemple un motif simple qui se répète, ou des caractéristiques fréquentielles. Ainsi, cette propriété permet sur une surface de délimiter les nuages, les arbres, les briques et bien d autres. Cette technique est connue depuis plusieurs décennies et continue à avoir sa place dans la recherche d images grâce à ses performances et son utilité dans la reconnaissance de forme. Plusieurs algorithmes ont été développés tels que Gabor, Markov ou encore les matrices de co-occurence [30] Forme Le problème posé est de déterminer si deux objets sont semblables quelle que soit leur place dans l image. La représentation de l image doit posséder plusieurs critères [31]. Le premier est l unicité, chaque objet doit être représenté de manière unique pour être comparé. Ensuite vient l invariance face à un ensemble de transformations géométriques, un objet doit pouvoir être retrouvé après avoir subi une translation, une rotation ou une mise à l échelle. Le critère suivant est la sensibilité, les descripteurs doivent permettre de différencier des objets similaires. Enfin, il reste l abstraction des détails, les descripteurs doivent pouvoir représenter une forme tout en faisant abstraction des détails. La représentation doit être robuste au bruit. Un exemple d un ensemble d images, Figure 8, représentant le même objet suivant des angles différents, des échelles différentes et un fond bruité : FIGURE 8 Exemple de vues d un objet sur un fond bruité pouvant être utilisées pour tester les invariances [17] En règle générale, les représentations de forme se divisent en deux catégories qui sont la délimitation suivant les frontières et suivant les régions. La première technique se base sur la détection des bords et des lignes de la forme, le schéma résultant est appelé représentation externe. La seconde, quant à elle, se base sur des techniques de segmentation de régions, le schéma résultant est appelé représentation interne. Les algorithmes les plus efficaces pour les deux catégories utilisent les descripteurs de Fourier (plusieurs variantes existent) et les moments invariants (les moments de Hu par exemple). 23

28 2.11 Techniques de Data mining 2 ETAT DE L ART 2.11 Techniques de Data mining Nous présentons les diverses fonctionnalités [32] que le programme propose, et en particulier celles qui sont utilisées ultérieurement dans les recherches. Pour mieux comprendre le rôle joué par chacune d elles, nous partons d un exemple et nous montrons à quoi la technique est capable de répondre. L exemple est une nouvelle bouteille d alcool de marque Z (différentes saveurs possibles) Classification non supervisée Le classification non supervisée, ou encore clustering, permet de créer plusieurs clusters. Un cluster est un ensemble de données dites semblables. Chacun d entre eux est séparé des autres et regroupe des données différentes. Plus la distance entre deux clusters est importante, plus les données qu ils renferment sont différentes. L algorithme de clustering requiert de savoir en combien de clusters les données sont réparties, ce nombre étant dépendant des besoins propres à la recherche. Ceci présente un gros désavantage puisque le chercheur doit être capable de savoir à l avance le nombre de clusters adéquats. Pour connaître ce nombre, il faut tester plusieurs possibilités, effectuer plusieurs tentatives, ce qui n est ni intuitif ni pratique. A contrario, un point fort est que dans ce cas tous les attributs dans le jeu de données sont utilisés. Finalement, cet outil de data mining reste, pour la plupart des utilisateurs, le plus utile (voire peut-être même le plus utilisé) car il permet de déduire des clusters du jeu de données entier et d établir rapidement des conclusions. La question à laquelle cette technique est capable de répondre est : Quel groupe social préfère l alcool de marque Z au parfum fraise? De cette analyse, nous pouvons en ressortir que suivant les classes d âge, certains préfèrent en majorité le goût fraise alors qu une autre classe d âge préfère en majorité le goût menthe Plus proches voisins L algorithme des plus proches voisins, Nearest Neighbor ou encore K-Nearest Neighbor (KNN), se base sur les centroïdes (points mobiles) et calcule la distance minimum entre la donnée à découvrir et les données connues. Les K données dont les valeurs sont les plus proches de celle inconnue sont retenues comme étant les plus semblables. Ce processus permet de déterminer au mieux les valeurs inconnues de la donnée à découvrir. La valeur de K est spécifiée par le chercheur. La question à laquelle cette technique est capable de répondre est : Qu est susceptible d acheter une personne en même temps que cet alcool? L idée de cette technique est d apprendre, par exemple, qu une personne qui achète l alcool 24

29 2.11 Techniques de Data mining 2 ETAT DE L ART de marque Z tend aussi à acheter des chips, d autres alcools, des cigarettes ou tout autre produit. En fonction des résultats, il est possible de lier les produits entre eux pour faire plus de vente Classification supervisée Cette dernière technique de data mining est des plus importantes, car elle est employée lors de nos recherches. Deux algorithmes en particulier sont utilisés, à savoir Bayes Net (réseau bayésien) et Support Vector Machine (SVM). Ceuxci sont les deux algorithmes les plus usités dans le domaine de la classification car ils sont considérés comme les plus efficaces. Pour cette raison, ils sont appliqués à nos jeux de données, ce qui permet de les classer et d en ressortir une analyse. Pour comprendre de quoi il s agit, Bayes Net et SVM sont expliqués respectivement dans les parties et La question à laquelle cette technique est capable de répondre est : Quel type de personne est enclin à acheter cet alcool? Cette technique va permettre d établir les différentes caractéristiques, le profil (âge, sexe, marié ou non, etc.) des personnes susceptibles ou non de l acheter. Dans le cas qui nous concerne, la classification va permettre d apprendre si les descripteurs d image sont capables de classer les peintures en fonction de leur genre. Le comportement de la classification peut être vu à travers la définition Définition La classification [32] est la tâche d apprentissage d une fonction cible f (appelé aussi modèle de classification) qui fait correspondre à chaque x (données) une des classes prédéfinies de Y (pointillisme par exemple) où x fait partie de X (le jeu de données). On construit des modèles de classification à partir de X. Chaque technique emploie un algorithme d apprentissage pour identifier le modèle correspondant le mieux à la relation entre X et Y. L enjeu est de trouver le modèle le plus général possible, cela dans le but de prédire plus facilement les entrées inconnues. On évalue la performance d un modèle grâce au nombre de données correctement classées ou pas bien classées. Ces nombres sont disposés dans une matrice de confusion qui possède en sa diagonale les données correctement classées Valeurs retournées par les algorithmes de classification Lorsque Bayes Net et Support Vector Machine (SVM) sont appliqués, un ensemble de valeurs à analyser est retourné. Pour apprendre de ces résultats, nous nous concentrons sur certaines de ces valeurs, à savoir precision (précision) et 25

30 2.11 Techniques de Data mining 2 ETAT DE L ART recall (rappel). Dans le but de comprendre leur rôle, celles-ci sont expliquées dans la suite. Lors de l analyse des résultats, pour chaque type de descripteurs, sont retournées des variables utiles à l analyse, à savoir les variables appelées precision ( précision ) et recall ( rappel ). Par conséquent, dans la section , une définition de precision et de recall est donnée. Precision et recall Une définition de precision : Définition Precision est le nombre d éléments correctement classés (True Positive 4 ) dans une classe C i divisé par le nombre total d éléments présents dans la classe C i (True Positive + False Positive 5 ). Exemple Supposons des données rouges (20 éléments) et noires (15 éléments) et devant être classées en fonction de leur couleur. Deux classes sont définies : Rouge et Noire. Il arrive souvent que des données soient mal triées. Prenons, par exemple, la classe Rouge et admettons qu elle se retrouve, après classification, avec 15 éléments de type rouge et 3 éléments de type noir. Dans ce cas, la valeur 15 de precision est donnée par : et vaut La valeur finale exprime que % des données présentes dans la classe Rouge sont correctement classées. L exemple est illustré sur la Figure 9 suivante : FIGURE 9 Calcul de la valeur de precision 4. True Positive ou TP : Les données bien classées 5. False Positive ou FP : les données classées dans C i provenant d autres classes 26

31 2.11 Techniques de Data mining 2 ETAT DE L ART Reste à aborder la définition de recall : Définition Recall est le nombre d éléments correctement classés (True Positive) dans une classe C i divisé par le nombre total d éléments prédits comme devant se trouver dans C i (True Positive + False Negative 6 ). Exemple Reprenons les hypothèses de l exemple précédent Supposons des données rouges (20 éléments) et noires (15 éléments) et devant être classées en fonction de leur couleur. Deux classes sont définies : Rouge et Noire. Il arrive souvent que des données soient mal triées. Prenons la classe Rouge et admettons qu elle se retrouve, après classification, avec 15 éléments de type rouge 15 et 3 éléments de type noir. Dans ce cas, la valeur de recall est donnée par : 15+5 et vaut La valeur finale exprime que 75% des données de type rouge sont correctement classées, c est-à-dire présentes dans la classe Rouge. Pour mieux comprendre, nous illustrons, à nouveau, cette définition grâce à un exemple. Ainsi, sur la Figure 10 recall est calculé comme suit : FIGURE 10 Calcul de la valeur de recall Attention : Il faut faire attention à l interprétation de ces deux valeurs car il est possible de se retrouver dans un cas de figure où la valeur de recall est proche de 1 (100%) mais celle de precision est mauvaise. L exemple, sur la Figure 11, illustre cette remarque tout en gardant le même contexte que pour les exemples précédents et False Negative ou FN : les données d une classe C i qui se retrouvent dans d autres classes 27

32 2.12 Pré-traitement des données 2 ETAT DE L ART FIGURE 11 Cas particulier pouvant amener à une mauvaise interprétation des valeurs si recall et precision ne sont pas analysés en parallèle 2.12 Pré-traitement des données Lorsque les algorithmes de texture, de forme, et de couleur sont appliqués sur nos images, les valeurs de nos descripteurs sont renvoyées sous forme de vecteurs dans un fichier au format XML. Ceux-ci devant être interprétables par notre programme de data mining Weka, un script simple en Java a dû être développé à cet effet. Ce dernier est chargé de récupérer les informations nécessaires et de les convertir dans un format compréhensible par Weka. Un fichier par type de descripteurs a été généré. Une fois les données fournies à Weka, nous nous intéressons au pré-traitement des données, avant de commencer la classification. A cet effet, divers filtres ont été appliqués : Normalize (Normalisation) présenté dans la section ainsi que sa définition Discretize (Discrétisation) présenté dans la section ainsi que sa définition NumericToNominal (uniquement dans le cas de BayesNet) présenté dans la section ainsi que sa définition Normalisation Définition Normaliser les données [33] consiste à centrer les données sur l origine du repère en s assurant que la moyenne des données normalisées suivant chacun des critères de classement soit égale à l unité. En d autres termes, 28

33 2.12 Pré-traitement des données 2 ETAT DE L ART l ensemble des valeurs des données sont renvoyées dans l intervalle [0, 1]. La formule permettant de normaliser une matrice N associée à un ensemble de données X est : N ij = X ij X j σ j. Exemple Pour exemple [33], la quantité de précipitation (exprimée en mm/an) et de température (en C) sont des caractères dont les ordres de grandeur sont différents. Normaliser la matrice des données permet de travailler à une échelle identique pour tous les caractères étudiés. L utilité de la normalisation des données est multiple pour des raisons pratiques : il n y a plus de données redondantes ce qui conserve l intégrité des données. il n y a plus de problèmes d échelles, toutes les données étant ramenées dans un intervalle unitaire. Il est plus facile d interpréter les représentations de données Discrétisation La discrétisation peut s effectuer de diverses manières. Celle décrite est une technique appelée méthode des amplitudes égales. Définition La discrétisation par la méthodes des amplitudes égales [34] consiste à construire k intervalles, qui sont définis par l utilisateur, de valeurs constantes (d amplitudes égales). Si d min et d max sont respectivement les valeurs minimales et maximales de l attribut à discrétiser, alors les intervalles auront comme amplitude L avec L = d max d min /k. Ces intervalles ont des bornes définies comme suit : d min, d min + L, d min + 2L,..., d min + (k 1), d max Transformation en valeurs nominales Cette étape de pré-traitement des données ne se fait que dans le cas de l algorithme de classification Bayes Net, ce dernier nécessitant de travailler sur des données nominales. Définition L échelle nominale est définie par des données dont les valeurs sont qualitatives(nom, prénom, marque de voiture, etc.). Celles-ci s oppose au données dont les valeurs sont quantitatives (1, 100, 10.4, 1/4, etc.). L échelle nominale sert à nommer dans le but de créer des catégories toutes différentes les unes des autres (par exemple jaune, rouge, bleu). Exemple En prenant comme exemple la matière et non l arbre, le chêne en tant que tel n a pas de valeur plus ou moins élevée que le bouleau. On constate que ces deux matières sont différentes. On ne peut les quantifier mais par contre on peut les qualifier (valeurs nominales). Lorsque les filtres ont été appliqués aux jeux de données en fonction de l algorithme employé, les données sont prêtes à être analysées. 29

34 3 IMPLÉMENTATION ET RÉSULTATS 3 Implémentation et résultats Dans cette section sont présentés l application développée, ainsi que les résultats des recherches menées. 3.1 Présentation de l application L application Android propose à un utilisateur de prendre en photo une ou plusieurs peintures qui l intéresse(nt). Une fois ces photos prises, celles-ci sont stockées sur un support mémoire externe et l utilisateur peut y avoir accès sous forme de liste. De cette manière sur l interface tactile, une brève pression du doigt sur l élément souhaité de la liste donne accès à plusieurs options liées à l image, dont celle d envoyer cette dernière sur un serveur externe pour être traitée. Chacune des images peut être annotée (indexation textuelle) pour être analysée. De manière générale, l image est envoyée sur un serveur que nous avons créé et qui se charge de communiquer avec un logiciel appelé MediaCycle (voir section 3.2.3). Le but étant de traiter l image soit en fonction de son contenu soit en fonction de son indexation textuelle. Un certain nombre d images (défini par l utilisateur) dans le premier cas considérées comme étant les plus proches et dans le second cas possédant une même annotation sont retournées. L application, après réception de ces dernières via notre serveur, les affiche sous forme d une grille dans une nouvelle fenêtre. Si l utilisateur presse sur l icône, les informations relatives à l image, telles que son nom, sa latitude, sa longitude (cf. section 2.9) ou encore l image elle-même s affichent. Dans cette nouvelle fenêtre il est à nouveau possible d effectuer l envoi de l image sur le serveur externe pour que MediaCycle analyse l image. L application peut être utilisée à plusieurs niveaux. Il est possible d imaginer qu un visiteur d un musée prenne en photo une peinture qu il apprécie et que l application retourne les images les plus ressemblantes, ou les images liées à une annotation identique. Une fois ces valeurs retournées, cela permet au visiteur de se diriger vers la ou les peintures qui l intéressent. Il est tout aussi envisageable, moyennant quelques adaptations, de lui donner une dimension ludique. Avant de partir le visiteur reçoit une image d une peinture dont aucun type n est spécifié et l application retourne un ensemble d images. Le but de l utilisateur serait de trouver sur base de celles-ci, le style de peinture dont il est question (surréalisme par exemple). Une fois la solution trouvée il serait invité à entrer la réponse. Si cette dernière est correcte, il s ensuit la possibilité de gagner un prix. 30

35 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS 3.2 Implémentation Dans cette section, les différentes étapes du développement de notre application telles que les divers outils employés, nos choix d implémentation ainsi que les interactions existantes avec le monde extérieur sont discutées Espace de stockage Concernant l espace de stockage, diverses possibilités ont été envisagées. Stocker les données nécessaires dans la mémoire interne était tout à fait possible. Cependant, cette mémoire est souvent limitée et plus usitée en particulier par des applications intrinsèques au mobile. Pour ces raisons et parce que tous les smartphones sont fournis avec une carte mémoire externe (SD card), il est apparu plus adapté de choisir cette dernière comme espace de stockage. <uses permission android : name= android. permission. WRITE_EXTERNAL_STORAGE /> Pour garder une bonne structure dans le rangement des données, un dossier accessible par notre application a été créé. Ce dernier contient l ensemble des photos prises par un utilisateur. De cette manière, les données ne se retrouvent ni mélangées avec les diverses photos qui peuvent être prises via une application tierce, ni à un endroit quelconque dans l arborescence de la SD card Interface L interface est épurée, se veut simple et intuitive permettant une prise en main immédiate. La raison principale est que l application est utilisée dans un musée et donc vise tout type de visiteurs, les plus jeunes comme les moins jeunes. De plus, les smartphones ayant des performances limitées, toute l application est pensée pour offrir une navigation confortable et non contraignante à l utilisateur. La Figure 12 présente la première fenêtre rencontrée : 31

36 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 12 Menu de l application Ainsi la première fenêtre propose quelques informations générales sur l application et les différentes possibilités qui s offrent à l utilisateur. Celui-ci peut prendre une nouvelle photo, parcourir celles présentes dans le dossier lié à l application, ou encore, parcourir les dernières images retournées lors d une analyse précédemment exécutée (pendant une session antérieure par exemple). Prendre une photo La fenêtre fournissant l appareil photo et accessible via le bouton Take a Picture fait appel au service device camera présent sur les smartphones. L API Android permet de manière aisée et moyennant quelques permissions, d utiliser les diverses applications présentes de base sur le smartphone telles que audio, appareil photo et caméra par exemple. <uses permission android : name = android. permission. CAMERA /> <uses feature android : name= android. hardware. camera /> <uses feature android : name= android. hardware. camera. autofocus /> Cette fonction permet de prendre en photo une ou plusieurs peinture(s) qui est (sont) stockée(s) dans le dossier adéquat. L utilisateur peut la retrouver dans la liste des images mises à sa disposition et lancer une analyse s il le désire. Lors de la prise d une photo, nous récupérons automatiquement la position géographique du smartphone. Ainsi divers paramètres sont enregistrés dans une base de données interne Nous y retrouvons le nom, qui par défaut est le 32

37 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS temps en millisecondes écoulé depuis 1970, ainsi qu une latitude et une longitude, qui fournissent une option de géolocalisation abordée dans la section 2.9. Le dessein de cette manipulation est de laisser la possibilité à MediaCycle d analyser également les images en fonction de leur position géographique. Fonctionnalités L ensemble des photos stockées, sont accessibles par l intermédiaire de l option Image List, visible sur la Figure 12. Toutes ces photos se présentent sous forme d un listing, à gauche l image en format d icône et à droite le nom de l image qui lui est associée. La Figure 13 suivante montre le listing des images : FIGURE 13 Listing des images Nous voyons un champ texte, nommé Search, qui joue le rôle de filtre sur l ensemble de la liste des images. Le filtre fonctionne de telle manière que chaque mot ou morceau de mot entré ne laisse afficher dans la liste que les images dont le nom commence par ce qui se trouve dans le champ. Un exemple avec la Figure 14 : 33

38 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 14 Filtre appliqué sur la liste des images via le champ Search Ensuite, par simple pression sur l élément de la liste désiré, un ensemble d options s affichent. L utilisateur est invité à renommer, supprimer, annoter et envoyer l image sur le serveur externe pour analyse. Les deux premières options parlant d elles-mêmes, seules les options View et Process sont expliquées. L affichage des options est montré sur la Figure 15 : FIGURE 15 Options possibles sur chaque image Lorsque l utilisateur clique sur l option View il est amené sur une nouvelle fenêtre affichant l image en grand format permettant une visualisation plus aisée 34

39 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS de l image (et non plus seulement sous forme d icône). La Figure 16 se présente comme suit : FIGURE 16 Visualisation de l image en grand format Ensuite il est possible d annoter, de définir un style pour une image ( Romantisme, Impressionnisme, etc.) par l intermédiaire du bouton Change Style. De manière plus technique, il effectue une indexation textuelle. Ce bouton offre une boîte de saisie comme nous le voyons sur la Figure 17 : FIGURE 17 Boîte de saisie permettant de définir un style à l image concernée 35

40 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS Une fois un style défini celui-ci est affiché à droite du bouton Change Style comme montré sur la Figure 18. Pour ce faire le style lié à l image concernée est mis à jour dans notre base de données interne. FIGURE 18 Style de l image défini et affiché à l écran Pour permettre une navigation aisée et éviter de revenir à chaque étape au listing de nos images, il est possible de passer d une image à l autre par simple mouvement du doigt sur l écran. Un mouvement de droite à gauche nous donne l image suivante dans le listing et un mouvement de gauche à droite l image précédente. Enfin par double pression sur l image souhaitée une nouvelle boîte de dialogue s affiche. Le même comportement apparaît lorsque l option Process présente sur la Figure 15 est choisie. Cette fois celle-ci propose à l utilisateur deux options qui sont By Similarity et By tag. Celles-ci envoient l image sélectionnée sur notre serveur pour interagir avec MediaCycle. La valeur que nous sommes invités à rentrer correspond au nombre d images que nous désirons recevoir en retour. La Figure 19 montre cette boîte : 36

41 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 19 Boîte de dialogue affichée avant analyse de l image En fonction de l option choisie notre serveur effectue des requêtes différentes. Dans le cas de l option By Similarity sont renvoyées les images considérées comme étant les plus similaires à l image fournie et ce en fonction de leur contenu. Dans l autre cas l option By Tag retourne des images dont l indexation textuelle correspondant à celle de l image envoyée. Temps d attente entre envoi et réception des données Lorsque l utilisateur à confirmer son désir que l image soit traitée, notre application doit communiquer avec notre serveur externe pour envoyer et recevoir les données. Pour y parvenir un accès à l internet est nécessaire, nous avons choisi la WiFi. Le temps d attente entre l envoi et la réception des données dépend de deux choses. Tout d abord la connexion au WiFi qui dépend du temps pour trouver un réseau et s y connecter. Ensuite le nombre d images spécifié par l utilisateur au préalable, plus il est grand plus il faut du temps pour récupérer les résultats. Le temps d attente pouvant être plus ou moins long, des messages spécifiques aux actions en cours d exécution sont affichés. Tout d abord l activation et la connexion au WiFi si ce n est pas déjà fait est renseigné sur la Figure 20 : 37

42 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 20 Barre de progression indéterminée informant la connexion à un WiFi Ensuite l envoi et la réception des données avant affichage sont renseignés sur la Figure 21 : FIGURE 21 Barre de progression indéterminée informant qu une image est en cours de traitement Ces messages ont pour but de créer une interaction avec l utilisateur pour l informer de l état d avancement des opérations et ainsi de le faire patienter. 38

43 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS Affichage des données résultats L ensemble des images résultats sont stockées dans un dossier particulier. Ce dernier est vidé à chaque fois que l utilisateur effectue l opération de traitement d une image. En d autres termes le dossier contient les images résultats de la dernière opération effectuée et sont accessibles dans la base de données interne grâce à un champ qui leur sont spécifiques. Ceci permettra à l application, en tout temps, d afficher de manière rapide les derniers résultats par l intermédiaire du bouton Last Results visible sur le premier écran de l application montré sur la Figure 12. Dans un premier temps nous avions pensé à afficher les résultats sous forme d un cluster où l image traitée serait le noeud central et l ensemble des résultats seraient situées tout autour. Après manipulation d un smartphone Galaxy Ace et d un test visuel sur son écran il en est ressorti qu un nombre trop important de résultats ne permet plus un affichage clair et intuitif. Pour cette raison, nous avons opté pour un affichage des images sous forme d une grille. Dans le cas de l option By similarity ces images ne sont pas placées de manière aléatoire mais sont positionnées de la plus pertinente à la moins pertinente. Les résultats sont ainsi clairs et intuitifs quel que soit le nombre de résultats retournés. De cette manière l image la plus pertinente est affichée dans le coin supérieur gauche de l écran. La lecture de cette grille se faisant de gauche à droite il en résulte que l image la moins pertinente est affichée sur la dernière ligne de la grille et le plus à droite de l écran. Les Figures 22 et 23 montrent ceci en image : FIGURE 22 Mise sous forme de grille de l ensemble des résultats et spécifiant l image la plus pertinente 39

44 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 23 Mise sous forme de grille de l ensemble des résultats et spécifiant l image la moins pertinente Dans le cas de l option By tag un ensemble aléatoire d images correspondant à l indexation visuelle de l image envoyée est retourné à l écran. FIGURE 24 Mise sous forme de grille de l ensemble des résultats correspondant à une annotation cubism 40

45 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS Lorsqu un utilisateur clique sur une des images un nouvel écran apparaît et affiche les informations liées à l image ainsi que l image en grand format. La Figure 25 montre l agencement de cet écran : FIGURE 25 Affichage des informations liées à l image précédemment sélectionnée Le bouton Process permet à nouveau d envoyer l image concernée pour qu elle soit traitée. Dans ce cas en plus de revenir à l étape de traitement de l image de la Section 3.2.2, cette image est transférée vers le dossier des images prises par l appareil photo. En effet, si l utilisateur le traitement de cette image nous considérons que cette dernière l intéresse et est sauvegardée plutôt que d être automatiquement supprimée MediaCycle Le projet MediaCycle [35], s appuie sur des recherches de l axe thématique de HyForge chez numediart et veut offrir un environnement de recherche innovant en proposant une alternative aux traditionnelles recherches par requête ( searchby-query ). Les bases de données permettent à un utilisateur d y récupérer les données qu il désire. Ce logiciel offre un grand nombre de possibilités, les applications pouvant aller de la recherche d images médicales à l installation de médias traitant de l art. Dans notre cas le logiciel MediaCycle peut-être vu comme une boîte noire, c est-à-dire que nous l utilisons sans devoir connaître exactement son fonctionnement interne. 41

46 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS Interface L interface proposée par MediaCycle est présentée sur la Figure 26 ci-dessous : FIGURE 26 Vue d ensemble de l interface de MediaCycle [35] Il est possible d appliquer des descripteurs de couleur, de forme et de texture. Ceux-ci peuvent être combinés pour affiner les recherches. Au niveau de la fenêtre centrale, les images découlant de l analyse sont disposées les unes par rapport aux autres, en fonction de leurs affinités, sous forme de clusters. Lorsque le curseur de la souris passe sur une image, tel que montré sur la Figure 26, cette dernière devient plus grande. Ceci permet à un utilisateur de naviguer plus facilement. Le dernier panneau à décrire reste celui en bas à droite. Celui-ci fournit des informations supplémentaires sur les images affichées. Tests effectués Dans le but de tester le bon fonctionnement des algorithmes d analyse d images par le contenu utilisé pour les recherches, la base de données d images a été traitée par MediaCycle. La Figure 27 montre les résultats obtenus en fonction des couleurs : 42

47 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 27 Résultats renvoyés par MediaCycle après application des descripteurs de couleur sur les images [35] La Figure 28 montre les résultats obtenus en fonction des textures : FIGURE 28 Résultats renvoyés par MediaCycle après application des descripteurs de texture sur les images [35] Dans les deux cas, les images sont qualitativement bien triées soit en fonction de leurs couleurs, soit en fonction de leurs textures. Ceci assure que les recherches utilisent des algorithmes d analyse d images par le contenu efficients. Ce test permet de partir sur de bonnes bases. 43

48 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS Bases de données Les différentes bases de données utilisées enregistrent un ensemble d informations nécessaires pour l interaction entre notre application et notre serveur. Base de données interne La base de données présentée est simple mais complète par rapport à tous nos besoins. Un nom pour l identification, une annotation textuelle, une latitude et une longitude pour la géolocalisation, un tag pour définir le style de l image et un champ last dl ( last download ) identifiant les dernières images reçues du serveur. Cette base de données est présente du coté client c est-à-dire sur le smartphone et est présentée sur la Figure 29 suivante : FIGURE 29 Base de données interne présente sur le smartphone Les champs latitude et longitude représentent les coordonnées géographiques où l image a été prise. On parle de géolocalisation (cf. section 2.9). Cette base de données va stocker l ensemble des photos prises par le smartphone ainsi que les images résultants de la dernière requête envoyée au serveur Apache. Pour les différencier nous utilisons la colonne last dl définie par une valeur booléenne où les premières sont mises à false et les secondes à true. A chaque nouvelle requête émise au serveur les images mises à true sont effacées permettant de cette manière de garder et d authentifier les images du dernier résultats. Base de données externe Cette base de données est présente du côté du serveur Apache. Elle constitue notre base de données externe et est présentée sur la Figure 30 suivante : 44

49 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 30 Base de données externe présente sur le serveur Apache Cette base joue le rôle d intermédiaire entre notre application et le logiciel MediaCycle pour stocker l ensemble des images qui transitent dans un sens comme dans l autre. Notre application envoie un ensemble d informations concernant l image qui doit être traitée. Le serveur reçoit ces informations et se charge de les stocker dans cette base de données Serveur Apache MediaCycle est un logiciel fourni pour les besoins de notre travail. Nous lui fournissons des données pour qu elles soient traitées et nous nous chargeons de les récupérer pour les afficher. N ayant pas le contrôle du coeur de ce logiciel il s est avéré nécessaire de mettre en place un serveur Apache pour jouer le rôle d intermédiaire dans la communication entre notre application et MediaCycle. Notre serveur possède une base de données, appelée base de données externe, qui enregistre l ensemble des données qui transitent entre notre application et MediaCycle. A cet effet, un script présent sur notre serveur est développé en PHP et permet de gérer la communication entre le smartphone et Mediacycle ainsi que l enregistrement des données dans une base de données. Son rôle est de faire appel à différentes méthodes, chacune ayant pour but de passer et/ou récupérer des informations ainsi que de fournir des instructions à MediaCycle. Notre application envoie l image à analyser au serveur qui la fournit à MediaCycle. Une fois que ce dernier a terminé le traitement de l image il retourne un ensemble de valeurs correspondant aux images considérées comme les plus similaires. Ces valeurs sont alors récupérées par notre serveur et envoyées au smartphone qui est alors en mesure d afficher les résultats à l écran. Tout ceci par l intermédiaire de notre script qui est placé en annexe 5.2 et complété de commentaires pour une lecture et une compréhension plus aisée. 45

50 3.2 Implémentation 3 IMPLÉMENTATION ET RÉSULTATS Vue globale des interactions Pour permettre une meilleure vue d ensemble en ce qui concerne les interactions entre notre application, notre serveur et MediaCycle un schéma a été mis en place. Celui-ci est présenté à la Figure 31 : FIGURE 31 Schéma montrant l ensemble des interactions entre le mobile, la base de données et les différents serveurs concernés Dans un premier temps, l application interagit avec le serveur Apache. Elle lui envoie une image ainsi que diverses informations intrinsèques. Le serveur la stocke dans sa base de données (dite externe et discutée plus tôt 3.2.4) et communique avec MediaCycle pour que celui-ci prenne le relais. En d autres termes, une fois MediaCycle prévenu qu une image doit être traitée, il la récupère et calcule les images considérées comme étant les plus ressemblantes qui se trouvent dans la base de données. Lorsque ces images résultats sont trouvées, MediaCycle retourne au serveur les identifiants (ou IDs de la base de données) associées à ces dernières. Une fois que le serveur a reçu les données, il les communique à l application qui se charge de les télécharger et de les enregistrer dans sa base de données (dite interne et discutée plus tôt 3.2.4). Enfin, les images résultats sont affichées sur l écran du smartphone. 46

51 3.3 Bilan 3 IMPLÉMENTATION ET RÉSULTATS 3.3 Bilan L ensemble des images proviennent du site wikimédia commons [36]. Ce site propose un ensemble d images de peintures qui ne possèdent plus de licence (Copyright). Le choix de ces images s est porté sur la possibilité que dans le futur l application, ainsi que les tests, puissent être utilisés et testés de manière publique sans avoir de problèmes de Copyright. Dans le but d effectuer une batterie de tests, un certain nombre d images devaient être récoltées. L échantillon d images regroupe des peintures de style pointilliste, cubiste, impressionniste, renaissance et surréaliste. Ceci permet d appliquer des algorithmes de classification sur les descripteurs qui ont été générés précédemment. Le pointillisme, l impressionnisme ou le romantisme, par exemple, correspondent normalement à des descripteurs de texture différents. Des descripteurs de formes permettent, peut-être, de distinguer un style plutôt qu un autre. Les recherches se basent sur une classification supervisée dans le but de quantifier tout cela. A cet effet, plusieurs algorithmes sont testés. Ceux-ci se basent respectivement sur la couleur, la forme suivant les descripteurs de Fourier ou les moments de Hu, le nombre de lignes, la reconnaissance de visage et la texture. Une fois ces algorithmes appliqués sur l ensemble des images présentes dans la base de données, les descripteurs retournés sont récupérés sous forme de vecteurs. Ces résultats sont renvoyés sous forme d un fichier XML qui est ensuite modifié pour être interprétable par Weka comme expliqué plus tôt dans la Section L outil Weka permet de comprendre et d apprendre à son utilisateur une série d informations à partir d un jeu de données. Dans notre cas, ce dernier contient un ensemble de descripteurs, chacun d entre-eux représentant une image de la base de données. Les descripteurs sont un ensemble de valeurs les caractérisant, capable de les distinguer les unes des autres. La finalité de la recherche est d étudier la pertinence des descripteurs et leur capacité à reproduire les annotations données. Pour ce qui est du data mining, la classification est une technique d exploration de données utilisées pour prédire l appartenance de certaines données à un groupe. Les techniques les plus employées dans ce domaine sont les réseaux neuronaux ( Bayes Net ), et les machines à vecteurs de support (SVM), présentées respectivement dans les sections et

52 3.4 Avant-propos 3 IMPLÉMENTATION ET RÉSULTATS 3.4 Avant-propos Avant de commencer la section concernant la recherche une présentation des différents styles de peinture que nous utilisons dans nos analyses est effectuée. Il existe un grand nombre de styles de peinture qui ont vu le jour à travers les siècles. Ceux auxquels nous nous sommes intéressés sont, dans l ordre de leur apparition, renaissance, romantique, impressionniste, pointilliste, cubiste, surréaliste. Le but de cette partie est de donner une vue globale de chaque style, de montrer les différences et caractéristiques de chacun. Renaissance Les peintures de la renaissance [37] ont pour caractéristique l illusion du réalisme dans un souci de beauté et d harmonie. Les peintres étudient la civilisation grécoromaine ce qui les amène à rechercher un idéal de perfection. La Renaissance italienne crée une révolution dans le monde de la peinture. L invention de la perspective et la redécouverte de l art antique que les peintres veulent imiter amène à cette révolution. L utilisation des dégradés en clair-obscur et des jeux d ombres permettent de donner aux divers éléments une impression de volume. Le perfectionnement des techniques employées permettent de donner une réalité toujours plus convaincante de la représentation sur la toile. FIGURE 32 Deluge par Hans Baldung 7 7. Les images se trouvent sur le site : Category:Paintings_by_Hans_Baldung 48

53 3.4 Avant-propos 3 IMPLÉMENTATION ET RÉSULTATS Romantisme Le romantisme laisse place à l imagination. Pour la première fois dans l histoire de l art, le peintre crée pour lui-même et s exprime à travers ses toiles. A l opposer de la renaissance, imiter la nature et se soucier de la rationalité ne sont plus une priorité. Ce courant artistique met en exergue les sentiments et la passion de l artiste. La perspective ainsi que la recherche de la perfection ne sont plus le centre d intérêt. Les peintres laisse libre cours à l improvisation, la liberté et le hasard entrent lors de la création de leur oeuvre. Celle-ci s exprime à travers la couleur, le matériel du support et les coups de pinceau plus prononcés. Un exemple de ce type de peinture sur la Figure 33 : FIGURE 33 Hunt par Raden Saleh 8 Impressionnisme L impressionnisme est un style de peinture nouveau et révolutionnaire par sa pratique à l extérieur. Le peintre se base sur de nouvelles références et inspirations telles que les estampes japonaise et la photographie qui amène un concept d instantanéité. L artiste porte dorénavant son intérêt sur la capture de l instant, de l éphémère. Ce style pictural représente le plein essor du paysage. Un exemple de ce type de peinture sur la Figure 34 : 8. paintings 49

54 3.4 Avant-propos 3 IMPLÉMENTATION ET RÉSULTATS FIGURE 34 Peinture de Carl Fredrik Hill 9 Pointillisme Le pointillisme [38], aussi appelé néo-impressionnisme ou encore divisionnisme, est une technique pictural inventé par Georges-Pierre Saurat. Ce courant rejette la capture de l éphémère des oeuvres impressionnistes. Cette technique consiste à juxtaposer les couleurs sous forme de petites touches ( petits points ) et non plus à mélanger purement les couleurs sur la palette ou la toile qu il utilise. Le clair-obscur obtenu par les contrastes des couleurs met en évidence l effet lumineux. Les sujets des oeuvres sont divers. L artiste se penche sur des thèmes de la vie moderne, des divertissements proposés au peuple (cirque, fête foraine, etc.), des paysages, des portraits et bien d autres encore. Les oeuvres traduisent davantage l émotion. Un exemple de ce type de peinture sur la Figure 35 : FIGURE 35 Paysage par Hyppolite Petitjean paintings

55 3.4 Avant-propos 3 IMPLÉMENTATION ET RÉSULTATS Cubisme Le cubisme [39] vit le jour début du 20ème siècle par l intermédiaire des peintres Georges Braque et Pablo Picasso. Il est difficile d expliquer l essence même de se mouvement artistique mais George Braque la décrit comme suit : Je ne pourrais représenter une femme dans toute sa beauté naturelle... Je n ai pas l habileté. Personne ne l a. Je dois par conséquent créer une nouvelle sorte de beauté, la beauté qui m apparaît en termes de volume, de ligne, de masse, de poids et, à travers cette beauté, j interprète mon impression subjective [39]. Le cubisme se décompose en trois étapes : 1. Le cubisme cézannien : le peintre crée son oeuvre à partir de volumes en deux dimensions ; 2. Le cubisme analytique : l oeuvre devient une déconstruction du processus perceptif. Cette étape rend l interprétation de l oeuvre plus hermétique ; 3. Le cubisme synthétique : des éléments réels réapparaissent dans les toiles en réaction à l étape précédente. On rentre dans une période de réflexion esthétique basée sur les éléments réels introduits. Un exemple de ce type de peinture sur la Figure 36 : FIGURE 36 Portrait de Picasso par Juan Gris 11 Surréalisme Le surréalisme [40] se caractérise principalement par la surprise et la liaison d objets et de scènes inattendus. Un grand nombre d artistes expliquent leur oeu- 11. Les images se trouvent sur le site : Category:Cubist_paintings 51

56 3.4 Avant-propos 3 IMPLÉMENTATION ET RÉSULTATS vre comme étant une représentation philosophique. Le surréalisme est un mouvement révolutionnaire. Le mouvement se propagea rapidement à travers le monde influençant aussi bien les arts visuels, la musique, la littérature et la philosophie. Un exemple de ce type de peinture sur la Figure 37 : FIGURE 37 Eternal Love par Anna Chromy 12 Colorful Colorful n est pas un style de peinture. Nous avons créé cette catégorie dans le but de regrouper un ensemble de peinture aux couleurs vives et lumineuses. Un exemple de ce type de peinture sur la Figure 38 : FIGURE 38 Day Six paintings 52

57 3.5 Knowledge flow layout 3 IMPLÉMENTATION ET RÉSULTATS 3.5 Knowledge flow layout L interface KnowledgeFlow [41] est une option très utile de Weka. Elle regroupe les composantes du logiciel entre elles sous forme de méta composantes. A l heure actuelle, cette interface n est pas encore complète et la documentation n est pas exhaustive. Cependant, malgré ces inconvénients, elle offre une alternative probante aux autres interfaces graphiques proposées par Weka. L utilisateur est amené à sélectionner des composantes de Weka via une barre d outils. Une fois sélectionnées il peut les disposer les unes par rapport aux autres et établir leur ordre d interaction en les connectant. Ceci fixe un sens de flux afin de traiter et d analyser les données. Un exemple d utilisation de l interface KnowledgeFlow, créé spécialement dans le cadre des besoins de nos recherches, est présenté sur la Figure 39 : FIGURE 39 Mise en place d un flux de données via l interface KnowledgeFlow de Weka Ce flux de données permet de traiter un fichier au format ARFF. Les données qui y sont contenues subissent un ensemble de pré-traitement, à savoir la discrétisation, la normalisation et, dans le cas de Bayes Net, une transformation des données numériques en valeurs nominales. Une fois ces actions appliquées et la technique d estimation d un modèle choisi (cross-validation dans notre cas), les algorithmes Bayes Net et SVM sont appliqués. Pour finir, il est possible d afficher les résultats obtenus (matrice de confusion par exemple) paintings 53

58 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS 3.6 Résultats Nous commençons par analyser les différents jeux de données (triés en fonction des descripteurs appliqués au préalable cf. section 2.12). Pour ce faire les algorithmes de classification BayesNet et SVM sont appliqués sur le jeu de données en fonction des descripteurs qui nous intéressent. Dans un souci d une meilleure visibilité les valeurs sont présentées sous forme de tableaux. Les résultats retournés par chacun des algorithmes sont placés les uns à côté des autres ce qui permet de les comparer plus aisément. Enfin pour confirmer la véracité des résultats retournés, ces derniers sont justifiés à travers des exemples concrets, des peintures utilisées dans nos recherches. Remarque : Les paramètres utilisés par les algorithmes sont ceux de base spécifiés par Weka. Ceux-ci sont : 1. pour Bayes Net : cross-validation : 10-folds Algorithme d estimation : SimpleEstimator Algorithme de recherche : K2 2. pour SVM : cross-validation : 10-folds Type de SVM : C-SVC Degré de l algorithme de recherche : 3 Type de noyau : radial basis function Il est à noter qu après les diverses analyses qui suivent sur les jeux de données, les paramètres ci-dessus ont été modifiés pour voir s il était possible d obtenir de meilleurs résultats. Ces derniers ne variant que très faiblement ou étant de moindre qualités, ils ne sont ni montrés, ni discutés Descripteurs de couleur En premier lieu, les algorithmes de Data mining traitent les descripteurs de couleur. Après application de BayesNet et SVM, nous nous intéressons aux valeurs de precision et recall , répertoriées dans la Table 2 : 54

59 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS BayesNet SVM Classe Precision Recall Precision Recall Impressionnisme Couleur vive ( Colorful ) Cubisme Renaissance Pointillisme Romantisme Surrealisme TABLE 2 Detailed Accuracy By Class For BayesNet and SVM L exactitude de la classification n est pas très bonne. Ceci traduit qu un grand nombre de données ne sont pas correctement classées (recall) et que certains clusters possèdent beaucoup de données qui ne devraient pas y être (precision). Pour comparaison, nous remarquons que SVM ressort des résultats sensiblement identiques à ceux de Bayes Net. Ensuite, la matrice de confusion, Table 3, montre la répartition des données suivant leur style : BayesNet SVM a b c d e f g a b c d e f g a = impressionnisme b = colorful c = cubisme d = renaissance e = pointillisme f = romantisme g = surrealisme TABLE 3 Matrice de confusion de BayesNet et SVM La matrice de confusion rend les résultats plus intuitifs lors de leur lecture. Elle permet de voir le nombre de données bien classées et les autres. Les données correctement classées se trouvent sur la diagonale. Sur une ligne se trouve l ensemble des données qui correspondent à un certain genre de peinture (annotée pointillisme par exemple). Ceci signifie que les nombres qui ne sont pas sur la diagonale traduisent les données qui sont placées dans les mauvaises classes. Ainsi, dans la matrice de confusion ci-dessus 3 nous voyons, pour SVM, 56 peintures de type impressionniste correctement classées mais 6 qui appartiennent au même genre se trouvent dans la classe renaissance. Au vu des résultats de la répartition 55

60 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS des données, nous en déduisons que les descripteurs de couleur ne permettent pas de dissocier efficacement les divers styles de peinture. Une fois la matrice de confusion calculée, il est possible de la visualiser sous forme graphique sur la Figure 40. Ce graphique est appelé classifier error et montre les erreurs commises par l algorithme de classification : FIGURE 40 Graphique mettant en évidence les erreurs de classification commises par BayesNet où les croix correspondent aux données correctement classées et les carrés correspondent à celles mal classées. Le graphique met en évidence les valeurs de la matrice de confusion. Cette dernière étant presque identique pour les deux algorithmes, nous ne proposons qu un seul des deux graphiques, celui de BayesNet. Le second graphique, Figure 55, est placé en annexe 5. Il est difficile d émettre des conclusions sur ce graphique car il montre que les données sont classées de manière brouillonne. Beaucoup d images de type impressionniste sont bien classées. Cependant, nous ne pouvons rien en conclure car un grand nombre d autres images en tout genre s y retrouvent. Ceci tente à confirmer notre intuition quant au descripteur de couleur. Ce dernier ne permet pas de classer les peintures en fonction de leur style. Nous remarquons que seules les valeurs precision et recall, ainsi que la matrice de confusion sont suffisantes pour émettre une analyse et en déduire des conclu- 56

61 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS sions. Pour cette raison, dans la suite des analyses, les graphiques montrant les erreurs de classifications sont placés dans la section annexe 5. Les résultats Ce qui est ressorti de l analyse de nos données est que les descripteurs de couleur ne permettent pas de dissocier un genre de peinture plutôt qu un autre. Les résultats s expliquent par le fait qu il n y a pas de règles pré-établies qui, par exemple, spécifient qu un style de peinture utilise des couleurs particulières ou différentes d un autre. Pour rappel, la Section 3.4 discute des caractéristiques liées aux peintures. Pour exemple regardons la Figure 41 : (a) Renaissance (b) Romantisme (c) Impressionnisme (d) Pointillisme (e) Cubisme (f) surrealisme FIGURE 41 Comparaison des couleurs entre différents styles de peintures 14 La figure ci-dessus montre bien que divers types de peinture peuvent avoir les mêmes palettes de couleur. Ceci met en évidence la véracité des résultats. 14. L ensemble des images se trouvent sur le site : 57

62 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS Descripteurs de forme A cette étape les descripteurs de forme selon Fourier et les moments de Hu sont appliqués. Fourier Dans le même ordre que précédemment, nous commençons par analyser les informations liées au descripteur selon la loi de Fourier. Le tableau 4 des valeurs recall et precision : BayesNet SVM Classe Precision Recall Precision Recall Impressionnisme Couleur vive ( Colorful ) Cubisme Renaissance Pointillisme Romantisme Surrealisme TABLE 4 Detailed Accuracy By Class For BayesNet and SVM A première vue les résultats ne sont pas très bons. Les données relatives aux styles impressionniste, renaissance et pointilliste sont correctement classées à concurrence de plus ou moins 50 pour cent. De plus la précision relative à ces classes est comprise entre 30 et 40 pour cent. Ceci montre que la plupart des données qui y sont présentes n ont pas de liens avec la classe dans laquelle elles se trouvent. Quant à SVM, il a tendance à tout mettre dans la classe impressionnisme. Dans ce cas-ci, elle joue le rôle de classe poubelle. En d autres termes, cela signifie que presque la totalité des données, sans distinction, se retrouvent dans une seule classe. Le second tableau, Table 5, présente la matrice de confusion : BayesNet SVM a b c d e f g a b c d e f g a = impressionnisme b = colorful c = cubisme d = renaissance e = pointillisme f = romantisme g = surrealisme TABLE 5 Matrice de confusion de BayesNet et SVM 58

63 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS Le genre renaissance et pointillisme semble se trier de manière plus importante. En annexe se trouvent les graphiques, relatifs aux algorithmes, montrant les erreurs de classification sur la Figure 56 et la Figure 57. La prochaine étape est d appliquer les descripteurs de forme suivant les moments de Hu. De meilleurs résultats seront peut-être retirés. Moments de Hu La Table 6 est présentée ci-dessous : BayesNet SVM Classe Precision Recall Precision Recall Impressionnisme Couleur vive ( Colorful ) Cubisme Renaissance Pointillisme Romantisme Surrealisme TABLE 6 Detailed Accuracy By Class For BayesNet and SVM Que ce soit pour SVM ou Bayes Net l ensemble des données se retrouvent dans la classe impressionnisme. La Table 7 proposant les matrices de confusion est présentée ci-dessous : BayesNet SVM a b c d e f g a b c d e f g a = impressionnisme b = colorful c = cubisme d = renaissance e = pointillisme f = romantisme g = surrealisme TABLE 7 Matrice de confusion de BayesNet et SVM Les résultats sont moins bons que pour ceux des descripteurs de Fourier, même si ce dernier ne donne pas de résultats concluants. Pour conclure, les deux descripteurs de forme testés traduisent nos intuitions et sont incapables de distinguer un style de peinture plutôt qu un autre. En annexe se trouvent les graphiques montrant les erreurs de classification sur la Figure 58 et la Figure

64 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS Les résultats Ce qui est ressorti de l analyse de nos données est que les descripteurs de forme ne permettent pas de dissocier un genre de peinture plutôt qu un autre. Dans un premier temps nous nous attendions à ce que le cubisme se différencie mais ce n est pas le cas. Les descripteurs utilisent peut-être des algorithmes trop performants amenant à découvrir des formes, quelles qu elles soient, dans toutes les peintures ce qui ne permet pas de dissocier une peinture cubiste d une autre. Un algorithme plus basique, ne cherchant que des lignes plutôt que des formes, donnerait peut-être de meilleurs résultats. C est ce que nous allons tenter de découvrir avec la prochaine analyse qui se base sur les descripteurs de ligne Descripteurs de ligne Les descripteurs de ligne se basant sur la transformée de Hough sont appliqués. Ceux-ci vont nous apprendre si oui ou non il est possible de trier les différentes peintures en fonction du nombre de lignes qui y sont trouvées. La Table 8 présente les valeurs de precision et recall : BayesNet SVM Classe Precision Recall Precision Recall Impressionnisme Couleur vive ( Colorful ) Cubisme Renaissance Pointillisme Romantisme Surrealisme TABLE 8 Detailed Accuracy By Class For BayesNet Les résultats qui ressortent du tableau mettent en évidence une tendance à trier un nombre certain de peintures pointillistes. De plus quasiment aucune, voire aucune dans le cas de SVM, peinture cubiste n est correctement classée. Ce dernier point est discuté dans la suite. La Table 9 proposant les matrices de confusion est présentée ci-dessous : 60

65 3.6 a Re sultats b BayesNet c d e f g IMPLE MENTATION ET RE SULTATS a = impressionnisme b = colorful c = cubisme d = renaissance e = pointillisme f = romantisme g = surrealisme a b SVM c d e f g TABLE 9 Matrice de confusion de BayesNet Comme nous le voyons que ce soit avec Bayes Net ou SVM les re sultats ne sont pas tre s convaincants. Dans le cas pre sent nous nous attendions a voir une se paration entre le cubisme et les autres styles. En effet ce dernier e tant un style de peinture compose uniquement de formes, il paraissait logique de penser qu il se serait diffe rencier des autres ce qui n est pas le cas. Il est a noter que pre s de la moitie des peintures pointillistes se trouvent correctement classe es apre s application de la transforme e de Hough. En annexe, nous retrouvons e galement le graphique montrant les erreurs de classification sur la Figure 62 et la Figure 63. Les re sultats Comme il n est pas tre s aise de comprendre les re sultats lie s aux descripteurs de ligne, la transforme e de Hough est applique e sur diffe rentes images gra ce a un programme de veloppe par Xavier Philippeau 15. Il permet d utiliser et de visualiser tre s facilement les re sultats obtenus de cette transforme e par l interme diaire d une interface graphique simple et intuitive. Une fois cette transforme e applique e sur des peintures prises ale atoirement et de styles diffe rents la Figure 40 fut mise en place : (a) Cubisme (b) Cubisme 15. Le programme peut e tre te le charge e sur le site : 61

66 3.6 Re sultats (c) Impressionnisme (e) Pointillisme 3 IMPLE MENTATION ET RE SULTATS (d) Impressionnisme (f) Pointillisme (g) Renaissance (h) Renaissance (i) Romantisme (j) Romantisme 62

67 3.6 Re sultats (k) Renaissance 3 IMPLE MENTATION ET RE SULTATS (l) Renaissance F IGURE 40 Transforme e de Hough applique e sur un ensemble de peintures de styles diffe rents Deux choses sont a retirer de la Figure 40 ci-dessus : 1. Si nous prenons deux peintures de me me style nous voyons que le nombre de lignes peut conside rablement varier ; 2. Si nous prenons des peintures de style diffe rent, il n est pas possible de les classer de visu en fonction de leur type du au nombre trop variant de lignes qui sont trouve es. Ce qui est ressorti de l analyse des descripteurs de ligne ainsi que de la Figure 40 ci-dessus est qu il est difficile de se baser sur la pre sence plus ou moins importante de lignes dans une image pour dissocier un style de peinture en particulier. Ceci montre une nouvelle fois qu il n est pas aise de trouver des algorithmes d analyse d images par le contenu qui soient efficaces dans le domaine de nos recherches Descripteurs de visage Les descripteurs de visage sont utilise s pour voir s il est possible que l ensemble des visages pre sents dans les peintures cubistes ne soient pas reconnus. En effet le style de ces dernie res se basant sur les lignes et les formes, un visage ne devrait pas e tre trouve contrairement aux styles plus re alistes. Les algorithmes de classification sont applique s pour savoir ce que ce type de descripteurs peut nous faire de couvrir. La Table 10 pre sente les valeurs de precision et recall : 63

68 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS BayesNet SVM Classe Precision Recall Precision Recall Impressionnisme Couleur vive ( Colorful ) Cubisme Renaissance Pointillisme Romantisme Surrealisme TABLE 10 Detailed Accuracy By Class For BayesNet Dans le cas présent Bayes Net et SVM retournent identiquement les mêmes résultats. Tous deux montrent que les descripteurs n ont trouvé des visages que dans de rares cas et ce indépendemment du type de peinture. La Table 11 proposant les matrices de confusion est présentée ci-dessous : BayesNet SVM a b c d e f g a b c d e f g a = impressionnisme b = colorful c = cubisme d = renaissance e = pointillisme f = romantisme g = surrealisme TABLE 11 Matrice de confusion de BayesNet Le tableau ci-dessus ne met à jour aucun autre résultat supplémentaire. Bien qu aucun visage ne soit reconnu dans le cas du cubisme, il en va de même pour tous les autres styles de peinture (hormis quelques rares images) ce qui ne nous permet pas d en ressortir de nouvelles connaissances. En annexe, nous retrouvons également le graphique montrant les erreurs de classification sur la Figure 60 et la Figure 61. Les résultats Les mauvais résultats qui sont générés par les descripteurs de visage peuvent s expliquer de différentes façons. Tout d abord toutes les peintures ne présentent pas un visage ce qui, dès le départ, n aurait pu donner d excellents résultats. Comme il a été constaté ce type de descripteurs appliqués à notre jeu de données actuel ne peut différencier un type de peinture plutôt qu un autre. Ensuite pour 64

69 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS mieux comprendre ce qu il se passe nous avons analysé le fichier contenant les descripteurs et il en ressort que seules neuf images sur 205 présenteraient au moins un visage or nous répertorions dans notre base de données 83 images en possédant. Ceci peut s expliquer par la difficulté qu ont les algorithmes à détecter un visage. En effet ce dernier doit être de taille raisonnable, net et mis de face pour permettre à l algorithme de découvrir les différentes caractéristiques qui forment un visage. Ce qui ressort de l analyse des descripteurs de visage est qu ils sont inefficaces pour dissocier un genre de peinture, en particulier dans le cas de notre jeu de données. Ils n ont donc pas permis de mettre à jour de nouvelles informations Descripteurs de texture Dans ce cas-ci, les descripteurs de texture sont utilisés pour essayer de dissocier, à nouveau, un style de peinture à un autre. Les algorithmes de classification sont appliqués pour savoir si les descripteurs de texture classent correctement les peintures. La Table 12 présente les valeurs de precision et recall : BayesNet SVM Classe Precision Recall Precision Recall Impressionnisme Couleur vive ( Colorful ) Cubisme Renaissance Pointillisme Romantisme Surrealisme TABLE 12 Detailed Accuracy By Class For BayesNet Les valeurs de precision et recall pour le genre impressionniste et pointilliste sont meilleures que les autres types de descripteurs qui ont été employés jusqu à présent. La matrice de confusion qui en est ressortie Table 13 se présente comme suit : BayesNet SVM a b c d e f g a b c d e f g a = impressionnisme b = colorful c = cubisme d = renaissance e = pointillisme f = romantisme g = surrealisme TABLE 13 Matrice de confusion de BayesNet 65

70 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS Dans ce cas-ci, nous constatons une amélioration dans les résultats, en particulier pour SVM qui classe presque toutes les peintures de type impressionniste et pointilliste correctement. Cependant seuls les résultats de classification concernant le pointillisme doivent être retenus car nous voyons que tous les autres genres de peinture sont classés dans la classe impressionnisme. Ceci tend à montrer qu à l exception des peintures pointillistes toutes les peintures sont placées dans cette classe et doivent être écartées des résultats. En annexe, nous retrouvons également le graphique montrant les erreurs de classification sur la Figure 64 et la Figure 65. Les résultats Ce qui est ressorti de l analyse de nos données est que les descripteurs de texture permettent de dissocier le style pointilliste des autres. Comme expliqué dans la Section 2.10 la texture fait référence à une région de l image qui a des propriétés d homogénéité. Cette région peut, par exemple, présenter des caractéristiques répétitives ou être un motif simple qui se répète. De plus, dans la Section 3.4 nous avons vu que le pointillisme était un style de peinture particulier dont la technique consiste à juxtaposer les couleurs sous forme de petites touches ( petits points ) et non plus à mélanger purement les couleurs sur la palette ou la toile que l artiste utilise. Cet ensemble de petits points forment le motif qui se répète à travers la toile ce qui permet aux descripteurs de texture de différencier le style pointilliste des autres. Pour exemple regardons la Figure 40 : (a) Pointillisme (b) Renaissance 16. L ensemble des images se trouvent sur le site : 66

71 3.6 Résultats 3 IMPLÉMENTATION ET RÉSULTATS (c) Romantisme (d) Impressionnisme (e) Cubisme (f) surrealisme FIGURE 40 Comparaison des couleurs entre différents styles de peintures 16 Brève conclusion de nos résultats : Les algorithmes de Data mining, BayesNet et SVM, appliqués sur nos divers jeux de données ont permis de mettre en évidence certains résultats. De notre recherche est ressorti que les descripteurs de couleur et de forme ne permettent pas de dissocier un style de peinture plutôt qu un autre. Les raisons invoquées pour expliquer ce comportement furent respectivement l absence de règles spécifiant qu un style de peinture possède des couleurs différentes des autres et que l algorithme de forme utilisé découvre des formes, quelles qu elles soient, dans toutes les peintures ce qui ne permet pas, par exemple, de différencier le style cubiste des autres. Malgré ces premiers résultats non satisfaisants, nos recherches ont mis en évidence l efficacité des descripteurs de texture capables de classer, et donc de reconnaître, une très grand nombre de peintures pointillistes par rapport à tout autre genre pictural. 67

72 4 CONCLUSIONS ET PERSPECTIVES 4 Conclusions et perspectives Dans un premier temps, un état de l art a été mis en place. Celui-ci a permis d aborder différents thèmes et outils en relation avec le sujet du mémoire. A travers cette section, diverses applications existantes dans le monde culturel, l - analyse d images ou encore le data mining ont été discutés. Ensuite, l application développée a été abordée ainsi que les diverses options qu elle offre. Une application relative au monde du musée a été développée. Celle-ci fonctionne sur la plate-forme Android la rendant utilisable sur des smartphones, tablettes et autres technologies tournant sur cette dernière. Elle propose une interface simple, complète et offre un ensemble d interactions avec l utilisateur. Cette application permet à ce dernier de prendre une peinture en photo et de l annoter ( pointillisme par exemple). Une fois ceci réalisé, l utilisateur peut s il le désire effectuer une recherche de correspondance sur la photo. Cette action a pour effet de renvoyer sur l écran de son appareil un ensemble de peintures considérées comme semblables à celle prise. Pour chaque image affichée des informations sont fournies telles que le nom et le type de peinture dont il est question. L utilisateur peut alors se diriger vers les peintures proposées et s y attarder plus longuement. La partie recherche consistait à étudier la pertinence des descripteurs et leur capacité à reproduire les annotations données. Deux algorithmes de classification ont été appliqués dans le but de retirer des connaissances et des conclusions sur les jeux de données fournis. Il est ressorti que malgré la difficulté de trouver des descripteurs capables de distinguer un style de peinture plutôt qu un autre, nos recherches ont permis de dégager des pistes. Nous avons vu que les descripteurs de couleur, de forme et de visage ne permettaient pas de distinguer un style de peinture en particulier. Ensuite sont venus les descripteurs de ligne qui ont dégagé des résultats non attendus puisqu ils ont permis de dissocier un certain nombre de peintures pointillistes des autres styles. Enfin, ces recherches ont permis de mettre en évidence l efficacité des descripteurs de texture quant à leur capacité à distinguer très nettement l impressionnisme du pointillisme. Ceci est un premier pas dans la recherche et ouvre des portes vers de futurs chemins à emprunter. Au niveau des perspectives, concernant l analyse de peintures par le contenu, il reste encore de nombreuses pistes qui peuvent être envisagées à l avenir. D après les recherches qui ont été menées tout au long du mémoire, il est difficile, voire impossible, d imaginer qu un seul type de descripteurs permette de classer tous les styles de peinture. Cependant, comme les descripteurs de texture l ont montré, il est possible de distinguer deux styles différents. Il serait donc possible de trouver d autres descripteurs capables de trier correctement un nombre restreint de styles. 68

73 4 CONCLUSIONS ET PERSPECTIVES En ce qui concerne notre application les perspectives futures de développement sont nombreuses. En effet, un programme peut toujours être amélioré et proposer de nouvelles fonctionnalités. Pour le moment, notre application fonctionne uniquement par l intermédiaire de l Internet ( online ), il serait peut-être intéressant de lui donner une fonctionnalité sans Internet. Le premier problème auquel il faut faire face est la faible performance (à l heure actuelle) des smartphones et leur batterie. En effet l analyse d images par le contenu prend beaucoup de ressources ce qui prendrait du temps à exécuter et l utilisateur n est pas patient par définition. Ensuite, directement lié au temps d exécution, la batterie risque de se vider très rapidement. Pour exemple, la batterie du smartphone Galaxy Ace sur lequel notre application a été développée dure en moyenne un jour et demi sans lancer d applications gourmandes telle que le Wi-Fi ou la 3g sinon elle dure moins d une journée. Malgré ces inconvénients nous nous sommes intéressés au sujet pour donner des pistes à suivre quant à un éventuel développement de la fonctionnalité sans Internet ( offline ). Cette dernière consisterait à implémenter la fonction d analyse d images par le contenu au sein de l application plutôt que sur notre serveur. Cette fonction est, pour le moment, implémentée dans le langage C++ et utilise une librairie OpenCV (Open Computer Vision) pour travailler. OpenCV est une librairie graphique regroupant un ensemble de fonction de programmation pour le traitement d images en temps réel [42]. Cette librairie possède un grand nombre d outils utilisés dans le domaine de la recherche. Il y a peu sa version a été rendue compatible pour une utilisation avec la plate-forme Android 17. Dans un premier temps, soucieux de savoir comment faire fonctionner OpenCV sur notre smartphone Galaxy Ace et de connaitre les performances qu elle offre nous avons lié OpenCV à un nouveau projet et exécuter une application de détection de contours d images fournie et pré-implémentée dans un package OpenCV pour Android 18. L application utilise la caméra du smartphone et travaille en temps réel. Les Figure 41 et 42 suivantes montrent en image le résultat : 17. Pour en savoir plus sur Android-OpenCV : 18. Le package de la version Beta utilisé se trouve à l adresse suivante : 69

74 4 CONCLUSIONS ET PERSPECTIVES FIGURE 41 Exemple 1 de détection de contour d une image vidéo en temps réel FIGURE 42 Exemple 2 de détection de contour d une image vidéo en temps réel Les résultats sont convaincants car la détection de contours se fait bien en temps réel et de manière fluide. Dans le cas de l analyse d images par le contenu la librairie OpenCV donnerait peut-être des résultats probants sur un smartphone. Cette libraire représente donc un outil intéressant et une piste sérieuse à suivre dans l éventualité du développement d une fonctionnalité offline. 70

75 BIBLIOGRAPHIE Bibliographie [1] A. Tricot. Stratégies de navigation et stratégies d apprentissage : pour l approche expérimentale d un problème cognitif. Hypermedias et apprentissages, 2 :21 37, URL : (consulté le 05/03/2011). [2] S. Münz. Définition sur l hypertexte, URL : definitions.htm (consulté le 05/04/2011). [3] AT Internet Web Analytics and Online Intelligence. Module rich media. URL : (consulté le 05/04/2011). [4] Boberlin. Media9. du neuf sur internet. URL : (consulté le 05/04/2011). [5] Rich Media Agency. Richmedia. URL : (consulté le 05/04/2011). [6] S. Mouton. Multimedia, technologie de l information et de la communication et musée. URL : (consulté le 07/04/2011). [7] CultureClic. Cultureclic, la culture augmentée. URL : (consulté le 07/04/2011). [8] CultureClic. Apercu d itunes - cultureclic. URL : (consulté le 07/04/2011). [9] Culture Communication. Musetrek, un nouvel outil pour découvrir autrement les musées. Le magazine du ministère de la Culture et de la communication. URL : (consulté le 07/04/2011). [10] V. Abrial. Musetrek au louvre une expérience interactive. Le Laboratoire - Communiqué de presse. URL : (consulté le 07/04/2011). [11] D. Edwards, M. Harman, T. Umar, A. Presser, and R. Gilron. Musetrek. URL : (consulté le 07/04/2011). [12] Musée du Quai Branly. Actualités - musée du quai branly pour android. URL : (consulté le 08/04/2011). 71

76 BIBLIOGRAPHIE [13] Musée du Quai Branly. Android market - musée du quai branly. URL : https://market.android.com/details?id=fr.quaibranly&feature=search_ result (consulté le 08/04/2011). [14] Google. Goggles. URL : (consulté le 08/04/2011). [15] S. Zirnhelt and T.P. Breckon. Artwork image retrieval using weighted colour and texture similarity. In Visual Media Production, IETCVMP. 4th European Conference on, pages 1 1. IET, URL : (consulté le 13/04/2011). [16] M.S. Lew, N. Sebe, C. Djeraba, and R. Jain. Content-based multimedia information retrieval : State of the art and challenges. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMCCAP), 2(1) :1 19, [17] A. Choksuriwong, H. Laurent, and B. Emile. Etude comparative de descripteurs invariants d objets. Congrès des Jeunes Chercheurs en Vision par Ordinateur, [18] I.H. Witten and E. Frank. Data Mining : Practical machine learning tools and techniques. Morgan Kaufmann Pub, [19] A. Baccini and P. Besse. Data mining 1, exploration statistique. Université de Toulouse, [20] F. Fogelman-Soulié and E. Marcadé. L industrialisation des analyses besoins, outils & applications. Revue MODULAD, 140(38), [21] M.J. Crawley. Statistics : an introduction using R. Wiley, [22] R. Rakotomalala. Tanagra : un logiciel gratuit pour l enseignement et la recherche. Actes de EGC, 2(3) : , [23] Rapid-I. Rapidminer. URL : (consulté le 02/06/2011). [24] I.H. Witten and E. Frank. Data Mining : Practical machine learning tools and techniques. Morgan Kaufmann Pub, [25] Android Developers. Application fundamentals. URL : (consulté le 28/04/2011). [26] Android api levels. URL : (consulté le 28/04/2011). [27] Android developpers. Android - activities. URL : html (consulté le 07/07/2011). 72

77 BIBLIOGRAPHIE [28] C. Pautasso. Soap vs. rest URL : byildiz.etu.edu.tr/bil519/resources/presentations/soapvsrest.pdf (consulté le 03/06/2011). [29] SQLite. Well-known users of sqlite. URL : (consulté le 03/05/2011). [30] Y. Rui, T.S. Huang, and S.F. Chang. Image retrieval : Current techniques, promising directions, and open issues* 1. Journal of visual communication and image representation, 10(1) :39 62, [31] I. Pitas. Digital image processing algorithms and applications. Wileyinterscience, [32] M. Abernethy. Data mining with weka - part 2 : Classification and clustering, [33] S. Lemaire et G. Heinrich. Rapport de travaux pratiques - traitement statistique des données. URL : freckle/fichiers/ma/ma-412-rapport_tp1.doc (consulté le 13/05/2011). [34] S. Loudcher. Chapitre 3 : La discrétisation. URL : eric.univ-lyon2.fr/ sabine/gz/chap3.ps.gz (consulté le 13/05/2011). [35] X. Siebert et P. Fortemps et S. Dupont et D. Tardieu. Mediacycle : Browsing and performing with sound and image libraries. QPSR of the numediart research program, 2(1), [36] Wikimédia - paintings. URL : (consulté le 02/05/2011). [37] Les ateliers pédagogiques d arts plastiques du service éducation de la ville de Mulhouse. Les styles en peinture. Regarder et comprendre. [38] Mickaël Artaut (Mik-Art). Le mouvement pointilliste. URL : le-mouvement-pointilliste-pointillisme-divisionnisme-n%c3% A9o-impressionnisme/ (consulté le 11/07/2011). [39] Centre Pompidou. Mouvement artistique - le surréalisme et les artistes surréalistes. URL : Cubisme.htm (consulté le 11/07/2011). [40] Centre Pompidou. L art surrealiste. URL : ENS-surrealisme.htm (consulté le 11/07/2011). [41] E. Frank, M. Hall, G. Holmes, R. Kirkby, B. Pfahringer, I. Witten, and L. Trigg. Weka. Data Mining and Knowledge Discovery Handbook, pages 89 91,

78 BIBLIOGRAPHIE [42] Opencvwiki. URL : (consulté le 01/08/2011). [43] P. Leray. Réseaux bayésiens et autres modèles graphiques. URL : pleray/siterna/cours/tutoriel_ RB1.pdf (consulté le 15/05/2011). [44] A.L. Madsen and F.V. Jensen. Lazy propagation : a junction tree inference algorithm based on lazy evaluation. Artificial Intelligence, 113(1) : , [45] M. Hasan et F. Boris. Svm : Machines à vecteurs de support ou séparateur à vastes marges URL : (consulté le 19/05/2011). 74

79 5 ANNEXES 5 Annexes 5.1 Les algorithmes Bayes Net et SVM Cette sous-section va permettre de mettre en évidence le raisonnement ainsi que le fonctionnement sous-jacent des deux algorithmes de classification qui sont utilisés lors de nos recherches, à savoir Bayes Net et Support Vector Machine. Pour rappel, ces derniers sont traduits respectivement par Réseaux Bayésiens et Machines à Vecteurs de Supports Bayes Net Pour expliquer le fonctionnement de l algorithme Bayes Net nous nous appuyons sur le travail de Leray Philippe [43]. Plusieurs modèles utilisés en Machine Learning peuvent être vus comme un dérivé d un modèle graphique 19. Le modèle est établi via un graphe d état où chaque arc est vu comme une probabilité de transition. La Figure 43 met en image un modèle graphique : FIGURE 43 Exemple de modèle graphique [43] où P (D C) désigne la probabilité que D se réalise sachant que C s est réalisé. P (D C) est la probabilité conditionnelle. Le réseau bayésien est un graphe non cyclique dont chaque noeud est une description qualitative des dépendances entre les variables et chaque arc est une description quantitative de ces dépendances. Nous commençons par donner un exemple développé au fur et à mesure pour comprendre de manière plus aisée le fonctionnement de l algorithme. L exemple débute par la Figure 44 : 19. Un modèle graphique est une réunion entre la théorie des graphes et la théorie des probabilités 20. Ce type de graphe est appelé graphe causal. 75

80 5 ANNEXES FIGURE 44 Exemple d un graphe 20 et de ses dépendances [43] Chaque variable est définie et la dépendance entre chaque variable est connue. Une fois cette étape faite une description quantitative doit être établie (poids de l arc). La figure 45 en est un exemple : FIGURE 45 Description quantitative entre les variables [43] La question qui se pose est maintenant de comprendre comment ces différentes étapes sont mises en place. Pour lier deux noeuds (deux variables) par un arc (une dépendance) il faut connaître la relation entre chaque variable. En d autres termes, il faut savoir si les variables sont dépendantes ou indépendantes les unes des autres. On parle de dépendance et d indépendance conditionnelle. L ensemble des outils et des concepts qui sont abordés servent à calculer ces valeurs. Pour comprendre l indépendance nous continuons avec l exemple de la Figure 46 en s intéressant aux relations entre les variables A : = Alarme, B = Séisme, et C = Radio : 76

81 5 ANNEXES FIGURE 46 Variables indépendantes [43] où l on parle d indépendance entre les variables A et B conditionnellement à C si la probabilité P (S 4 S 2, S 3 ) 21 est simplifiable par P (S 4 S 2 ) car A et B ne sont pas reliés par un arc (ils sont indépendants). En ce qui concerne la dépendance, nous prenons les variables A = Cambriolage, B = Alarme, et C = Séisme sur l exemple de la Figure 47 : FIGURE 47 Variables dépendantes [43] où l on parle de dépendance entre les variables A et B conditionnellement à C si la probabilité P (S 3 S 1, S 2 ) ne peut être simplifiée. Ces deux exemples peuvent être généralisés et une définition mise en place : Définition Soit S l ensemble de toutes les variables S i du réseau bayésien. On cherche à calculer P (S) la probabilité globale 22. On définit P (S) par la formule : P (S) = P (S 1 )P (S 2 S 1 )P (S 3 S 2, S 1 )...P (S n S n 1,...,1 ). Celle-ci peut être ramenée au calcul P (S) = i P (S i S i 1...1) ou encore P (S) = i P (S i parents(s i )). Remarque : Ne sont prises en compte que les probabilités des variables ayant connaissance de leurs parents (on parle de probabilité locale) pour calculer la probabilité globale. Exemple Pour repartir de l exemple du début, voir Figure 44, nous reprenons les cinq variables Cambriolage, Séisme, Alarme, Radio, et Télé sur la Figure 48. On cherche à calculer la probabilité globale. D après la définition 5.1.1, on a : P (S 1, S 2, S 3, S 4, S 5 ) = P (S 1 )P (S 2 S 1 )P (S 3 S 1 S 2 )P (S 4 S 1 S 2 S 3 ) P (S 5 S 1 S 2 S 3 S 4 ) = P (S 1 )P (S 2 )P (S 3 S 1 S 2 )P (S 4 S 2 )P (S 5 S 4 ). 21. Pour un rappel de la signification du calcul P (D C) cf La probabilité globale est aussi appelée probabilité jointe. 77

82 5 ANNEXES FIGURE 48 Exemple de relation entre variables dans un graphe [43] Le calcul de la probabilité globale va permettre de calculer l inférence du graphe, c est-à-dire de calculer les probabilités des variables inconnues en fonction des variables connues. Pour effectuer ces calculs, divers algorithmes existent dont par exemple Junction tree [44]. Maintenant que tous les outils nécessaires ont été mis en place, nous pouvons calculer les dépendances et indépendances conditionnelles par le biais des probabilités conditionnelles. Les variables inconnues sont estimées en fonction des variables connues (inférence). On reprend les variables connues auxquelles sont ajoutées, à chaque nouvelle étape, les variables estimées à l étape précédente. On recommence le processus jusqu à ce que toutes les données soient classées Support Vector Machine Dans cette partie est décrite de manière générale le fonctionnement de l algorithme Support Vector Machine 23. Pour ce faire nous nous appuyons sur le travail de Mohamadally Hasan et Fomani Boris [45]. Concept Le but de SVM est de trouver un classificateur qui va séparer les données et maximiser la distance entre les deux classes. Pour comprendre son fonctionnement, un cas simple est traité où deux classes d exemples bien distinctes peuvent être séparées par une droite. Cette dernière est appelée classificateur linéaire ou hyperplan. Ceci peut être vu par exemple comme sur la Figure 49 : 23. Support Vector Machine est traduit par Machines à Vecteurs de Support mais on le retrouve souvent dans la littérature sous le nom de Séparateurs à Vastes Marges. 78

83 5 ANNEXES FIGURE 49 Exemple d un hyperplan permettant de séparer des données [45] Afin de déterminer la droite séparatrice, ou hyperplan, certains points du jeu de données sont utilisés. Ceux-ci sont appelés vecteurs de support (d où le nom Machines à Vecteurs de Support). Pour continuer sur le même exemple que l image précédente, la Figure 50 montre la position de ces vecteurs : FIGURE 50 Exemple de vecteurs de support en fonction de l hyperplan analysé [45] Au vu de la disposition des données, nous constatons qu il existe plusieurs hyperplans possibles. La propriété de SVM est qu il cherche toutes les droites séparatrices et pour chacune d entre elles stocke la marge (distance entre une donnée support vecteur et l hyperplan) minimale. Une fois tous les hyperplans traités, celui dont la marge est maximale est sélectionné. L hyperplan optimal est trouvé. En d autres termes, l hyperplan optimal est celui qui maximise la marge (d où le second nom de SVM, Séparateurs à Vastes Marges). Un exemple sur la Figure 51 illustre cette propriété : 79

84 5 ANNEXES FIGURE 51 Hyperplan optimal déduit de la recherche de la marge maximale [45] Maximisation de la marge Comme dit précédemment, il faut maximiser la marge pour trouver l hyperplan optimal. Lorsque cette marge est trouvée, nous sommes assurés que le classificateur est plus performant que les autres pour classer les nouvelles données. Pour mieux comprendre, la Figure 52 met en évidence ce phénomène en confrontant deux hyperplans, avec à gauche un hyperplan non optimal et à droite l hyperplan optimal. Il en ressort qu à gauche la nouvelle donnée (point rouge) qui devrait faire partie de l ensemble de droite, se retrouve mal classée, à contrario de la figure de droite où celle-ci est classée correctement : (a) Hyperplan non optimal (b) Hyperplan optimal FIGURE 52 Classification d une nouvelle donnée [45] Dans le cas de l image de gauche, la nouvelle donnée point est classée avec les données + et - puisqu elle se trouve à gauche de l hyperplan, elle est donc 80

85 5 ANNEXES mal placée. Dans le cas de la figure de droite, cette donnée se retrouve à droite de l hyperplan, elle est ainsi placée dans la bonne classe avec les données point. Hyperplan non linéaire Jusqu ici ont été traitées deux classes de données bien distinctes pouvant être séparées par un hyperplan linéaire (une droite) Cependant, la plupart du temps, il n est pas si simple de diviser un jeu de données en classe. On peut par exemple se trouver dans un cas plus complexe comme le montre l image de droite sur la Figure 53 : (a) Séparation linéaire (b) Séparation non linéaire FIGURE 53 Différentes façons de séparer des données suivant leur disposition [45] Pour résoudre ce problème SVM change l espace des données. L idée sousjacente est que la transformation non linéaire des données peut amener, après changement d espace, à une séparation linéaire des données. Cette modification de l espace entraîne un changement de dimension, appelé espace de re-description. Une illustration sur la Figure 54 permet de mettre plus facilement en évidence ce concept : FIGURE 54 Passage à l espace de re-description [45] 81

À qui s adresse ce livre? Suppléments web. Remerciements

À qui s adresse ce livre? Suppléments web. Remerciements Avant propos Le marché de la géolocalisation est en pleine effervescence, comme le prouve l annonce de lancement par Facebook, en août 2010, de son service Places, qui permet de partager sa position géographique

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

1. Vue rapide des logiciels disponibles

1. Vue rapide des logiciels disponibles Voici une revue rapide des progiciels gratuits accessibles [FREE AND SHAREWARE] dans la section SUITES du site KDNUGGETS (http://www.kdnuggets.com/software/suites.html). L étude sera approfondie pour les

Plus en détail

Bouchekif Abdesselam 11 mars 2012

Bouchekif Abdesselam 11 mars 2012 Expériences sur les données du répertoire de données de UCI avec une boîte à outils Bouchekif Abdesselam 11 mars 2012 Résumé Les dix dernières années ont été témoin de grands progrès réalisés dans le domaine

Plus en détail

TP2 : Initiation à la Programmation avec Android

TP2 : Initiation à la Programmation avec Android TP2 : Initiation à la Programmation avec Android 1 TP2 : Initiation à la Programmation avec Android Programmation Mobile Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Libérez votre intuition

Libérez votre intuition Présentation de Qlik Sense Libérez votre intuition Qlik Sense est une application nouvelle génération de visualisation de données en libre-service qui permet à chacun de créer facilement des visualisations

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

Documentation Technique

Documentation Technique Documentation Technique EIP KOODATA Epitech 2014 Ce document a pour but de décrire tous les aspects techniques du projet Koodata. Koodata Documentation Technique page 0 1. Présentation du projet... 3 1.1.

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Sommaire. - Page 1 sur 19 -

Sommaire. - Page 1 sur 19 - Sommaire I Ergonomie du site 2xmoinscher... 2 1 Infos globales... 2 2 Homogénéité/cohérence... 3 3 Adaptabilité... 3 4 Guidage... 4 5 Représentativité... 5 6 Charge de travail... 6 7 Gestion des erreurs...

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Comment obtenir Internet?

Comment obtenir Internet? Historique A la fin des années 60, le département américain de la Défense crée Internet (baptisé Arpanet à l époque) afin d établir entre tous les centres stratégiques des liens qui resteraient opérationnels,

Plus en détail

Guide sur l accessibilité des ressources numériques pédagogiques

Guide sur l accessibilité des ressources numériques pédagogiques Guide sur l accessibilité des ressources numériques pédagogiques Quelques pistes sur la manière de rendre accessibles au plus grand nombre d étudiants les ressources diffusées sur les plateformes pédagogiques

Plus en détail

BUSINESSOBJECTS EDGE PREMIUM

BUSINESSOBJECTS EDGE PREMIUM PRODUITS BUSINESSOBJECTS EDGE PREMIUM Avantages de la Business Intelligence Assurer une visibilité intégrale des activités Identifier de nouvelles opportunités Détecter et résoudre les problèmes Remplacer

Plus en détail

Joomla : un système de gestion de contenu

Joomla : un système de gestion de contenu CHAPITRE 2 Joomla : un système de gestion de contenu Si SGC est l abréviation française pour système de gestion de contenu, l abréviation CMS de l anglais Content Management System est le terme le plus

Plus en détail

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

Guide de l utilisateur pour Firefox 4 Mobile. Contact us: press@mozilla.com

Guide de l utilisateur pour Firefox 4 Mobile. Contact us: press@mozilla.com Guide de l utilisateur pour Firefox 4 Contact us: press@mozilla.com Sommaire À propos de Mozilla 1 Lancez-vous! 2 Tapez Moins, Surfez Plus! 3 Emportez votre Firefox partout avec vous 5 Personnalisez votre

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

Cours IFT6266, Exemple d application: Data-Mining

Cours IFT6266, Exemple d application: Data-Mining Cours IFT6266, Exemple d application: Data-Mining Voici un exemple du processus d application des algorithmes d apprentissage statistique dans un contexte d affaire, qu on appelle aussi data-mining. 1.

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Aléthiomètre. Bur Jean Cham Rémi Roulette Lucas Encadrant : Tisserant Guillaume

Aléthiomètre. Bur Jean Cham Rémi Roulette Lucas Encadrant : Tisserant Guillaume Aléthiomètre Bur Jean Cham Rémi Roulette Lucas Encadrant : Tisserant Guillaume Projet réalisé dans le cadre de l unité d enseignement HLIN601 Licence informatique 3ème année Faculté des sciences Université

Plus en détail

Ma première visibilité sur le Web. en 60 min avec des outils gratuits

Ma première visibilité sur le Web. en 60 min avec des outils gratuits Ateliers Commerce Internet Ma première visibilité sur le Web en 60 min avec des outils gratuits 23/04/2015 1 Ma première visibilité sur Internet Même sans site internet! Pourquoi être présent sur Internet?

Plus en détail

r ÂGE DES ENFANTS r CONTRÔLE «PARENTAL»

r ÂGE DES ENFANTS r CONTRÔLE «PARENTAL» Les membres de la Corporation du lycée Claudel, réunis en Assemblée Générale le 20 juin 2014, ont souhaité la création d un «comité numérique» chargé notamment des questions de santé et de sécurité dans

Plus en détail

Créez votre premier site web De la conception à la réalisation

Créez votre premier site web De la conception à la réalisation Chapitre 1 : Introduction A. Introduction 17 Chapitre 2 : Les langages A. L objectif 21 B. L HTML 21 1. L état des lieux 21 2. Les éléments HTML 21 3. Les attributs 22 4. Les caractères 23 5. Les espaces

Plus en détail

Le Web pour les informaticiens Les métiers. Programmation web PHP et bases de données. Les métiers rédactionnels. Les métiers des concepteurs

Le Web pour les informaticiens Les métiers. Programmation web PHP et bases de données. Les métiers rédactionnels. Les métiers des concepteurs Le Web pour les informaticiens Le Web pour les informaticiens Programmation web PHP et bases de données Les métiers La conception du site web Jean-Christophe Dubacq IUT de Villetaneuse S3 2013 PHP et bases

Plus en détail

Nouvelles de l AS fouille d images. Émergence de caractéristiques sémantiques

Nouvelles de l AS fouille d images. Émergence de caractéristiques sémantiques Nouvelles de l AS fouille d images Émergence de caractéristiques sémantiques Patrick GROS Projet TEXMEX IRISA - UMR 6074, CNRS, université de Rennes 1, INSA Rennes, INRIA L AS fouille d images Qu est-ce

Plus en détail

Travail d équipe et gestion des données L informatique en nuage

Travail d équipe et gestion des données L informatique en nuage Travail d équipe et gestion des L informatique en nuage BAR Octobre 2013 Présentation Au cours des études collégiales et universitaires, le travail d équipe est une réalité presque omniprésente. Les enseignants

Plus en détail

Analyse d un site : guildwars2.com

Analyse d un site : guildwars2.com Rachid ADOUL GIO4 par apprentissage API08 Analyse d un site : guildwars2.com I. Evaluation subjective A. Présentation du site Le site guildwars2.com est le site officiel du jeu vidéo Guild Wars 2. Le jeu

Plus en détail

Projet Portfolio Numérique de l Elève.

Projet Portfolio Numérique de l Elève. Projet Portfolio Numérique de l Elève. 1/ Présentation. Bonjour et bienvenue sur cette présentation du projet de portfolio numérique de l élève. Ce projet a pour de but de donner à l élève un espace dans

Plus en détail

Avant-Propos Sencha Touch

Avant-Propos Sencha Touch Avant-Propos Développeurs web, vous qui souhaitez vous diversifier et appréhender simplement le développement mobile, mais redoutez un apprentissage long d un langage que vous ne connaissez pas, vous allez

Plus en détail

Ma première visibilité sur le Web. en 60 min avec des outils gratuits

Ma première visibilité sur le Web. en 60 min avec des outils gratuits Ateliers Commerce Internet Ma première visibilité sur le Web en 60 min avec des outils gratuits 07/04/2014 1 Ma première visibilité sur Internet Même sans site internet! Pourquoi être présent sur Internet?

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

DOKEOS Author Manuel du formateur

DOKEOS Author Manuel du formateur Retrouvez-nous en ligne sur notre site dokeos.com/fr DOKEOS Author Manuel du formateur Trois raisons de choisir DOKEOS Author Facile à prendre en main, DOKEOS Author est l outil de la suite Dokeos qui

Plus en détail

Fouille de données spatiales Mr Dib Abderrahim & Dr Mohamed-Khireddine KHOLLADI

Fouille de données spatiales Mr Dib Abderrahim & Dr Mohamed-Khireddine KHOLLADI Fouille de données spatiales Mr Dib Abderrahim & Dr Mohamed-Khireddine KHOLLADI Introduction On assiste de plus en plus à la création d entrepôts de données. Les raisons sont multiples : 1. le tout numérique

Plus en détail

Petite histoire d Internet

Petite histoire d Internet À la base, Internet est défini par des ordinateurs qui sont reliés entre eux grâce à des câbles, du WiFi ou encore des satellites, créant ainsi un réseau à échelle mondiale. Les ordinateurs communiquent

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Créer un site à l aide de Google Site

Créer un site à l aide de Google Site Créer un site à l aide de Google Site N Vanassche www.nathalievanassche.be Ifosupwavre Mise en contexte www.nathalievanassche.be Blog ou Google Site? La réalisation d un blog à l aide de Blogger (non traité

Plus en détail

Sommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23

Sommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23 1 Introduction 19 1.1 À qui s adresse cet ouvrage?... 21 1.2 Comment est organisé cet ouvrage?... 22 1.3 À propos de l auteur... 22 1.4 Le site Web... 22 2 Présentation du logiciel de commerce électronique

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Android Guide de développement d'applications Java pour Smartphones et Tablettes (2ième édition)

Android Guide de développement d'applications Java pour Smartphones et Tablettes (2ième édition) Avant-propos 1. Introduction 15 2. À qui s'adresse cet ouvrage? 15 3. Connaissances nécessaires pour aborder cet ouvrage 16 4. Objectifs à atteindre 16 5. Téléchargements 17 6. Informations complémentaires

Plus en détail

Tutoriel Ionic framework

Tutoriel Ionic framework INGÉNIEURS EN SCIENCES INFORMATIQUES ADAPTATION DES INTERFACES A L ENVIRONNEMENT Tutoriel Ionic framework Tutoriel et présentation du framework IONIC : technologie permettant la réalisation d applications

Plus en détail

Business Intelligence

Business Intelligence avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................

Plus en détail

Nouveautés Ignition v7.7

Nouveautés Ignition v7.7 ... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential

Plus en détail

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Logiciel d analyse du monde des objets connectés intelligents

Logiciel d analyse du monde des objets connectés intelligents Logiciel d analyse du monde des objets connectés intelligents Le défi : Transformer les données en intelligence décisionnelle Le logiciel SkySpark analyse automatiquement les données issues des équipements

Plus en détail

Android, introduction

Android, introduction Android, introduction Sébastien Jean IUT de Valence Département Informatique v1.1, 7 novembre 2012 Android en bref Android est un système d exploitation développé depuis 2003, apparu officiellement en

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge Travail de diplôme réalisé en vue de l obtention du diplôme HES par : Muhammad Maqbool

Plus en détail

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28 ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28 AUTOMNE 2013 SOMMAIRE Synopsis de projet 3 Concept 3 Public cible 3 Objectifs 3 Ressources médias Structuration

Plus en détail

L accessibilité numérique. Michel Futtersack, Faculté de Droit, Université Paris Descartes

L accessibilité numérique. Michel Futtersack, Faculté de Droit, Université Paris Descartes L accessibilité numérique Michel Futtersack, Faculté de Droit, Université Paris Descartes L accessibilité est la facilité d accès à un lieu, un service ou un produit. Disposer d une bonne accessibilité

Plus en détail

Exposer ses créations : galerie photos, galerie de médias

Exposer ses créations : galerie photos, galerie de médias CHAPITRE 14 Exposer ses créations : galerie photos, galerie de médias Si l éditeur TinyMCE et le système de liens de Joomla permettent d intégrer ou de lier des médias à un article, ils restent assez limités.

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Chapitre 1 L interface de Windows 7 9

Chapitre 1 L interface de Windows 7 9 Chapitre 1 L interface de Windows 7 9 1.1. Utiliser le menu Démarrer et la barre des tâches de Windows 7... 10 Démarrer et arrêter des programmes... 15 Épingler un programme dans la barre des tâches...

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Le web dans l entreprise Sommaire Introduction... 1 Intranet... 1 Extranet...

Plus en détail

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants»

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants» Compte-Rendu SDL Auteurs : BOUTROUILLE Alexis BAILLEUL Pierre Tuteur : Ioan Marius Bilasco «Reprise de l application de gestion de listes de présences des alternants» Master MIAGE 1 Année 2012/2013 1 Remerciements

Plus en détail

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 SOMMAIRE I. Introduction 02 II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 III. Présentation de l'association 05 a. Présentation juridique et géographique 05 b. Présentation de

Plus en détail

Un logiciel open source pour l enseignement et la recherche

Un logiciel open source pour l enseignement et la recherche Un logiciel open source pour l enseignement et la recherche Ricco RAKOTOMALALA Laboratoire ERIC Université Lumière Lyon 2 http://chirouble.univ-lyon2.fr/~ricco/tanagra/ 1 sur 23 PLAN 1. Objectifs du projet

Plus en détail

Présentation. 2010 Pearson Education France Adobe Flash Catalyst CS5 Adobe Press

Présentation. 2010 Pearson Education France Adobe Flash Catalyst CS5 Adobe Press Présentation 1 Adobe Flash Catalyst CS5 vous permet de produire du contenu totalement interactif d une grande qualité graphique pour le web ou le bureau sans écrire une seule ligne de code. Cette leçon

Plus en détail

Projet Java/C# -> «BeloteTime» - CNAM 1 ère Année Groupe : Cédric Leclinche Valentin Metz Jacky Petrazoller Mathieu Uffler.

Projet Java/C# -> «BeloteTime» - CNAM 1 ère Année Groupe : Cédric Leclinche Valentin Metz Jacky Petrazoller Mathieu Uffler. Projet Java/C# -> «BeloteTime» - CNAM 1 ère Année Groupe : Cédric Leclinche Valentin Metz Jacky Petrazoller Mathieu Uffler BeloteTime Page 1 Sommaire Contenu Introduction... 3 Gestion de Projet... 4 Démarche

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline.

BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline. BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline. Base de données développée Par Alain Barbeau www.basedpsy.com alainbarbeau@basedpsy.com

Plus en détail

La base de données dans ArtemiS SUITE

La base de données dans ArtemiS SUITE 08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Introduction. 1. Pourquoi utiliser un outil multiplateforme pour la programmation mobile?

Introduction. 1. Pourquoi utiliser un outil multiplateforme pour la programmation mobile? Introduction 1. Pourquoi utiliser un outil multiplateforme pour la programmation mobile? Depuis la sortie de l iphone, les smartphones sont devenus des ordinateurs à part entière. Et même si avant leur

Plus en détail

Démarrez le Lecteur Windows Media

Démarrez le Lecteur Windows Media Le Lecteur Windows Media vous permet de rechercher et lire des fichiers multimédias numériques stockés sur votre ordinateur, de lire des CD et des DVD, ainsi que d afficher en continu du contenu multimédia

Plus en détail

Indexation et interrogation de photos de presse décrites en MPEG-7

Indexation et interrogation de photos de presse décrites en MPEG-7 Indexation et interrogation de photos de presse décrites en MPEG-7 Emmanuel Bruno Jacques Le Maitre Elisabeth Murisasco Laboratoire SIS, Equipe Informatique Université de Toulon et du Var Bâtiment R, BP

Plus en détail

1 Partie A : administration d une base de donnée à travers PhpMyAdmin

1 Partie A : administration d une base de donnée à travers PhpMyAdmin Ce TP se compose en 2 sections : une section de prise en main (sur ordinateur) et une section d exercice (sur papier) concernant l algèbre relationnelle. 1 Partie A : administration d une base de donnée

Plus en détail

Profil du candidat et connaissances techniques à connaître/maîtriser

Profil du candidat et connaissances techniques à connaître/maîtriser Utilisation d algorithmes de deep learning pour la reconnaissance d iris. jonathan.milgram@morpho.com Dans ce cadre, l'unité de recherche et technologie a pour but de maintenir le leadership Au sein de

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

DÉBUTER AVEC APP INVENTOR

DÉBUTER AVEC APP INVENTOR Terminale STMG SIG Année 2013-2014 DÉBUTER AVEC APP INVENTOR App Inventor est un outil de développement en ligne pour les téléphones et les tablettes sous Android. App Inventor est un OS créé par Google,

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

Plus en détail

Guide à l usage des décideurs

Guide à l usage des décideurs Guide à l usage des décideurs Des concepts à connaître... 20 Enjeux stratégiques : pourquoi référencer son site?... 27 La place du référencement dans le marketing global de l entreprise... 30 Pourquoi

Plus en détail

WordPress : Guide à l édition

WordPress : Guide à l édition WordPress : Guide à l édition WordPress : Guide à l édition... 1 Présentation... 2 1. Accès au site... 2 2. Le tableau de bord... 2 3. Editez les contenus... 4 Quelle est la différence entre les pages

Plus en détail

ADAPTATION DES INTERFACES. ROUYER Florian et BENNOUR Salah

ADAPTATION DES INTERFACES. ROUYER Florian et BENNOUR Salah ADAPTATION DES INTERFACES ROUYER Florian et BENNOUR Salah SOMMAIRE Sujet Android Ionic Comparaison Conclusion Sujet Plateforme de partage de livres Fonctionnalités : Géolocalisation Visualisation Map Visualisation

Plus en détail

Les vidéos sur ordinateur

Les vidéos sur ordinateur Module Multimédia Les vidéos sur ordinateur Médiathèque de Haguenau - mediatheque.ville-haguenau.fr 1/19 Sommaire I. Regarder des vidéos sur Internet avec Dailymotion et Youtube...3 1) Présentation générale...

Plus en détail

Rapport de TER : Collecte de médias géo-localisés et recherche de points d intérêt avec l algorithme Mean Shift Martin PUGNET Février 2014

Rapport de TER : Collecte de médias géo-localisés et recherche de points d intérêt avec l algorithme Mean Shift Martin PUGNET Février 2014 Rapport de TER : Collecte de médias géo-localisés et recherche de points d intérêt avec l algorithme Mean Shift Martin PUGNET Février 2014 résumé : Ce projet a pour but de récupérer des données géolocalisées

Plus en détail

PHP/MySQL. avec Flash 8. Jean-Marie Defrance. Groupe Eyrolles, 2006, ISBN : 2-212-11971-2

PHP/MySQL. avec Flash 8. Jean-Marie Defrance. Groupe Eyrolles, 2006, ISBN : 2-212-11971-2 PHP/MySQL avec Flash 8 Jean-Marie Defrance Groupe Eyrolles, 2006, ISBN : 2-212-11971-2 1 Flash 8 et les sites dynamiques Dans ce premier chapitre, nous allons rappeler le fonctionnement des sites statiques

Plus en détail

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche emuseum emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET emuseum est un système de publication Web qui s intègre de façon transparente avec TMS pour la publication d informations sur Internet et les appareils

Plus en détail

agility made possible

agility made possible DOSSIER SOLUTION Utilitaire ConfigXpress dans CA IdentityMinder Ma solution de gestion des identités peut-elle rapidement s adapter à l évolution des besoins et des processus métier? agility made possible

Plus en détail

Dossier de programmeur. Projet Rallye, partie smartphone. Sujet proposé par M. MAILLOT et M. CORDIER dans le cadre du M1 MIAGE.

Dossier de programmeur. Projet Rallye, partie smartphone. Sujet proposé par M. MAILLOT et M. CORDIER dans le cadre du M1 MIAGE. Dossier de programmeur Projet Rallye, partie smartphone. Sujet proposé par M. MAILLOT et M. CORDIER dans le cadre du M1 MIAGE. Xavier FREYBURGER, Jean-Marc GROSS, Thomas KIRBIHLER, Franck PARRA et Gauthier

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Base de données - Tableaux Query Rapport de projet

Base de données - Tableaux Query Rapport de projet Base de données - Tableaux Query Rapport de projet Xavier Dubuc 30 mars 2009 Table des matières 1 Introduction. 2 1.1 Qu est-ce qu un tableau query?................................. 2 1.2 Le tupple résumé..........................................

Plus en détail

WEKA : c est quoi? Brigitte Bigi. 15 février 2011. LPL - Équipe C3I. Brigitte Bigi (LPL - Équipe C3I) WEKA : c est quoi? 15 février 2011 1 / 32

WEKA : c est quoi? Brigitte Bigi. 15 février 2011. LPL - Équipe C3I. Brigitte Bigi (LPL - Équipe C3I) WEKA : c est quoi? 15 février 2011 1 / 32 WEKA : c est quoi? Brigitte Bigi LPL - Équipe C3I 15 février 2011 Brigitte Bigi (LPL - Équipe C3I) WEKA : c est quoi? 15 février 2011 1 / 32 Introduction 1 Introduction 2 Classification supervisée 3 WEKA

Plus en détail

IBM Content Analytics Libérer l Information

IBM Content Analytics Libérer l Information IBM Content Analytics Libérer l Information Patrick HOFLEITNER patrick_hofleitner@fr.ibm.com Août 2011 TABLE DES MATIERES RESUME...3 INTRODUCTION...4 LA PROBLEMATIQUE...5 1 L EXPLOSION DU CONTENU NON-STRUCTURE...5

Plus en détail

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML BALLOTE Nadia FRIULI Valerio GILARDI Mathieu IUT de Nice Licence Professionnelle des Métiers de l Informatique RAPPORT DU PROJET : JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML Encadré par : M. CRESCENZO Pierre

Plus en détail

PHP/MySQL avec Dreamweaver CS4

PHP/MySQL avec Dreamweaver CS4 PHP/MySQL avec Dreamweaver CS4 Dreamweaver CS4 Jean-Marie Defrance Groupe Eyrolles, 2009, ISBN : 978-2-212-12551-1 7 Étude de cas : un site marchand Dans ce dernier chapitre, nous allons exploiter Dreamweaver

Plus en détail

Panorama des outils de veille. Myriel Brouland I-Expo 17 Juin 2009

Panorama des outils de veille. Myriel Brouland I-Expo 17 Juin 2009 Panorama des outils de veille Myriel Brouland I-Expo 17 Juin 2009 1 La veille s est affirmée en tant que discipline : Elle s inscrit dans un démarche d optimisation du management de l information au sein

Plus en détail

Architectures Java pour applications mobiles

Architectures Java pour applications mobiles Architectures Java pour applications mobiles L application mobile en phase de devenir incontournable. Début 2010, 200 000 applications mobiles. Fin 2011, le cap du million est franchi. Derrière cette croissance

Plus en détail

SIO-21922 Bases de données

SIO-21922 Bases de données 1- Objectifs généraux Concentration mineure: Réalisation de systèmes d'information SIO-21922 Bases de données Prof. : Dzenan Ridjanovic acquérir les principes et concepts fondamentaux dans le domaine des

Plus en détail