• Aucun résultat trouvé

On utilisera les notations suivante :

G´eom´etrie

Espaces

D dimension de l’espace euclidien de travail E =RD Espace euclidien de travail

x point de E

D dimension de la vari´et´e diff´erentielle (1 pour les courbes, 2 pour les surfaces, l’espace des normales, 3 pour l’espace des rotations).

M Vari´et´e diff´erentielle

SD−1 ensemble des normales orient´ees de RD

PD−1 ensemble des normales non-orient´ees de RD

SOD ensemble des rotations deRD

RD× SD−1 ensemble des points orient´es RD× PD−1 ensemble des points semi-orient´ees RD× SOD ensemble des transformations rigides x primitive

o primitive origine −→

xy repr´esentation de y dans la carte exponentielle centr´ee en x

Distances

(.|.) Produit scalaire k.kNorme euclidienne

d(.,.) distance (en g´en´eral euclidienne) entre deux points.

D(.,.) distance entre deux primitives (suivant contexte, en g´en´eral carr´e de la distance euclidienne ou distance de Mahalanobis).

Normales n Normales

Rotations et transformations rigides R Rotation (ou sa matrice) autour de l’origine

Ra,θ Rotation autour de l’origine d’axe a et d’angle θ r Vecteur de la rotation autour de l’origine (r = θ.a) T = (R,t) Transformation rigide (T ? x = Rx + t) t = (r,t) Vecteur d’une transformation rigide

Tenseurs

a ⊗ b = a.bt Produit tensoriel

a⊗b = at.b = T r(a ⊗ b) Produit tensoriel contract´e, ´equivalent au produit scalaire (a|b)

Recalage

M (resp. S) Mod`ele (resp. sc`ene)

nM (resp. nS) Nombre de points dans le mod`ele (resp. sc`ene) mj (resp. si) Points du mod`ele (resp. sc`ene)

nmj (resp. nsi) Normales aux points du mod`ele (resp. sc`ene)

T = (R,t) Transformation rigide appliqu´ee `a la sc`ene (T ?si = R.si+t) pour la ramener sur le mod`ele

T0 La bonne transformation

T0 L’estim´ee initiale de la transformation emj (resp. esi) Erreur de mesure sur le point

eij(T ) Vecteur d’erreur entre deux points appari´es : eij(T ) = T ? si− mj Aij(T ) Matrice d’appariement

A Matrice d’appariements al´eatoire

A L’esp´erance de A (Aij Probabilit´e de l’appariement entre si et mj dans le cas non-corr´el´e)

π L’esp´erance a-priori des appariements (πij Probabilit´e a-priori de l’appariement entre si et mj)

Abr´eviations pour les calculs de d´eriv´ees sT i Raccourci pour T ? si

AT Raccourci pour A(T )

ΦvC Gradient de C par rapport `a v, raccourci de dCdvt HvC Hessien de C par rapport `a v, raccourci de vC dv

Param`etres de l’algorithme

σ2 Variance sur les points (variance dans l’axe de la normale pour les bruits semi-anisotropes)

σ2

n Variance sur la normale σ2

t Variance dans la plan tangent pour les bruits semi-anisotropes µ2

max Distance de Mahalanobis maximale (ou dmax distance maximale) α Coefficient pour le rayon des sph`eres de d´ecimation : r = α.σ

Probabilit´es

P r(A) Probabilit´e de l’´ev`enement al´eatoire A

P r(A|B) Probabilit´e de l’´ev`enement al´eatoire A sachant B p(x) Densit´e de probabilit´e de l’´ev`enement al´eatoire x

p(x|B) Densit´e de probabilit´e de l’´ev`enement al´eatoire x sachant B x = E [x] Esp´erance du l’´ev`enement al´eatoire x

µ2(x,y) = −xyt−1xx.−xy Distance de Mahalanobis→ χ2

ICP et variantes : ´etat de l’art

Sommaire

