• Aucun résultat trouvé

Séparabilité en pratique

Dans le document Analyse d'image hyperspectrale (Page 71-76)

4.3 Factorisation des hypercubes

4.3.2 Séparabilité en pratique

La séparabilité est une hypothèse sous-jacente à certains algorithmes s’intéres- sant à l’extraction des spectres de base mentionnés section 1.4.2. Sans en faire men- tion explicitement, ces algorithmes tentent en quelque sorte de calculer l’enveloppe convexe des spectres, en s’attendant à ce que cette enveloppe ait le bon nombre de sommets.

Quand l’hypothèse de séparabilité n’est pas parfaitement vérifiée, l’algorithme SPA présente des garanties de robustesse, décrites dans Gillis et Vavasis (2014).

Plus grand simplexe inscrit

Un des premiers algorithmes d’extraction de spectres de base développé est NFINDR, introduit par Winter (1999). On démarre avec k spectres choisis aléa- toirement parmi les n spectres disponibles, puis on essaye itérativement d’augmen- ter le volume du simplexe courant en échangeant un de ces spectres avec un autre spectre du cube. Pour calculer le volume du simplexe engendré, l’algorithme utilise la formule suivante. Elle concerne un k − 1-simplexe en dimension k − 1.

vol ∆ (u1, · · · , uk) = det

1 1 · · · 1

u1 u2 · · · uk

!

(4.3)

Comme les spectres du cube ne sont généralement pas en dimension k − 1, mais en dimension m, l’algorithme commence par projeter ces derniers dans un espace de dimension k − 1 par PCA. On résume tout cela dans l’algorithme 4.

Il n’est pas nécessaire de recalculer le déterminant à chaque itération, il suffit de maintenir k blocs Bi de la matrice décrite équation (4.3). Par exemple, on peut

calculer le volume obtenu en remplaçant w1 par un vecteur v ∈Rk−1, comme

vol ∆(v, w2, · · · , wk) =



1 − 1Tk−1B1−1vdet(B1),

où B1 = (w2, · · · , wk). Si il est intéressant de remplacer w1 par v, on met alors à

Algorithme 4 N-FINDR

Entrée : n spectres m1, · · · , mn∈Rm

Sortie : k spectres constituant potentiellement des bons endmembers w1, · · · , wk

Rm

1: Calculer la projection PCA des spectres u1, · · · , un∈Rk−1.

2: Sélectionner aléatoirement k indices ι1, · · · , ιk ∈ {1, · · · , n}.

3: for i ∈ {1, · · · , n} do 4: for j ∈ {1, · · · , k} do

5: On pose κ = (ι1, · · · , ιj−1, i, ιj+1, · · · , ιk)

6: if vol ∆κ > vol ∆ι then

7: ι = κ.

8: end if

9: end for 10: end for

11: On pose w1 = mι1, · · · , wk= mι1.

Une idée très similaire développée dans Bauckhage (2014); Thurau et al. (2012) propose de remplacer la formule utilisée pour le calcul du volume du simplexe. Les deux articles utilisent la formule de Cayley-Menger. L’algorithme, nommé SiVM, calcule les volumes par

vol2∆ (u1, · · · uk) =

(−1)k

2k−1((k − 1)!)2 det A,

où A ∈Rk+1×k+1 est la matrice définie comme

A =            0 1 1 1 · · · 1 1 0 d2 1,2 d21,3 · · · d21,k 1 d2 2,1 0 d22,3 · · · d22,k 1 d2 3,1 d23,2 0 · · · d23,k .. . ... ... ... . .. ... 1 d2 k,1 d2k,2 d2k,3 · · · 0            ,

où di,j = kui − ujk22 désigne la distance euclidienne entre le i-ème et le j-ème end-

member. Le principal intérêt d’utiliser ce genre de formule est qu’elle est basée uniquement sur la distance entre les spectres, et que l’on peut donc utiliser d’autres distances. Section 6.2.3, on utilisera des géodésiques à la place de la distance eucli- dienne, pour essayer de calculer une NMF non-linéaire.

Ici encore, plutôt que de recalculer à chaque itération le déterminant, on peut se contenter de beaucoup plus léger. En définissant Ak comme la matrice A amputée

de sa dernière ligne et de sa dernière colonne, et vk =

 1, d2 k,1, d2k,2, · · · , d2k,k−1  , on a det A = (−1)kvTkA−1k vk  det Ak.

On peut ainsi grandement accélérer le calcul de SiVM. Cette façon de faire n’est pas celle adoptée dans Thurau et al. (2012). Les auteurs préfèrent approximer les

distances entre chaque spectre de base par une même constante. Le gain de temps semble assez marginal.

Ce problème de plus volumineux simplexe inscrit est équivalent au problème de sélection de colonnes décrit dans Çivril et Magdon-Ismail (2009). L’article montre que le problème est NP-dur, et même qu’il est NP-dur à approximer au delà de 2√2/3.

Plus petit simplexe englobant

C’est le point de vue complémentaire à celui développé dans le paragraphe précé- dent. On cherche cette fois à minimiser le volume d’un simplexe continant l’ensemble des spectres du cube. C’est l’approche adoptée par Bioucas-Dias (2009) ou par Li

