• Aucun résultat trouvé

Nous avons dans ce chapitre exprim´e la vraisemblance d’un recalage `a partir d’un mod`ele de bruit sur les donn´ees exprim´e par la probabilit´e p(T ? si|mj) d’obtenir un point si de la sc`ene connaissant le point mj du mod`ele qui lui correspond. Nous avons alors d´eriv´e deux algorithmes permettant de trouver la transformation qui maximise cette vraisemblance :

– En utilisant seulement la configuration d’appariements la plus probable : on a re-trouv´e l’ICP dans le cas gaussien, et montr´e comment le g´en´eraliser pour des mod`eles de bruit plus complexes.

– En utilisant toutes les configurations d’appariements possibles, pond´er´ees par leur probabilit´e a posteriori : on a alors d´eriv´e un nouvel algorithme de recalage bas´e sur les id´ees de l’EM, que nous avons appel´e ICP/EM dans le cas gaussien.

L’ICP/EM d´ependant explicitement de la variance du bruit sur les donn´ees, nous avons fait varier ce nouveau param`etre et avons constat´e que l’algorithme pr´esentait des propri´et´es caract´eristiques des approches multi-´echelle : un comportement pr´ecis et peu robuste (car proche de l’ICP) pour de faibles variances, un comportement robuste mais peu pr´ecis (car proche de l’alignement des centres et tenseurs d’inerties) pour de grandes variances. Nous l’avons logiquement incorpor´e dans une strat´egie de raffinement progressif de l’´echelle qui a permis d’am´eliorer notablement la robustesse du recalage. Nous l’avons enfin associ´e `

a une approche multi-r´esolution, grˆace `a une technique simple et efficace de d´ecimation, pour ´eviter l’explosion des temps de calcul.

Les r´esultats de ces travaux sont extrˆemement encourageants :

– Le sch´ema multi-´echelle permet un recalage bien plus robuste et un peu plus pr´ecis que l’approche ICP classique.

– L’utilisation de la d´ecimation et la parall´elisation de l’algorithme permet d’atteindre des temps de recalages tr`es inf´erieurs `a la seconde sur nos donn´ees, et on peut donc envisager des applications temps r´eels.

Nous nous tiendrons donc `a cette approche (ICP/EM avec d´ecimation et raffinement progressif de l’´echelle) dans la suite de cette th`ese. Pour l’adapter `a diff´erents probl`emes,

nous profiterons de l’enti`ere libert´e laiss´ee dans le choix de la loi de probabilit´ep(T ?si|mj). Le prochain chapitre pr´esente plusieurs variantes simples, et le chapitre 8 des variantes plus complexes reposant sur un v´eritable mod`ele probabiliste de surfaces.

Adaptation au recalage de surfaces

Sommaire

5.1 Correction de d´ecalage normal . . . 96 5.1.1 Cons´equence du d´ecalage normal sur le recalage . . . 97 5.1.2 Estimation et correction du d´ecalage . . . 99 5.1.3 Cas Gaussien isotrope homog`ene . . . 101 5.1.4 Application . . . 102 5.1.5 Discussion . . . 102 5.2 Utilisation de la distance entre normales . . . 103 5.2.1 Distance quadratique entre points orient´es . . . 103 5.2.2 Distance de Mahalanobis simple entre points orient´es . . . 103 5.2.3 Discussion . . . 104 5.3 Points semi-anisotropes . . . 105 5.3.1 Bruit semi-anisotrope . . . 105 5.3.2 Cas gaussien . . . 106 5.3.3 Surfaces ´echantillonn´ees . . . 107 5.3.4 Discussion . . . 108 5.4 Pr´ediction th´eorique de l’incertitude pour les surfaces . . 109 5.4.1 Appariements semi-anisotropes . . . 109 5.4.2 Guidage de l’acquisition des points per-op´eratoires . . . 115 5.4.3 Conclusion . . . 117 5.5 Conclusion . . . 117

Les algorithmes que nous avons jusqu’ici pr´esent´es (dans l’´etat de l’art comme dans le chapitre sur l’EM) ne sont pas sp´ecifiquement d´edi´es aux surfaces. Ils font mˆeme l’hypo-th`ese que les points des deux nuages sont identifi´es et sont donc th´eoriquement adapt´es aux nuages d’amers g´eom´etriques (comme des marqueurs, ou des points particuliers tels les points de crˆetes). Il se trouve que ces algorithmes fonctionnent relativement bien avec les courbes et les surfaces. Nous avons tout de mˆeme cherch´e `a tenir compte de l’ori-gine surfacique de nos nuages de points pour am´eliorer nos r´esultats. Nous pr´esentons ici plusieurs de ces variantes originales, ind´ependantes les unes des autres :

– La correction de d´ecalage a pour but d’´evaluer un biais syst´ematique dans la direc-tion normale `a la surface. L’estimer permet de le corriger, et ´eviter ainsi un biais dans le r´esultat du recalage (section 5.1).

