• Aucun résultat trouvé

Optimisation par élagage

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

6.5 Optimisations de la recherche

6.5.2 Optimisation par élagage

L’un des critères de recherche important pour l’utilisateur est la rapidité avec laquelle le système répond à sa requête. Pour traiter cette contrainte, la manière la plus simple est d’offrir un descripteur synthétique associé à une distance de type L1 par exemple. Cependant, ce type de solution engendre deux problèmes. Le premier est la pertinence de

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

(a) Opérateur d’agrégation par minimum

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

(b) Opérateur d’agrégation par maximum

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

(c) Opérateur d’agrégation par moyenne

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

(d) Opérateur d’agrégation par moyenne pondérée 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

(e) Opérateur d’agrégation par moyenne et conflit

Figure 6.10 – Illustration des cinq opérateurs d’agrégation choisis.(a),(b),(c),(d)et(e)

représentent respectivement le minimum, le maximum, la moyenne, la moyenne pondérée, la moyenne associée au conflit.

la signature. En effet, qualité et espace de stockage sont souvent liés induisant, de ce fait, que les descriptions synthétiques ne caractérisent que grossièrement la forme d’un modèle 3D. Le second problème est la pertinence de la mesure de dissimilarité associée. En effet, même si la caractérisation compacte de la forme est robuste, il est nécessaire de l’associer au calcul rapide d’un degré de dissemblance. Du fait de cette rapidité, la mesure n’est

souvent que peu discriminante et ne permet donc pas de renvoyer des résultats pertinents à l’utilisateur.

Afin d’offrir à l’utilisateur un système de recherche alliant à la fois robustesse des ré- sultats et rapidité, nous nous sommes tournés vers une technique d’élagage précoce des objets peu pertinents. Dans celle-ci, la vitesse est obtenue à travers l’utilisation d’un des- cripteur au pouvoir discriminant limité, mais compact et rapide à comparer. Tandis que la pertinence des résultats est garantie par une caractérisation plus fine de la forme des ob- jets 3D nécessitant une comparaison plus complexe. Le premier descripteur va permettre d’établir une liste grossière de résultats. Ensuite, les distances associées aux objets les plus proches de la requête de l’utilisateur (rang < k) vont être réordonnés au moyen du second descripteur offrant une plus grande robustesse (voir figure 6.11).

Signatures grossière des objets de la base

Signature grossière de la requête

Calcul rapide de la distance entre deux

descripteurs

Estimation de la liste de résultats finale

k plus proches objets

Liste pertinente des k plus proches résultats

Calcul pertinent de la distance entre deux

descripteurs

Signature robuste de la requête

Liste finale des résultats

Signature robuste des k plus proches objets

Figure 6.11 – Schéma présentant un processus de recherche utilisant l’optimisation par

élagage précoce. Dans cette figure, nous supposons que la complexité de la mesure de dis- similarité du descripteur par histogramme est inférieure à celle du descripteur par vecteur de données. Ainsi, une première liste de résultats est obtenue par le descripteur grossier. Ensuite, un affinement des k premiers objets est effectué par le descripteur offrant une plus grande robustesse.

Appelons faible et fort deux descripteurs différents D1 et D2 associés à deux mesures de dissimilarité Md1 et Md2, dont les complexités sont respectivement O(n1) et O(n2) avec n1 < n2. Ainsi, le processus permettant l’élagage peut être formulé comme décrit dans l’algorithme6.3.

Algorithme 6.3 Algorithme utilisant un élagage précoce pour accélérer le calcul des objets

les plus proches de la requête d’un utilisateur.

1: Pour i = 1 à taille_base Faire

2: résultats[i] = Calculer la distance entre D1(Oi) et D1(Or) 3: Fin Pour

4: Ordonner par ordre croissant le tableau de résultats 5: Pour j = 1 à k Faire

6: l = indice de l’objet placé au rang j