et al. (2015) par exemple. Le problème est généralement posé comme

min vol ∆ tel que x1, · · · , xn ∈ ∆.

Chacun des algorithmes évoqués ci-dessus fait des hypothèses simplificatrices diffé- rentes afin de proposer une solution approximée à ce problème difficile.

Par projections

Il existe un autre type d’algorithme s’essayant au calcul d’endmembers, fonction- nant sur un principe différent de ceux évoqués dans les deux paragraphes précédents. Plutôt que de faire grandir un simplexe contenu dans l’enveloppe des spectres, le simplexe est construit sommet par sommet, en cherchant à chaque étape un point ex- trême, retenu comme nouveau sommet. C’est ce critère d’extrêmalité qui différencie les 3 algorithmes que nous évoquons maintenant.

• VCA ou vertex component analysis (Nascimento et Dias, 2005a) : une fois les spectres du cube projetés sur les spectres de base déjà déterminés, le nouveau spectre de base est choisi comme le point le plus éloigné d’un hyperplan choisi aléatoirement. Autrement dit, on choisi un vecteur c aléatoire, et on retient le spectre x maximisant

c

Tx .

• SPA ou algorithme de projection successive (Araújo et al., 2001) : une fois les spectres du cube projetés sur les spectres de base déjà calculés, le nouveau spectre de base est choisi comme celui dont la norme euclidienne est la plus importante.

Le fonctionnement de VCA est proche d’un autre algorithme, PPI ou pixel purity index, la différence étant que PPI ne projette pas les spectres à chaque itération sur les endmembers déjà obtenus.

L’algorithme 5 décrit SPA en détail. Il suffirait de changer la quatrième ligne pour implémenter VCA.

4.3.3

Comparatif

Algorithme 5 L’algorithme de projections successives SPA

Entrée : M ∈ Rm×n, r ∈ N, r < n {La matrice de laquelle on veut trouver une

base W bonne candidate à la factorisation NMF.}

Sortie : Un ensemble d’indices K tel que M (K, :) ≈ W {L’algorithme ne renvoie

pas une matrice, mais un ensemble d’indices correspondant aux lignes de M à garder pour avoir W .}

1: R = M 2: K = {} 3: for i = {1, · · · , r} do 4: p = arg maxj∈{1,···n}krjk2 5: R =  I − rprTp krpk22  R 6: K = K ∪ {p} 7: end for kM − W HkF temps de calcul de W et H PPI 95204.37 44.658 NFINDR 54756.918 60.93 VCA 87109.263 39.526 SPA 87643.455 41.195 MU 31945.176 222.682 PRO 32371.047 15.133

Table 4.4 – Calcul d’une NMF avec différents algorithmes présentés dans ce chapitre

résultats proposés peuvent être légèrement différents. Ces différences sont montrées sur plusieurs exemples correspondant aux figures 4.2a, 4.2b et 4.2c. Ces exemples montrent que les algorithmes décrits dans cette section fonctionnent bien dans les cas où la séparabilité est presque vérifiée. Quand ce n’est pas le cas, certains d’entre eux, comme PPI sur la figure 4.2b, ne parviennent pas à trouver de solution satisfai- sante. D’autres semblent capables de faire mieux. En plus de présenter des garanties théoriques de robustesse (Gillis et Vavasis, 2014), SPA semble par exemple donner de meilleurs résultats que ses concurrents.

Nous donnons aussi dans le tableau 4.4 différents résultats obtenus par ces algo- rithmes sur l’hyper-cube Urban1, un cube de taille 307 × 307 × 162 souvent utilisé

dans la littérature hyper-spectrale. Nous comparons les temps de calcul et les er- reurs commises par les différents algorithmes évoqués dans ce paragraphe, et ceux obtenus par deux algorithmes introduits au début de ce chapitre : l’algorithme de Lee et Seung, décrit paragraphe 4.1.2, et celui exploitant le rang des données décrit paragraphe 4.1.4. Comme nous l’avons déjà évoqué, l’utilisation de ces algorithmes de détermination des spectres de base est souvent perçue comme l’une des seules façons de calculer la NMF d’un cube en un temps raisonnable, car ces derniers per- mettent de découpler le calcul, en ne s’intéressant qu’au facteur W , le calcul de H se faisant à posteriori par moindres carrés positifs. Sur cet exemple, l’algorithme de

(a) Points répartis uniformément sur le sim- plexe.

(b) Points répartis uniformément sur l’inter- section d’un simplexe et d’une boule.

(c) Points répartis selon la loi de Dirichlet D(1, 2, 3).

Figure 4.2 – Trois exemples de densité sur des 2-simplexes, et les résultats proposés par les algorithmes décrits paragraphe 4.3.2

Lee et Seung est en effet beaucoup plus lent que les autres. L’algorithme exploitant le rang semble par contre être un sérieux concurrent aux méthodes commençant par la détermination des spectres de base.

Dans le document Analyse d'image hyperspectrale (Page 71-76)

Documents relatifs