– L’utilisation de la distance entre normales a pour but d’am´eliorer l’estimation des appariements en rejetant les points dont les normales sont trop ´eloign´ees. Elle permet essentiellement d’am´eliorer la robustesse aux points aberrants (section 5.2).

– Les points semi-anisotropes permettent de donner plus d’importance `a l’informa-tion dans la direcl’informa-tion normale `a la surface que dans la direction tangentielle. Ils permettent un gain en robustesse (section 5.3).

Enfin, nous abordons le probl`eme de l’adaptation de la pr´ediction de l’incertitude th´ eo-rique aux surfaces.

5.1 Correction de d´ecalage normal

Un probl`eme que nous avons rencontr´e est celui de la pr´esence d’un d´ecalage syst´ e-matique sur la position des points dans la direction indiqu´ee par la normale. Il peut ap-paraˆıtre sur deux types de nuages de points que nous utilisons : les points per-op´eratoires (voir 1.5.3) et les surfaces segment´ees dans le scanner (voir 1.5.1). Nous d´etaillons ici ces deux cas.

Points per-op´eratoires Ils sont mesur´es `a l’aide d’une pointe reli´ee rigidement `a un capteur de position/orientation :

Le syst`eme de suivi permet de mesurer la position du centre du capteur xc et son orientation, donn´ee par sa rotation Rc par rapport `a une position de r´ef´erence. Si l’on connaˆıt maintenant le vecteur tcp entre le centre du capteur et la pointe de mesure dans cette position de r´ef´erence, on peut en d´eduire `a tout moment la position de la pointe

xp = xc + Rctcp. Le vecteur tcp est en fait estim´e une bonne fois pour toute pour chaque ensemble capteur/pointe, par une m´ethode de calibration sp´ecifique. Mais celle-ci peut donner des r´esultats impr´ecis, g´en´erant une erreur syst´ematique sur la position de la pointe. Nous nous contenterons ici de mod´eliser l’erreur dans l’axe de la pointe.

En r´esum´e, notre syst`eme d’acquisitions de points nous donne la position biais´ee de la pointe xp et l’orientation de son axe (qui est d´eduite de la matrice Rc), que nous utilisons directement ensuite comme estim´ee de la normale `a la surface np. Si δ est le d´ecalage, i.e. l’erreur sur tcp dans l’axe de la pointe, on peut retrouver la v´eritable position de la pointe xv en appliquant la formule suivante :

xv = xp− δnp

Surfaces segment´ees dans le scanner Les probl`emes de d´ecalages peuvent aussi apparaˆıtre lorsqu’on extrait les surfaces des scanners en utilisant un “Marching-Cube” bas´e sur le seuillage direct de l’intensit´e des voxels. Cet algorithme extrait en-effet l’isosurface correspond `a une intensit´e seuil donn´ee. Si cette intensit´e seuil est sous-estim´ee, la surface sera d´ecal´ee vers les intensit´es faibles, et inversement. La direction du d´ecalage correspond donc `a la direction dans laquelle varie l’intensit´e, i.e. au gradient de l’image. Or nous utilisons justement ce gradient comme estim´ee de la normale `a la surface np. Nous avons donc la mˆeme relation entre la coordonn´ee mesur´ee du point xp et sa coordonn´ee v´eritable xv que dans le cas pr´ec´edent :

xv = xp− δnp

Cependant, le d´ecalage δ n’est plus fixe, mais d´epend de la vitesse de variation de l’intensit´e dans l’image (i.e. la norme du gradient). Il est mˆeme inversement proportionnel `

