SIGNAUX SUR GRAPHES AUX R ´ ESEAUX DE NEURONES ORASIS 2025 Olivier L ´ EZORAY Normandie Univ, UNICAEN, ENSICAEN, CNRS, GREYC, Caen, FRANCE [email protected] https://lezoray.users.greyc.fr
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 2 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 3 / 60
Ω (2D: images, 3D: maillages, nD: vari´ et´ es) repr´ esent´ es par des graphes G = (V,E) et qui portent des signaux multivari´ es f : G → Rn ▶ Les graphes peuvent ˆ etre orient´ es ou non, et porter des poids sur les arˆ etes. Leur topologie est arbitraire. f1 : G1 → Rn=3 f2 : G2 → Rn=3 f3 : G3 → Rn=21×21 f4 : G4 → Rn=∗ O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 4 / 60
I. Shuman, Sunil K. Narang, Pascal Frossard, Antonio Ortega, Pierre Vandergheynst, The Emerging Field of Signal Processing on Graphs: Extending High-Dimensional Data Analysis to Networks and Other Irregular Domains. IEEE Signal Process. Mag. 30(3): 83-98, 2013. ▶ A. Ortega, P. Frossard, J. Kovaˇ cevi´ c, J. M. F. Moura and P. Vandergheynst, Graph Signal Processing: Overview, Challenges, and Applications, Proceedings of the IEEE, 106(5): 808-828, 2018. ▶ W. Hu, J. Pang, X. Liu, D. Tian, C. -W. Lin and A. Vetro, Graph Signal Processing for Geometric Data and Beyond: Theory and Applications, in IEEE Transactions on Multimedia, 2021. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 5 / 60
permis de g´ en´ erer d’´ enormes quantit´ es de donn´ ees 3D ▶ Mˆ eme avec du mat´ eriel et des logiciels bon march´ e (smartphone), on peut facilement g´ en´ erer des donn´ ees en 3D ▶ Avec la prolif´ eration de ces donn´ ees 3D, de nouveaux domaines d’application sont apparus : Digital Forensics, Cultural Heritage, Body Scanning O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 6 / 60
haut niveau ▶ Compression du signal : ➲ ondelettes pour signaux sur graphes ▶ Compl´ etion : ➲ inpainting de signaux sur graphes ▶ D´ ebruitage : ➲ filtrage de signaux sur graphes ▶ Manipulation : ➲ rehaussement de signaux sur graphes ▶ Segmentation : ➲ partitionnement de signaux sur graphes O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 7 / 60
ethodes bas´ ees sur l’image utilisent des patchs pour les probl` emes inverses : comment d´ efinir des patchs pour les maillages 3D ? → patchs en spirale ▶ Remplir les r´ egions manquantes d’un maillage 3D, (pour le compl´ eter ou l’´ editer) ? → Inpainting de maillages 3D ▶ Quelles r´ egions d’un maillage 3D sont importantes (pour la simplification ou la d´ ecimation adaptative, la s´ election du point de vue) ? → Saillance de maillages 3D mesh ▶ Apprendre une representation latente des maillages pour les manipuler ? → Auto-Encodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 9 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 10 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 11 / 60
esent´ e par un graphe G = (V,E) avec V = {v1,...,vm} et E ⊂ V×V ▶ vi ∼ vj est utilis´ e pour d´ esigner deux sommets adjacents ▶ N (vi) = {vj,vj ∼ vi} donne l’ensemble des sommets adjacents ` a vi par un saut d’une arˆ ete dans le graphe ▶ Lim et al. ont propos´ e des descripteurs locaux en spirale : les sommets autour d’un sommet peuvent ˆ etre ´ enum´ er´ es en suivant une spirale Signal sur le graphe F : V → Rd. 1. S : V → R3 pour les coordonn´ ees 2. N : V → R3 pour les normales 3. C : V → R3 pour les couleurs O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 12 / 60
= k-ring(vi) est un ensemble ordonn´ e de sommets (anneau) dont le plus court chemin vers vi est exactement de k sauts vi R1 7 R1 1 R1 2 R1 3 R1 4 R1 5 R1 6 R2 1 R2 2 R2 3 R2 4 R2 5 R2 6 R2 7 R2 8 R2 9 R2 10 R2 11 R2 12 R2 13 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 13 / 60
= k-ring(vi) est un ensemble ordonn´ e de sommets (anneau) dont le plus court chemin vers vi est exactement de k sauts ⇒ R0(vi) = {vi} vi R1 7 R1 1 R1 2 R1 3 R1 4 R1 5 R1 6 R2 1 R2 2 R2 3 R2 4 R2 5 R2 6 R2 7 R2 8 R2 9 R2 10 R2 11 R2 12 R2 13 0-ring(vi) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 13 / 60
= k-ring(vi) est un ensemble ordonn´ e de sommets (anneau) dont le plus court chemin vers vi est exactement de k sauts ⇒ R0(vi) = {vi} et R1(vi) = N (vi) vi R1 7 R1 1 R1 2 R1 3 R1 4 R1 5 R1 6 R2 1 R2 2 R2 3 R2 4 R2 5 R2 6 R2 7 R2 8 R2 9 R2 10 R2 11 R2 12 R2 13 1-ring(vi) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 13 / 60
= k-ring(vi) est un ensemble ordonn´ e de sommets (anneau) dont le plus court chemin vers vi est exactement de k sauts ⇒ R0(vi) = {vi} et R1(vi) = N (vi) ▶ k-disk(vi) = l=0,...,k Rl(vi) est l’ensemble des sommets atteignables depuis vi en 0 ` a k sauts. vi R1 7 R1 1 R1 2 R1 3 R1 4 R1 5 R1 6 R2 1 R2 2 R2 3 R2 4 R2 5 R2 6 R2 7 R2 8 R2 9 R2 10 R2 11 R2 12 R2 13 1-disk(vi) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 13 / 60
= k-ring(vi) est un ensemble ordonn´ e de sommets (anneau) dont le plus court chemin vers vi est exactement de k sauts ⇒ R0(vi) = {vi} et R1(vi) = N (vi) ▶ k-disk(vi) = l=0,...,k Rl(vi) est l’ensemble des sommets atteignables depuis vi en 0 ` a k sauts. ▶ R(k+1)(vi) = N (R(k)(vi))\k-disk(vi) est l’ensemble des sommets atteignables en un saut ` a partir de Rk(vi) sans passer par son k-disk (qui contient les sommets atteignables depuis vi en 0 ` a k sauts) vi R1 7 R1 1 R1 2 R1 3 R1 4 R1 5 R1 6 R2 1 R2 2 R2 3 R2 4 R2 5 R2 6 R2 7 R2 8 R2 9 R2 10 R2 11 R2 12 R2 13 2-ring(vi) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 13 / 60
spirale Sp(vi,k) est une s´ equence ordonn´ ee obtenue par la concat´ enation des anneaux ordonn´ es : Sp(vi,k) = (vi,1-ring(vi),...,k-ring(vi)) = R0 1 (vi),R1 1 (vi),R1 2 (vi),...,Rk |Rk| (vi) ▶ Il poss` ede 2 degr´ es de libert´ e : la direction (horaire ou antihoraire) des anneaux et le premier sommet choisi R1 1 (vi) ▶ Nous fixons : ▶ l’orientation en sens horaire ▶ le sommet initial R1 1 (vi) est celui situ´ e dans la direction du plus court chemin g´ eod´ esique vers vi : R1 1 (vi) = arg min vj∈N (vi) dG(vi,vj) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 14 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
spirale Sp(vi,k) varie selon les sommets ▶ Lim et al. tronquent ou compl` etent chaque spirale avec des z´ eros selon sa taille pour comparer deux descripteurs locaux en spirale ▶ Nous proposons une comparaison hi´ erarchique plus pr´ ecise d(Sp(vi,k),Sp(vj,k)) = k ∑ l=0 d(Rl(vi),Rl(vj)) Deux k-rings sont compar´ es en faisant correspondre les sommets de l’anneau le plus grand avec ceux du plus petit : d(Rl(vi),Rl(vj)) = |Rl (vi)| ∑ n=0 d(Rl n (vi),Rl n′ (vj)) avec n′ = n·|Rl (vj)| |Rl (vi)| et |Rl(vi)| > |Rl(vj)| Premier noeud Second noeud 0-ring 1-ring 2-ring La distance entre deux sommets est alors la distance entre leurs signaux sur graphe : d(Rl n (vi),Rl m (vj)) = ∥F(Rl n (vi))−F(Rl m (vj))∥2 O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 15 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 16 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 17 / 60
e, O. L´ ezoray, A smarter exemplar-based inpainting algorithm using local and global heuristics for more geometric coherence, International Conference on Image Processing (ICIP - IEEE), pp. 4622-4626, 2014.. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 18 / 60
al. 2004, ”Region Filling and Object Removal by Exemplar-Based Image Inpainting” C : Terme de confiance (information fiable pour chaque patch) D : Terme de donn´ ees (estimation de la structure locale) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 19 / 60
al. 2004, ”Region Filling and Object Removal by Exemplar-Based Image Inpainting” C : Terme de confiance (information fiable pour chaque patch) D : Terme de donn´ ees (estimation de la structure locale) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 19 / 60
al. 2004, ”Region Filling and Object Removal by Exemplar-Based Image Inpainting” C : Terme de confiance (information fiable pour chaque patch) D : Terme de donn´ ees (estimation de la structure locale) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 19 / 60
al. 2004, ”Region Filling and Object Removal by Exemplar-Based Image Inpainting” C : Terme de confiance (information fiable pour chaque patch) D : Terme de donn´ ees (estimation de la structure locale) Comment faire cela sur des maillages 3D color´ es ? → Patches 3D sur maillage, priorit´ e ? O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 19 / 60
M et son graphe associ´ e G = (V,E), la zone ` a compl´ eter est not´ ee Ω ⊂ V et sa fronti` ere est ∂Ω ⊂ Ω. On marque les sommets ` a compl´ eter ` a l’aide de la fonction suivante : Marked(vi) = 1 si vi ∈ Ω 0 si vi / ∈ Ω Pour les sommets vi appartenant ` a Ω, leur couleur est consid´ er´ ee comme inconnue et initialis´ ee ` a C(vi) = (0,0,0)T . L’objectif de l’inpainting est de reconstituer la couleur de ces sommets en copiant celle de sommets appartenant ` a des patchs spiraux voisins. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 20 / 60
sur des patchs spiraux Entr´ ee : Maillage M et graphe associ´ e G = (V,E), zone ` a compl´ eter Ω ⊂ V D´ efinir la taille k des patchs en spirale et γ la taille de la zone Calculer les patchs spiraux Sp(vi,k) de taille k, ∀vi ∈ V Marquer les sommets ` a compl´ eter : Marked(vi) = 1, ∀vi ∈ Ω while ∂Ω ̸= / 0 do 1) Calculer Priority(vi), ∀vi ∈ ∂Ω 2) Trouver le patch spiral Sp(vtarget,k) avec la priorit´ e maximale, c’est-` a-dire vtarget = arg max vi∈∂Ω Priority(vi) 3) Trouver l’exemplaire enti` erement d´ efini Sp(vbest,k) (avec vbest ∈ V\Ω) qui minimise d(Sp(vtarget,k),Sp(vbest,k)) avec Confidence(vbest) = 1 dans γ-hop(vtarget) 4) Copier les couleurs du patch spiral Sp(vbest,k) vers Sp(vtarget,k), ∀vi ∈ Sp(vtarget,k) tel que Marked(vi) = 1 5) Mettre ` a jour Marked(vi) et ∂Ω pour tous les sommets compl´ et´ es end while O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 21 / 60
des patchs spirales qui : ▶ contiennent peu d’informations manquantes (terme de Confiance), ▶ couvrent une petite zone spatiale (terme de Densit´ e), ▶ sont situ´ es sur des structures g´ eom´ etriques marqu´ ees (terme de Variance), ▶ sont situ´ es sur des structures color´ ees coh´ erentes (terme de Continuit´ e). Notre priorit´ e est d´ efinie par : Priority(vi) = Confidence(vi)·Density(vi)·Variance(vi)·Continuity(vi) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 22 / 60
a celui utilis´ e pour les images. Son objectif est de remplir en priorit´ e les patchs spirales dont la majorit´ e des sommets ont d´ ej` a une couleur connue. La confiance est d´ efinie par : Confidence(vi) = ∑ vj∈ k-disk(vi) (1−Marked(vj)) |k-disk(vi)| Cela mesure la proportion de sommets connus dans le patch spiral Sp(vi,k). Elle est proche de 1 si la plupart des sommets du patch ont une couleur connue, et proche de 0 si le patch contient peu de sommets avec une couleur d´ efinie. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 23 / 60
` a privil´ egier le remplissage en priorit´ e des patchs spiraux denses. En effet, sur les maillages, la couverture spatiale d’un patch peut varier fortement selon les zones. Il est pr´ ef´ erable de compl´ eter d’abord les petits patchs spiraux. La densit´ e est d´ efinie par : Density(vi) = |k-hop(vi)| ∑ vj∈ k-hop(vi) ∥S(vi)−S(vj)∥2 avec k-hop(vi) = k-disk(vi)\{vi}. Cela mesure la dispersion spatiale moyenne des sommets du patch spiral Sp(vi,k) par rapport ` a son centre vi. Cette valeur est ´ elev´ ee si le patch spiral est petit, et faible sinon. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 24 / 60
privil´ egier le remplissage des patchs spiraux qui pr´ esentent de fortes variations g´ eom´ etriques. Ces variations sont mesur´ ees par la variance totale des normales des sommets du patch spiral Sp(vi,k). Une valeur ´ elev´ ee indique des variations importantes de la surface au sein du patch. Le terme de variance est d´ efini comme : Variance(vi) = 3 ∑ j=1 σ2 j (N(vi,k)) o` u N(vi,k) repr´ esente l’ensemble des normales des sommets du patch spiral Sp(vi,k). O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 25 / 60
similaire au terme de donn´ ees utilis´ e pour les images. Il a pour but de favoriser le remplissage des patchs spiraux pr´ esentant de fortes variations de couleur. Il repose sur la variation totale du tenseur de structure J(vi) = ∇T f(vi)·∇f(vi) : ∇f(vi) = [d(Sp(vi,k),Sp(vj,k)), vj ∈ k-hop(vi)]T Dans la comparaison des patchs spiraux, le signal du graphe est le vecteur de couleurs des sommets : F(vi) = C(vi). On a J(vi) = UΛUT o` u U contient les vecteurs propres et Λ les valeurs propres. Continuit´ e(vi) = |k-hop(vi)| ∑ j=1 λ2 j avec λj = Λ(j, j). Une valeur ´ elev´ ee de ce terme indique une forte variation de couleur sur la surface du patch spiral. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 26 / 60
a (c) Confiance (d) Densit´ e originales du maillage C inpainter Ω (e) Variance (f) Continuit´ e (g) Priorit´ e (h) Patchs cible et appari´ e O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 27 / 60
avec l’approche de Maggiordomo et al. De gauche ` a droite : (a) Maillage de l’´ el´ ephant, (b) D´ efaut de texture 90.26, (c) zone ` a inpainter, (d) R´ esultat de Maggiordomo et al. 96.33, (e) Notre m´ ethode (k = 1, γ = 15) 69.11, (f) Notre m´ ethode (k = 2, γ = 15) 68.40.Les valeurs en gras correspondent au score BRISQUE IQA : BRISQUE IQA (↓). O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 30 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 32 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 33 / 60
▶ Les r´ egions saillantes d’une image sont visuellement plus perceptibles en raison de leur contraste par rapport aux r´ egions environnantes. Saillance les maillages 3D ? ▶ Si un point d’un maillage 3D se d´ emarque fortement de son voisinage, alors il peut ˆ etre consid´ er´ e comme un point saillant. Notre approche ▶ Nous analysons localement la g´ eom´ etrie des normales ` a l’aide de patchs spiraux. ▶ La rugosit´ e (selon Wang et al.), ainsi que les saillances g´ eom´ etriques et spectrales sont extraites ` a partir des patchs. ▶ Nous pr´ edisons la saillance au niveau des sommets en combinant les caract´ eristiques de saillance ` a plusieurs ´ echelles. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 34 / 60
la courbure joue un rˆ ole important dans la d´ etection de la saillance ▶ Lee et al. on propos´ e la premi` ere approche de saillance sur maillage 3D bas´ ee sur la diff´ erence pond´ er´ ee par des Gaussiennes de la courbure moyenne ▶ Nous consid´ erons la notion plus robuste de rugosit´ e (de Wang et al.) que nous ´ etendons ` a des voisinage plus grands (en prenant la puissance γ du Laplacien) R(vi) = κ(vi)− ∑ vj∈γ-hop(vi) Lγ i j ·κ(vj) ∑ vj∈γ-hop(vi) Lγ i j avec γ-hop(vi) = γ-disk(vi)\{vi} et κ(vi) la courbure moyenne. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 35 / 60
de gradient ▶ Nous d´ efinissons le gradient d’un sommet vi comme le vecteur non-local de toutes les distances entre les descripteurs spiraux vi et ses voisins ` a l’int´ erieur de son γ-hop(vi): ∇f(vi) = [d(Sp(vi,k),Sp(vj,k)),vj ∈ γ-hop(vi)]T ▶ avec F(vi) = N(vi) ▶ Il faut que γ > k : le support du gradient est plus grand que le support du patch en spirale O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 36 / 60
eometrique ▶ La saillance g´ eom´ etrique est d´ efinie comme la norme L1 normalis´ ee du gradient : GS(vi) = 1 |γ-hop(vi)| ∥∇f(vi)∥1 = 1 |γ-hop(vi)| ∑ vj∈γ-hop(vi) d(Sp(vi,k),Sp(vj,k)) Saillance spectrale ▶ La saillance spectrale est la variation totale du tenseur de structure : SS(vi) = |γ-hop(vi)| ∑ j=1 λ2 j O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 37 / 60
R(vi) GS(vi) SS(vi) S(vi) Rugosit´ e G´ eom´ etrique Spectral Final S(vi) = Kσ R(vi)· GS(vi)+SS(vi) Figure: Calcul de la saillance sur 3-hops avec des patchs spiraux 2-rings Sp(vi,2). Les couleurs chaudes correspondent ` a des valeurs ´ elev´ ees de saillance. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 39 / 60
R(vi) GS(vi) SS(vi) S(vi) Rugosit´ e G´ eom´ etrique Spectral Final Figure: Calcul de la saillance sur 3-hops avec des patchs spiraux 2-rings Sp(vi,2). Les couleurs chaudes correspondent ` a des valeurs ´ elev´ ees de saillance. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 39 / 60
R(vi) GS(vi) SS(vi) S(vi) Rugosit´ e G´ eom´ etrique Spectral Final Figure: Calcul de la saillance sur 3-hops avec des patchs spiraux 2-rings Sp(vi,2). Les couleurs chaudes correspondent ` a des valeurs ´ elev´ ees de saillance. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 39 / 60
R(vi) GS(vi) SS(vi) S(vi) Rugosit´ e G´ eom´ etrique Spectral Final Figure: Calcul de la saillance sur 3-hops avec des patchs spiraux 2-rings Sp(vi,2). Les couleurs chaudes correspondent ` a des valeurs ´ elev´ ees de saillance. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 39 / 60
a droite : saillance ` a la premi` ere ´ echelle, saillance ` a la deuxi` eme ´ echelle, saillance ` a la troisi` eme ´ echelle, saillance multi-´ echelle par maximum au niveau du sommet . O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 40 / 60
a droite : saillance ` a la premi` ere ´ echelle, saillance ` a la deuxi` eme ´ echelle, saillance ` a la troisi` eme ´ echelle, saillance multi-´ echelle par maximum au niveau du sommet . O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 40 / 60
a droite : saillance ` a la premi` ere ´ echelle, saillance ` a la deuxi` eme ´ echelle, saillance ` a la troisi` eme ´ echelle, saillance multi-´ echelle par maximum au niveau du sommet . O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 40 / 60
a droite : saillance ` a la premi` ere ´ echelle, saillance ` a la deuxi` eme ´ echelle, saillance ` a la troisi` eme ´ echelle, saillance multi-´ echelle par maximum au niveau du sommet . O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 40 / 60
R´ esultats moyens par cat´ egorie Spiral Regressor (Ours) 0.6062 MF-SAE (2019) 0,5639 Resultats sur le Schelling dataset d´ ecim´ e Spiral Regressor (Ours) 0.5770 DS-Net (2023) 0,5732 Table: PLCC sur le Schelling Dataset avec les protocoles de test de MF-SAE et DS-NET. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 43 / 60
PLCC 0.4045 0.4072 0.4157 0.5567 Table: ´ Etude ablative sur les descripteurs de saillance. ´ Echelle PLCC 1 0.4880 2 0.4935 3 0.4667 1 & 2 0.5030 Toutes 0.5567 Table: ´ Etude ablative sur les ´ echelles combin´ ees O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 44 / 60
Haut: r´ ef´ erence. Bas : saillance pr´ edite. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 45 / 60
maillages 3D couleur 4. Saillance des maillages 3D 5. Autoencodeur de maillages 3D O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 46 / 60
signaux euclidiens (1D, 2D), les architectures d’IA les plus populaires sont bas´ ees sur les r´ eseaux neuronaux convolutifs. ▶ L’architecture typique est un autoencodeur qui apprend ` a repr´ esenter une image par un petit vecteur (l’encodeur) et qui est capable de la reconstruire ` a partir de ce vecteur (le d´ ecodeur). Input •------------------------- Ideally they are identical. X IJ X � X1 Latent code Encoder z An compressed low dimensional representation of the input. � The image DNA Decoder !0 Reconstructed output ----� x' IJ O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 47 / 60
approches actuelles de l’´ etat de l’art pour la r´ esolution des probl` emes inverses pour les donn´ ees 3D ne prennent PAS en compte les maillages 3D. ▶ Les maillages 3D ne sont pas Euclidiens et les CNN habituels ne peuvent pas ˆ etre utilis´ es sur ce type de donn´ ees 3D. ▶ Les alternatives habituelles consistent ` a transformer les maillages 3D en donn´ ees euclidiennes : points 3D (PointNet++) ou voxels 3D (VoxelNet). Mesh Voxels Point Cloud Probl` emes : ▶ Ne tient pas compte des propri´ et´ es de la surface ▶ N´ ecessite un pr´ e-traitement et un post-traitement ▶ Et pour les voxels : ▶ Les donn´ ees 3D vox´ elis´ ees sont massives et couteuses en calculs. ▶ Alt` ere les propri´ et´ es de la surface (trous, fissures, perte de d´ etails) O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 48 / 60
erable de traiter directement les maillages 3D (l´ egers et contenant des informations importantes sur la surface). Il est n´ ecessaire de : ▶ Red´ efinir la convolution et le pooling pour les maillages ▶ Adapter les architectures d’auto-encodeur Peu d’approches ont ´ et´ e propos´ ees jusqu’` a pr´ esent ▶ SpiralNet++ : utilise des convolutions en spirale pour des maillages de topologie fixe ▶ MeshCNN : utilise des convolutions sur arˆ etes pour des petits maillages de topologie arbitraire. En outre : presque aucune approche n’a ´ et´ e propos´ ee pour r´ esoudre des probl` emes inverses avec des AE de maillages 3D ! !! O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 49 / 60
Mesh Global Encoder Global Decoder Local Encoder Local Decoder Xin : R 5023x3 R 5023x8 R 5023x16 R 5023x32 R 5023x16 z : R 256 R 2511x32 R 1255x64 R 5023x16 R 1255x32 R 627x64 R 627x128 R 5023x32 R 5023x8 Down-Sample Up Sample FC layer Linear layer Residual Connetion FeaStConv LeakyReLU + Attention Block C Concatenation Xout : R 5023x3 Template _ Template + Pooling Layer Flattening Layer Un nouvel AE, bas´ e sur des Graph Convolutional Networks, qui utilise des couches de convolution anisotropes pour apprendre efficacement les caract´ eristiques globales et locales d’un maillage (de topologie fixe) dans le domaine spatial. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 50 / 60
consid` ere des maillages ` a topologie fixe : toujours le mˆ eme nombre de noeuds et de faces. ▶ L’entr´ ee est un Maillage 3D (Vin ,Ein ,Fin ,Xin ) avec X ∈ RN×F une matrice des features par noeuds (F = 4 pour x,y,z,κ) ▶ Le maillage est normalis´ e par rapport ` a un template issu du training set : ˆ Xin = (Xin −XT )/σ ▶ La sortie de l’encodeur est ˆ Xout = D(E( ˆ Xin )), avec E : RN×F →RZ l’encodeur et D : RZ →RN×F le d´ ecodeur. ▶ Puis elle est d´ enormalis´ ee : Xout = σT ˆ Xout +XT O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 51 / 60
sortie de l’encodeur est z = E( ˆ Xin ) ∈ RZ ▶ Les convolutions sont des Feature-Steered Graph Convolution (FeaStConv) ▶ Le pooling des maillages 3D est bas´ e sur Qslim par Quadric Edge Collapse ▶ Le d´ ecodeur g´ en` ere une sortie ˆ Xout = D(z) ` a partir d’un code latent z en combinant les caract´ eristiques fournies par le d´ ecodeur global DG et le d´ ecodeur local DL : D(z) = diag(wG )DG (zG )+diag(wL )DL (zL ) avec [zG zL ] = FC(z) la repr´ esentation latente ▶ Les poids sont appris via un processus d’attention : [wG ,wL ] = Att(DG (zG ),DL (zL )) ▶ L’apprentissage est fait avec une loss combinant MSE, MAE et r´ egularisation: Total Loss = LMSE +L1 +λreg ·LReg O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 52 / 60
de maillages 3D de visages qui consiste en 12 classes d’expressions extrˆ emes pour 12 sujets diff´ erents. L’ensemble de donn´ ees contient 20466 maillages 3D qui ont ´ et´ e enregistr´ es sur un mod` ele de r´ ef´ erence de r´ ef´ erence commun avec N = 5023 sommets. O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 53 / 60
de K´ enitra (Maroc) Universit´ e de Caen Universit´ e de Caen O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 59 / 60
´ et´ e financ´ e par le Conseil R´ egional de Normandie et l’Union Europ´ eenne (projet COSURIA). Je recrute un Post-Doc sur les AE de maillages 3D, contactez moi ! O. L´ ezoray Traitement et analyse de maillages 3D : du traitement de signaux sur graphes aux r´ eseaux de neurones 60 / 60