• Aucun résultat trouvé

Moteur d’Indexation et de Recherche d’Objets 3D “Miro3D”

Dans le document Indexation multi-vues et recherche d'objets 3D (Page 169-176)

6.6 Outil et prototype

6.6.2 Moteur d’Indexation et de Recherche d’Objets 3D “Miro3D”

L’étude et la conception de méthodes d’indexation et de recherche d’objets 3D s’ap- puient sur des expérimentations logicielles. En effet, afin de mettre au point des techniques pertinentes, il est nécessaire de les tester, de les ajuster, de les modifier... Dans ce cadre, nous nous sommes posé la question des outils nécessaires pour effectuer ces tâches plus ou moins complexes.

Nous présentons donc dans cette partie les outils que nous avons utilisés et en particu- lier l’application que nous avons développée. Nous expliquerons l’enjeu de cet outil ainsi

Lʼutilisation de cette zone permet de déplacer, tourner et redimensionner lʼobjet observé. La marche à suivre est la suivant :

1. Le déplacement dʼun doigt sur la surface permet de faire tourner le modèle 3D dans la direction de ce déplacement. 2. Lʼutilisation de deux doigts, se déplaçant dans la même direction, permet de placer lʼobjet 3D à lʼendroit indiqué. 3. Le déplacement de deux doigts, dans des directions opposées, amène à changer lʼéchelle du modèle 3D. Sʼils sʼécartent lʼobjet grossit, si au contraire ils se rapprochent celui-ci rétrécit.

Une pression sur ce bouton permet de retourner sur la

liste de résultats.

Grâce à ce bouton il est possible de réinitialiser la caméra (position, rotation et échelle) pour revenir à la position de départ.

(d) Visualisateur 3D

Figure 6.14 – Cette figure explique en détail les possibilités d’interaction avec notre outil

d’indexation et de recherche d’objet 3D. (a) montre la vue présentant la liste de dessins.

(b), quant à elle, explique les zones activent de la surface de dessins. La figure(c)présente

la liste de résultats ainsi que ses actions associées. Finalement,(d)illustre les interactions

avec l’objet dans le visualisateur 3D.

que les possibilités qu’il offre avant de conclure avec les choix techniques qui l’ont guidé.

Pourquoi un tel outil ?

Étant donné qu’il n’existe pas de logiciel spécialisé pour l’indexation et la recherche d’objet 3D, nous nous sommes confrontés à des outils permettant la mise au point de certains algorithmes, mais qui était trop souvent inadaptée à l’univers 3D. Afin de tirer parti des avantages de ces logiciels sans pour autant négliger l’aspect représentation 3D, nous avons opté pour une démarche bipartite. La première a été l’élaboration et le test de nos différents algorithmes à l’aide du logiciel Matlab7 qui offre un prototypage rapide grâce à une grande variété de fonctions. La seconde, quant à elle, a été le développement d’une application permettant l’indexation et la recherche d’objets 3D.

Cette application nommée “Miro3D” pour Moteur d’Indexation et de Recherche d’Ob- 7. http://www.mathworks.fr/

jets 3D offre entre autres des possibilités de réglage des algorithmes (voir figure6.15). Son rôle est d’offrir des moyens simples et rapides d’extraire les descriptions de forme intro- duite au chapitre 5. Elle propose aussi un moteur de recherche permettant d’interroger une base de données de signatures en utilisant l’ensemble des techniques proposées dans ce chapitre. C’est en particulier grâce à cet outil que nous avons pu évaluer notre processus complet d’indexation et de recherche d’objet 3D. Même si notre outil offre de nombreuses possibilités, il n’a pas été développé pour un utilisateur, comme notre prototype sur iPhone (voir section 6.6.1), mais pour le chercheur.

Figure 6.15 – Fenêtre affichée durant le lancement de notre application.

Inventaire des possibilités de l’outil

L’application que nous avons développée s’est enrichie au jour le jour au cours de notre thèse. De ce fait, elle possède de nombreuses possibilités qu’il serait peu intéressant d’énu- mérer de façon exhaustive. Ainsi, nous dressons une liste des fonctionnalités principales. Des captures d’écran de cette application sont visibles dans la figure6.16.

– Chargement d’une liste d’objets 3D à travers un fichier contenant leur liste. Support des formats 3D “.off”, “.stl”, “.tri” et “.wrl”.

– Choix de la normalisation parmi : notre méthode (voir chapitre4), centre de gravité, boite ou sphère englobante, “ACP”, “ACP Continue” et “ACP par normales”. – Outil d’extraction des descriptions par intersection, par convexités/concavités et par

cartes de normales.

– Possibilité de choisir le nombre de vues parmi celles proposées dans la section 5.2

du chapitre 5.

– Choix de la résolution des silhouettes entre 64 ∗ 64, 128 ∗ 128 et 256 ∗ 256 pixels. – Mise en correspondance des trois signatures proposées.

– Optimisation par élagage précoce (voir section6.5.2de ce chapitre).

– Outil permettant de reconstruire l’enveloppe visuelle d’un objet à partir de trois de ses vues.

– Export des alignements, des objets 3D, des résultats... en format “.txt” et “.html” (page Internet).

– Options de visualisations diverses et variées incluant : volumes englobants, normales des faces et des sommets, éclairage, mode de rendu en fil de fer et type de projections.

Choix techniques

Comme pour notre prototype sur téléphone mobile, nous avons dû, lors du développe- ment de l’application “Miro3D”, faire des choix techniques. Nous avons plus particulière- ment été confrontés à des questions concernant la conception globale de l’outil (langage de programmation, architecture...). Ce logiciel devant perpétuellement s’enrichir en accord avec nos travaux de recherches, c’est plus l’aspect évolution que performance qui nous a intéressés.