a cette vitesse de variation. Heureusement, nous avons v´erifi´e que cette vitesse de varia-tion est relativement constante (les interfaces entre les tissus osseux et les autres tissus pr´esentent en-effet `a peu pr`es les mˆemes profils d’intensit´e), et nous utiliserons donc un δ fixe par la suite.

5.1.1 Cons´equence du d´ecalage normal sur le recalage

Nous allons ici montrer quelles peuvent ˆetre les cons´equences du d´ecalage normal sur le recalage de surfaces, en fonction de la distribution des points. Nous supposerons pour simplifier que seuls les points de la sc`ene sont corrompus par un d´ecalage normal.

Appariements correctement estim´es Nous supposerons dans un premier temps que le d´ecalage n’induit pas d’erreurs dans l’estimation des appariements, et comparerons le r´esultat du recalage avec les vrais points et avec les points biais´es, en s’appuyant sur la m´ethode de la SVD (voir 3.2.4).

Le barycentre pond´er´e des points de la sc`ene est, pour les points de la sc`ene non biais´es : s = P ijAijsi P ijAij

Il devient, lorsqu’on ajoute un d´ecalage qui transforme le point si en si + δnsi:

s0 = P ijAij(si+ δnsi) P ijAij = s + δ P ijAijnsi P ijAij Les matrices de corr´elation en rep`ere barycentrique sont :

K = P ijAij.(mj − m).(si− s)t P ijAij = P ijAij.mj.st i P ijAij − m.st K0 = P ijAij.mj.(si+ δnsi)t P ijAij − m.(s + δ P ijAijnsi P ijAij ) = K + δ P ijAij.(mj − m).nt si P ijAij !

La d´ecomposition SV D de ces matrices qui permet le calcul des rotations ´etant non lin´eaire, il est difficile de tirer une conclusion g´en´erale de ces formules. Cependant, lorsque le d´ecalage δ est n´egligeable devant l’extension spatiale de la sc`ene (ce qui est heureusement le cas, les d´ecalages faisant quelques dixi`emes de mm pour une sc`ene de plusieurs cm), δnsi restera n´egligeable devant si− s, et le terme δ

P ijAij.(mj−m).nt si P ijAij 

restera ainsi n´egligeable devant K. Les matrices K et K0 seront sensiblement ´egales, ainsi que leur d´ecompositions SVD et donc les rotations obtenues.

On peut par contre directement se faire une id´ee de l’influence du biais sur la trans-lation, puisque celle-ci est ´egale `a t = Rs − m. Si la rotation est effectivement proche pour le recalage avec et sans biais, nous obtiendrons une diff´erence pour la translation de l’ordre de δ

P

ijAijnsi P

ijAij . Cette erreur d´epend donc de la r´epartition des normales. Si elles ne privil´egient aucune direction (par exemple lorsqu’on recale deux sph`eres ou deux cubes complets), la moyenne pond´er´ee des normales

P

ijAijnsi P

ijAij et donc l’erreur sur le recalage se-ront faibles. En revanche, si les normales sont mal r´eparties (ce qui est par exemple le cas avec la mˆachoire inf´erieure, o`u les normales sont plutˆot dirig´ees vers le haut) et pointent en moyenne vers la direction

P

ijAijnsi P

