• Aucun résultat trouvé

Proposition de nouveaux algorithmes

3.4 Nos methodes d'appariement

3.4.4 Proposition de nouveaux algorithmes

Nous proposons de nouveaux algorithmes ci-dessous; ils concernent essentiellement des modi cations de la programmation dynamique.

3.4.4.1 Recherche exhaustive

Comme nous l'avons vu, une recherche exhaustive de tous les appariements possibles est impossible en pratique. Ainsi, apparier 12 points dans l'image avec 12 points dans l'image 2 amenerait a explorer un arbre de plus de 50 milliards de feuilles.

Nous avons cependant implemente un tel algorithme, en utilisant des procedures de coupure permettant de reduire considerablement la taille de l'arbre. Nous appelons cet algorithmees: Exhaustive Search. En utilisant les procedures de coupure, on parvient a traiter jusqu'a 12 points dans chaque image, ce qui est inutilisable dans notre contexte, mais pourrait ^etre envisage dans d'autres applications.

3.4.4.2 Veri cation croisee avec seuil

Lors du deroulement de l'algorithme ccr, on pourrait imposer que les appariements retenus aient une correlation inferieure a un certain seuil. Cet algorithme est appelecct: Cross Check Threshold. Ceci limiterait le nombre de faux appariements.

Cependant, comme pour les autres algorithmes avec seuil (par exemple dp3), celui-ci est tres sensible et delicat a choisir. Il peut ^etre determine empiriquement, ou bien apres une premiere passe d'appariement: pour tous les appariements obtenus en premiere passe, on accumule les scores de correlation. Si on suppose qu'ils suivent une distribution laplacienne, la valeur mediane de ces scores fournit une estimation robuste de l'ecart-type



de cette distribution, selon l'equation 3.12, p. 34. On peut ensuite xer le seuil de rejet a, par exemple, 2

:

5



.

3.4.4.3 Modi cations de

dp3

Comme nous l'avons vu, la programmation dynamique sous sa forme dp3 est tres sensible au bon reglage du co^ut



. De fait, il est curieux de constater que dans dp3, les appariements multiples sont traites comme des occultations: si, du fait de la distorsion perspective, 2 pixels consecutifs de l'image 1 correspondent a 1 seul pixel de l'image 2, l'algorithme dp3 imposera au moins une occultation sur le chemin optimal. Cette occul-tation sera une transition de co^ut



(assez eleve), alors que ce devrait ^etre une transition correspondant a un appariement, de co^ut egal au score de correlation (donc faible). Cela rend impossible un reglage coherent de



, qui correspond soit a une occultation, soit a un appariement multiple.

Nous proposons un nouvel algorithme, ou les transitions sont toutes des transitions d'appariement: sur chaque transition d'occultation,



est remplace par le score de correla-tion, et la transition correspond a un appariement multiple. Dans cet algorithme, chaque nud (

i;j

) mene vers 3 autres nuds, via les 3 types de transition suivants:

1. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i+1

;q

j+1). Cette transition a un co^ut

k

1ij, et mene au nud (

i

+ 1

;j

+ 1).

2. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i

;q

j+1). Cette transition a un co^ut

k

4ij, et mene au nud (

i;j

+ 1).

3. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i+1

;q

j). Cette transition a un co^ut

k

5ij, et mene au nud (

i

+ 1

;j

).

On prend

k

1ij =

k

4ij =

k

5ij =

c

ij. Dans ce cas, la contrainte d'unicite n'est plus res-pectee, puisqu'un seul pixel peut avoir plusieurs correspondants. De plus, les occultations ne peuvent pas ^etre detectees, et l'algorithme ne peut ^etre utilise que sur des images sans occultation prononcee. Cet algorithme est nomme dp3no:((Dynamic Programming 3-Transitions No-Occlusion)).

Une autre solution est de combiner les deux approches: ce nouvel algorithme comporte 5 transitions, et nous l'appelonsdp5:((Dynamic Programming 5-Transitions)). Ici, chaque nud (

i;j

) mene vers 5 autres nuds, via les 5 types de transition suivants:

1. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i+1

;q

j+1). Cette transition a un co^ut

k

1ij, et mene au nud (

i

+ 1

;j

+ 1).

2. Les points ne peuvent pas ^etre apparies. Le point

q

j est occulte dans l'image 1, et on examinera par la suite la validite du couple (

p

i

;q

j+1). Cette transition a un co^ut

k

2ij, et mene au nud (

i;j

+ 1).

3. Les points ne peuvent pas ^etre apparies. Le point

p

i est occulte dans l'image 2, et on examinera par la suite la validite du couple (

p

