• Aucun résultat trouvé

Recalage non-rigide avec auto-occultations

4.4.1

Fonction de coût

La fonction de coût est composée de trois termes : Et(u) = Ed(u) + λsEs(u) + λfEf(u). Un terme

de données naturel ne prenant pas les pixels auto-occultés en compte est donné par :

X

q∈R

(1 −H(q; u))Dc 2(q; u). (4.5)

Afin d’empêcher le minimum global de la fonction de coût de correspondre à une fonction de dé- formation entièrement comprimée, une pénalité supplémentaire λd(H(q; u)) doit être ajoutée. Nousc

privilégions néanmoins une autre approche car l’estimation simultanée de la carte d’auto-occultation et de la fonction de déformation introduit un problème d’optimisation fortement non-linéaire, sujet à de nombreux minima locaux. Nous utilisons à la place un schéma d’optimisation en deux étapes :

B ˜u ← u. ˜u est l’estimé du vecteur de paramètres sur l’image précédente.

B Première étape : mettre à jour le vecteur de paramètres en utilisant l’estimée précédente de la carte d’occultation probabilisteH(q; ˜c u). L’énergie globale suivante est minimisée :

min u Ed(u) z }| { X q∈R (1 −H(q; ˜b u))D2(q; u) +λsuTYu + λf X q∈R X d∈F X p∈{x,y}

γ(Epl(d; q; u)Epr(d; q; u)), (4.6)

avec Y la matrice relative à l’énergie de courbure discrétisée, définie en §2.2.1.3. B Deuxième étape : mettre à jour la carte d’auto-occultation probabiliste :

c H(q; u) ← ψ  min d∈S1kE(d; q; u)k 2 ; rd  . (4.7)

0 200 400 0 200 4000 0.5 1 qx qy 0 200 400 0 200 4000 0.5 1 qx qy

FIG. 4.7 – Cartes d’auto-occultation binaire et probabiliste. Illustration de la carte d’auto- occultation binaire H(·; u) (à gauche) et de la carte d’auto-occultation probabilisteH(·; u) (à droite).c

En haut : représentation 2,5D des cartes. En bas : les pixels blancs sont étiquetés comme auto-occultés et les pixels noirs étiquetés comme visibles. Les seuils sont fixés aux valeurs k = 40 et r = rd = 0, 1.

Au final, une contrainte temporelle peut également être utilisée, par exemple λvku − ˜uk

2

, où λv

contrôle l’influence de ce terme. Une autre approche basée sur un filtrage temporel a posteriori, décrit en §4.5, est adoptée.

4.4.2

Occultations externes

La carte d’auto-occultation probabiliste peut être remplacée par une carte de visibilité probabi- listeHcv. Elle se compose de la carte d’auto-occultation probabiliste décrite en §4.3.3 et d’une carte

d’occultation externeprobabilisteHcv. La probabilité qu’un pixel soit occulté par un objet externe est

obtenue en appliquant la fonction sigmoïde ψ(·; re) présentée en §4.3.3, à l’erreur D(q; u). Avec cette

définition, un pixel auto-occulté est la plupart du temps également détecté comme occulté par un ob- jet externe. Nous faisons l’hypothèse qu’un pixel ne peut pas être simultanément occulté par un objet externe et auto-occulté pour construire les cartesHce etHcv. Une probabilité nulle d’être occulté par

un objet externe est affectée à un pixel possédant une probabilité supérieure à 0, 5 d’être auto-occulté et ceci quelque soit la valeur de D(q; u) :

c He(q; u) def = ( 0 H(q; u) > 0, 5c ψ(D(q; u); re) sinon. (4.8)

Notons que le seuil re peut être fixé arbitrairement ou estimé au cours du processus d’optimisa-

tion ; il joue le même rôle que le paramètre associé aux M-estimateurs décrits en §2.2.1.4. La carte de visibilité probabiliste est obtenue en multipliant élément par élément les cartes d’auto-occultation et d’occultation externe probabilistes :

c Hv(q; u)

def

=H(q; u) c Hce(q; u). (4.9)

Des contraintes spatiales sont imposées sur la carte d’occultation externe afin de privilégier les ré- gions denses et d’éliminer les détections ponctuelles introduites par du bruit ou des imprécisions dans le recalage. Pour cela des opérateurs morphologiques d’érosion et de dilatation sont successivement appliqués sur la carte d’occultation externe. Des expériences comprenant à la fois des occultations externes et des auto-occultations sont présentées en §4.6.

4.4.3

Optimisation par l’algorithme Gauss-Newton

La fonction de coût globale (4.6) est minimisée en utilisant l’algorithme DA-GN1 décrit en §2.2.2.3. Les algorithmes compositionnels proposés au chapitre 3 ne peuvent pas être directement utilisés puisque l’approximation de la composition n’est plus valide pour les déformations extrêmes introduisant les auto-occultations ; comme par exemple celles représentées sur la figure 4.14.

Les FFDs2avec une interpolation par B-spline décrites en §2.3.2 sont utilisées. Elles permettent de bénéficier de matrices Jacobiennes creuses. L’emploi de méthodes prenant en compte cette propriété est nécessaire pour résoudre les équations normales ; la résolution étant sinon extrêmement coûteuse en temps de calcul. Une approche multi-résolution, présentée en §2.2.2.2, est également requise afin d’estimer précisément la déformation de la surface lorsque l’auto-occultation cesse. L’étape de raf- finement inhérente à l’approche multi-résolution consiste à mettre à jour le champ de déplacement ainsi que la carte d’auto-occultation (ou de visibilité) à chaque niveau de la pyramide. Si des cartes binaires sont utilisées, cette propriété est perdue à l’issue des étapes d’expansion et de réduction car elles retournent des valeurs réelles. Trois opérations sont alors possibles afin de récupérer une carte binaire à chaque niveau de la pyramide : les labels différents de 1 sont mis à 0, les labels compris entre 0 et 1 sont fixés à la valeur entière la plus proche et enfin tous les labels différents de 0 sont mis à 1. En pratique, la dernière possibilité est à privilégier. Elle surestime légèrement les régions auto-occultées, prévenant ainsi des erreurs de recalage au niveau de la frontière d’auto-occultation. Néanmoins, l’emploi de cartes probabilistes résout ce problème naturellement. Elles sont utilisées pour la plupart des expérimentations. L’évaluation des matrices Jacobiennes associées à chaque terme est décrite ci-dessous. Le tableau 4.1 récapitule les différentes étapes de l’algorithme de recalage d’images proposé, modélisant explicitement les auto-occultations.

Le terme de données. C’est une norme L2 pondérée de la différence d’intensité D. La matrice

Jacobienne associée est donnée par Jd = diag(vect(1 −H))Jc I. La matrice jacobienne JI est ob-

tenue en rassemblant les vecteurs gradients gI(q; u) pour chaque pixel q ∈ R. Le vecteur gra-

dient gI est le produit du gradient image par la matrice Jacobienne de la fonction de déformation :

gI(q; u) = ∇IT ∂W∂u, évalués respectivement en W(q; u) et q.

1DA-GN pour "Direct Additive Gauss-Newton", voir §2.2.2.3. 2"Free Form Deformations".

Initialiser le vecteur de paramètres u et la carte d’auto-occultation probabilisteH (ou la cartec

de visibilité probabilisteHcv) avec leur estimation sur l’image précédente.

B Début de la boucle liée à l’approche multi-résolution :

• Début de la boucle des itérations de Gauss-Newton :

∗ Définir le contracteur Ef par l’équation (4.1) étant donné W(·; u).

∗ Mettre à jour le vecteur de paramètres u en minimisant l’équation (4.6).

∗ Mettre à jour la carte d’auto-occultation probabilisteH (ou la carte de visibilité proba-c

bilisteHcv) par (4.4) (ou (4.9)).

• Fin de la boucle des itérations de Gauss-Newton.

• Propagation du champ de déplacement u et de la carte d’auto-occultation probabilisteHc

(ou de la carte de visibilité probabilisteHcv) au niveau supérieur de la pyramide.

B Fin de la boucle liée à l’approche multi-résolution.

TAB. 4.1 – Les différentes étapes de l’algorithme de recalage d’images d’une surface déformable en

présence d’auto-occultations et / ou d’occultations externes.

Le terme de régularisation. La matrice Jacobienne pour le terme de régularisation est simplement donnée par Js =

λsZ, avec ZTZ = Y. Pour rappel, la matrice Y est relative à l’énergie de courbure

discrétisée définie en §2.2.1.3.

Le contracteur. La matrice Jacobienne associée est Jf = λfJE. La matrice Jacobienne JE est

obtenue en rassemblant pour chaque triplet (d; q; p) ∈ (F ; R; {x, y}) les vecteurs gradients :

gf(d; q; u) = Epr∇E p l + ∇E p rE p l,

pour lesquels les termes Epl(d; q; u)Ep

r(d; q; u) associés sont négatifs.

Mise à jour du vecteur de paramètres. L’incrément ∆u des paramètres est obtenu en résolvant les équations normales, introduites en §1.6.1, par des méthodes prenant en compte la nature extrêmement creuse des matrices mises en jeu. La matrice Jacobienne associée à l’équation (4.6) est obtenue en rassemblant les matrices Jacobiennes de chaque terme :

JT t =  JT d J T s J T f  .

Sa nature creuse s’explique en partie par l’aspect local du noyau d’interpolation utilisé par les FFD. Le résidu associé à un pixel q ne dépend que des points de contrôle de son voisinage. Pour une inter- polation par B-spline cubique, seuls 16 points de contrôle influencent la position de W(q; u) ce qui implique que la matrice Jacobienne Jdn’a que 32 composantes non nulles par ligne. La nature creuse

de la matrice Jacobienne et de l’approximation de Gauss-Newton JtTJtde la matrice Hessienne est

illustrée sur la figure 4.8. Elles n’ont pas de structure spécifique, contrairement à la structure par blocs des matrices Jacobienne et Hessienne issues du processus de reconstruction 3D de scène rigide par ajustement de faisceaux. La prise en compte de cette nature creuse est néanmoins indispensable

pour pouvoir résoudre les équations normales en raison de la taille importante de la matrice Hes- sienne. Nous utilisons le module de factorisation de Cholesky directement disponible dans le logiciel Matlab3.

Jt

JtTJt

uy

ux

Jd

Jf

Js

FIG. 4.8 – Structures des matrices Jacobienne et Hessienne. Les matrices Jacobienne et Hessienne

(approximation de Gauss-Newton) ont une structure très creuse. Seules les lignes de Jf ayant au

moins un élément non-nul sont représentées. Ces matrices sont obtenues lors d’une itération du trai- tement de la vidéo de la feuille de papier présentée en §4.6.