• Aucun résultat trouvé

Denition de la base

4.3 Discretisation de l'espace des invariants

4.3.1 Hachage simple

Les invariants que nous avons a traiter en hachage simple sont la `longueur de base' dans le cas des transformations rigides 2D ou la longueur des c^otes du tri edre de base dans le cas 3D. Tous ces invariants ont une borne xe sur l'erreur, en l'occurrence"l= 2"p. Le probl eme que l'on se pose ici est de trouver une discretisation adaptee pour la table de hachage. Les invariants etant independants, nous nous contenterons d'etudier le cas d'un seul invariant l, la table possedant alors une seule dimension. Il sut pour plusieurs invariants de prendre le produit cartesien des tables de hachage.

Soit L = lmax ;lmin la taille de la table de hachage et supposons une discretisation constante de pas hl. La longueur compatible avec un invariant etant de diam etre 2"l, le nombrenl de cases intersectees par la zone d'erreur est dans notre cas

2"l hl nl 2"l hl + 1

En fait, le param etre qui nous interesse plus speciquement est l'etalement d'un invariant, c'est a dire la proportion de la table de hachage qui indexe cet invariant : plus l'etalement est faible, moins on a de chances de voter pour celui-ci avec un point pris au hasard. C'est en quelque sorte l'oppose de la selectivite. On notera par la suite ce param etre.

L'etalement minimal est obtenu en considerant une table de hachage continue : 0

l = 2L"l. Avec la discretisation de la table, on obtient

hl L 2"l hl  l = nlhl L  hl L  1 + 2"l hl 

ce qui s'encadre par

0

l  l  0

l + 2hLl Ces formules appellent plusieurs remarques :

Si le pas de hachage est grand devant le diam etre de la zone d'erreur hl 2"l, alors on a l  2hLl. Cette majoration est irreductible car on peut toujours placer l'erreur au bord d'une case et impliquer ainsi deux cases dans l'indexation. L'avantage est une place memoire relativement faible pour la table, et un nombre de cases a indexer par invariant plafonne a deux. La contrepartie est un etalement non minimal, donc un nombre sans doute eleve de faux positifs.

Si le pas de hachage est tr es faible devant l'erreurhl "l, on a l ' 0

l. L'eet de la discretisation est amorti au niveau de l'etalement, mais le nombre d'indexations par invariant peut ^etre eleve et surtout la complexite en place de la table est accrue. L'algorithme ideal utilise une case par indexation, donc l = hl

L. Ceci montre que si l'on ne prend pas en compte l'erreur dans l'algorithme, non seulement des faux negatifs peuvent se produire, mais aussi des faux positifs !

Il y a donc un compromis a faire entre la place memoire de la table et la perte de selectivite. En fait, les gains sur l'etalement devenant faibles pour hl decroissant en dessous de"l=2 ou "l=4, il semble que le choix de hl "l soit equilibre. Toutefois, dans le cas o u l'on traite l'erreur a la reconnaissance, le choix dehl= 2"l permet de determiner tr es simplement la deuxi eme case a faire voter par un test de position de l'invariant image par rapport au centre de la case o u il se trouve.

4.3.2 Hachage geometrique

En reprenant la formule generique 3.2 on peut ecrire "gh(x) = "p(2 +KAkxk)k'A;1

k+O("2

p)

Cette formulation englobe tous les cas que nous avons vus. La table de hachage n'est plus ici unidimensionnelle: soitn sa dimension etV son volume. Le volume compatible avec un point de l'espace est une sph ere centree en ce point de diam etre 2"gh, que l'on peut envelopper dans un pave de c^ote 2"gh.

On voudrait obtenir comme dans le cas du hachage simple une taille des cases de l'ordre de quelques fractions du volume de la sph ere ou du pave d'erreur. Le probl eme majeur est que "gh depend dekxket que ceci n'est pas separable selon chacune des coordonnees : si le pas de hachage est independant selon chaque axe, les cases proches d'un axe auront inevitablement une taille plus faible que les cases eloignees de tous les axes, m^eme a norme kxk egale. Il faudrait une discretisation telle que la taille des cases depende uniquement de kxk. Comme nous ne savons pas faire cela de fa con simple, et le but de la table de hachage est quand m^eme de gagner du temps, nous nous contenterons d'une discretisation independante et identique selon chaque axe, mais dependante des coordonnees : le pas selon l'axe i est h(xi). Une majoration grossi ere du nombre de cases intersectees par la zone compatible est en utilisant le pave englobant ngh(x) n Y i=1 & 2"gh(x) h(xi) ' + 1! L'etalement est donc majore par

gh(x)

ngh(x)Q

ni=1h(xi) V

An de ne pas trop perdre en etalement, il serait interessant que le plus grand c^ote d'une case centree en x soit inferieur a "gh(x), mais le moins possible pour ne pas perdre en place.

A norme constante, la plus grande coordonnee est obtenue si le point est sur un axe, par exemplex = (z0:::0). On cherche donc h(z) tel que :

h(z)"al(z 10:::0]) = "p(2 +KAz)k'A;1

k (4:5)

Examinons maintenant la mani ere de discretiser un axe : soient z0 = 0z1:::zN les valeurs fronti eres positives des buckets selon l'axe des z. Le choix de zi = k i conduit a un pas de hachage h(z) = k, ce qui nous l'avons vu ne convient pas. Le choix zi =k i2 produit un pas moyen de hi = 2k i, soit h(z)' 2p

k z. Il reste a regler le param etre k : l'inequation 4.5 se reecrit h(z) = 2p k z"p(2 +KA z)k'A;1 k en notant = "2 pk'A;1 k

2 pour les calculs, on obtient z2  K 2 A 4 ! +zKA; k ! + 1 0

On est s^ur que ceci est verie pour tout z si le determinant est negatif ou nul, or + = k  k ;2KA

!

Comme il vaut mieux choisir k maximum pour minimiser la taille de la table de hachage, il sut de prendre + = 0, soit :

k = 2 "2

pKAk'A;1 k

2 (4:6)

En ce qui concerne les transformations rigides, il faut encore rajouter les dimensions correspondant aux invariants supplementaires traites par hachage simple. An de clarier ceci, nous allons prendre un exemple pour les transformations rigides 2D.

4.3.3 Exemple : transformations rigides 2D

La zone compatible a un rayon de "gh= 2"p 1 +kxk

m



+O("2

p) en notant m =km2;m1kla longueur de la base, dont l'erreur maximum est de 2"p. On choisit tout d'abord un pas de discretisation selon l'axem de hm ="p. Dans chaque tranche m = Cte de la table, on doit ensuite discretiser selon les deux axes des coordonnees des points. Pour cela, calculons k : on a KA = 2=m et k'A;1

k= 1, ce qui donne k = 4"2

p

m

En ce qui concerne la valeur dem dans cette formule, on choisira la valeur superieure dans la tranche, c'est a dire ^m =lm

hm m hm =lm "p m "p.

A titre d'indication, on a trace dans la gure 4.4 un mod ele d'ordinateur et la tranche de la table de hachage correspondant a la base indiquee en gras. L'erreur de mesure "p sur les points de l'image a ete xee a 5 pixels pour permettre la lisibilite de la gure.

Figure 4.4 : A droite, une image 256*256. La base est indiquee en gras. A gauche, la tranche de la table de hachage correspondante ( "p = 5, m = 127, k = 0:77). L'unite de mesure est le pixel.

4.4 Resume

Nous avons tout d'abord remarque que le hachage geometrique necessitait la denition de bases mod ele et image, alors qu'on pouvait pour l'alignement determiner directement la transformation. On a ensuite montre que si l'on note"alle rayon de la zone de recherche pour l'alignement par la methode de denition des bases, on pouvait denir la zone compatible dans l'espace des invariants1 par son rayon

"gh =k'A;1 k"al

o u 'A est la matrice de passage de la base image choisie a la base image canonique.

Il existe alors deux mani eres de traiter l'erreur : lors de l'apprentissage, en indexant la table de hachage avec ces zones, ou a la reconnaissance, en votant avec ces zones. Les transformations anes procurent un exemple o u il n'est pas possible de preparer la table avec l'erreur, a cause du facteur k'A;1

k qui depend de la base image choisie, sauf si comme nous le proposons on rajoute une dimension supplementaire a la table qui indexe justement ce 1On rappelle qu'il est constitue des coordonnees des points exprimees dans la base de nie et des invariants relatifs a cette base.

facteur. Les transformations rigides 3D ont quant a elles pose le probl eme de la denition de la base. En eet, nous ne connaissons pas de methode pour denir les bases images et mod ele qui corresponde a la transformation aux moindres carres. Il a donc fallu etablir la denition d'une base, et la methode s'est averee ^etre tr es leg erement meilleure que les moindres carres au niveau de la borne sur l'erreur. Il faut cependant noter que cela n'implique en aucun cas la superiorite en ce qui concerne l'erreur moyenne. Nous avons alors obtenu la borne

"gh(x)'2"p 0 B B @1 +kxk v u u u t 4 P i<jkxi;xjk 2 9kx1^x2 k 2 +maxij 1 kxi;xjk 2 1 C C A+O "p2 

Nous avons ensuite adresse le probl eme de la discretisation de l'espace des invariants dans le cas du hachage simple, o u la borne constante sur l'erreur est parfaitement en accord avec un pas de discretisation constant, puis pour le hachage geometrique o u la borne depen-dant de la positionx nous a amene a developper une discretisation de pas non constant par une methode relativement simple et enti erement automatisable. L'exemple presente concer-nant les transformations rigides 2D montre d'ailleurs une adequation tr es correcte des zones d'erreur avec la taille des cases de la table.

Encore une fois, le cadre theorique developpe est tout a fait applicable et fournit par ailleurs des reponses interessantes et inedites a des probl emes comme la discretisation de la table de hachage qui sont somme toute assez peu etudies.

Chapitre 5

Probabilite de fausse alarme et

Documents relatifs