Le langage de programmation choisi a été le ‘C++, ceci pour son aspect objet qui favorise la maintenance et l’évolution du code. Afin de pouvoir utiliser notre application indifféremment sur des systèmes Mac, Linux et Windows, nous avons opté pour des li- brairies graphiques multi-plateformes. Il s’agit de Qt8 pour la partie interface graphique,

OpenGL9 pour le rendu des objets 3D et ImageMagick10 pour le traitement des images.

En ce qui concerne la partie modélisation de notre application, nous avons utilisé le concept de plugin afin de garantir les évolutions futures. Ainsi, il est aisé de développer de nouveaux outils qui vont alors pouvoir se greffer rapidement au logiciel existant. Coté interface graphique (voir figure 6.16), nous avons choisi un découpage en trois vues as- sociées à deux barres d’outils. Les différentes vues permettent respectivement le rendu des objets 3D et des résultats, l’affichage de la base de données sous forme de liste et la représentation du modèle 3D étudié en deux dimensions. Les barres d’outils, quant à elles, permettent pour la première, qui est placée verticalement à gauche de l’application, de changer les attributs de rendu du modèle (éclairage, normales, volume englobant...) et pour la seconde, situé horizontalement en haut du logiciel, d’utiliser les différents outils d’indexation et de recherche d’objets 3D.

6.7

Conclusion

Dans ce chapitre, nous avons introduit le processus permettant à un utilisateur de rechercher un objet 3D dans la base de données. Celui-ci s’appuie sur des requêtes mul- timodales associées à des mesures de dissimilarité adaptées à chacun des descripteurs introduits dans le chapitre5. Ainsi, l’utilisateur peut très facilement transcrire une repré- sentation mentale en une requête 2D sans pour autant réduire la robustesse des résultats. L’enchaînement précis des étapes de ce processus “en ligne” à particulièrement été discuté dans les sections6.2et6.4 de ce chapitre.

8. http://qt.nokia.com/

9. http://www.opengl.org/

Afin de garantir la rapidité, mais aussi la pertinence de notre approche, nous avons pro- posé deux optimisations. La première vise à améliorer la qualité des résultats en combinant, grâce à différents opérateurs d’agrégation (voir section 6.5.1), nos différentes signatures. La seconde, quant à elle, cherche à accélérer le processus de comparaison en effectuant un élagage précoce des résultats peu pertinents pour l’utilisateur (voir section 6.5.2).

Ce chapitre étant avant tout tourné vers l’utilisateur, nous y avons aussi présenté un outil novateur en indexation et recherche d’objet 3D. Celui-ci est un prototype, démon- trant qu’il est désormais possible de développer des moteurs de recherche embarqués sur des terminaux mobiles de nouvelle génération. D’une part, ses requêtes, de type “dessin au trait”, lui confèrent une grande prise en main et, d’autre part, son ergonomie facilite la recherche de modèles 3D ainsi que leur visualisation.

Pour conclure, ce chapitre clôture nos contributions à l’indexation et à la recherche d’objets 3D avec la partie “en ligne” du traitement. Nous avons proposé des méthodes nouvelles, principalement orientées vers l’utilisateur, mais qui s’appuie pleinement sur la phase “hors-ligne” du processus de traitement. Afin de paramétrer et d’évaluer l’ensemble de nos travaux, nous proposons dans le chapitre 7 un ensemble d’expérimentations et de résultats.

(a) Interface après le lancement (b) Visualisation d’un objet 3D

(c) Visualisation de la base de données (d) Visualisation des résultats

(e) Visualisation des normales (f) Visualisation de l’enveloppe visuelle d’un objet Figure 6.16 – Cette figure présente notre application “Miro3D” à travers différentes cap-

Expérimentations et résultats

Résumé : Dans ce chapitre, nous introduisons les diverses expériences qui ont guidé

nos choix dans la conception de nos approches d’indexation et de recherche d’objets 3D. Nous y présentons aussi les résultats obtenus. Finalement, nous faisons une étude comparative de nos méthodes avec les approches existantes de la littérature à travers les évaluations SHREC.

7.1

Introduction

Les trois derniers chapitres de cette thèse ont introduit diverses contributions portant sur les prétraitements nécessaires à l’indexation et à la recherche d’objets 3D ainsi que sur ces processus eux-mêmes. Le développement de ces nouvelles méthodes s’est fait en accord avec les résultats des expérimentations et des évaluations effectuées sur différentes bases de données de modèles 3D. Celles-ci nous ont en particulier aidés à régler les paramètres de chaque approche afin de gagner en pertinence sans pour autant augmenter trop fortement le temps de recherche pour l’utilisateur. D’autre part, pour comparer nos propres résul- tats avec ceux d’autres équipes de recherche, travaillant sur l’indexation et la recherche d’objets 3D, nous avons participé au concours annuel SHREC, dont nous montrerons les résultats. Finalement, nous avons aussi comparé nos méthodes à celles présentées par le

Princeton Shape Benchmark.

Nous débutons ce chapitre par la section7.3qui propose les expérimentations et les éva- luations de notre contribution portant sur la normalisation et l’estimation de l’alignement. Nous montrons ensuite, dans la section 7.4, les résultats de notre méthode d’indexation et de recherche d’objets 3D. Nous nous attardons en particulier sur les trois descripteurs1 proposés ainsi que sur nos deux méthodes d’optimisation. Finalement, une étude compa- rative avec d’autres méthodes de la littérature est proposée dans la section7.5.

Dans le document Indexation multi-vues et recherche d'objets 3D (Page 169-176)