• Aucun résultat trouvé

Pénalité de parcimonie ψ i (gauche), et opérateur proximal associé

C.3 Bases de données pour la reconnaissance d’expressions faciales

4.2 Pénalité de parcimonie ψ i (gauche), et opérateur proximal associé

Décomposition et schéma explicite–implicite

Les méthodes les plus couramment utilisées reposent sur des algorithmes itérat-ifs faisant intervenir individuellement le calcul des opérateurs proximaux des itérés. Nous ne détaillons ici que l’approche mise en œuvre lors de cette thèse.

L’itération explicite–implicite (ou FB pour « Forward–Backward ») est une gé-néralisation du gradient projeté pour les problèmes sous contraintes. Parmi les al-gorithmes ayant vu le jour, citons les alal-gorithmes à un pas ne faisant intervenir que l’itération précédente dans la descente de gradient. Ce type d’algorithme peut ainsi s’écrire :

λ(t+1) = proxµtF1



λ(t)− µt∇F2(t)) (4.3) En particulier, lorsque F1(λ) = kλkp, p ≥ 1 et F2(λ) = 12kx − Φλk2, on retrouve l’équation classique typique de la parcimonie [73], [106] :

min λ kλkp sachant que x = M X m=1 λmφm (4.4)

Les algorithmes à un pas ne prennent cependant en compte que la dernière itéra-tion, perdant ainsi l’information des itérés précédents. Ainsi, Nesterov [218] propose une version à pas multiples prenant en compte la totalité des itérés. Des applications de ce type d’algorithme peuvent être trouvées dans [292]. En 2009, les auteurs de [34] ont proposé un schéma à pas multiples n’utilisant que les deux derniers itérés. Les auteurs montrent que la vitesse de convergence est alors la même que celle de

l’approche de Nesterov (en O(1/t2)), quand celle des versions à un pas n’est qu’en O(1/t).

L’algorithme mis en œuvre pour la résolution de l’équation (4.2) utilise les deux notions évoquées ci–dessus, à savoir une itération à pas multiples sur le calcul de l’opérateur proximal dans le cas d’une norme l1. Il est résumé par l’algorithme4.

Algorithme 4:Algorithme FISTA (Fast Iterative Shrinkage–Thresholding Al-gorithm).

Entrées: Dictionnaire Φ ∈ RN ×M, Signal x ∈ RN, Nombre d’itérations L, Seuil γ

Sorties: Vecteur parcimonieux λ ∈ RM

Initialisation λ0 = 0, y1 = 0, t1 = 1 pourl = 1, 2, . . . , L faire • yn = λn−1+ µΦT (x − Φλn−1) • λn= STγ(yn) • tn+1 = 1+(1+4t2 n) 2 • yn+1 = λn+tn−1 tn+1  (λn− λn−1) λ= λL retourner λ

4.3.2 Approches de « Matching Pursuit »

L’algorithme appelé « Orthogonal Matching Pursuit » (ou OMP) est une variante très utilisée de l’algorithme de Matching Pursuit [74] [199]. Il s’agit d’un algorithme glouton sélectionnant itérativement l’atome minimisant l’erreur de reconstruction. À chaque itération, l’algorithme OMP calcule une nouvelle approximation ˆxt du signal. L’erreur d’approximation rt= x − ˆxtest alors utilisée à l’itération suivante pour déterminer l’atome à sélectionner. La sélection de l’atome utilise le produit scalaire entre le résidu actuel rt et les vecteurs colonnes φi de Φ. Les indices des atomes sélectionnés sont stockés dans l’index Γt, où t est le compteur des itérations. Étant donné que l’algorithme sélectionne un atome à chaque itération et que Γ0 = ∅, l’ensemble Γtcontient t indices. Soit le produit scalaire :

αti = φTirt

Le nouvel élément est alors choisi comme étant celui ayant l’amplitude αt

i la plus grande (et n’appartenant pas déjà à Γt) :

et l’ensemble des indices correspondant à des éléments différents de zéro Γtdevient donc :

Γt+1= Γt∪ itmax