3.1 Introduction . . . 33 3.1.1 Probl´ematique . . . 33 3.1.2 G´en´eralit´es sur l’ICP . . . 34 3.1.3 Organisation du chapitre . . . 35 3.2 ICP classique . . . 36 3.2.1 Crit`ere . . . 37 3.2.2 Algorithme . . . 42 3.2.3 Mise `a jour des appariements . . . 44 3.2.4 Mise `a jour de la transformation . . . 47 3.3 Initialisation . . . 48 3.3.1 Utilisation d’amers g´eom´etriques . . . 48 3.3.2 Barycentre et tenseur d’inertie . . . 49 3.4 Utilisation de points interpol´es . . . 49 3.4.1 Projection simple . . . 49 3.4.2 Projection double . . . 50 3.5 Variantes sur la distance . . . 51 3.5.1 Distance de Mahalanobis simple . . . 51 3.5.2 Utilisation des invariants . . . 52 3.5.3 G´en´eralisation au recalage iconique . . . 53 3.6 Gestion des point aberrants . . . 53 3.6.1 Sch´ema g´en´eral . . . 53 3.6.2 Calcul la distance de coupure Dmax . . . 55 3.7 Utilisation d’appariements pond´er´es multiples . . . 57 3.7.1 EM . . . 57 3.7.2 EM Sym´etris´e . . . 58 3.7.3 Entropie . . . 59

3.7.4 Discussion . . . 59 3.8 Variantes sur les m´ethodes d’optimisations . . . 60 3.8.1 M´ethodes directes . . . 60 3.8.2 M´ethode it´erative : descente de gradient de type Newton . 61 3.8.3 M´ethode it´erative : filtrage de Kalman . . . 63 3.9 Pr´ediction th´eorique de l’incertitude . . . 63 3.9.1 Principe . . . 63 3.9.2 Application `a l’ICP . . . 66 3.9.3 Discussion . . . 67 3.9.4 M´ethodes de type “Bootstrap” . . . 67 3.10 Conclusions . . . 68

3.1 Introduction

L’algorithme ICP, introduit au d´ebut des ann´ees 90 a connu depuis un immense succ`es dans le domaine du recalage de surfaces [Audette et al., 2000], o`u il est utilis´e dans 95% des cas. Il a surtout connu un grand nombre de variantes. Nous n’en pr´esentons ici qu’une partie, celles qui seront utiles pour comprendre la suite de cette th`ese. Le lecteur pourra se reporter `a [Rusinkiewicz and Levoy, 2001] pour un ´etat de l’art plus complet, et doubl´e d’une bonne comparaison exp´erimentale.

3.1.1 Probl´ematique

Nous souhaitons recaler de mani`ere rigide diff´erents nuages de points. Ces points peuvent ˆetre acquis de plusieurs mani`eres diff´erentes (voir section 1.5) :

– A partir d’une image volumique : il peut s’agir du r´esultat d’une segmentation ou d’une recherche d’amers g´eom´etriques (comme les lignes de crˆetes). Ce sont donc des nuages de points assortis de certaines informations diff´erentielles (normale, cour-bures), et structur´es. Dans notre cas, nous segmentons le scanner X et obtenons une triangulation comptant une cinquantaine `a une centaine de milliers de points munis de leurs normales, et r´epartis sur les arrˆetes des voxels de l’image, donc espac´es assez r´eguli`erement.