ijAij , nous retrouverons une erreur sur la translation dans cette direction (verticale dans le cas des mˆachoires) qui restera inf´erieure `a δ.

Appariements mal estim´es Ce r´esultat pourrait paraˆıtre rassurant, dans la mesure o`u les d´ecalages restent assez faibles (inf´erieurs `a 0.2 mm). Mais il est h´elas inexact, car l’erreur sur l’estimation de la transformation va g´en´erer des erreurs sur l’estimation des appariements qui vont g´en´erer des erreurs sur l’estimation de la transformation et ainsi de suite. Les erreurs, si elles existent (i.e. si

P

ijAijnsi P

s’amplifier.

Il est impossible d’exprimer explicitement l’erreur ainsi obtenue. On peut par contre l’illustrer sur l’exemple d’un cˆone :

Ici le mod`ele est repr´esent´e par le trait continu, les points de sc`ene par les cercles. On voit `a gauche les points dans leur position correcte. On voit `a droite ce que va logiquement donner le recalage sur un pareil cas `a cause de du d´ecalage δ : la translation va ˆetre d´ecal´ee de δ/ sin α vers le bas, et l’erreur peut ainsi devenir tr`es importante.

5.1.2 Estimation et correction du d´ecalage

Comme dans le paragraphe pr´ec´edent, nous supposerons dans un premier temps que le probl`eme de d´ecalage n’est pr´esent que sur les points de la sc`ene. D’apr`es ce qui pr´ec`ede, il devient n´ecessaire de prendre en compte le d´ecalage d`es lors que les normales ont une moyenne pond´er´ee

P

ijAijnsi P

ijAij non n´egligeable. Nous allons voir ici comment l’estimer et le corriger en l’int´egrant directement dans le proc´ed´e statistique qui nous a servi `a d´eriver, dans le chapitre pr´ec´edent, les algorithmes ICP et ICP/EM. Ce proc´ed´e s’appuyait sur la maximisation de la vraisemblance, i.e. de la probabilit´e des donn´ees sachant la transformation et les appariements. Nous proc´ederons de mˆeme avec le param`etre de d´ecalage δ. Nous donnerons l’algorithme g´en´eral (pour un mod`ele de bruit quelconque), et l’illustrerons dans le cas gaussien isotrope, o`u nous exhiberons une solution explicite.

Supposons donc le d´ecalage δ connu. Sa correction est alors triviale : il suffit de rem-placer le point si par le point corrig´e si − δnsi. Ce point corrig´e est le point r´eel de la surface. C’est donc lui qui suit la loi de probabilit´e donn´ee par l’´equation 4.1. Il suffit donc de remplacer cette loi de probabilit´e dans la totalit´e des ´equations du chapitre pr´ec´edent (et en particulier dans les crit`eres) pour obtenir les algorithmes ICP et ICP/EM tenant compte du d´ecalage sur les points de la sc`ene. La nouvelle loi est :

p(si|mj,T,δ) = p(T ? (si− δnsi)|mj) (5.1)

les r´esultats ´etant identiques) :

CICP(T,A,δ) = P

ijAij.(− log p(T ? (si− δnsi)|mj) − log πij) (5.2) On constate alors que pour les ´etapes d’estimations des appariements et de la transforma-tion (les ´etapes E et M dans l’EM), il suffit donc de remplacer les points de la sc`ene par les points corrig´es. Ce crit`ere permet de plus de d´egager une approche pour l’estimation du d´ecalage δ : nous allons aussi l’estimer en minimisant le crit`ere (i.e. en maximisant la vrai-semblance). Le probl`eme est de savoir quand. Rappelons le d´eroulement de l’algorithme ICP classique :

Initialisation : calcul de T0 Boucle : `a l’´etape I :

– Calcul de AI: minimisation de C(T,A) `a T = TI constant. – Calcul de TI+1: minimisation de C(T,A) `a A = AI constant. Jusqu’`a convergence

Nous allons int´egrer l’estimation du d´ecalage au sein mˆeme de cet algorithme de minimi-sation altern´ee. A l’´evidence, il est plus ais´e d’obtenir une estim´ee initiale de δ que des appariements (il suffit de prendre un d´ecalage nul). Il faut donc placer l’estimation de δ apr`es l’estimation des appariements, et utiliser `a la premi`ere it´eration une estim´ee initiale du d´ecalage δ0, nulle en g´en´eral.

Il reste alors le choix entre placer l’estimation du d´ecalage avant l’´etape d’estimation de la transformation (il faut alors prendre en compte la nouvelle valeur du d´ecalage pour celle-ci), ou apr`es (il faut alors prendre la nouvelle valeur de la transformation pour l’esti-mation du d´ecalage). La deuxi`eme possibilit´e semble pr´ef´erable car elle laisse la premi`ere partie de l’algorithme inchang´ee. Le choix devra cependant tenir compte de consid´erations d’efficacit´e algorithmique, en fonction du mod`ele de bruit choisi.

Les deux algorithmes possibles sont donc les suivants : Initialisation : calcul de T0 et δ0 (nul en g´en´eral) Boucle : `a l’´etape I :

– Calcul de AI: minimisation de C(T,A,δ) `a T = TI et δ = δI constants. – Calcul de δI+1: minimisation de C(T,A,δ) `a A = AI et T = TI constants. – Calcul de TI+1: minimisation de C(T,A,δ) `a A = AI et δ = δI+1 constants. Jusqu’`a convergence

ou (algorithme pr´ef´erable) :

Boucle : `a l’´etape I :

– Calcul de AI: minimisation de C(T,A,δ) `a T = TI et δ = δI constants. – Calcul de TI+1: minimisation de C(T,A,δ) `a A = AI et δ = δI constants. – Calcul de δI+1: minimisation de C(T,A,δ) `a A = AI et T = TI+1 constants. Jusqu’`a convergence

5.1.3 Cas Gaussien isotrope homog`ene

Nous avons jusqu’ici pr´esent´e l’algorithme pour un mod`ele de bruit quelconque, mais cette g´en´eralit´e nous a, comme d’habitude, empˆech´e de lui donner une forme explicite. Nous allons ici nous restreindre au mod`ele de bruit gaussien habituel, et mˆeme `a un bruit gaussien isotrope homog`ene, qui permet justement d’obtenir une forme explicite.

Le crit`ere avec un tel mod`ele est (voir 4.4) :

CICP(T,A,δ) = 12P

ijAij.d2(T ? (si− δnsi),mj) = 12P

ijAij.d2(Rsi+ t − δRnsi,mj) (5.3) La d´ecalage doit minimiser le crit`ere et donc annuler sa d´eriv´e :

∂CICP(T,A,δ) ∂δ = X ij Aij(Rnsi|Rsi+ t − δRnsi− mj) = 0 X ij Aij(Rnsi|Rsi) +X ij Aij(Rnsi|t) −X ij Aij(Rnsi|mj) = δX ij Aij(Rnsi|Rnsi)

on peut simplifier cette ´equation en se rappelant que (Ra|Rb) = (a|b) et en particulier (Rnsi|Rnsi) = (nsi|nsi) = 1, et que (Ra|b) = T r(Rabt). On obtient alors :

X ij Aij(nsi|si) ! + R X ij Aijnsi ! |t ! − T r " R X ij Aijnsimtj !# = δ X ij Aij !

Cette formule permet, lorsque P

ijAij(nsi|si), P

ijAijnsi, P

ijAijnsimtj et P

ijAij sont connus (i.e. quand les appariements sont connus pour une transformation TI donn´ee), de calculer le d´ecalage quelle que soit la transformation. On peut alors aussi bien calculer le d´ecalage avant la transformation (en utilisant TI dans la formule pr´ec´edente) qu’apr`es la transformation (en utilisant le nouvelle valeur TI+1). Le calcul de la transformation ne laisse pas toujours cette libert´e : si le d´ecalage est calcul´e avant, les variables qu’elle utilise pourront ne plus ˆetre valables (c’est par exemple le cas des gradients, utilis´es `a la section 3.8.2), et on doit refaire une passe sur les appariements (i.e. r´e-estimer A) pour tenir compte du nouveau d´ecalage avant de calculer la nouvelle transformation. Finalement, on

peut et on doit r´e-estimer le d´ecalage apr`es avoir mis `a jour la transformation, comme recommand´e.

Cette formule est enfin tr`es int´eressante d’un point de vue de la simplicit´e algorith-mique, car elle s’appuie sur quatre accumulateurs, comme la SVD utilis´ee pour le calcul de la transformation (voir 3.2.4.0.0 et 4.6.2.0). Grˆace `a ces accumulateurs, il est inutile de stocker les appariements ou d’effectuer plusieurs passes sur l’ensemble des appariements, et on peut facilement parall´eliser l’algorithme.

5.1.4 Application

On peut se demander s’il est vraiment raisonnable d’appliquer la correction du d´ eca-lage durant l’int´egralit´e du recalage. De mani`ere g´en´erale, ajouter une nouvelle variable `

a optimiser dans le crit`ere (i.e. augmenter la dimension de l’espace de recherche) va in-troduire de nouveaux minima locaux et aggraver les probl`emes de robustesse. Ainsi, dans notre cas, les surfaces sont encore assez ´eloign´ees lors des premi`eres it´erations, et on risque alors d’estimer un d´ecalage important qui n’existe pourtant pas et induire ainsi en erreur la suite de l’algorithme.

Aussi avons-nous compar´e plusieurs strat´egies diff´erentes :

– On a estim´e le d´ecalage `a chaque it´eration d`es la premi`ere it´eration.

– On a laiss´e converger l’algorithme sans estimation du d´ecalage, puis l’avons relanc´e avec l’estimation du d´ecalage `a chaque it´eration.

– On a laiss´e converger l’algorithme sans estimation du d´ecalage, on a estim´e le d´ eca-lage, puis avons relanc´e l’algorithme `a d´ecalage fix´e, attendu une nouvelle conver-gence, r´e-estim´e le d´ecalage et ainsi de suite jusqu’`a ce que l’estimation soit stable. La premi`ere strat´egie s’est r´ev´el´ee, comme attendue, instable (elle diverge dans 95% des cas). Les deux autres strat´egies ne perturbent pas la robustesse du recalage, la derni`ere ´

etant cinq fois plus lente mais probablement un peu plus pr´ecise.

5.1.5 Discussion

Les ing´enieurs d’AREALL ont rapidement trouv´e des solutions de calibration efficaces pour faire disparaˆıtre les probl`emes de d´ecalages dans nos donn´ees. Nous n’avons donc pas approfondi nos travaux sur la correction du d´ecalage, et n’avons en particulier pas essay´e de les valider. Les rares exp´eriences ont donn´e des indices encourageants (les ordre de grandeur des d´ecalages mesur´es semblait corrects, la pr´ecision du recalage ´etait l´eg`erement am´elior´ee), mais nous ne les avons pas jug´e assez nombreuses et pertinentes pour les pr´esenter ici, et ne pouvons donc affirmer que la m´ethode marche. Elle est pourtant int´eressante d’un point de vue th´eorique (elle s’int`egre parfaitement `a l’ICP/EM) et on

peut songer `a plusieurs variantes :

– La correction du d´ecalage sur le mod`ele : elle se d´eduit directement de la pr´ec´edente, en adaptant les ´equations.

– La correction conjointe des d´ecalages sur la sc`ene et le mod`ele : nous avons essay´e d’activer `a la fois la correction des d´ecalages sur le mod`ele et la sc`ene. On a alors pu constater que l’algorithme devenait instable, probablement parce que les deux corrections sont concourantes.

– La correction d’un d´ecalage complet (i.e. pas uniquement dans la direction de la normale) : celle-ci s’est av´er´ee instable dans le cadre du recalage de mˆachoires, mais