3.4 Nos methodes d'appariement
3.4.4 Proposition de nouveaux algorithmes
Nous proposons de nouveaux algorithmes ci-dessous; ils concernent essentiellement des modications 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 Verication 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 Modications de
dp3Comme 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^utk
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^utk
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^utk
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^utk
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^utk
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^utk
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^utk
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^utk
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 enn 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 pointq
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 pointq
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 avecniv
sauts d'occultation)). Les trois transitions de dp3 sont modiees 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^utc
ij (mesure de ressemblance entrep
i etq
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 niveauxniv
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 appeledp3jc:((Dynamic Programming 3-Transitions Jumps Count)).
Nous testerons les algorithmesdp3,dp3no,dp5etdp3jcsur nos images, et evaluerons leur sensibilite aux dierents 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 + verication 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
occProgrammation dynamique avec comptage d'occultations, co^ut d'occultation nul.
Tab. 3.4: Recapitulatif des algorithmes d'appariement.