L’algorithme itère la sélection de nouveaux atomes jusqu’à ce que :

– le nombre maximal d’atomes ait été atteint (ce nombre maximal d’atomes étant un hyperparamètre de l’algorithme) ou,

– l’erreur de reconstruction passe au dessous d’un seuil (hyperparamètre défini par l’utilisateur).

L’algorithme OMP peut ainsi être résumé (Algorithme5) : Algorithme 5:Algorithme OMP.

Entrées: Dictionnaire Φ ∈ RN ×M, Signal x, Nombre maximal d’atomes L, Tolérance tol

Sorties: Vecteur parcimonieux λ Initialisation :

λ0 = 0, r0 = s, Γ0 = ∅, n = 0 répéter

• αi = φT

i rt−1 ∀i /∈ Γt−1

• imax = argimax |αi| • Γt= Γt−1∪ imax • λtΓt = Φ+Γtx • ˆxt= ΦλtΓt • rt= x − ˆxt • t = t + 1 jusqu’à krtk / kr0k < tol ou t > L λ= λt retourner λ où Φ+

Γtreprésente la pseudo inverse de la sous matrice ΦΓt créée à partir des colonnes de Φ dont les indices sont définis par Γt. D’autres implémentations de l’algorithme OMP existent dans la littérature [43], [169].

4.4 Apprentissage de dictionnaires

4.4.1 Dictionnaires prédéfinis

Le contenu d’une image naturelle est souvent complexe et ne peut être représen-tée de façon optimale via une transformée unique. La transformée de Fourier est par exemple efficace pour la représentation parcimonieuse de textures globalement

oscillantes, alors que les ondelettes sont plus performantes avec des singularités isolées.

La représentation optimale dépend de l’espace auquel les signaux sont censés être apparentés. Parmi les espaces définis et créés pour certains types de signaux, citons :

– les séries de Fourier optimales pour les textures globalement oscillantes ; – les ondelettes optimales pour les images à variation bornée [66] ;

– les ridgelets conçues pour caractériser les images régulières le long des lignes [55] ;

– les curvlets [53], [54], [56], les bandlets [230], [197], [198], les contourlets [80] ou les shearlets [122] conçues pour les images dites cartoon (régulières par morceau) ;

– les brushlets [203] et les wave–atoms [77] optimales pour les textures locale-ment oscillantes.

Ces espaces de représentation sont optimaux (ou quasi optimaux) pour le type d’images pour lesquelles ils ont été créés. L’analyse d’une image naturelle ne peut cependant pas reposer sur un seul de ces espaces, étant donnée la diversité mor-phologique trop importante contenue dans ces images. Aussi, il est courant de cons-truire le dictionnaire final par « concaténation » de plusieurs transformées. Le choix d’un dictionnaire est en effet une étape clef pour l’obtention d’une représentation parcimonieuse. Une telle concaténation permet donc d’obtenir des représentations parcimonieuses optimales au sens du « sous–dictionnaire » selon la partie de l’image considérée. Le principe de construction d’un tel dictionnaire est schématisé à la figure4.3.

4.4.2 Méthodes d’apprentissage de dictionnaires

Bien qu’il soit possible de construire un dictionnaire pour décomposer un sig-nal de façon parcimonieuse à l’aide de bases préexistantes, celui–ci peut ne pas représenter au mieux toute la diversité morphologique contenue dans les signaux à traiter. De plus, la représentation obtenue n’est pas nécessairement la plus parci-monieuse. C’est pourquoi un apprentissage du dictionnaire peut améliorer la repré-sentation du signal lorsqu’il est décomposé sur celui–ci.

Les approches pour la conception de dictionnaires par apprentissage sont pour la plupart basées sur des itérations comprenant deux étapes :

– la première étape consiste, étant donné un dictionnaire à trouver les com-posantes parcimonieuses de la décomposition du signal. Cette étape est régu-lièrement appelée « inversion » ou encore « sparse coding » (section4.3), – la seconde étape consiste, une fois le code parcimonieux trouvé à l’étape

FIGURE 4.3 – Vue schématique de la diversité morphologique et du choix du