i+1

;q

j). Cette transition a un co^ut

k

3ij, et mene au nud (

i

+ 1

;j

).

4. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i

;q

j+1). Cette transition a un co^ut

k

4ij, et mene au nud (

i;j

+ 1).

5. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i+1

;q

j). Cette transition a un co^ut

k

5ij, et mene au nud (

i

+ 1

;j

).

Les trois premieres transitions sont celles dedp3. Les transitions de type 4 et 5 auto-risent les appariements multiples. Comme dans dp3no, nous xons

k

1ij =

k

4ij =

k

5ij =

c

ij, et comme dans dp3,

k

2ij =

k

3ij =



.

Constatons en n un comportement indesirable de l'algorithme classiquedp3: si parmi les points (

p

1

;p

2) de l'image 1 et (

q

1

;q

2

;q

3) de l'image 2, les appariements sont (

p

1

;q

1) et (

p

2

;q

3), alors l'algorithme passe necessairement par une transition d'occultation de co^ut



, signalant que le point

q

2 n'a pas de correspondant. Or, l'algorithmedp3 respectant les contraintes d'ordre et d'unicite, et sachant que les appariements (

p

1

;q

1) et (

p

2

;q

3) sont realises, alors le point

q

2 est necessairement non-apparie, et il n'y a pas lieu d'ajouter un co^ut



au co^ut du chemin global.

Nous proposons donc un nouvel algorithme, ou



est xe a 0. Le chemin optimal est alors de co^ut nul, et ne comporte que des occultations. Aussi, nous limitons le nombre de sauts d'occultation autorises, que nous memorisons dans les etats du graphe de la program-mation dynamique. Les nuds sont desormais notes (

i;j;niv

), et correspondent a l'etat :

((les listes (

p

1

;:::;p

i) et (

q

1

;::;q

j) ont ete appariees, et ceci avec

niv

sauts d'occultation)). Les trois transitions de dp3 sont modi ees en consequence. A partir du nud (

i;j;niv

) :

1. (

p

i

;q

j) forme un appariement. On examinera par la suite la validite du couple (

p

i+1

;q

j+1). Cette transition a un co^ut

c

ij (mesure de ressemblance entre

p

i et

q

j), et mene au nud (

i

+ 1

;j

+ 1

;niv

).

2. (

p

i

;q

j) ne forme pas un appariement. On examinera par la suite la validite du couple (

p

i

;q

j+1). Cette transition a un co^ut



= 0, et mene au nud (

i;j

+ 1

;niv

+ 1). 3. (

p

i

;q

j) ne forme pas un appariement. On examinera par la suite la validite du couple

(

p

i+1

;q

j). Cette transition a un co^ut



= 0, et mene au nud (

i

+ 1

;j;niv

+ 1). Le graphe est maintenant contenu dans un tableau3d (un cube), et le chemin optimal est le chemin de co^ut minimal parvenant a l'extremite (

n;m;niv

) de l'un des niveaux

niv

du cube. Le probleme est de xer le nombre maximal de sauts d'occultation autorises (la profondeur du cube), et nous retrouvons des questions similaires au reglage des co^uts d'occultation. Ce nombre maximal sera xe par une probabilite d'occultation

p

occ xee a priori, ou apres une premiere estimation des appariements. Cet algorithme est appele

dp3jc:((Dynamic Programming 3-Transitions Jumps Count)).

Nous testerons les algorithmesdp3,dp3no,dp5etdp3jcsur nos images, et evaluerons leur sensibilite aux di erents seuils ou parametres. Les algorithmes d'appariement sont resumes en tableau 3.4. Ce tableau est repris a la n de ce chapitre, en page 141, ainsi que les autres abreviations utilisees.

Algorithme Description Parametrage

wta Winner Takes All. Inutile

Meilleur score.

es Exhaustive Search. Inutile

Recherche exhaustive de tous les appariements.

ccr Cross Check Raw. Inutile

Meilleur score + veri cation croisee.

cct Cross Check Threshold.

s

ccr avec score maximal egal a

s

.

dp3 Dynamic Programming 3-Transitions.



Programmation dynamique classique, co^ut d'occultation



.

dp3no Dynamic Programming 3-Transitions No Occlusion. Inutile

Programmation dynamique sans occultation.

dp5 Dynamic Programming 5-Transitions.



Programmation dynamique sans contrainte d'unicite, co^ut d'occultation



.

dp3jc Dynamic Programming 3-Transitions Jumps Count.

p

occ

Programmation dynamique avec comptage d'occultations, co^ut d'occultation nul.

Tab. 3.4: Recapitulatif des algorithmes d'appariement.