– A partir d’une image 2D 1/2 (“range data” en anglais) : il s’agit en g´en´eral de l’ac-quisition par un appareil m´ecanique ou optique de la surface d’un objet (une copie plˆatre d’une mˆachoire dans notre cas). L’acquisition se fait en g´en´eral suivant une grille r´eguli`ere, et le nuage de points est donc facilement structurable. En revanche, l’information diff´erentielle (normale, courbures) n’est pas directement disponible, et ne peut ˆetre que grossi`erement interpol´ee. Nous utilisons pour l’instant un appareil nomm´e Picza, appareil m´ecanique qui r´ealise une carte des hauteurs de la mˆachoire sur une grille r´eguli`ere avec un pas variant entre 0.2 et 1mm. Le nuage obtenu compte une cinquantaine de milliers de points pour un pas de 0.2mm.

– A partir de points ´epars : il peut s’agir de points acquis `a l’aide d’une sonde, un par un ou en rafales. Dans le premier cas, ils ne sont pas structur´es et seule l’inclinaison de la sonde (qui doit ˆetre `a peu pr`es perpendiculaire `a la surface pour fonctionner) peut nous donner une information grossi`ere sur la normale `a la surface. Dans le second cas, ils forment des courbes, dont on peut calculer la tangente avec une bonne pr´ecision.

On peut faire deux hypoth`eses diff´erentes quant `a la r´epartition des points.

Points homologues Nous supposerons ici que les points du mod`ele et de la sc`ene sont, aux probl`emes d’occultation et de points aberrants pr`es, les mesures des mˆeme points

physiques. Ce sera par exemple le cas lorsqu’on utilisera des amers. Un point de la sc`ene si est alors soit un point aberrant (ou correspondre `a un point occult´e dans le mod`ele, ce que nous consid´ererons dans la suite comme ´equivalent) soit la transform´ee d’un point mj du mod`ele, reli´e par la relation T0? si = mj, au bruit de mesure pr`es. Nous dirons dans ce cas l`a que les points si et mj sont homologues.

Points issus d’une mˆeme surface ou courbe Nous supposerons ici que les points sont issus d’une mˆeme vari´et´e diff´erentielle (courbe ou surface), mais sont ´echantillonn´es d’une mani`ere diff´erente. Ainsi, les points ne sont plus la mesure du mˆeme point physique et ne sont donc plus homologues.

3.1.2 G´en´eralit´es sur l’ICP

Avant de rentrer dans les d´etails, nous allons donner les id´ees fondatrices des diff´erents algorithmes de type ICP.

Ils s’appuient sur la minimisation d’un crit`ere. Ce crit`ere est sens´e quantifier la distance entre la sc`ene et le mod`ele en fonction de la transformation rigide appliqu´ee `a la sc`ene. Pour ´ecrire ce crit`ere, on utilise une notion d’appariements, i.e. une fa¸con d’identifier les points de la sc`ene et du mod`ele, et on utilise, en guise de crit`ere, la somme des distances quadratiques entre les points (primitives) appari´es.

Ainsi l’optimisation du crit`ere, et donc le calcul de la transformation rigide, s’appuie sur une estimation des appariements. Or le calcul des appariements n´ecessite en g´en´eral de connaˆıtre une estimation de la transformation rigide cherch´ee. Cette remarque caract´erise les algorithmes de type ICP qui se basent sur l’estimation altern´ee des appariements et de la transformation. Plusieurs it´erations seront n´ecessaires pour affiner les deux estima-tions, et la premi`ere sera bas´ee sur une premi`ere estimation de la transformation (dite transformation initiale).

Cette pr´esentation succincte montre aussi que l’ICP laisse une grande libert´e dans le choix de :

– la m´ethode d’initialisation : il s’agit de calculer la transformation initiale, en uti-lisant un algorithme sp´ecifique. La qualit´e de cette transformation conditionne la robustesse du recalage.

– le type de transformation : nous nous restreindrons ici au cas rigide, mais L’ICP est aussi utilis´e dans le cas non rigide [Feldmar, 1995; Feldmar and Ayache, 1996]. – la distance : il s’agira en g´en´eral d’une distance quadratique, car les algorithmes

d’optimisation sont particuli`erement efficaces avec ce type de distance. On pourra l’adapter en fonction des informations dont l’on dispose : distance quadratique entre points dans le cas le plus simple, distance de Mahalanobis lorsqu’on dispose des covariances sur les points (ou de simples ´ecart-types dans le cas isotrope), distance

quadratique entre primitives lorsqu’on dispose de primitives plus complexes (points orient´es, ...). On verra aussi que l’on peut, en adaptant la distance, g´en´eraliser l’ICP au cas o`u l’on dispose d’invariants, et mˆeme au cas iconique.

– le lien entre la sc`ene et le mod`ele : consid`ere-t-on les points comme homologues, ou comme issus d’une mˆeme surface, et dans ce cas l`a, comment le mod´eliser?

– la mani`ere d’appr´ehender et estimer les appariements : il s’agira de fournir des paires de points appari´es assorties d’un poids, en fonction de la transformation courante. On pourra `a cette ´etape utiliser directement les points du mod`ele ou en interpoler de nouveaux, et moduler l’importance de chaque appariement avec diff´erents types de pond´erations.

– la mani`ere de trouver et traiter les points aberrants : il s’agira de traiter les faux positifs, les appariements qui n’auraient pas dˆu ˆetre, et les faux n´egatifs, les ap-pariements manquants. En fait, seul le rejet des faux positifs sera int´eressant `a impl´ementer, et nous d´etaillerons sa mise en oeuvre pratique et les cons´equences th´eoriques.

– la technique de minimisation du crit`ere adopt´ee pour la mise `a jour de la transfor-mation `a chaque ´etape de l’algorithme (comme par exemple les Moindre carr´es, les filtre de Kalman).

Ces diff´erents points formeront autant de modules plus ou moins ind´ependants au sein de l’algorithme.

3.1.3 Organisation du chapitre

Le but de ce chapitre est de regrouper diff´erents travaux se rapportant `a l’ICP en utilisant des notations et un formalisme commun. Il permettra de pr´eciser et clarifier si n´ecessaire les hypoth`eses, raisonnements et applications possibles, indiquant comment les modifier pour respecter les propri´et´es th´eoriques de l’algorithme de base. Il met en ´evidence la structure tr`es modulaire de l’algorithme, et montre, pour chaque module, les variantes les plus int´eressantes, en indiquant, apr`es une ´eventuelle adaptation, leurs cons´equences sur les autres parties de l’algorithme. Cette d´emarche permet en particulier d’indiquer quand et comment g´en´eraliser certains travaux, comme le calcul de l’incertitude, ou de mettre en ´evidence les liens jusqu’ici ignor´es entre diff´erents travaux, en particulier pour le calcul des pond´erations.

Le lecteur press´e pourra se contenter de lire la section 3.2 qui pr´esente la forme la plus simple de l’algorithme, et permet d’introduire les notations et concepts de bases utilis´es par la suite. Il faudra cependant lire aussi le d´ebut de la section 3.6 pour comprendre la forme classique de l’algorithme, en g´en´eral appel´e ICP robuste (il s’agit alors de la robustesse vis-`a-vis des points aberrants, et non celle qui nous int´eressera souvent, i.e. la robustesse vis-`a-vis de la transformation initiale).

Les sections 3.3 `a 3.7 pr´esenteront, par module, certaines variantes d´ej`a imagin´ees autour l’ICP. Les deux premi`eres sections (initialisation et interpolation) sont un peu annexes, et peuvent ˆetre ignor´ees. Les sections cherchent ensuite `a g´en´eraliser l’algorithme `

a tout type de primitive. La partie 3.5, consacr´ee `a la notion de distance, servira de charni`ere. On y introduira la distance de Mahalanobis, syst´ematiquement utilis´ee ensuite car elle permet de prendre en compte les bruits pour des types de primitives vari´ees. La partie 3.6 pr´esentera en d´etail la gestion des points aberrants, et la partie 3.7 introduira diff´erents types de pond´erations.

Les parties 3.8 et 3.9 seront consacr´ees `a la minimisation du crit`ere, donc au calcul ef-fectif de la transformation et au calcul th´eorique de sa covariance, qui mesure l’incertitude de l’algorithme.