7: résultats[j] = Calculer la distance entre D2(Ol) et D2(Or) 8: Fin Pour

9: Ordonner par ordre croissant les k premières cases du tableau de résultats 10: Renvoyer la liste de résultats à l’utilisateur

Notons T (D1) et T (D2) le temps nécessaire à la comparaison de deux descripteurs D1) ou D2). Alors Le temps de recherche pour une base de données de n objets est :

n∗ T (D1) + k ∗ T (D2).

Nous appelons “élagage précoce”, de D2 par D1, cette accélération car elle permet de mettre rapidement de coté – laisser à la fin de la liste des résultats – les objets peu intéres- sants pour l’utilisateur. En effet, grâce à l’utilisation d’un descripteur de forme grossier, nous sommes en capacité de concevoir une première estimation de la liste. Ainsi, il est possible de consacrer plus de temps à la comparaison des objets proches de la requête, en terme de forme. Le choix de la frontière entre les modèles pertinents ou non pertinents pour l’utilisateur se fait de manière rigide par le biais d’un seuil k à fixer. Il est utile de noter que ce paramètre permet de jouer sur le compromis vitesse/rapidité sous-jacent à cette optimisation. Afin de répondre du mieux possible aux besoins de l’utilisateur, il peut être intéressant de lui laisser le choix du réglage de ce paramètre (voir aussi remarque6.5). Finalement, notons que la valeur du seuil k peut facilement être choisie si l’on connaît la taille t de la liste de résultats, qui va être retournée à l’utilisateur, et la taille de la classe de la requête, |C(Or)| – elle peut être estimée par la moyenne de la taille des classes dans une base de données homogène –. En effet, dans ce cas il est cohérent de choisir pour k la valeur suivante :

k = α∗ min(t, |C(Or)|) (6.25)

jets intéressants l’utilisateur. Le paramètre α permet, quant à lui, de prendre en compte les faiblesses du descripteur grossier qui ne donne qu’une estimation de la distance entre les objets 3D et la requête. Un choix de α = 2 permet de garantir un bon compromis vi- tesse/robustesse en considérant que les objets recherchés par l’utilisateur sont placés par le descripteur grossier dans un rayon de deux fois la taille des résultats qu’il souhaite recevoir. Finalement, nous avons proposé une optimisation permettant d’accélérer le proces- sus de recherche tout en garantissant une robustesse des résultats. Le compromis vi- tesse/robustesse peut facilement être réglé grâce au paramètre k qu’il est possible de définir automatiquement. D’autre part, un des intérêts majeurs de cette optimisation est qu’elle peut être appliquée à tout processus de recherche. En effet, la seule contrainte de ce procédé est l’utilisation de deux descriptions de forme ayant des complexités différentes. Pour conclure, l’optimisation que nous avons développée permet de passer plus de temps sur la comparaison des objets ayant une ressemblance forte, avec la requête, que sur les modèles 3D qui en sont éloignés.

Remarque 6.5. L’optimisation que nous avons proposée s’appuie sur un pa-

ramètre k permettant de jouer avec le compromis vitesse/robustesse. Le réglage de celui-ci peut être confié à l’utilisateur afin de répondre, au mieux, à ses at- tentes. Cependant, nous nous rendons bien compte que celui-ci n’est pas aisé car trop subjectif. Dans ce sens, nous pouvons proposer à l’utilisateur une ap- proche en “temps contraint” où il doit désormais définir le délai t dans lequel le moteur de recherche doit lui répondre, plutôt que le paramètre k. Afin de rester cohérent avec notre propre système, il est nécessaire de définir la borne inférieure de t comme étant égale au temps qu’il faut pour établir la liste de ré- sultats avec le descripteur grossier. Une fois cette condition posée, il est facile de comprendre que le temps restant permet de réordonner la liste de résul- tats, en partant du début vers la fin, jusqu’à épuisement du temps t alloué par l’utilisateur.

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