# Modélisation efficiente du corps humain en mouvement

Clément Lemeunier

► To cite this version:

Clément Lemeunier. Modélisation efficiente du corps humain en mouvement : Utilisation de méthodes d'analyse spectrale et d'apprentissage profond pour le traitement de surfaces dynamiques. Informa-tique [cs]. Lyon 1, 2023. Français. NNT: tel-04357817

HAL Id: tel-04357817

https://hal.science/tel-04357817

Submitted on 21 Dec 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
## THÈSE de DOCTORAT DE L'UNIVERSITÉ DE LYON

Opérée au sein de :

l'Université Claude Bernard Lyon 1

Ecole Doctorale 512
Infomaths

Spécialité de doctorat : Informatique

Soutenue publiquement le 18 décembre 2023, par :
Clément Lemeunier

# Modélisation efficiente du corps humain en mouvement

## Utilisation de méthodes d'analyse spectrale et d'apprentissage profond pour le traitement de surfaces dynamiques

Devant le jury composé de :

**Florent Dupont**
Professeur, Université Lyon 1

**Directeur de thèse**

**Franck Hetroy-Wheeler**
Professeur, Université de Strasbourg

**Examineur**

**Damien Rohmer**
Professeur, Ecole polytechnique (LIX)

**Rapporteur**

**Stefanie Wuhrer**
CR, INRIA

**Rapporteure**

**Florence Zara**
Maître de Conférences, Université Lyon 1

**Examinatrice**

**Mohamed Daoudi**
Professeur, IMT Nord Europe

**Invité**

**Florence Denis**
Maître de conférences, Université Lyon 1

**Invitée**

**Guillaume Lavoué**
Professeur, Ecole Centrale de Lyon

**Invité**
# Résumé

Développer des modèles capables de comprendre la dynamique du corps humain représente aujourd'hui un défi important dans le domaine de l'informatique graphique. Les évolutions récentes dans le domaine de la capture de mouvement permettent de générer des bases de données composées de modèles 4D de surfaces incluant l'information détaillée de l'apparence et du mouvement des sujets capturés. Aujourd'hui, les architectures d'apprentissage profond capables de comprendre et de générer du texte ou des images sont courantes et ont été introduites au grand public. Néanmoins, transférer les méthodes utilisées dans ces architectures à des données générées par les captures de mouvement n'est pas évident en raison de la différence de structure. En effet, le texte ou les images ont une structure régulière ou euclidienne, alors que les données générées par les captures de mouvement sont de types nuages de points ou maillages triangulaires qui n'ont plus cette structure régulière et qui résident plutôt dans un domaine non-euclidien.

L'objectif du travail de ce doctorat est premièrement de s'intéresser aux travaux de l'état de l'art qui permettent l'application de méthodes utilisées en apprentissage profond à des données résidant dans un domaine plus complexe et de plus haute dimension. Cette recherche de transfert de méthodes tombe dans le champ d'étude récemment introduit et nommé apprentissage profond géométrique (Geo-metric Deep Learning). De manière générale, les travaux s'intéressant à ce type de données ne traitent l'information surfacique que de manière statique et ne prennent pas en compte l'information dynamique du mouvement. L'intention principale est de résoudre cette problématique en combinant des techniques d'analyse de surfaces statiques à des méthodes exploitant la dimension temporelle présente dans la capture de corps humains. Le principal défi de la thèse est donc de coupler apprentissage profond, analyse de surfaces et analyse temporelle en orientant les recherches vers un aspect génératif.

Le deuxième objectif est d'explorer les méthodes d'analyse spectrale de données 3D permettant la transformation de surfaces dans le domaine des fréquences. Les structures créées par cette analyse spectrale seront étudiées afin de comprendre comment elles peuvent être exploitées pour résoudre la problématique principale. La seconde intention est donc de montrer qu'il est possible de développer des modèles d'apprentissage profond génératifs appliqués à des données 4D en utilisant seulement l'information contenue dans le domaine spectral, la transformation de surfaces dynamiques dans le domaine des fréquences permettant de s'affranchir des contraintes
introduites par la non-régularité de leur structure.

Les travaux présentés dans cette thèse représentent deux contributions. D'abord, une approche est proposée pour le traitement de données issues de captures de mouvement sans prendre en compte l'information temporelle. Cette première contribution concerne l'exploitation du traitement spectral de surfaces couplé à des techniques d'apprentissage profond, permettant le développement d'un modèle capable de créer une représentation adaptée au corps humain. Ensuite, une deuxième contribution permet la prise en compte de l'information dynamique en exploitant la première contribution couplée à une architecture capable de comprendre le contexte de séquences de données. Nos méthodes produisent des résultats compétitifs avec l'état de l'art et permettent d'ouvrir la voie vers une nouvelle manière de traiter ce type de données qui résident dans le domaine de la 3D et de la 4D, un défi actuellement important dans la littérature.

**Mots clés** : maillages triangulaires, analyse spectrale, apprentissage profond, analyse temporelle
Abstract

Developing models capable of understanding the dynamics of the human body
represents today a significant challenge in the field of computer graphics. Recent
developments in the field of motion capture make it possible to generate databases
composed of 4D surface models including detailed information on the appearance
and movement of the captured subjects. Today, deep learning architectures able to
understand and generate text or images are common and have been introduced to the
general public. However, transferring the methods used in these architectures to data
generated by motion capture is not easy due to the difference in structure. Indeed,
the text or images have a regular or Euclidean structure, while the data generated by
motion capture are represented by point clouds or triangular meshes which no longer
have this regular structure and which reside rather in a non-Euclidean domain.

The objective of this thesis is firstly to focus on state-of-the-art works which allow the application of methods used in deep learning to data residing in a more complex and higher dimensional domain. This method transfer research falls into the recently introduced field of study named *Geometric Deep Learning*. Generally speaking, the works interested in this type of data only process the surface information in a static manner and do not take into account the dynamic information of the movement. The main intention is to resolve this problem by combining static surface analysis techniques with methods exploiting the temporal dimension present in the capture of human bodies. The main challenge of the thesis is therefore to combine deep learning, surface analysis and temporal analysis by directing research towards a generative aspect.

The second objective is to explore methods for spectral analysis of 3D data
allowing the transformation of surfaces in the frequency domain. The structures
created by this spectral analysis will be studied in order to understand how they
can be exploited to solve the main problem. The second intention is therefore to show
that it is possible to develop generative deep learning models applied to 4D data
using only the information contained in the spectral domain, the transformation of
dynamic surfaces in the frequency domain making it possible to free themselves from
the constraints introduced by the non-regularity of their structure.

The work presented in this thesis represents two contributions. First, an approach
is proposed for processing data from motion capture without taking into account
temporal information. This first contribution concerns the exploitation of spectral
mesh processing coupled with deep learning techniques, allowing the development
of a model capable of creating a representation adapted to the human body. Then,
a second contribution allows dynamic information to be taken into account by ex-
ploiting the first contribution coupled with an architecture capable of understanding
the context of data sequences. Our methods produce results competitive with the
state of the art and provide access to a new way of processing this type of data
which resides in the domain of 3D and 4D, a currently important challenge in the
literature.

**Keywords** : triangular meshes, spectral analysis, deep learning, temporal analysis
# Table des matières

## 1 Introduction 1

1.1 Contexte 2

1.1.1 Vue d'ensemble des méthodes, architectures et modèles d'apprentissage 2

1.1.2 Représentations de données 3D/4D 9

1.1.3 Apprentissage profond géométrique 12

1.2 Objectifs 13

1.2.1 Projet Human4D 14

1.2.2 Associer étude spectrale, dynamique et apprentissage profond 14

1.3 Liste des publications 15

## 2 Bases de données et outils 16

2.1 Bases de données 16

2.1.1 SMPL 16

2.1.2 AMASS 18

2.1.3 KINOVIS 20

2.2 Outils 22

2.2.1 Apprentissage 22

2.2.2 Visualisation 24

## 3 Traitement spectral de maillages 26

3.1 Transformée de Fourier et Laplacien 26

3.1.1 Signal à une dimension 27

3.1.2 Contour fermé 31

3.2 Opérateurs 31

3.2.1 Matrice Laplacienne (Graph Laplacian) 34

3.2.2 Opérateur de Laplace-Beltrami 41

3.2.3 Autres opérateurs 45

3.3 Signatures / descripteurs 46

3.4 Cartes fonctionnelles (Functional Maps) 48

3.5 Applications 50

3.6 Conclusion 51
4 Apprentissage d'une représentation adaptée à des maillages 3D 52

4.1 Introduction 52

4.2 État de l'art 53

4.2.1 Nuages de points 54

4.2.2 Domaine spatial 54

4.2.3 Domaine spectral 55

4.3 Bases de données 56

4.4 Expériences préliminaires 60

4.4.1 Autoencodeur complètement connecté 60

4.4.2 Autoencodeur convolutif 65

4.5 SAE 66

4.5.1 Prétraitement 67

4.5.2 Convolutions dans l'état de l'art 68

4.5.3 Sous/sur-échantillonnage 68

4.6 Évaluations 69

4.6.1 Implémentation 70

4.6.2 Comparaison avec les modèles de référence 72

4.6.3 Étude d'ablation 75

4.6.4 Interpolation 82

4.7 Expériences supplémentaires 82

4.7.1 Inclure l'information de translation et de rotation 83

4.7.2 Séparer l'information d'identité et de pose 87

4.8 Conclusion 90

5 Apprentissage et génération de séquences de maillages 92

5.1 Introduction 92

5.2 État de l'art 94

5.3 SpecTrHuMS 96

5.4 Évaluations 99

5.4.1 Modèles de référence 99

5.4.2 Bases de données 100

5.4.3 Métriques d'évaluation 100

5.4.4 Implémentation 101

5.4.5 Application principale : prédiction 102

5.4.6 Autres applications 109

5.5 Discussion 114

5.6 Conclusion 116

6 Conclusion et perspectives 118

6.1 Conclusion 118

6.2 Perspectives 120
Table des figures

<table><tbody><tr><td>1.1</td><td>Les différentes méthodes d'apprentissage.</td><td>3</td></tr><tr><td>1.2</td><td>Illustrations du fonctionnement de différentes couches de base.</td><td>4</td></tr><tr><td>1.3</td><td>RNN et transformeur.</td><td>6</td></tr><tr><td>1.4</td><td>Plusieurs modèles génératifs : AE, GAN, VAE et diffusion.</td><td>7</td></tr><tr><td>1.5</td><td>Différentes représentations 3D.</td><td>10</td></tr><tr><td>1.6</td><td>Différence entre une structure euclidienne et non-euclidienne.</td><td>11</td></tr><tr><td>2.1</td><td>Identités de référence utilisées dans SMPL.</td><td>17</td></tr><tr><td>2.2</td><td>Squelette, maillage et poids de l'identité neutre dans une pose basique.</td><td>17</td></tr><tr><td>2.3</td><td>Squelettes et connectivités des modèles SMPL, SMPL-H et SMPL-X.</td><td>19</td></tr><tr><td>2.4</td><td>Maillages générés en utilisant des positions de squelettes aléatoires.</td><td>20</td></tr><tr><td>2.5</td><td>Exemples de maillages issus de la plateforme KINOVIS.</td><td>21</td></tr><tr><td>2.6</td><td>Différence de connectivité des maillages KINOVIS.</td><td>21</td></tr><tr><td>2.7</td><td>Les deux visualiseurs utilisés.</td><td>24</td></tr><tr><td>3.1</td><td>Transformée de Fourier.</td><td>28</td></tr><tr><td>3.2</td><td>Transformée inverse de Fourier.</td><td>29</td></tr><tr><td>3.3</td><td>Vecteurs propres du Laplacien et de la transformée de Fourier discrète.</td><td>32</td></tr><tr><td>3.4</td><td>Courbe 2D représentée par deux signaux.</td><td>33</td></tr><tr><td>3.5</td><td>Reconstruction en utilisant différents nombres de coefficients.</td><td>34</td></tr><tr><td>3.6</td><td>Un maillage et sa connectivité.</td><td>35</td></tr><tr><td>3.7</td><td>Plusieurs vecteurs propres d'une surface.</td><td>37</td></tr><tr><td>3.8</td><td>Coefficients spectraux d'une surface et leur impact lors d'une perturbation.</td><td>38</td></tr><tr><td>3.9</td><td>Distances moyennes entre les sommets correspondant de transformation directe puis inverse en fonction du nombre de vecteurs propres choisi.</td><td>39</td></tr><tr><td>3.10</td><td>Érreur de reconstruction en fonction du pourcentage de fréquences utilisées.</td><td>40</td></tr><tr><td>3.11</td><td>Érreur de reconstruction en fonction du nombre de fréquences utilisées.</td><td>40</td></tr><tr><td>3.12</td><td>Exemple d'interpolation dans l'espace spectral.</td><td>41</td></tr><tr><td>3.13</td><td>Angles et aires de Voronoi.</td><td>42</td></tr><tr><td>3.14</td><td>Comparaison de reconstructions du Laplacien topologique et de l'opérateur de Laplace-Beltrami.</td><td>43</td></tr><tr><td>3.15</td><td>Exemple de carte fonctionnelle (Functional Map).</td><td>49</td></tr></tbody></table>
<table>
  <tbody>
    <tr>
      <td>4.1</td>
      <td>Moyennes et écarts types de la base de données DFaust.</td>
      <td>58</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Moyennes et écarts types de la base de données AMASS.</td>
      <td>59</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Processus du réseau entièrement connecté.</td>
      <td>61</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>Différentes valeurs calculées lors de l'entraînement du réseau entièrement connecté en fonction de la taille de l'espace latent.</td>
      <td>62</td>
    </tr>
    <tr>
      <td>4.5</td>
      <td>Fonctionnement de l'interpolation dans l'espace latent.</td>
      <td>62</td>
    </tr>
    <tr>
      <td>4.6</td>
      <td>Interpolations dans l'espace latent.</td>
      <td>63</td>
    </tr>
    <tr>
      <td>4.7</td>
      <td>Différentes valeurs calculées lors de l'entraînement du réseau entièrement connecté en fonction du nombre de fréquences utilisées.</td>
      <td>64</td>
    </tr>
    <tr>
      <td>4.8</td>
      <td>Illustration d'un autoencodeur convolutif utilisant 512 fréquences.</td>
      <td>65</td>
    </tr>
    <tr>
      <td>4.9</td>
      <td>Différentes valeurs calculées lors de l'entraînement de réseaux entièrement connectés et convolutifs en fonction du nombre de fréquences fournies et de l'architecture utilisée.</td>
      <td>65</td>
    </tr>
    <tr>
      <td>4.10</td>
      <td>Illustration du processus général.</td>
      <td>66</td>
    </tr>
    <tr>
      <td>4.11</td>
      <td>Illustration de l'autoencodeur spectral.</td>
      <td>67</td>
    </tr>
    <tr>
      <td>4.12</td>
      <td>Illustration des deux méthodes d'agrégation.</td>
      <td>71</td>
    </tr>
    <tr>
      <td>4.13</td>
      <td>Comparaison quantitative de reconstructions.</td>
      <td>72</td>
    </tr>
    <tr>
      <td>4.14</td>
      <td>Comparaison visuelle de reconstructions.</td>
      <td>74</td>
    </tr>
    <tr>
      <td>4.15</td>
      <td>Comparaison quantitative de reconstructions (étude d'ablation).</td>
      <td>76</td>
    </tr>
    <tr>
      <td>4.16</td>
      <td>Exemples de détails sur des maillages reconstruits.</td>
      <td>78</td>
    </tr>
    <tr>
      <td>4.17</td>
      <td>Comparaison visuelle de reconstructions (étude d'ablation).</td>
      <td>79</td>
    </tr>
    <tr>
      <td>4.18</td>
      <td>Comparaison d'interpolations en utilisant l'espace latent.</td>
      <td>81</td>
    </tr>
    <tr>
      <td>4.19</td>
      <td>Moyennes et écarts types de la base de données DFaust en prenant en compte translations et rotations.</td>
      <td>84</td>
    </tr>
    <tr>
      <td>4.20</td>
      <td>Moyennes et écarts types de la base de données AMASS en prenant en compte translations et rotations.</td>
      <td>85</td>
    </tr>
    <tr>
      <td>4.21</td>
      <td>Visualisation du 24e vecteur propre.</td>
      <td>86</td>
    </tr>
    <tr>
      <td>4.22</td>
      <td>Différentes valeurs d'entraînement sur la base de données AMASS dont les échantillons ne sont ni centrés ni orientés.</td>
      <td>87</td>
    </tr>
    <tr>
      <td>4.23</td>
      <td>Différentes reconstructions et interpolations avec et sans utilisation du centrage et de la rotation.</td>
      <td>88</td>
    </tr>
    <tr>
      <td>4.24</td>
      <td>Différentes reconstructions et interpolations avec et sans utilisation du centrage et de la rotation.</td>
      <td>89</td>
    </tr>
    <tr>
      <td>5.1</td>
      <td>Illustration du processus général proposé.</td>
      <td>93</td>
    </tr>
    <tr>
      <td>5.2</td>
      <td>Processus du transformeur.</td>
      <td>98</td>
    </tr>
    <tr>
      <td>5.3</td>
      <td>Courbes d'évolution de la MPJPE et de la MELV.</td>
      <td>104</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Comparaison visuelle du modèle arrêté prématurément et du modèle complètement entraîné.</td>
      <td>106</td>
    </tr>
    <tr>
      <td>5.5</td>
      <td>Comparaison visuelle du modèle arrêté prématurément et du modèle complètement entraîné.</td>
      <td>107</td>
    </tr>
    <tr>
      <td>5.6</td>
      <td>Résultats visuels en utilisant plusieurs identités.</td>
      <td>108</td>
    </tr>
    <tr>
      <td>5.7</td>
      <td>Résultats visuels en utilisant plusieurs identités.</td>
      <td>108</td>
    </tr>
    <tr>
      <td>5.8</td>
      <td>Comparaison visuelle avec siMLPe.</td>
      <td>110</td>
    </tr>
    <tr>
      <td>5.9</td>
      <td>Comparaison visuelle avec siMLPe.</td>
      <td>111</td>
    </tr>
  </tbody>
</table>
<table><tr><td>5.10 Exemples d'extrapolation.</td><td>112</td></tr><tr><td>5.11 Exemples de complétion.</td><td>113</td></tr><tr><td>5.12 Le maillage triangulaire utilisé pour créer une base de données de simulations d'une pièce de tissu.</td><td>114</td></tr><tr><td>5.13 Exemples visuels de prédictions de simulations de tissu.</td><td>115</td></tr></table>
Liste des tableaux

<table><tr><td>3.1</td><td>Comparaison des temps de calcul des éléments propres.</td><td>35</td></tr><tr><td>4.1</td><td>Comparaison des temps de prétraitement.</td><td>70</td></tr><tr><td>4.2</td><td>Comparaison du nombre de paramètres en fonction de la taille de l'espace latent.</td><td>73</td></tr><tr><td>4.3</td><td>Comparaison du temps par époque.</td><td>75</td></tr><tr><td>4.4</td><td>Nombre de paramètres pour les autoencodeurs spectraux utilisant l'agrégation apprise.</td><td>76</td></tr><tr><td>4.5</td><td>Nombre de paramètres pour les autoencodeurs spectraux utilisant l'agrégation classique.</td><td>77</td></tr><tr><td>4.6</td><td>Temps par époque des modèles avec agrégation classique.</td><td>78</td></tr><tr><td>4.7</td><td>Temps par époque des modèles avec agrégation apprise en fonction des fréquences utilisées.</td><td>80</td></tr><tr><td>4.8</td><td>Comparaison des erreurs de reconstruction lors du croisement de jeux de données.</td><td>80</td></tr><tr><td>5.1</td><td>Comparaison de scores MPJPE.</td><td>102</td></tr><tr><td>5.2</td><td>Comparaison de scores MPJPE.</td><td>103</td></tr><tr><td>5.3</td><td>Comparaison de scores MELV.</td><td>104</td></tr><tr><td>5.4</td><td>Comparaison des racines de l'erreur quadratique moyenne.</td><td>113</td></tr></table>
# Chapitre 1

## Introduction

L'apparition récente de modèles capables de générer du texte ou des images sous contrôle de l'utilisateur (tel que GPT-3 [19] et DALL-E [113]) a été possible grâce à l'introduction d'architectures de réseaux de neurones massivement utilisées ces dix dernières années. Le bon fonctionnement des ces modèles peut suggérer l'idée de voir se démocratiser dans le futur des modèles similaires travaillant sur des objets à 3 ou 4 dimensions. Les avancées dans le domaine de la reconstruction de formes 3D depuis des images ont récemment permis un accès facilité aux systèmes de capture de mouvement, faisant apparaître des bases de données d'objets 4D de plus en plus denses et pouvant servir de base d'apprentissage à ces futurs modèles. Néanmoins, ces captures génèrent des représentations telles que des nuages de points ou des maillages triangulaires qui n'ont plus la structure régulière qu'ont le texte ou les images. Un nouveau champ d'étude, l'apprentissage profond géométrique (*Geometric Deep Learning*), a dernièrement vu le jour et vise à transférer les outils destinés à des données résidant dans un domaine euclidien à ces représentations résidant dans un domaine à plus haute dimension et ayant une structure non-euclidienne et non régulière. Bien qu'un grand nombre d'architectures aient été introduites ces dernières années proposant des solutions à ce problème, on peut sentir que leur habilité à comprendre les données fournies est moins élevée que celle des algorithmes travaillant sur du texte ou des images. Aussi, le temps d'entraînement de ces nouvelles architectures est bien plus grand, alors que les modèles présentés aujourd'hui au grand public sont déjà extrêmement énergivores. Il est donc aujourd'hui nécessaire de développer des méthodes qui permettront dans le futur de voir apparaître de tels algorithmes capables de comprendre ce nouveau type de données de manière efficace et économe en énergie.

Dans ce chapitre, nous verrons le contexte dans lequel s'est déroulé la thèse : premièrement, la situation globale de l'état de l'art concernant l'apprentissage profond sera abordé. Ensuite, le projet national dont notre équipe fait partie et ses objectifs seront présentés. Enfin, nous verrons comment se matérialisent les principaux défis de la thèse.
## 1.1 Contexte

L'apprentissage profond (deep learning) est une branche de l'intelligence artificielle qui est devenu un outil indispensable, offrant des avancées significatives dans divers domaines tels que le traitement du langage naturel ou encore la vision par ordinateur. Ces avancées ont été principalement facilitées par la disponibilité de vastes ensembles de données 1D telles que du texte, de l'audio ou des données temporelles et de données 2D telles que des images, ainsi que par les progrès dans la conception de réseaux de neurones profonds. L'essor de ce domaine a également été stimulé par l'amélioration des algorithmes d'optimisation, la diversification des architectures de réseaux de neurones, et la montée en puissance des cartes graphiques qui ont considérablement accéléré les calculs nécessaires à l'entraînement de ces réseaux. En conséquence, l'apprentissage profond a ouvert de nouvelles possibilités dans la résolution de problèmes complexes, conduisant à des avancées majeures dans des domaines allant de la reconnaissance vocale à la conduite autonome. Il continue de susciter un intérêt croissant et de révolutionner notre compréhension de l'intelligence artificielle.

À l'heure actuelle, les techniques d'apprentissage profond ont atteint un niveau de maturité certain pour les données 1D et 2D, permettant des applications telles que la classification, la détection ou encore la génération de contenu. Nous commencerons par présenter les concepts et architectures de ces méthodes. Ensuite, nous verrons qu'une nouvelle frontière émerge avec la nécessité de généraliser ces approches aux données 3D. La vision de l'état de l'art concernant l'apprentissage profond sera abordé dans ce chapitre de manière théorique alors que les chapitres suivants sont destinés à une approche pratique.

### 1.1.1 Vue d'ensemble des méthodes, architectures et modèles d'apprentissage

Les concepts d'apprentissage automatique (machine learning) et profond (deep learning) sont présents depuis longtemps dans la littérature (leurs origines peuvent être tracées jusqu'en 1943), mais c'est ces dix dernières années, après le succès important d'AlexNet [69], que ces technologies se sont révélées révolutionnaires grâce à des avancées concernant le Big Data et la puissance de calcul des ordinateurs. Ces deux concepts que sont l'apprentissage automatique et profond représentent deux domaines qui ont été largement adoptés. Ils concernent l'usage d'algorithmes pour apprendre depuis des données et ont pour but d'améliorer les prédicitions ou les générations effectuées par ces modèles. En général, l'apprentissage profond utilise des bases de données très denses pour entraîner des réseaux de neurones afin qu'ils détectent automatiquement les caractéristiques des échantillons étudiés alors que l'apprentissage automatique utilise des méthodes de statistiques et requiert davantage d'intervention humaine. Ici, nous nous concentrerons sur la notion d'apprentissage profond génératif [25].
<figure><img src="image_1.png" /><figcaption>FIGURE 1.1 – Les différentes méthodes d’apprentissage.</figcaption></figure>

## Méthodes d’apprentissage

L’apprentissage d’un réseau de neurones peut être réalisé selon différentes méthodes, selon le type de données dont on dispose et la nature de la tâche à accomplir. Les trois principales approches sont l’apprentissage supervisé, non supervisé et semi-supervisé (voir figure 1.1). Chacune de ces méthodes possède ses particularités et trouve ses applications spécifiques.

Apprentissage supervisé. L’apprentissage supervisé repose sur l’utilisation d’un ensemble de données d’entraînement étiquetées, c’est-à-dire que chaque exemple d’entrée est associé à la sortie attendue ou à la classe à laquelle il appartient. L’objectif du réseau de neurones est d’apprendre à partir de ces exemples afin de générer les relations entre les entrées et les sorties, de sorte qu’il puisse produire des prédictions précises sur de nouvelles données non vues. L’apprentissage supervisé est largement utilisé dans des tâches de classification et de régression.

Apprentissage non supervisé. L’apprentissage non supervisé s’effectue sans données étiquetées. Le réseau de neurones doit découvrir les structures et les relations cachées dans les données sans aucune annotation externe. Les algorithmes d’apprentissage non supervisé sont principalement utilisés pour effectuer des tâches de regroupement (clustering) afin de segmenter les données en différents groupes homogènes. Cette approche permet d’identifier des motifs, des tendances ou des anomalies dans les données, facilitant ainsi la compréhension de celles-ci et ouvrant la voie à de nouvelles applications, comme de la génération de contenu. Les données traitées durant cette thèse étant principalement non annotées, et l’objectif étant de générer de nouveaux échantillons réalistes, les recherches présentées dans ce manuscrit se sont dirigées vers ce type d’apprentissage.

Apprentissage semi-supervisé. L’apprentissage semi-supervisé est une approche qui combine les aspects de l’apprentissage supervisé et non supervisé. Ici, l’ensemble de données d’entraînement comprend à la fois des exemples étiquetés et non étiquetés. L’objectif est de tirer parti de l’information contenue dans les données possédant
<figure><img src="image_2.png" /><figcaption>FIGURE 1.2 – Illustrations du fonctionnement de différentes couches de base. De gauche à droite : fonctions d'activation, couche entièrement connectée, couches de sous/sur-échantillonnage, couche de convolution.</figcaption></figure>

une annotation tout en exploitant la richesse des données non classées pour améliorer les performances du réseau de neurones. L'apprentissage semi-supervisé est souvent utilisé lorsque la labélisation d'un grand ensemble de données est coûteuse ou difficile car il permet d'obtenir de bonnes performances en utilisant un nombre relativement réduit d'exemples annotés.

Les méthodes d'apprentissage des réseaux de neurones offrent des perspectives pour résoudre une grande variété de problèmes différents. Selon la nature et la disponibilité des données ainsi que la complexité de la tâche, la méthode la plus appropriée sera sélectionnée. Pour construire un réseau de neurones, il faut néanmoins coupler ces méthodes d'apprentissage à des opérations effectuées sur les données, représentant les couches du réseau.

## Couches

Les couches d'un réseau de neurones sont les composants fondamentaux qui permettent au réseau d'apprendre en effectuant des opérations spécifiques. Elles peuvent être catégorisées en plusieurs types différents (voir figure 1.2).

**Couche d'activation.** La couche d'activation introduit une non-linéarité dans le réseau. Des fonctions populaires incluent ReLU (Rectified Linear Unit), Leaky ReLU, Tanh ou encore Sigmoid. Sans fonction d'activation, un réseau de neurones serait équivalent à une simple transformation linéaire, ce qui limiterait considérablement sa capacité à résoudre des problèmes complexes. L'ajout de non-linéarités confère au réseau une plus grande capacité d'apprentissage. Elles sont aussi crucales pour le processus de rétropropagation (backpropagation) et permettent la transmission des gradients à travers le réseau afin d'ajuster les poids des neurones pendant l'apprentissage. L'introduction de fonctions d'activation contenant des paramètres apprenables a montré des améliorations concernant la qualité de l'entraînement. La recherche de nouvelles fonctions d'activation représente un domaine de recherche toujours ouvert [4].

**Couche entièrement connectée.** Cette couche est également connue sous le nom de couche dense (fully connected). Chaque neurone de cette couche est connecté
à tous les neurones de la couche précédente et de la couche suivante. C'est une couche simple qui doit être couplée à des couches d'activation pour former un réseau classique. Elle peut être assemblée dans un réseau en 2 couches seulement (*Single Layer Perceptron* ou SLP), ou plusieurs (*Multi Layer Perceptron* ou MLP). Bien que ces réseaux soient parmi les plus simples, leur étude est toujours d'actualité [44], et ils permettent encore aujourd'hui d'obtenir des résultats intéressants. Néanmoins, les réseaux construits de cette manière ont un grand nombre de paramètres et sont en général précédés de blocs de convolutions afin de réduire ce nombre.

**Couche de sous/sur-échantillonnage.** Les couches de sous/sur-échantillonnage (*pooling* et *upsampling*) sont des composants couramment utilisés dans les réseaux de neurones convolutifs. Elles sont utilisées pour identifier des caractéristiques à différentes résolutions. La couche de sous-échantillonnage fonctionne en divisant la région d'entrée en zones et en prenant la valeur maximale, minimale ou moyenne selon le type d'échantillonnage réalisé, la valeur maximale étant la plus courante. Il convient de noter que de l'information est perdue dans le processus, mais cette perte est comblée par la duplication en amont de l'information avec l'utilisation de plusieurs filtres en parallèle. Le sous-échantillonnage est souvent réalisé dans les architectures d'encodage. Le sur-échantillonnage est réalisé pour augmenter la résolution des données, plutôt dans les architectures de décodage. Cette couche prend une zone et la développe en répétant ou en interpolant les valeurs. Étant donnée la perte ou création d'information de ces couches, leur implémentation est liée au fonctionnement du réseau. Les choisir soigneusement est dépendant du problème et peut amener à des résultats améliorés [104, 151].

**Couche de convolution.** Cette couche est principalement utilisée pour extraire les caractéristiques des données en entrée en effectuant un filtrage par convolution. Le principe est de faire glisser une fenêtre représentant un filtre composé de paramètres apprenables sur des petites régions dans les premières couches du réseau. Afin d'obtenir des filtres sur des régions plus larges, la couche de convolution est couplée à des couches de sous-échantillonnage qui permettent de réduire la dimension des données tout en conservant l'information importante. Des blocs seront construits avec une couche de convolution, une couche de sous/sur-échantillonnage et une fonction d'activation, permettant de créer des réseaux qui auront moins de paramètres que ceux utilisant uniquement des couches entièrement connectées et ayant donc une meilleure capacité de généralisation. Ces réseaux convolutifs (*Convolutional Neural Networks* ou CNN) ont prouvé leur capacité d'apprentissage ces dix dernières années et sont aujourd'hui encore très utilisés pour des données 1D et 2D [67, 80].

Un réseau de neurones peu profond sera constitué d'une couche en entrée, une couche de sortie, et au plus une couche cachée. En revanche, un réseau de neurones profond est composé de plusieurs couches empilées les unes après les autres, complexifiant la fonction apprise par le réseau et donnant plusieurs niveaux de représentation des données. Couplées à un système de rétropropagation, les poids dont sont composés ces réseaux sont adaptés en fonction de l'objectif au cours de l'en-
<figure><img src="image_3.png" /><figcaption>FIGURE 1.4 – Plusieurs modèles génératifs. $x$ représente un échantillon réel, $y$ un échantillon généré, et $z$ une variable latente. En haut à gauche, un autoencodeur. En haut à droite, un GAN. En bas à gauche, un autoencodeur variationnel (VAE). En bas à droite, un modèle de diffusion.</figcaption></figure>

populaires et de nombreux travaux les concernent encore aujourd'hui [125]. Ils ont été utilisés avec succès sur des données représentant du texte, des images ou des positions de jointures de squelettes. Cependant, les données sont traitées échantillon par échantillon et la parallélisation du traitement est difficile, rendant le processus lent et les dépendances à long terme calculées de mauvaises qualité. Pour résoudre ces problèmes, l'architecture transformeur a été introduite.

*Transformeurs*. Les transformeurs (*Transformers*) ont été introduits par Vaswani et al. [135] afin d'améliorer les résultats obtenus avec les RNNs. Ils sont non séquentiels, les séquences étant traitées en une passe plutôt qu'échantillon par échantillon, et utilisent la notion d'auto-attention (*self-attention*) qui permet de calculer des scores entre les différents échantillons. Cela les rend plus rapides que les RNNs (possibilité de calculs en parallèle) et plus aptes à comprendre les relations entre des échantillons très lointains. Cette architecture a été utilisée dans la deuxième contribution de cette thèse : plus d'informations sur son fonctionnement sont données dans la section 5.3.

Ces architectures peuvent être combinées pour construire des réseaux de neurones complexes, créant de nombreuses possiblités de configurations différentes. Il faut ensuite définir des modèles qui permettront d'entraîner ces architectures selon la tâche désirée (voir figure 1.4).

## Modèles

*Encodeur / classifieur / discriminateur*. L'encodeur est un modèle qui permet en général de réduire la dimension des données en entrée. En utilisant une des architectures précédemment abordées, son but est de créer un vecteur latent à une
dimension et donc de compressor l'information. Si l'objectif est la classification, alors un score sera calculé depuis ce vecteur latent en fonction de l'étiquetage de la donnée en entrée. Ce classifieur peut aussi être nommé discriminateur.

*Décodeur / générateur.* À l'inverse, un décodeur ou générateur permet d'augmenter la dimension des données en entrée : depuis un vecteur latent, l'objectif est de décompresser l'information et de générer des données aux dimensions voulues.

*Autoencodeur.* Un autoencodeur est l'assemblage d'un encodeur et d'un décodeur. L'objectif de ce modèle est de compressor l'information en la faisant passer par un espace latent, ce qui a pour but de révéler les caractéristiques importantes (sous certaines conditions, voir chapitre 4) des données en entrée en ayant simplement pour objectif d'apprendre à minimiser la différence entre l'entrée et la sortie. Ce modèle est utilisé pour apprendre une compression avec perte efficace de manière non supervisée. Il existe plusieurs types d'autoencodeurs tels que ceux régularisés (regularized) ou ayant pour objectif le débruitage (denoising) [10].

*Autoencodeur variationnel.* L'autoencodeur variationnel (Variational Autoencoder ou VAE) est une extension de l'autoencodeur qui introduit une approche probabiliste dans la manière dont l'encodage est appris. Plutôt que d'entraîner le réseau à simplement reconstruire les valeurs en entrée, l'objectif est de minimiser une erreur supplémentaire, la divergence de Kullback-Leibler, permettant de construire un espace latent dont la distribution se rapproche d'une distribution normale. Cette propriété permet au VAE de générer de nouvelles données en échantillonnant aléatoirement dans l'espace latent. Nous verrons tout de même dans le chapitre 4 qu'un autoencodeur simple est aussi capable de générer des données réalistes sous certaines conditions. Le VAE peut présenter des problèmes d'entraînement tels qu'un problème d'équilibrage (la fonction de coût est représentée par deux termes différents et l'un peut prendre le dessus sur l'autre) ou d'éffondrement de variable (les éléments produits par le décodeur deviennent indépendants de la variable latente) [5].

*Réseau antagoniste génératif.* Un réseau antagoniste génératif (Generative Adversarial Network ou GAN) est un type de modèle génératif qui repose sur un concept de jeu entre deux réseaux de neurones : un générateur et un discriminateur. Le générateur prend un vecteur aléatoire en entrée et tente de générer des données réalistes. Le discriminateur prend en entrée des exemples de données réelles et générées, et tente de distinguer les vraies des fausses. Au fil de l'entraînement, le générateur s'améliore pour tromper de plus en plus le discriminateur, et le discriminateur s'améliore pour mieux distinguer les vraies données des fausses. Finalement, cela aboutit à un générateur capable de produire des données réalistes. Un GAN peut cependant être dûr à entraîner en raison d'un équilibre entre les deux réseaux difficile à atteindre (Nash Equilibrium) ou en raison d'effondrement des modes (mode collapse : le générateur ne produit qu'un seul exemple réaliste) [70].

*Diffusion.* Le modèle de diffusion est une approche de modélisation générative qui repose sur un processus de diffusion stochastique. Contrairement aux autres mo-
dèles génératifs qui créent des données à partir d'un bruit aléatoire, le modèle de
diffusion utilise un processus itératif pour améliorer progressivement la qualité de
l'échantillon produit. Il s'appuie sur le principe de diffusion d'une distribution de
probabilité initiale pour générer progressivement une distribution finale correspon-
dant aux données désirées. L'objectif est donc d'apprendre premièrement à bruiter
un échantillon donné en entrée, puis de le débruiter, en général en utilisant un condi-
tionnement. Ce modèle est très utilisé aujourd'hui pour traiter des données textuelles
[156], temporelles [83] ou des images [39]. La génération est souvent conditionnée
depuis du texte [152, 147].

*Conditionné.* Lorsqu’un de ces modèles génératifs est conditionné, cela signifie que le processus de génération des données est contrôlé ou guidé par une information supplémentaire appelée condition ou conditionnement. Cette information peut être sous la forme d’une étiquette, d’une catégorie, d’un texte, d’une image, ou tout autre type de données contextuelles. Le conditionnement rend les modèles génératifs beaucoup plus flexibles et utiles dans de nombreuses applications car il permet de contrôler le processus de génération et d’obtenir des résultats plus spécifiques et adaptés aux besoins de l’utilisateur.

Ces modèles ont tous des applications et des forces différentes en matière de génération de données, de compression et de représentation latente. Chacun a également ses propres avantages et inconvénients en fonction du problème spécifique qu'il vise à résoudre. Ils ont été largement appliqués à des données 1D et 2D. En revanche, en raison de la nature différente des données 3D, nous allons voir que ces modèles leur sont plus difficilement applicables.

1.1.2 Représentations de données 3D/4D

De nombreux domaines étudient des données qui ont une structure sous-jacente non-euclidienne, telles que les sciences sociales, l'imagerie médicale, la génétique, ou encore l'étude du mouvement du corps humain. Ces données géométriques sont larges et complexes mais sont des cibles naturelles pour les algorithmes précédemment présentés. Dans le domaine de l'infographie (*computer graphics*), les données 3D sont un atout précieux car elles fournissent des informations riches sur la géométrie complète des objets et des scènes détectés. Les données 3D issues des appareils de capture se présentent sous différentes formes qui varient dans leur structure et leurs propriétés. Elles peuvent être classées en deux grandes catégories : celle ayant une structure euclidienne, et celles ayant une structure non-euclidienne [1] (voir figure 1.5).

Structures euclidiennes

Certaines représentations 3D ont une structure sous-jacente euclidienne et pré-
servent les propriétés du texte ou des images.

*Projections de données 3D.* Il est possible de projeter l'information contenue dans une représentation 3D vers une image. De telles projections représentent des
<figure><img src="image_4.png" /><figcaption>FIGURE 1.5 – Différentes représentations 3D. L'image provient de Ahmed et al. : *A survey on Deep Learning Advances on Different 3D Data Representations* [1].</figcaption></figure>

données 3D en 2D tout en étant invariantes aux rotations autour de l'axe principal de la projection. Cela facilite le traitement de données 3D grâce à la structure régulière et euclidienne des projections résultantes et permet l'utilisation de modèles d'apprentissage classiques, mais ces représentations ne sont pas optimales puisque de l'information est perdue.

***RGB-D.*** Il est aussi possible de représenter un objet 3D avec une image capturée depuis une seule caméra accompagnée de la profondeur (2.5D). Cette représentation est populaire grâce aux capteurs RGB-D fortement démocratisés comme la Kinect de Microsoft. Les bases de données créées sont beaucoup plus denses que celles représentant des objets 3D directement puisque plus facilement capturables, mais encore une fois ce type d'objet n'est pas optimal puisque de l'information est perdue dans le processus de capture.

***Volumétriques.*** Parmi ce genre de données, on retrouve les voxels ou encore les octrees. Malgré la simplicité de ces représentations et leur capacité à coder des informations sur les formes 3D, elles souffrent de certaines limitations : elles permettent de transférer les méthodes d'apprentissage plus facilement mais ne préservent pas les propriétés intrinsèques des surfaces telle que le fait qu'elles soient lisses.

***Multi-vues.*** Les données multi-vues sont représentées par des combinaisons d'images multiples depuis différents points de vue, et les réseaux travaillant sur des images leur sont directement applicables. En revanche, de nombreux points de vues sont nécessaires pour bien comprendre la structure de l'objet observé et de l'information.
<figure><img src="image_5.png" /><figcaption>FIGURE 1.6 – Différence entre une structure euclidienne à gauche et non-euclidienne à droite. L’image provient de Liang et al. : *Survey of Graph Neural Networks and Applications* [81].</figcaption></figure>

tion sera perdue si aucun algorithme de reconstruction de forme n’est utilisé afin de produire un objet 3D.

***Descripteurs.*** Les descripteurs sont des représentations simplifiées d'objets 3D pour décrire la géométrie, la topologie, la surface ou encore la texture. Leur nature et signification dépendent du dit descripteur et ils sont souvent combinés à des modèles d'apprentissage profonds. Par exemple, un descripteur peut être représenté par l'équation de la chaleur sur une surface [126]. Plus d'informations sur des descripteurs spectraux sont données dans la section 3.3.

Ces différentes représentations, à l'exception des descripteurs qui seront examinés plus tard dans ce document, peuvent être efficaces et suffisantes pour décrire des objets rigides dont les déformations sont minimes. En revanche, afin de pouvoir décrire pleinement des objets déformables comme des corps humains, l'utilisation de représentations plus complexes est nécessaire.

Structures non-euclidiennes

Le deuxième type de représentations de données 3D concerne celles qui ont une structure sous-jacente non-euclidienne. Contrairement au texte ou aux images, ces représentations n'ont pas de paramétrisation globale ou un système de coordonnées commun, ce qui rend la distance entre deux noeuds les composant dépendante de la connectivité de la structure qu'elles approximent (voir figure 1.6). Les méthodes d'apprentissage classiques fonctionnant en 1D et 2D ne leur sont donc pas directement applicables.

***Nuage de points 3D.*** Les nuages de points sont un ensemble désordonné de coordonnées spatiales qui approximent la géométrie d'un objet 3D. Les traiter est une
tâche compliquée en raison de leur manque de structure et leur manque de connexivité, ce qui peut mener à des ambiguïtés lors de leur analyse. Plus d'informations sur le traitement de ce type de représentation sont données dans la section 4.2.

*Graphes et maillages 3D*. Les graphes ou maillages 3D sont une des représentations les plus populaires, composée de l'information concernant la géométrie accompagnée d'une triangulation. Mais la géométrie n'ayant pas d'ordre, il est difficile d'appliquer des convolutions à ce genre de représentations. Aussi, il est possible d'utiliser des squelettes pour approximer certaines surfaces, qui sont similaires à des graphes. Plus d'informations sur le traitement de ce type de représentation sont données dans les sections 4.2 et 5.2.

*Nuages de points, graphes et maillages 4D*. Enfin, le type de données qui concerne l'objectif de cette thèse est représenté par des séquences de structures non-euclidiennes. Elles peuvent être composées d'éléments avec un nombre de noeuds et une connexivité variants (*time varying*) ou avec un nombre de noeuds et une connectivité constants (*temporally coherent*). Le traitement de ce genre de données sera abordé dans le chapitre 5.

L'utilisation de l'apprentissage profond gagne en popularité dans le domaine de la 3D. Cela implique d'utiliser les représentations riches disponibles tout en tenant compte de leurs propriétés difficiles. L'extension des modèles classiques à ce genre de données n'est pas simple en raison de leur nature géométrique complexe et des grandes variations structurelles résultant des différentes représentations. Ce domaine d'étude nommé apprentissage profond géométrique (*Geometric Deep Learning*) a récemment été introduit par Bronstein et al. [17].

### 1.1.3 Apprentissage profond géométrique

Récemment, avec l'apparition de bases de données d'objets 3D/4D et l'augmentation de la puissance des machines, il est devenu possible de considérer l'application des méthodes d'apprentissage profond destinées aux données 1D et 2D à des tâches appliquées à des données plus complexes. Plusieurs documents présentent un état de l'art concernant ce domaine émergent [1, 118, 141, 239, 136, 292, 125]. En fonction de la représentation utilisée, des challenges différents vont être abordés pour utiliser des architectures d'apprentissage profond existantes. La communauté de la vision par ordinateur s'est récemment penchée sur l'extension d'architectures aux données 3D. Certaines représentations conservent la structure régulière des données 2D et permettent l'extension directe des architectures connues. Ces représentations font partie des données 3D ayant une structure euclidienne. En revanche, d'autres types de données, comme les graphes, les nuages de points ou les maillages triangulaires, n'ont plus cette structure régulière et n'ont plus de paramétrisation globale. C'est une tâche difficile d'appliquer les architectures à ces données, alors que les comprendre grâce à des algorithmes d'apprentissage profond est un objectif aujourd'hui important.
Les difficultés lorsque l'on essaie de traiter des données 3D sont représentées par le manque d'échantillons disponibles, le manque d'étiquetage, leur nature géométrique, le fait qu'elles soient représentées de différentes manières et qu'elles comprennent du bruit. Développer des méthodes qui traitent toutes ces problématiques ensemble est aujourd'hui un défi. Beaucoup de méthodes proviennent du domaine de l'étude de graphes et sont ensuite appliquées à des maillages triangulaires, et d'autres méthodes sont directement destinées à être appliquées à des nuages de points. Ici, nous allons nous intéresser aux graphes seulement, et dans la section 4.2, plus de détails seront donnés sur les méthodes concernant les deux autres représentations.

Les premières méthodes ont été introduites sous la forme de réseaux de neurones récurrents (RNNs) [55, 119], présentant des restrictions en terme d'apprentissage, corrigées par l'utilisation de méthodes plus modernes comme des GRUs [79]. Des convolutions appliquées à des graphes ont ensuite été présentées par Duvenaud et al. [46], mais leur méthode présentait des difficultés à être appliquée à des graphes larges. Niepert et al. [103] ont appliqué des convolutions à des graphes mais une étape de prétraitement était nécessaire. Les méthodes ayant eu le plus de succès ont été amenées par Bruna et al. [20] en présentant un modèle utilisant des convolutions dans le domaine spectral, amélioré ensuite par Defferrard et al. [40] et Kipf et al. [65] en utilisant des polynomes de Chebyshev de premier ordre. Plusieurs travaux ont récemment été introduits, inspirés par l'équation de diffusion de l'information dans un graphe en utilisant l'équation de la chaleur [6, 26, 27, 133, 120, 11], représentant les contributions les plus récentes concernant l'étude de graphes en utilisant des réseaux de neurones.

La litérature concernant l'application de méthodes d'apprentissage profond à des graphes est très dense, mais la plupart des réseaux présentés reposent toujours sur le domaine spatial pour traiter l'information contenue dans ce type de données, même si elles peuvent être combinées à des méthodes spectrales. Dans cette thèse, l'idée est d'essayer de s'affranchir du domaine spatial et de ne traiter l'information que dans le domaine spectral afin de développer un modèle qui ne dépende pas de la structure et de la résolution initiale des données en entrée. Dans ce document, des travaux concernant l'analyse spectrale de maillages triangulaires sans apprentissage profond seront présentés dans la section 3.5, puis des techniques de génération de maillages basées sur ce domaine spectral seront introduites dans la section 4.2.

## 1.2 Objectifs

Nous avons vu les différentes représentations que peuvent avoir les données 3D. Couplées à la dimension temporelle, elles deviennent complexes à étudier et analyser. Comprendre, caractériser et reconstruire les formes et mouvements de corps humains est une tâche importante dans plusieurs applications, notamment pour la réalité virtuelle ou encore la détection d'anormalités dans l'analyse clinique. Mais la plupart des techniques récentes traitent les surfaces sans prendre en compte la dynamique. Cela est dû au fait qu'associer apprentissage profond géométrique et
étude temporelle est une tâche difficile, mais aussi au manque de données existantes pour des surfaces en mouvement. Avec l'apparition de techniques de capture et de modélisation plus efficaces, il faut penser au développement de méthodes capables de traiter ces nouvelles données en prenant en compte leur variation au cours du temps.

## 1.2.1 Projet Human4D

Le projet Human4D a pour but de relever ces nouveaux défis en cherchant à développer de nouvelles modélisations 4D de corps humains en mouvement. L'ambition du projet est d'aller au-delà des représentations existantes qui se concentrent soit sur l'aspect statique, soit sur l'aspect dynamique. Même si des méthodes ont été introduites ces dernières années pour résoudre ces problèmes séparément, peu de travaux s'intéressent réellement à l'association des deux, particulièrement sur des surfaces de corps humains évoluant dans le temps. Le corps humain est sujet à des déformations particulières, rendant difficile son étude et l'application directe des architectures existantes.

Human4D regroupe plusieurs équipes à travers la France. Le projet est dirigé par Hyewon SEO. Les équipes se situent à Strasbourg au laboratoire ICube, à Grenoble au centre INRIA, à Lille au laboratoire CRISTAL et à Lyon au laboratoire LIRIS. Aussi, une plateforme de capture de surfaces en mouvement est associée au projet : la salle Kinovis au centre INRIA à Grenoble. La mission de notre équipe au LIRIS est de se concentrer sur le développement d'une nouvelle représentation de surfaces dynamiques en se concentrant sur l'utilisation de méthodes d'analyse spectrale.

Les méthodes les plus populaires proposent de représenter les mouvements de corps humain à l'aide de structures articulées simples telles que des squelettes : plus d'informations sur ce sujet sont données dans la section 5. Afin de générer des surfaces à l'aide de ces méthodes, des étapes supplémentaires sont nécessaires telles que du squelettage (*rigging*) et de la mise en correspondance de surfaces avec des squelettes (*skinning*). Ces représentations ont été largement adoptées, mais elles ont une expressivité limitée car elles ne contiennent pas l'information surfacique. L'idée de nos travaux est de coupler étude spectrale et dynamique afin de proposer une architecture capable de traiter plus d'informations sans étape supplémentaire.

## 1.2.2 Associer étude spectrale, dynamique et apprentissage profond

L'étude de surfaces dans le domaine spectral est une méthode largement utilisée dans le domaine de l'informatique graphique. Elle repose sur l'utilisation de vecteurs propres et valeurs propres calculés depuis des opérateurs spécifiques. Elle a première-ment été utilisée pour résoudre des problèmes de compression, segmentation, lissage ou mise en correspondance. Depuis l'apparition des méthodes d'apprentissage pro-fond, elle a naturellement été couplée à des architectures composées de réseaux de
neurones. Mais la réunion de ces deux mondes n'a pour l'instant pas été appliquée à
la dynamique du corps humain. C'est ce qui est étudié dans ce document, en mettant
l'accent sur l'aspect génératif des algorithmes proposés.

L'objectif de ce travail de thèse est de montrer qu'il est possible d'utiliser seule-
ment les coefficients spectraux (dont le processus pour les calculer est expliqué dans
la section 3) afin d'entraîner des modèles génératifs d'apprentissage profond. En ef-
fet, ces coefficients contiennent la géométrie de manière compressée et une surface
est retrouvable depuis ces derniers à une faible erreur près si l'on utilise suffisam-
ment de fréquences. De plus, ils permettent de s'affranchir d'une éventuelle trop
haute résolution de la connectivité et permettent de donner un contrôle au réseau
sur la quantité d'information à laquelle il a accès. L'objectif de notre projet étant
d'entraîner un modèle d'apprentissage profond sur des bases de données denses, ce
sont les coefficients spectraux qui ont été sélectionnées comme entrée de ces mo-
dèles. Les principes et le fonctionnement de ces algorithmes seront introduits dans
les chapitres suivants.

1.3 Liste des publications

Cette thèse a conduit aux deux publications suivantes :

1. Clément Lemeunier, Florence Denis, Guillaume Lavoué, and Florent Dupont. Representation learning of 3D meshes using an Autoencoder in the spectral domain. Computers & Graphics, 107:131-143, October 2022. [74]

2. Clément Lemeunier, Florence Denis, Guillaume Lavoué, and Florent Dupont. SpecTrHuMS : Spectral transformer for human mesh sequence learning. Computers & Graphics, 115:191-203, October 2023. [75]

Les résultats en lien avec la première publication seront présentés dans le chapitre 4, et ceux en lien avec la deuxième seront présentés dans le chapitre 5.
# Chapitre 2

## Bases de données et outils

Afin de pouvoir implémenter des algorithmes capables de créer des séquences de maillages humains à l'aide de méthodes d'apprentissage, il a premièrement fallu manipuler des bases de données contenant ce type d'objets. Dans ce chapitre, un modèle 3D réaliste de corps humains et une large base de données représentant des mouvements humains sont premièrement introduits. Ensuite, plusieurs outils permettant la création et l'entraînement simplifiés de réseaux de neurones ainsi que la visualisation de données générées sont présentés.

### 2.1 Bases de données

Les modèles d'apprentissage profond ont besoin de bases de données denses pour pouvoir être entraînés, et les résultats produits sont principalement impactés par la qualité des échantillons utilisés. Lorsqu'il s'agit de corps humains représentés en 3 dimensions, l'acquisition s'avère plus difficile qu'avec du texte ou des images. Dans cette section, le formalisme SMPL ainsi que la base d'entraînement dense AMASS qui ont permis d'entraîner les modèles représentant les contributions de cette thèse sont présentés, ainsi que des données issues de la salle d'acquisition KINOVIS.

#### 2.1.1 SMPL

Auparavant, l'animation de maillages 3D impliquait de manuellement créer des squelettes correspondant à une surface (rigging), de modifier l'orientation des articulations les composant afin d'obtenir une pose voulue, de générer la surface correspondante puis de la sculpter manuellement, ce qui est un processus fastidieux demandant beaucoup d'efforts de la part d'artistes et générant parfois des modélisations non réalistes. Cela a motivé l'introduction de formalismes permettant de représenter plus facilement des corps humains.

*Skinned Multi-Person Linear (SMPL)* est un modèle entraîné permettant de représenter des corps humains en utilisant diverses identités et poses. La première version est introduite par Loper et al. [87]. Le processus classique de squelettage prend en entrée une référence, des positions d'articulations, des poids associant
<figure><img src="image_6.png" /><figcaption>FIGURE 2.1 – Les trois identités de référence utilisées dans SMPL. De gauche à droite : femme, neutre et homme.</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>FIGURE 2.2 – Squelette, maillage et poids de l’identité neutre dans une pose basique.</figcaption></figure>

chaque jointure du squelette aux sommets de la connectivité de référence et une pose voulue pour générer un maillage triangulé. Le problème est que les modèles classiques de squelettage (linear blend skinning, LBS) génèrent des déformations qui ne sont pas réalistes, surtout au niveau des articulations. SMPL corrige cela en proposant un modèle de squelettage amélioré entraîné sur des scans réalistes et présentant moins d’artéfacts que des techniques simples de LBS. Le maillage en sortie a la même topologie que celui de référence : toutes les surfaces générées avec SMPL auront donc la même connectivité. Il est possible de manipuler l’apparence de la référence, donnant ainsi un contrôle sur l’identité du maillage en sortie. Cela autorise la production de représentations de n’importe quelle identité dans n’importe quelle pose, et permet donc au modèle de fonctionner avec des processus d’animation. Des versions améliorées de SMPL ont été présentées ensuite : SMPL-H [116] qui ajoute des possibilités de contrôle sur les mains et SMPL-X [106] qui couple cette première amélioration avec un contrôle augmenté du visage. Afin de montrer des exemples de visualisations de maillages générés à l’aide de SMPL, le visualiseur smplxpp est utilisé.

Dans la figure 2.1, les 3 identités de référence disponibles sont présentées. Ces identités correspondent à un ensemble de paramètres de base. Leur pose est repré-
sentée par un ensemble de position des articulations du squelette. Grâce à des poids reliant les jointures et les points de la surface, le maillage peut être généré. La figure 2.2 montre un squelette à gauche, les poids reliant articulations et sommets à droite, et le maillage résultant au milieu.

La figure 2.3 présente la différence entre les modèles SMPL, SMPL-H et SMPL-X. SMPL-H permet d'avoir un contrôle supplémentaire sur les mains, mais garde la même connectivité que SMPL. SMPL et SMPL-H génèrent des maillages ayant 6 890 sommets, alors que ceux générés avec SMPL-X possèdent 10 475 sommets.

Afin de générer des maillages, il est possible de manuellement sélectionner des positions et angles de jointures afin de produire des poses réalistes souhaitées. Néanmoins, cela demanderait trop de temps afin de générer des bases de données assez denses pour entraîner des modèles. La figure 2.4 présente des maillages générés en utilisant des positions d'articulations de squelette aléatoires. On voit que les surfaces générées ne sont pas réalistes, et que ce n'est pas une solution viable pour générer des bases de données. Mais la paramétrisation SMPL peut être utilisée en la couplant à des données issues de captures de mouvement en utilisant AMASS.

## 2.1.2 AMASS

AMASS [89] est une large base de données qui unifie plusieurs ensembles de captures de mouvement en les représentant avec SMPL. Elle est augmentée au fur et à mesure que de nouvelles captures sont adaptées au formalisme AMASS. Les bases de données sont téléchargeables à l'adresse suivante : https://amass.is.tue.mpg.de/. Elles sont stockées sous forme de paramètres SMPL, ce qui permet de fortement réduire la place occupée sur le disque dur (30 fois moins en comparaison avec la géométrie des surfaces directement). En revanche, cela implique un prétraitement qui peut être coûteux en temps afin d'obtenir la position des jointures des squelettes ou des sommets des surfaces.

BABEL [110] est une base de données qui permet d'annoter les animations contenues dans AMASS, et la page web accueillant le projet permet de les visualiser https://human-movement.is.tue.mpg.de/explore/.

Les bases de données proposées par AMASS sont des ensembles de paramètres représentant l'identité d'une personne et des positions et angles des articulations de squelettes dans le temps représentant le mouvement effectué. Pour générer des surfaces en utilisant AMASS, il faut donc extraire ces paramètres contenus dans des fichiers *npz* puis générer des maillages en utilisant le formalisme SMPL. Afin d'accélérer le processus d'entraînement d'un réseau, la méthode la plus efficace est d'abord d'effectuer cette extraction puis de stocker l'information surfacique générée. Mais stocker directement les sommets des surfaces est très coûteux en terme d'espace occupé sur le disque dur, et la méthode utilisée dans ce document concrètera plutôt le stockage de coefficients spectraux, introduits dans le chapitre 3. Plus
<figure><img src="image_8.png" /><figcaption>FIGURE 2.3 – Squelettes et connectivités des modèles. En haut : SMPL avec 6 890 sommets. Au milieu : SMPL-H avec 6 890 sommets. En bas : SMPL-X avec 10 475 sommets.</figcaption></figure>
<figure><img src="image_9.png" /><figcaption>FIGURE 2.4 – Maillages non réalistes générés en utilisant des positions de squelettes aléatoires. Cette méthode n’est pas viable pour créer une base de données d’entraînement.</figcaption></figure>

d'informations sur la manière de stocker ces surfaces seront données dans la partie 4.3.

SMPL permet donc de représenter efficacement des corps humains en mouvement en donnant la possibilité de stocker l'information de manière compressée mais en rendant un prétraitement obligatoire afin d'obtenir l'information correspondant aux surfaces. Cette méthode permet de générer des surfaces avec une connectivité constante ne possédant pas de bruit et peu de détails géométriques. Cette représentation de formes humaines simplifiées va permettre l'application de notre méthode comme nous le verrons plus tard. Néanmoins, les données brutes que nous visons à traiter dans de futurs travaux et issues de captures de mouvement sont en général représentées de manière plus complexe. C'est le cas des données fournies par la plateforme Kinovis.

### 2.1.3 KINOVIS

Kinovis est un environnement multi-caméras composé de deux plateformes complémentaires qui permet de capturer des surfaces en mouvement. Une première plateforme basée à l'INRIA Rhône-Alpes Grenoble est équipée d'un système de caméras couleur et d'un système de capture de mouvement. Elle permet la capture d'actions de formes mobiles telles que la marche ou la course. Les modèles spatio-temporels produits encodent des informations géométriques d'apparence dans le temps. Une deuxième plateforme installée aux Hôpitaux de Grenoble est équipée de caméras à rayons X et de caméras couleur. Elle permet la capture d'informations internes sur les parties du corps en mouvement en plus des informations de forme externes.

Dans la figure 2.5, on peut voir des exemples de maillages issus de la première plateforme. Chaque maillage a un nombre de sommets et une connectivité différents, comme illustré dans la figure 2.6. Aussi, les données peuvent présenter du bruit et des changements de topologie tels que des parties du corps collées entre elles comme les mains et la taille.
<figure><img src="image_10.png" /><figcaption>FIGURE 2.5 – Exemples de maillages issus de la plateforme KINOVIS. Chaque maillage possède un nombre de sommets et une connectivité différents.</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>FIGURE 2.6 – Différence de connectivité des maillages KINOVIS.</figcaption></figure>
L'objectif du projet dans lequel cette thèse s'inscrit était de mettre à disposition un ensemble dense de surfaces extrêment détaillées et en mouvement afin d'entraîner des modèles d'apprentissage profond (voir https://kinovis.inria.fr/4dhumanoutfit/). Mais la complexité du Règlement général sur la protection des données (RGPD) a fait que les bases de données n'ont pu être disponibles qu'à la fin de la thèse. Pour cette raison, les modèles ont été entraînés sur des données issues d'AMASS. De plus, étant donnée la différence de structure entre les données issues de la plateforme Kinovis et AMASS, des expériences supplémentaires auraient été nécessaires afin de faire fonctionner nos processus sur les maillages issus de la plateforme, ce que nous verrons dans les chapitres suivants.

## 2.2 Outils

Dans cette section, des détails sont donnés sur les outils utilisés durant la thèse, ainsi que sur les modifications qui leur ont été apportées afin de pouvoir les adapter à la problématique.

### 2.2.1 Apprentissage

Plutôt que de réimplémenter les algorithmes existants, des librairies les mettant à disposition ont été utilisées. Ces algorithmes d'apprentissage profond ont aussi besoin de puissance de calcul rendue disponible grâce à la possibilité d'accès au supercalculateur Jean Zay.

#### PyTorch

Implémenter des modèles d'apprentissage implique de créer des modèles, d'optimiser leurs paramètres, de les sauver/charger, et enfin de les utiliser pour prédire des résultats. Il existe plusieurs librairies permettant cela, telles que Tensorflow ou PyTorch. Chacune ont leur particularités et sont utilisées dans différents domaines, permettant aux développeurs de fabriquer ces modèles plus facilement. Par exemple, Tensorflow est plus utilisée dans le domaine de l'industrie puisqu'elle permet de déployer des modèles entraînés en production plus facilement. En revanche, PyTorch, plus simple d'utilisation, est préférable dans le cadre du domaine de la recherche puisqu'il est plus simple de prototyper et de tester rapidement avec cette librairie. Pour cette raison, et parce que beaucoup de modèles en lien avec le sujet de recherche sont implémentés avec cette dernière, notre choix s'est orienté vers l'utilisation de PyTorch.

#### PyTorch Lightning

La librairie PyTorch permet la création simplifiée de modèles d'apprentissage profond. En revanche, la logique d'entraînement et de test reste fastidieuse, surtout
lors de la phase de prototypage. PyTorch Lightning, une librairie à code source ou-
vert, permet de faciliter cette logique en réduisant drastiquement le nombre de lignes
de code à écrire. Elle a été créée pour résoudre les problèmes de répétition de code
tout en offrant une structure modulaire et extensible pour encourager une approche
plus structurée et organisée du développement. Aussi, elle permet une visualisation
des scores d'entraînement en proposant une utilisation facile de Tensorboard, une
application web qui permet de visualiser en temps réel l'avancement des calculs.
Cette librairie est utilisée dans les codes fournis des deux contributions de cette
thèse.

Ray Tune

Une autre tâche fastidieuse est la recherche de paramètres optimaux pour les
modèles implémentés. Ces hyperparamètres sont utilisés pour contrôler le processus
d'apprentissage, et les possibilités de configuration sont en général très nombreuses :
taux d'apprentissage (learning rate), nombre d'échantillons donnés par étape (batch
size), valeur de décrochage ou d'abandon (dropout), nombre de couches du modèle,
nombre d'étapes maximale, etc... Au lieu de tester un entraînement potentiellement
long pour chaque configuration de paramètres, il est possible d'utiliser la librairie
Ray Tune qui permet d'utiliser des algorithmes de l'état de l'art tels que Population
Based Training (PBT) ou HyperBand/ASHA afin de trouver automatiquement les
hyperparamètres qui donneront les meilleurs résultats. Durant la thèse, des tests ont
été réalisés en utilisant Ray Tune afin d'effectuer une recherche optimisée d'hyper-
paramètres.

LibTorch

Les librairies précédentes sont utilisées avec le langage *Python*, qui peut parfois
s'avérer lent étant donné qu'il est interprété. Pour pallier ce problème, il est pos-
sible d'utiliser LibTorch, similaire à PyTorch mais utilisant du code *C++*. Plusieurs
expériences ont été réalisées à l'aide de cette librairie durant la thèse, amenant à
des processus beaucoup plus rapides mais impliquant des temps de développement
et des codes plus long. Pour que les phases de prototypage soient plus rentables et
que les bases de code correspondant aux contributions soient plus accessibles après
publication, des librairies utilisant le langage *Python* ont été préférées.

Jean Zay

Jean Zay est un supercalculateur installé à l'IDRIS, centre national de calcul du CNRS, depuis 2019. Il est possible d'effectuer une demande d'attribution d'heures de calcul et environ 15 000 heures nous ont été attribuées. Afin de pouvoir lancer des calculs sur Jean Zay de manière efficace, plusieurs outils ont été développés durant la thèse : connexion automatisée en ssh, installation personnalisée d'environnements conda, compilation à distance de code C++, lancement automatisé de jobs, etc... Les
<figure><img src="image_12.png" /><figcaption>FIGURE 2.7 – Les deux visualiseurs utilisés : Polyscope à gauche et aitviewer à droite.</figcaption></figure>

cartes graphiques disponibles sur Jean Zay sont des NVIDIA V100. Une machine locale a tout de même été utilisée pour certains entraîements avec la configuration suivante : NVIDIA GeForce RTX 2070 Max-Q. L'utilisation de Jean Zay nous a permis d'entraîner simultanément et rapidement plusieurs modèles de tests.

## 2.2.2 Visualisation

Étant donné que les travaux portent sur des données représentant des surfaces, des librairies de visualisation 3D ont été utilisées et modifiées afin de tester les modèles créés.

### Polyscope

Polyscope est un visualiseur 3D utilisable avec Python ou C++ qui présente une interface simple d'utilisation. Avec cet outil, il est facile de visualiser des maillages triangulaires ainsi que des quantités à afficher sur chaque sommet. Polyscope a été utilisé pour la visualisation de données statiques. Il a ensuite fallu trouver un visualiseur plus performant en terme de fréquence d'affichage de surfaces 3D pour des séquences de maillages. Il est possible de rendre l'affichage plus efficace pour des animations en l'utilisant avec du C++, mais cela implique des temps de développement plus longs et des bases de codes plus denses. Une alternative donnant la possibilité d'utiliser du code Python tout en proposant un affichage plus efficace de ces animations a donc été sélectionnée : aitviewer.

### aitviewer

aitviewer est un ensemble d'outils qui permet la visualisation et l'interaction avec des séquences de données 3D. Il est utilisable en Python, permet d'ajouter facilement des interfaces, et permet de créer des vidéos de séquences générées.

Ces deux visualiseurs ont été exploités pour observer les données générées par les modèles implémentés. Cela signifie qu'ils ont été modifiés pour être capables
de charger et d'afficher les coefficients spectraux donnés en entrée aux modèles et décrits dans la section 3, d'afficher les maillages en résultant ou encore de réaliser des opérations d'interpolation dans les espaces latents créés par les réseaux (voir section 4). Ces modifications sont disponibles dans les bases de code fournies.

Nous avons vu dans ce chapitre les bases de données et les outils qui ont été utilisés, permettant la génération, le traitement et l'affichage de données 3D. Nous allons ensuite nous intéresser aux méthodes d'analyse spectrale appliquées à ce genre de représentations.
# Chapitre 3

## Traitement spectral de maillages

L'analyse spectrale de maillages triangulaires est une branche de l'informatique graphique qui permet de comprendre la structure et les propriétés de surfaces discrétisées en utilisant des outils similaires à la transformée de Fourier. La transformée de Fourier est utilisée pour analyser des signaux en les décomposant en une somme de fonctions sinusoïdales. De manière similaire, la transformée spectrale de maillages triangulaires utilise des opérateurs, matrices décrivant les relations entre les sommets des surfaces, en les décomposant en valeurs et vecteurs propres. L'analyse spectrale de maillages triangulaires a été introduite dans les années 90 et largement utilisée jusque dans les années 2010 avant de laisser place à des processus plutôt orientés vers l'apprentissage profond. Elle concerne de nombreuses applications telles que la compression de maillage, la reconnaissance de formes ou encore la mise en correspondance.

Dans ce chapitre, nous allons explorer les concepts fondamentaux de l'analyse spectrale de maillages triangulaires, en commençant par rappeler le fonctionnement de la transformée de Fourier et son lien avec l'opérateur Laplacien. Nous allons également montrer quelques résultats appliqués aux maillages de corps humains traités dans cette thèse, et enfin examiner les différentes applications de l'analyse spectrale de maillages triangulaires.

### 3.1 Transformée de Fourier et Laplacien

Ce qui a motivé le développement du traitement spectral appliqué à des surfaces était une analogie avec l'analyse de Fourier discrète classique. Pour introduire le traitement spectral de maillages, au lieu de directement manipuler des données 3D, nous commencerons par observer le lien entre transformée de Fourier et opérateur Laplacien sur des données à une dimension. Ensuite, des opérations de compression et de lissage seront présentées en utilisant l'opérateur Laplacien sur des signaux à deux dimensions représentant des courbes.
### 3.1.1 Signal à une dimension

La transformée de Fourier et de Laplace sont deux outils mathématiques puis- sants largement utilisés dans le domaine du traitement du signal pour analyser et comprendre le comportement des signaux à une dimension. Elles permettent de pas- ser d'une représentation temporelle d'un signal à une représentation fréquentielle ou complexe, offrant ainsi une perspective différente pour étudier les caractéristiques et les propriétés d'un signal.

#### Transformée de Fourier

Joseph Fourier exprime au XIXe siècle l'idée que toute fonction peut être décom- posée en somme de sinus et de cosinus. Cela a permis d'introduire la transformée de Fourier continue directe 3.1 et inverse 3.2.

$$X(f) = \int_{-\infty}^{\infty} x(t) \cdot e^{-2\pi i f t} dt \qquad (3.1)$$

$$x(t) = \int_{-\infty}^{\infty} X(f) \cdot e^{2\pi i f t} df \qquad (3.2)$$

Ici, la transformée d'un signal temporel $x(t)$, $t$ représentant le temps, à la fré- quence $f$ est désignée par le nombre complexe $X(f)$. L'évaluation de l'équation 3.1 pour toutes les valeurs de $f$ produit le signal dans le domaine fréquentiel. Pour chaque fréquence, la magnitude du nombre complexe $X(f)$ représente l'amplitude d'une sinusoïde complexe, et l'argument représente le décalage de phase de cette sinusoïde. Si une fréquence n'est pas présente dans le signal temporel d'origine, la transformée aura une valeur de 0 pour celle-ci. La transformée de Fourier inverse fournit quant à elle un processus de synthèse qui recrée le signal d'origine à partir de sa représentation dans le domaine fréquentiel.

La transformée de Fourier continue d'un signal temporel est une fonction conti- nue de la variable $f$. En informatique, pour représenter un signal quelconque, il n'est possible d'utiliser qu'un nombre fini de valeurs, et il est nécessaire de prendre en compte la version discrète de ces formules. Un signal continu est premièrement échantillonné ou discrétisé afin de ne garder qu'une suite discrète de valeurs de ce dernier, donnant un signal discret $x[n]$, avec $n \in [0, N - 1]$, $N$ étant le nombre d'échantillons. Depuis ce signal échantillonné, il est ensuite possible d'appliquer une transformée de Fourier discrète directe (Discrete Fourier Transform ou DFT) 3.3 puis inverse (Inverse Discrete Fourier Transform ou IDFT) 3.4.

$$X(k) = \sum_{n=0}^{N-1} x[n] \cdot e^{-2\pi i k n / N} \qquad (3.3)$$

$$x(n) = \frac{1}{N} \sum_{k=0}^{N-1} X[k] \cdot e^{2\pi i k n / N} \qquad (3.4)$$
<figure><img src="image_13.png" /><figcaption>FIGURE 3.1 – En haut à gauche, le signal étudié, composé de sommes de signaux représentés à sa droite. En bas, les modules de la transformée de Fourier du signal.</figcaption></figure>

La transformée de Fourier discrète permet de calculer les coefficients spectraux correspondant à un signal échantillonné. Par exemple, prenons un signal artificiel représenté dans la figure 3.1 en haut à gauche, composé de la somme de quatre signaux de différentes fréquences et amplitudes représentés à sa droite. Alors sa transformée de Fourier permet de visualiser les fréquences et les magnitudes des signaux dont il est composé, représentées en bas dans la figure 3.1. La transformée de Fourier est un moyen de déterminer quelles fréquences sont présentes dans un signal temporel ainsi que leur puissance.

Il est possible de reconstruire le signal d'origine depuis ces coefficients spectraux en utilisant une transformée de Fourier inverse. On peut voir sur la figure 3.2 plusieurs reconstructions partielles utilisant différents nombre de fréquences. Plus on utilise de fréquences, plus le signal est correctement reconstruit. Il est donc possible de construire des versions filtrées passe-bas du signal d'origine en n'utilisant que les basses fréquences, ou passe-haut en n'utilisant que les hautes. Les opérations de transformées directe et inverse permettent de réaliser des opérations de filtrage en manipulant le signal dans le domaine des fréquences.

L'évaluation de la transformée de Fourier discrète est réalisée pour plusieurs valeurs différentes de fréquences. Pour chacune de ces fréquences, elle est calculée comme la somme d'un produit entre l'échantillon $n$ du signal d'origine et le terme $e^{-2\pi ikn/N}$, avec $n \in [0, N - 1]$. L'expression de la transformée de Fourier discrète 3.3 est équivalente à celle d'un produit matriciel :

$$X = \Phi \cdot x \tag{3.5}$$

La matrice $\Phi$ est la matrice de la DFT et est représentée par :
<figure><img src="image_14.png" /><figcaption>FIGURE 3.2 – Reconstruction du signal en utilisant une transformée inverse et différents nombre de coefficients. De gauche à droite et de haut en bas : 20, 40, 60 et 100 fréquences.</figcaption></figure>

$$ \Phi = \begin{bmatrix} 1 & 1 & \cdots & 1 \\ 1 & e^{-2i\pi \frac{1}{N}} & \cdots & e^{-2i\pi \frac{N-1}{N}} \\ 1 & e^{-2i\pi \frac{2}{N}} & \cdots & e^{-2i\pi \frac{2(N-1)}{N}} \\ \vdots & \vdots & \ddots & \vdots \\ 1 & e^{-2i\pi \frac{N-1}{N}} & \cdots & e^{-2i\pi \frac{(N-1)^2}{N}} \end{bmatrix} \quad (3.6) $$

Les algorithmes de transformée de Fourier rapide (Fast Fourier transform ou FFT) utilisent les symétries contenues dans cette matrice afin de réduire le temps de calcul de cette transformée.

Les colonnes de cette matrice sont des vecteurs orthogonaux entre eux. Finalement, la transformée de Fourier discrète peut être vue comme la projection d'un signal sur une base orthogonale définie par la matrice $\Phi$. Maintenant, voyons comment cette base est reliée à l'opérateur de Laplace.

## Laplacien

L'opérateur de Laplace ou Laplacien est un opérateur différentiel donné par la divergence du gradient d'une fonction :

$$ \Delta f = \nabla^2 f = \nabla \cdot \nabla f \quad (3.7) $$

Intuitivement, le Laplacien d'une fonction en un point mesure la courbure moyenne locale de cette fonction en ce point. Il est possible d'approximer cet opérateur en Laplacien discret en utilisant la méthode des différences finies afin de pouvoir définir la matrice du Laplacien. Si l'on considère maintenant le signal comme périodique, il est possible de le prendre en compte comme étant les coordonnées d'un contour fermé échantillonné uniformément. Depuis la connectivité de ce contour, il est possible de créer la matrice du Laplacien de taille $n \times n$, selon sa définition :
$$L_{ij} = \begin{cases} \deg(v_i), & \text{si } i = j, \\ -1, & \text{si } i \text{ et } j \text{ sont adjacents,} \\ 0, & \text{sinon.} \end{cases} \qquad (3.8)$$

Le Laplacien encode la connectivité simple du signal : chaque échantillon est relié au précédent et au suivant, y compris le premier et le dernier en les considérant comme connectés. Cette matrice L a l'allure suivante :

$$L = \begin{bmatrix} 2 & -1 & 0 & \dots & \dots & 0 & -1 \\ -1 & 2 & -1 & 0 & \dots & \dots & 0 \\ 0 & -1 & 2 & -1 & 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0 & \dots & \dots & 0 & -1 & 2 & -1 \\ -1 & \dots & \dots & 0 & 0 & -1 & 2 \end{bmatrix} \qquad (3.9)$$

et peut être calculée comme $L = D - A$, avec D la matrice diagonale des degrés de chaque point du signal et A la matrice d'adjacence, qui seront identiques pour tous les signaux de la même longueur.

Cette matrice Laplacienne (Graph Laplacian), peut être considérée comme une forme matricielle de l'opérateur de Laplace discret. Ici, elle a d'abord été calculée sur un graphe simple représentant un signal périodique, mais elle peut aussi être définie pour des graphes plus complexes, comme nous le verrons dans la section 3.2. L'analyse spectrale appliquée à des graphes ressemble à la transformée de Fourier discrète classique, mais au lieu d'utiliser la base standard de sinusoides complexes, elle utilise les vecteurs propres de la matrice Laplacienne associée au graphe.

Ces vecteurs sont obtenus à l'aide d'une décomposition en éléments propres de la matrice L en utilisant par exemple la fonction eig de numpy. Si l'on compare les vecteurs propres obtenus avec ceux formant la base de la transformée de Fourier discrète (voir figure 3.3 en haut), on observe un comportement identique : le premier est constant et les suivants montrent des oscillations de plus en plus élevées. Il est ensuite possible de calculer les valeurs propres correspondant aux vecteurs de la matrice de la DFT associées à L ($L\Phi_i = \lambda_i\Phi_i$). Les valeurs propres correspondant aux vecteurs de la DFT existent et sont identiques aux valeurs propres calculées depuis L (voir figure 3.3 en bas), signifiant que les vecteurs de la DFT sont bien des vecteurs propres de L. Cela montre que la DFT permet de projeter les valeurs du signal sur une base de vecteurs propres qui peuvent être obtenus depuis un opérateur, le Laplacien.

Les vecteurs propres issus du Laplacien sont représentés par une matrice $\Phi$ de taille $n \times n$. Comme L est symétrique, les valeurs propres sont réelles et $\Phi$ est orthogonal. Ces vecteurs propres servent de base pour projeter le signal dans le domaine des fréquences avec une simple multiplication de matrice $X = \Phi^T x$ et exprimer le
signal $x$ en une somme de ces derniers. $X$ est un vecteur colonne dont chaque élé-
ment est un coefficient spectral $X_i$ qui est la projection du signal dans la direction
du $i$-ème vecteur propre.

Ici, il est important de noter que ces vecteurs propres et valeurs propres ne dépendent pas du signal mais simplement de sa longueur, ce qui ne sera plus le cas lorsque des graphes faits d'une connectivité plus complexe seront étudiés.

3.1.2 Contour fermé

Prenons maintenant le contour représenté dans la figure 3.4 en haut compre-
nant 426 échantillons. Ce contour est composé d'une séquence de points 2D dont
la première coordonnée évalue la position en abscisse et la deuxième en ordonnée
de chaque échantillon. Chaque coordonnée est représentée séparément dans la figure
3.4 en bas. Depuis ce contour, il est possible de construire une matrice de Laplace
de la même manière que dans les formules 3.8 et 3.9, que l'on peut ensuite décom-
poser en éléments propres afin d'obtenir des vecteurs propres, représentant une base
sur laquelle on peut projeter chaque composante du contour. Cette transformation
permet de représenter la courbe 2D dans le domaine fréquentiel et permet d'obtenir
deux ensembles de coefficients spectraux.

La figure 3.5 montre la reconstruction partielle du contour d'origine en n'uti-
lisant qu'une partie des coefficients spectraux calculés. Il est clair qu'en utilisant
simplement la moitié des fréquences disponibles, le contour reconstruit approxime
déjà correctement le contour d'origine. En bas de la figure 3.5 se trouve l'erreur entre
la courbe reconstruite et la courbe d'origine en fonction du nombre de fréquences
utilisées : les coefficients de basses fréquences contiennent la majorité de l'informa-
tion. Cette compaction de l'information dans le domaine spectral peut par exemple
être utilisée dans des applications de compression. Nous verrons dans les chapitres
suivants que nos contributions reposent sur cet aspect de l'analyse fréquentielle.

Pour un contour, l'analyse fréquentielle est donc réalisée de la même manière
que pour des signaux à une dimension en isolant chaque coordonnée de ce dernier.
Lorsque l'on souhaite traiter des surfaces représentées par un ensemble de points 3D
couplé à une triangulation, l'utilisation du Laplacien repose sur le même principe
mais son calcul est réalisé différemment en raison de la connectivité plus complexe
de la structure étudiée.

3.2 Opérateurs

De manière générale, les méthodes d'analyse spectrale appliquées à des maillages
concernent l'étude ou la manipulation des valeurs propres, vecteurs propres ou de
projections dérivées d'un opérateur. Bien avant que ces méthodes arrivent au do-
maine de l'informatique graphique, beaucoup de connaissances proviennent du do-
maine de l'analyse spectrale de graphes issues du papier pionnier de Fiedler et al.
[50].
<figure><img src="image_15.png" /><figcaption>FIGURE 3.3 – En haut, sur chaque ligne, comparaison des 10 premiers vecteurs propres de la matrice Laplacienne L et des vecteurs formant la base de la transformée de Fourier discrète. En bas, les valeurs propres de L et les valeurs propres calculées depuis les vecteurs formant la base de la transformée de Fourier.</figcaption></figure>
<figure><img src="image_16.png" /><figcaption>FIGURE 3.4 – En haut, une courbe représentée par une séquence de points 2D. En bas, la représentation séparée des deux coordonnées.</figcaption></figure>

Dans cette section, nous allons étudier le comportement de deux opérateurs permettant de transformer la géométrie d'un maillage 3D en coefficients spectraux. Ces maillages sont en général représentés par un ensemble de points 3D et une connectivité. Cela permet de représenter une surface 2D plongée dans un espace à trois dimensions en utilisant les sommets et faces de ces maillages. Dans la figure 3.6, nous pouvons voir à gauche un exemple d'un tel maillage, ainsi que la connectivité le représentant à sa droite. L'analyse spectrale de maillages repose sur l'exploitation des valeurs propres, vecteurs propres et projections provenant d'opérateurs définis de plusieurs manières différentes.

La plupart des méthodes spectrales se basent sur un processus commun qui peut être divisé en trois étapes :

o Une matrice représentant un opérateur est définie comme incorporant les relations entre les sommets du maillage. Ces relations peuvent prendre en compte seulement la connectivité ou combiner information topologique et géométrique.

o Cette matrice est décomposée en éléments propres, donnant valeurs et vecteurs propres.

o Selon l'application, les valeurs propres, vecteurs propres ou une projection sur les vecteurs propres sont utilisés.
<figure><img src="image_17.png" /><figcaption>FIGURE 3.5 – En haut, plusieurs reconstructions en utilisant différents nombres de coefficients : 25, 50, 150 et 213 sur les 426 disponibles. En bas, la distance moyenne entre chaque échantillon de la courbe reconstruite et de la courbe d'origine en fonction du nombre de fréquences utilisées.</figcaption></figure>

Les deux opérateurs abordés ensuite, la matrice Laplacienne (Graph Laplacian) et l'opérateur de Laplace-Beltrami, sont une généralisation à des surfaces courbes du Laplacien dans l'espace Euclidien. Le premier ne dépend pas de la géométrie et les vecteurs propres calculés peuvent être utilisés avec toutes les surfaces possibles utilisant la même triangulation, et il peut donc être nommé Laplacien topologique ou combinatoire. Le deuxième est la version géométrique du premier : l'opérateur de Laplace-Beltrami.

### 3.2.1 Matrice Laplacienne (Graph Laplacian)

La matrice Laplacienne découle du Laplacien classique, appliqué ici à des graphes, et provient du papier fondateur de Taubin et al. [129]. Dans ce cas de figure, la matrice du Laplacien sera différente de celle calculée dans les parties précédentes. En effet, la connectivité n'est plus représentée par de simples liens entre chaque échantillon mais par une connectivité plus complexe (voir figure 3.6 à droite). Néanmoins, la formule reste la même : $L = D - A$. Ainsi, depuis la seule connectivité du graphe ou du maillage, on pourra définir cette matrice que l'on pourra ensuite décomposer en vecteurs propres et valeurs propres.

Un maillage triangulaire est représenté par un ensemble de points P couplé à une triangulation T. Chaque point $p_i \in P$ est représenté par ses coordonnées cartésiennes $p_i = (x_i, y_i, z_i)$, $i \in [1, n]$, n étant le nombre de sommets du maillage. Chaque face $t_i \in T$ est représentée par les indices des sommets la constituant $t_i =$
<figure><img src="image_18.png" /><figcaption>FIGURE 3.6 – À gauche, un maillage. À droite, sa connectivité.</figcaption></figure>

<table><caption>TABLE 3.1 – Comparaison des temps de calcul des éléments propres. FAUST correspond à un maillage avec une connectivité SMPL ayant 6 890 sommets. Kinovis correspond à un maillage issu de la plateforme de l'INRIA ayant 16 418 sommets. Le fait que le calcul des vecteurs propres pour 2 048 fréquences soit plus long que pour 4 096 vient du solveur utilisé.</caption><thead><tr><th>Nombre d'éléments propres</th><th>FAUST</th><th>Kinovis</th></tr></thead><tbody><tr><td>4096</td><td>~28s</td><td>~518s</td></tr><tr><td>2048</td><td>~36s</td><td>~187s</td></tr><tr><td>1024</td><td>~9s</td><td>~43s</td></tr><tr><td>512</td><td>~3.5s</td><td>~11s</td></tr></tbody></table>

$(i_1, i_2, i_3), i \in [1, f], f$ étant le nombre de faces. Les matrices $D, A$ et donc $L$ peuvent être construites à partir de $T$.

La matrice $L$ est une matrice carrée de taille $n \times n$ depuis laquelle on peut calculer les $k$ premières valeurs propres $\lambda_i$, représentées par des scalaires, et les $k$ premiers vecteurs propres $\phi^i$ de dimension $n$ avec $i \in [1, k]$ et $k \le n$. Les paires de valeurs propres et vecteurs propres satisfont l'équation $-L\phi^i = \lambda_i\phi^i$. À l'aide d'un algorithme de décomposition en éléments propres, il est possible d'obtenir les $k$ vecteurs propres correspondant aux $k$ valeurs propres de plus faibles magnitudes. Ces vecteurs propres correspondent aux colonnes de la matrice suivante :

$$ \Phi = \begin{pmatrix} \phi_1^1 & \phi_1^2 & \dots & \phi_1^k \\ \vdots & \vdots & \vdots & \vdots \\ \phi_n^1 & \phi_n^2 & \dots & \phi_n^k \end{pmatrix} \qquad (3.10) $$
Le calcul de ces éléments propres est réalisé à l'aide de la fonction `eigs` de Matlab : le processus est dépendant de l'implémentation intégrée à la plateforme. Il est possible d'utiliser des fonctions similaires provenant de ` numpy ` ou `scipy` en `Python` mais les temps de calcul sont plus longs. La table 3.1 présente les temps de calcul pour deux surfaces différentes, l'une correspondant à une connectivité SMPL ayant 6 890 sommets (FAUST), l'autre correspondant à un maillage issu de la plateforme Kinovis ayant 16 418 sommets. Les calculs sont réalisés sur une machine locale (voir 1). Plus la connectivité a de sommets, plus le temps de calcul de ces éléments propres est long, même pour un nombre similaire d'éléments propres voulu. Mais comme nous l'avons vu précédemment pour des signaux, et comme nous allons le voir ensuite pour des surfaces, il est possible d'analyser un objet dans le domaine des fréquences sans avoir à calculer tout son spectre.

Dans la figure 3.7, plusieurs de ces vecteurs sont représentés sur un maillage en associant une couleur à chaque sommet en fonction de la valeur du vecteur propre en ce sommet (les valeurs du vecteur propre sont normalisées entre -1 et 1). On peut voir que celui correspondant à la première fréquence est identique partout, signifiant qu'il a un contrôle sur toute la surface. Ceux de basses fréquences présentent des oscillations faibles, signifiant qu'ils ont un contrôle sur des zones larges. Ceux de hautes fréquences présentent des oscillations élevées, signifiant qu'ils ont un contrôle plus localisé. Ils présentent un comportement oscillatoire et peuvent être considérés comme les modes de vibration ou les harmoniques de la surface, et les valeurs propres peuvent être considérées comme les fréquences. Il est possible d'observer leur capacité de contrôle en manipulant les coefficients spectraux obtenus depuis une transformée spectrale.

Les coefficients spectraux sont calculés à partir des coordonnées cartésiennes des sommets par la transformation spectrale $C = \Phi^T \cdot P$. Ils sont représentés par un ensemble de coordonnées fréquentielles 3D : $c_i = (u_i, v_i, w_i), i \in [1, k]$ (voir figure 3.8 en haut à gauche), ordonnées en fonction de la fréquence à laquelle elles sont associées. Une géométrie approximant celle d'origine peut être calculée en utilisant la multiplication de matrice $\hat{P} = \Phi \cdot C$, correspondant à une transformée spectrale inverse partielle. En fonction du nombre de fréquences $k$ utilisées, la géométrie retrouvée introduira plus ou moins d'erreurs (voir figure 3.9). Comme pour les signaux 1D, la notion de compaction de l'énergie apparaît : la plupart de l'information contenue dans la géométrie du maillage est compactée dans les basses fréquences, signifiant qu'elle peut être approximée ou compressée efficacement avec un faible nombre de coefficients spectraux.

Une modification des coefficients spectraux amène à des perturbations sur la géométrie du maillage dans le domaine spatial après une transformée spectrale inverse, comme illustré dans la figure 3.8. Les perturbations simulées ici sont simplement des translations d'un coefficient sur un axe. Le coefficient spectral de fréquence *i* possède un contrôle sur les zones affectées par le vecteur propre correspondant illustré dans la figure 3.7. Dans la figure 3.8, les modifications apportées aux spectres sont naïves et mènent naturellement à des perturbations qui ne sont pas réalistes.
<figure><img src="image_19.png" /><figcaption>FIGURE 3.7 – Plusieurs vecteurs propres correspondant, de gauche à droite et de haut en bas, aux fréquences : 0, 1, 2, 3, 4, 5, 32, 64, 128 et 256.</figcaption></figure>
<figure><img src="image_20.png" /><figcaption>FIGURE 3.8 – a) : exemple de coefficients spectraux. De b) à j) : perturbations lorsque différents coefficients spectraux sont affectés correspondant respectivement aux fréquences : 1, 2, 3, 4, 5, 32, 64, 128 et 256. La couleur de chaque sommet indique sa distance avec le sommet correspondant du maillage de référence, allant du bleu (pas d'erreur) au rouge (erreur maximale) : la perturbation d'un coefficient de fréquence *i* modifie la zone qu'affecte le vecteur propre *i*.</figcaption></figure>
<figure><img src="image_21.png" /><figcaption>FIGURE 3.9 – Distances moyennes entre les sommets correspondant de transformation directe puis inverse en fonction du nombre de vecteurs propres choisi. Les maillages affichés correspondent respectivement à 64, 512, 1 024 et 6 890 fréquences. En utilisant toutes les fréquences disponibles (6 890, le nombre de sommets), la géométrie exacte est récupérée.</figcaption></figure>

Le concept de nos travaux repose sur ces deux principes (manipulation des coefficients spectraux et compaction de l'énergie) : plutôt que d'apprendre à un algorithme comment faire évoluer les sommets de la surface dans le domaine spatial directement, il est possible de lui apprendre comment se comportent une partie des coefficients dans le domaine des fréquences. Cela permet d'introduire un contrôle sur la quantité d'information traitée (le nombre de fréquences donné), et permet aux modèles d'apprentissage profond présentés dans les chapitres suivants d'être entraînés sur des bases de données plus denses sans augmenter le temps de traitement. Le mouvement d'un corps humain concerne des variations globales et non les détails des surfaces qui sont plutôt liées à la morphologie. L'algorithme aura donc accès à l'information importante contenue dans les basses fréquences.

Dans les figures 3.10 et 3.11, la compaction de l'énergie dans le domaine spectral est illustrée pour des maillages représentant une même surface discrétisée difficilement en fonction du pourcentage ou non du nombre total de coefficients. Pour chaque exemple, le maillage de base est un maillage issu de la plateforme Kinovis, et ceux composés de moins de sommets sont obtenus en appliquant un algorithme de décimation d'arêtes (Quadric Edge Collapse Decimation). Les courbes représentent l'erreur entre le maillage d'origine décimé ou non et le maillage reconstruit en fonction du nombre de fréquences disponibles utilisées. En utilisant des maillages ayant plus de sommets, la capacité de compression reste efficace. Cela montre qu'il est possible d'utiliser ces principes sur des surfaces plus détaillées.

Finalement, on peut s'intéresser à la structure du domaine spectral en obser-
<figure><img src="image_22.png" /><figcaption>FIGURE 3.10 – Erreur de reconstruction en fonction du pourcentage de fréquences utilisées. Pour chaque maillage (décimé ou non), l’erreur exprime la distance moyenne entre les sommets correspondants de celui d’origine et celui reconstruit après une transformée directe puis inverse.</figcaption></figure>

<figure><img src="image_23.png" /><figcaption>FIGURE 3.11 – Erreur de reconstruction en fonction du nombre de fréquences utilisées. Pour chaque maillage (décimé ou non), l’erreur exprime la distance moyenne entre les sommets correspondants de celui d’origine et celui reconstruit après une transformée directe puis inverse.</figcaption></figure>
<figure><img src="image_24.png" /><figcaption>FIGURE 3.12 – Exemple d’interpolation entre les deux maillages a) et d). b) est une interpolation dans l’espace spatial et c) est une interpolation dans l’espace spectral en utilisant 512 fréquences sur les 6 890 disponibles.</figcaption></figure>

vervant le comportement d'une interpolation dans ce dernier. Soient deux maillages $M_0$ et $M_1$, ayant la même connectivité, les géométries $P_0$ et $P_1$ dans le domaine spatial, et pour coefficients spectraux $C_0$ et $C_1$. Deux interpolations linéaires sont possibles en utilisant les formules $P_0 * (1-a) + P_1 * a$ et $C_0 * (1-a) + C_1 * a$. Après avoir appliqué une transformation inverse aux coefficients interpolés, il est possible de comparer le résultat de l’interpolation de la géométrie directement et des coefficients spectraux. La figure 3.12 présente ce résultat avec une valeur de $a = 0.5$. Le domaine des fréquences se comporte de la même manière que le domaine spatial, dû au fait que les transformations spectrales directe et inverse sont des transformations linéaires, à l’exception de la suppression des hautes fréquences et donc des détails visible sur la figure 3.12.

L'interpolation dans le domaine spectral de deux surfaces différentes avec une même topologie est possible puisque la matrice Laplacienne est construite depuis la connectivité seulement. L'opérateur de Laplace-Beltrami présenté ensuite est quant à lui construit depuis la géométrie du maillage.

### 3.2.2 Opérateur de Laplace-Beltrami

Après les résultats présentés par Taubin et al. [129], d'autres travaux [109, 100, 77] ont suggéré d'utiliser un processus différent pour construire l'opérateur : le schéma classique utilisant des cotangentes (classic cotangent scheme) [109]. Ainsi, l'opérateur de Laplace-Beltrami dépend de la géométrie de chaque maillage. Il est construit comme $L = A^{-1}W$ avec :
<figure><img src="image_25.png" /><figcaption>FIGURE 3.13 – Angles et aires de Voronoi. L’image provient de http://rodolphe-vaillant.fr/entry/20/ compute-harmonic-weights-on-a-triangular-mesh.</figcaption></figure>

$$A = \begin{pmatrix} A_0 & & & \\ & \ddots & & \\ & & A_{n-1} & \\ & & & W_0 & \\ & & & & W_{n-1} \end{pmatrix}, W = \begin{pmatrix} W_0 & & & \\ & \ddots & & \\ & & W_{n-1} & \\ & & & \ddots & \\ & & & & W_n \end{pmatrix} \quad (3.11)$$

où $A_i$ est l’aire du polygone formé par les centres des cellules du diagramme de Voronoï des triangles situés autour du sommet $i$ et $W_i = \frac{1}{2*A_i} \sum_{j \in N(i)} (cot\alpha_{ij}+cot\beta_{ij})$, voir figure 3.13.

L’opérateur $L$ est aussi une matrice de taille $n*n$, avec $n$ le nombre de sommets du maillage, et le spectre peut être calculé en résolvant le problème aux valeurs propres généralisé : $-W\phi^i = \lambda_i A\phi^i$. Comme pour la décomposition utilisée pour la matrice Laplacienne, $k$ valeurs propres et vecteurs propres sont obtenus qui ont un comportement similaire : oscillations différentes en fonction de la fréquence associée et possibilité de projection pour obtenir les coefficients spectraux. Comme pour la version combinatoire de l’opérateur, les vecteurs propres présentent un comportement harmonique et peuvent être considérés comme les modes de vibration ou les harmoniques de la surface (voir figure 3.7), et les valeurs propres peuvent être considérées comme les fréquences.

La construction de l’opérateur de Laplace-Beltrami le rend invariant aux déformations presque isométriques et aux changements de discrétisations. Cela signifie que pour une surface représentant un sujet (une personne, une identité), les vecteurs et valeurs propres calculés seront invariants à la discrétisation ou topologie utilisée et à la pose dans laquelle le sujet est capturé. Cette propriété est surtout assurée dans les basses fréquences [105], les hautes fréquences pouvant présenter des inversements d’ordre ou de signe. C’est pourquoi cette base est utilisée dans le processus des cartes fonctionnelles (Functional Maps) dont plus de détails seront donnés dans la section 3.4.

Maintenant, voyons pourquoi l’utilisation du Laplacien topologique est plus adaptée dans notre cas. La figure 3.14 présente une comparaison de reconstruction en
<figure><img src="image_26.png" /><figcaption>FIGURE 3.14 – Comparaison de reconstructions en utilisant 2 048 coefficients sur les 6 890 disponibles. À gauche : le maillage d'origine, au milieu : en utilisant la matrice Laplacienne, à droite : en utilisant l'opérateur de Laplace-Beltrami. La couleur indique la distance entre les sommets correspondant du maillage d'origine et celui reconstruit, le bleu étant une distance nulle et le rouge une distance maximum. Dans ce cas, la matrice Laplacienne permet de mieux reconstruire les détails (mains, visage, pieds...) mais introduit globalement plus d'erreurs sur le corps.</figcaption></figure>
utilisant les deux opérateurs introduits jusqu'ici en utilisant le même nombre de co-
efficients (2 048). Il est clair que l'opérateur ne prenant en compte que la topologie a
une meilleure capacité de reconstruction, notamment au niveau du visage, des mains
et des pieds. Les maillages reconstruits en utilisant un nombre limité de fréquences
seront de meilleure qualité en utilisant cet opérateur, ce qui représente un premier
avantage.

Ensuite, on voit que projeter un signal issu d'une surface sur les vecteurs propres d'un opérateur est similaire à une transformée de Fourier. Néanmoins, une différence à prendre en compte est que dans le cas 1D, n'importe quel signal peut être projeté sur la même base à partir du moment où ils ont la même longueur puisque la connectivité sera toujours la même. En revanche, dans le cas d'une surface 2D plongée dans un espace 3D, la connectivité peut être changeante entre deux maillages. Cela donne un calcul de l'opérateur différent en fonction de la connectivité et de la géométrie dans le cas de l'opérateur de Laplace-Beltrami.

Pour deux surfaces différentes mais ayant la même connectivité, la base de dé-
composition spectrale de la matrice Laplacienne sera identique, alors que la base
de décomposition spectrale de l'opérateur de Laplace-Beltrami sera différente. En
revanche, pour deux surfaces identiques mais représentées par une discrétisation dif-
férente, la décomposition du Laplacien topologique sera différente alors que celle de
l'opérateur de Laplace-Beltrami, en raison de ses propriétés, est censée être identique
puisque l'opérateur est robuste aux changements de topologie. Ainsi, en considérant
que notre objectif est d'étudier des surfaces dans un unique domaine spectral, l'uti-
lisation d'un opérateur topologique ou géométrique dépend de la situation dans
laquelle on se trouve :

* cas d'une base de données composée d'une seule triangulation comme SMPL :

* le Laplacien topologique sera identique pour tous les maillages et la décomposition en éléments propres ne sera effectuée qu'une seule fois.

* l'opérateur de Laplace-Beltrami sera différent pour tous les maillages et la décomposition en éléments propres sera effectuée pour chaque échantillon. Il est tout de même possible de ne calculer qu'une seule fois la décomposition en éléments propres sur un maillage de référence, mais la projection d'autres maillages sur les vecteurs propres obtenus depuis cette dernière introduira une erreur. Il vaut donc mieux utiliser le Laplacien topologique.

* cas d'une base de données composée de plusieurs triangulations comme *KINOVIS* :

* le Laplacien topologique sera différent pour chaque maillage et la décomposition spectrale devra être recalculée pour chaque échantillon, rendant le processus long et difficilement utilisable en pratique. De plus, les espaces dans lesquels seront projetées les géométries seront différents, et l'étude des coefficients spectraux n'aura pas de sens sans synchronisation spectrale.

* l'opérateur de Laplace-Beltrami sera aussi différent pour chaque maillage.
Ensuite, si pour une même identité cet opérateur est censé être robuste
aux déformations presque isométriques, le nombre de sommets des dis-
crétisations sera différent et la projection directe de la géométrie sur une
autre base ne sera pas possible en raison des dimensions différentes des
matrices. Dans ce cas, il faudra calculer des synchronisations spectrales
comme nous le verrons ensuite (voir section 3.4), ou remailler tous les
échantillons de la même manière pour se retrouver dans la situation d'une
connectivité commune.

Dans notre cas, l'utilisation du Laplacien topologique est donc plus adaptée, sur-
tout en raison de l'utilisation de la base de données AMASS utilisant le formalisme
SMPL. Pour des travaux futurs, il est tout de même intéressant de voir comment
il est possible de synchroniser des domaines spectraux. Pour pouvoir calculer la
ressemblance entre les vecteurs propres de deux maillages différents, nous pouvons
utiliser un processus introduit il y a une dizaine d'années : les cartes fonctionnelles
[105] (Functional Maps ou FM). Leur fonctionnement sera expliqué et des expé-
riences seront présentées après avoir abordé d'autres opérateurs, et surtout après
avoir abordé la notion de descripteurs utiles à leur calcul.

3.2.3 Autres opérateurs

Selon la manière dont est construit l'opérateur, il possèdera des caractéristiques
le rendant invariant à certaines transformations ou le rendant capable de capturer
certains types d'information. Le Laplacien topologique est invariant à toute trans-
formation pour une même connectivité : les valeurs et vecteurs propres seront alors
identiques pour n'importe quelle surface représentée, et les coefficients spectraux
seront fonction de la géométrie. En revanche, les valeurs et vecteurs propres seront
différents si une même surface est représentée par une connectivité différente. L'opé-
rateur de Laplace-Beltrami est, quant à lui, invariant aux transformations presque
isométriques : les valeurs et vecteurs propres sont censés être identiques pour une
même surface représentée dans une pose différente avec la même connectivité. Pour
deux surfaces identiques mais avec une discrétisation différente, les descripteurs qui
en découlent sont censés être identiques. Cela le rend très utile pour des applications
de mise en correspondance de surfaces (shape matching) comme dans le processus de
calcul des FM, à défaut de ne pas être complètement robuste à des changements de
connectivité comme nous le verrons dans la section 3.4. Pour cette raison, l'opérateur
de Laplace-Beltrami est dit intrinsèque, signifiant qu'il ne dépend pas de l'immer-
sion de la surface dans l'espace 3D, c'est à dire de la pose ou de la discrétisation
de l'objet. D'autres opérateurs ont été introduits dans la littérature (voir l'état de
l'art de Wang et al. [142]) afin qu'ils soient capables de capturer une information
extrinsèque.

Opérateur de Dirac. Crane et al. [37] ont introduit l'opérateur de Dirac. En calculant des valeurs qui encodent des remises à l'échelle et des rotations, ils décrivent la géométrie extrinsèque d'une déformation en utilisant des quaternions. Krostikov et al. [68] ont aussi travaillé sur l'opérateur de Dirac et montrent qu'il détecte la courbure principale d'une surface et capture mieux les détails des formes que le
Laplacien lié à la courbure moyenne. L'opérateur de Dirac est récent et la littérature le concernant est moins abondante que celle concernant le Laplacien. Il est aussi coûteux en performance : des améliorations futures pourraient le rendre plus accessible.

*Opérateur de Dirac relatif*. En 2017, Liu et al. [85] utilisent un nouvel outil, l'opérateur de Dirac relatif (Relative Dirac), qui mène à une famille d'opérateurs allant de complètement intrinsèque jusqu'à extrinsèque. Ye et al. [149] ont aussi travaillé sur ce même type d'opérateur, mais cette fois-ci unifié. La discrétisation de ce Dirac, à la fois intrinsèque et extrinsèque, doit encore faire ses preuves dans plusieurs applications afin d'être approuvée. Il reste encore à comprendre son rôle et quelles informations géométriques elle peut capturer dans différentes situations. Hoffmann et al. [61] donnent plus de détails mathématiques.

*Opérateur de Steklov (Dirichlet-to-Neumann)*. Wang et al. [141] ont travaillé sur l'opérateur de Dirichlet-to-Neumann, aussi appelé Steklov, et proposent une alternative extrinsèque au Laplacien en amenant des justifications théoriques. Cet opérateur fournit une information volumétrique sur la géométrie du maillage. Il est conclu que leur méthode a besoin d'une optimisation pour améliorer le temps de calcul.

L'information contenue dans ces opérateurs extrinsèques est supérieure à celle capturée par le Laplacien topologique ou l'opérateur de Laplace-Beltrami, et il serait intéressant d'essayer de s'en servir pour développer un processus plus adapté aux différentes poses possibles du corps humain. Néanmoins, comme pour l'opérateur de Laplace-Beltrami, un calcul dudit opérateur serait nécessaire pour chaque échantillon, ralentissant fortement la vitesse du programme. De plus, comme dit précédemment, leur calcul reste coûteux en temps, et des recherches plus poussées sur la manière dont ils sont calculés seraient nécessaires pour qu'ils soient intégrés à notre processus, ce qui est hors du cadre de cette thèse.

À partir de ces opérateurs, il est possible de calculer des signatures, aussi appelées descripteurs, qui vont permettre de représenter les sommets d'une surface en utilisant des vecteurs de plus haute dimension et contenant plus d'information.

## 3.3 Signatures / descripteurs

De nombreuses applications concernant l'analyse de surfaces ont besoin que ces dernières soient représentées dans un format plus informatif en raison de l'expressivité limitée des seuls sommets modélisant ces surfaces. Un descripteur, aussi appelé signature, est un vecteur de dimension supérieure qui permet de décrire une surface dans un espace compact étant donné un point de cette dernière. Un état de l'art des descripteurs disponibles a été rédigé par Rostami et al. [117].

Dans la suite de cette section, $\lambda_i$ et $\phi^i$ représentent respectivement les valeurs et vecteurs propres de l'opérateur de Laplace-Beltrami (voir section 3.2 pour plus de détails).
*Signature de Point Globale.* Rustamov et al. [118] ont proposé un descripteur de caractéristique locale appelé Signature de Point Globale (Global Point Signature ou GPS). Cette signature est basée sur les vecteurs propres de l'opérateur de Laplace-Beltrami en chaque point de la surface. Elle est invariante sous des déformations isométriques de la forme mais souffre d'un problème de commutation des fonctions propres lorsque les valeurs propres associées sont proches les unes des autres. Elle est calculée comme suit :

$$GPS(p) = \left( \frac{1}{\sqrt{\lambda_1}} \phi_1(p), \frac{1}{\sqrt{\lambda_2}} \phi_2(p), \frac{1}{\sqrt{\lambda_3}} \phi_3(p), \dots \right) \quad (3.12)$$

où $\lambda_i$ est la i-ème valeur propre, $\phi_i$ le i-ème vecteur propre et $p$ un point de la surface discrétisée.

*Signature du noyau de la chaleur.* La signature du noyau de la chaleur (Heat Kernel Signature ou HKS) est introduite par Sun et al. [126]. Elle est définie par :

$$HKS(p) = \sum_{i=0}^{\infty} \exp(-\lambda_i t) \phi_i^2(p) \quad (3.13)$$

En général, $i$ ne va pas aller jusqu'à l'infini mais plutôt jusqu'à un nombre limité de fréquences. HKS mesure l'information du voisinage des points et a été utilisée dans des applications de comparaison de surface. Cette mesure assigne à chaque point de la surface un vecteur qui représente à chaque pas de temps $t$ le montant de chaleur retenue en ce point. Ainsi, la diffusion de la chaleur sur la surface peut être calculée grâce à cette matrice de taille $n \times t$, $n$ étant le nombre de sommets. Cette signature est construite sur les vecteurs propres de l'opérateur de Laplace-Beltrami et permet de mesurer l'information géométrique intrinsèque d'une forme. Elle est robuste aux déformations presque isométriques et stable contre du potentiel bruit contenu dans l'approximation de la surface. Mais une analyse de Fourier montre que HKS est fortement dominée par l'information des basses fréquences qui correspondent aux propriétés macroscopiques d'une surface. Deux extensions connues sont Scale Invariant HKS [18] et Volumetric HKS [115].

*Signature du noyau d'onde.* La signature du noyau d'onde (Wave Kernel Signature ou WKS) a été introduite par Aubry et al. [7]. Elle est tirée de la mécanique quantique pour capturer des détails multi-échelles de formes 3D. L'équation de Schrödinger est utilisée pour représenter le mouvement de particules mécaniques quantiques sur la surface. Comme pour HKS, chaque point de la surface sera représenté par un vecteur, mais cette fois-ci avec une probabilité de mesurer une particule quantique en ce point avec une fonction de distribution d'énergie initiale. WKS est donc paramétrée en utilisant des fréquences plutôt que le temps, et peut contrôler l'accès aux hautes fréquences. Cette signature permet une description plus précise que HKS. Elle est aussi intrinsèque, informative et stable.

*Signature de point locale.* La signature de point locale (Local Point Signature ou LPS) est introduite par Wang et al. [139]. Elle est aussi basée sur l'opérateur de
Laplace-Beltrami, est plus résiliente que HKS ou WKS aux transformations et aux changements d'échelle, de rotation et de connectivité en combinant les avantages d'un descripteur intrinsèque et extrinsèque. Mais le calcul de ce descripteur, qui a besoin d'une décomposition pour chaque sommet, est très coûteux en temps de calcul.

*Signature de décomposition de l'énergie d'ondelettes.* La signature de décomposition de l'énergie d'ondelettes (*Wavelet Energy Decomposition Signature* ou WEDS) a été proposée par Wang et al. [140]. Comparé à LPS, WEDS utilise des ondelettes pour capturer des informations à la fois locales et globales, ce qui est plus efficace.

Ces signatures découlent de l'opérateur de Laplace-Beltrami et sont donc intrinsèques, les amenant à être utilisées dans des applications qui concernent de la mise en correspondance de surfaces (*shape matching*) comme les cartes fonctionnelles (*Functional Maps*).

## 3.4 Cartes fonctionnelles (*Functional Maps*)

Comme nous l'avons vu précédemment, une base de données peut être faite de maillages n'ayant pas la même connectivité ni le même nombre de sommets. Lorsque les surfaces contenues dans cette base de données représentent des objets qui peuvent être mis en correspondance, comme des corps humains, une tâche intéressante est de pouvoir définir des liens entre des sommets ou des zones des différents objets (tête, bras, mains, etc...). Cette problématique est depuis longtemps étudiée dans le domaine de l'informatique graphique et de nombreuses méthodes ont été proposées pour la résoudre.

Ovsjanikov et al. [105] ont introduit la notion de cartes fonctionnelles (*Functional Maps* ou FM). Définir des liens entre deux surfaces équivaut à définir une carte sommet à sommet entre ces deux dernières. Néanmoins, les méthodes basées sur le calcul dans le domaine spatial d'une carte sommet à sommet souffrent en général d'une sensibilité au bruit ou de la difficulté à sélectionner une échelle appropriée. Les FM résolvent cette problématique en considérant une mise en commun plus générale entre des fonctions définies sur ces surfaces en passant par le domaine spectral.

Le processus est le suivant. Étant données deux surfaces dont on cherche les correspondances, l'opérateur de Laplace-Beltrami est d'abord calculé depuis la géométrie et la topologie de ces deux dernières, puis est décomposé en valeurs propres et vecteurs propres, donnant deux représentations spectrales correspondant aux deux surfaces depuis lesquelles des descripteurs (WKS) sont ensuite calculés. L'opérateur de Laplace-Beltrami est utilisé puisqu'il est censé être invariant aux transformations presque isométriques et aux changements de connectivité. L'objectif est ensuite de calculer une matrice carrée $C$ (représentant la FM) qui va minimiser plusieurs énergies, la principale étant la différence entre les descripteurs projetés dans le domaine spectral et synchronisés grâce à la matrice. $C$ permet finalement de calculer une
<figure><img src="image_27.png" /></figure>

FIGURE 3.15 – Les deux premiers maillages sont ceux étudiés pour calculer la carte fonctionnelle. Le troisième est représenté en utilisant une couleur pour chaque sommet en fonction de l'indice de ce dernier. Le quatrième représente le résultat de la carte point à point calculée. Le dernier représente le premier maillage exprimé avec la connectivité du deuxième après une synchronisation spectrale. Une inversion au niveau du cou entraîne une mauvaise synchronisation spectrale.

carte sommet à sommet entre les deux surfaces étudiées, et surtout de pouvoir synchroniser les domaines spectraux de deux surfaces n'ayant pas la même connectivité ni le même nombre de noeuds.

Dans la théorie, cet outil pourrait être extrêmement utile afin de pouvoir étudier des bases de données composées de maillages n'ayant pas la même connectivité dans un espace spectral commun. Néanmoins, les caractéristiques de l'opérateur de Laplace-Beltrami et son implémentation font que son utilisation reste encore aujourd'hui difficile à appliquer. En effet, bien que l'opérateur de Laplace-Beltrami soit censé être invariant aux déformations presque isométriques, il est tout de même relativement sensibles à ces mouvements, surtout dans les hautes fréquences, en présentant des inversions ou des changements de vecteurs propres. Par ailleurs, l'implémentation des cartes fonctionnelles est fortement renforcée par l'utilisation de repères en désignant des sommets correspondants sur les deux surfaces, nécessitant une potentielle annotation d'utilisateurs.

Dans la figure 3.15, un calcul de carte fonctionnelle est présenté, réalisé à l'aide du code disponible à cette adresse : https://github.com/RobinMagnet/pyFM. Le premier maillage est extrait de FAUST [13] et correspond à la paramétrisation SMPL. Le deuxième maillage est aussi extrait de FAUST et représente la même identité que le premier dans une pose différente mais a été remaillé uniformément. Les deux surfaces n'ont donc pas le même nombre de sommets ni la même connectivité. Après un calcul de la carte fonctionnelle et de la carte sommet à sommet correspondante, nous pouvons voir une asymétrie apparaître au niveau du cou. Cela donne une mauvaise synchronisation spectrale, et donc une mauvaise expression de la géométrie du premier maillage avec la connectivité du second, visible sur le dernier maillage de la
figure.

De plus, le calcul de cette carte fonctionnelle est conséquent : 1 à 2 minutes en utilisant une configuration locale (voir 1). Cela serait inenvisageable pour une base de données comprenant beaucoup d'échantillons. Par ailleurs, la synchronisation spectrale est réalisée sur seulement 50 coefficients spectraux, ce qui amène à un maillage généré après synchronisation ne présentant pas les détails contenus dans les hautes fréquences. Calculer cette synchronisation en utilisant plus de fréquences amènerait à des temps de calcul encore plus longs.

De nombreux travaux ont été publiés depuis l'introduction des cartes fonctionnelles essayant d'améliorer la qualité des liens trouvés entre les surfaces, en utilisant par exemple des modèles d'apprentissage profond. Même si aujourd'hui encore ce processus ne permet pas de trouver des correspondances parfaites, on peut imaginer que dans le futur soient utilisés d'autres opérateurs ou descripteurs permettant un calcul plus efficace de ces correspondances.

## 3.5 Applications

Dans cette section, nous allons explorer l'exploitation du domaine spectral dans la littérature en ce qui concerne les maillages triangulaires. Comme indiqué dans la section 1.1.3, l'analyse spectrale de maillages triangulaires est étroitement liée aux avancées dans le domaine de l'analyse spectrale des graphes. Cependant, de nombreuses recherches se sont concentrées spécifiquement sur l'analyse des maillages triangulaires. Dans cette section, nous discuterons de l'utilisation de l'information spectrale sans recourir à l'apprentissage profond, tandis que dans la section consacrée aux travaux connexes sur l'apprentissage profond statique (section 4.2), nous examinerons les techniques de génération de maillages utilisant ce domaine spectral couplé à des réseaux de neurones. Des études sont disponibles concernant cet état de l'art : [124, 153, 142]. L'analyse de maillage discret peut être considérée comme une spécialisation de l'analyse de graphes. Depuis l'introduction du Laplacien topologique [129] et de l'opérateur de Laplace-Beltrami [109, 100, 77], de nombreuses applications ont été présentées qui utilisent un opérateur pour étudier une surface.

Certaines utilisent directement les valeurs propres obtenues après une décomposition de l'opérateur de Laplace-Beltrami, par exemple pour de l'indexation de surfaces [153]. Cependant, étant donnée l'invariance aux transformations presque isométriques de l'opérateur, il est difficile de reconnaître correctement une forme 3D en utilisant uniquement les valeurs propres (one cannot hear the shape of a drum [54]). Des méthodes plus récentes proposent tout de même des solutions en utilisant des procédures numériques [36] ou des réseaux de neurones [94, 95, 107].

D'autres méthodes utilisent les vecteurs propres, en plus des valeurs propres, pour la segmentation de maillages, la reconstruction de surfaces, la détection de symétrie et le partitionnement (clustering) notamment [153]. Dans ce cas, il est par
exemple possible de calculer des descripteurs, comme vus dans la section 3.3, afin d'évaluer des correspondances entre des formes représentant une même surface dans différentes poses, comme les cartes fonctionnelles [105]. Le processus les calculant a ensuite été amélioré en utilisant l'apprentissage profond [84, 42]. Néanmoins, comme pour l'utilisation des seules valeurs propres, il est difficile de récupérer une surface depuis un descripteur.

Finalement, quelques méthodes utilisent directement la projection des sommets d'une surface sur les vecteurs propres pour la compression ou le tatouage numérique [153], ou pour filtrer/renforcer certaines fréquences [134]. Cette projection de la géométrie sur les vecteurs propres, donnant des coefficients spectraux, a peu été utilisée dans la littérature à l'exception de travaux appliquant des convolutions à des graphes ou à des surfaces en utilisant le théorème de convolution (une convolution dans le domaine spatial est une multiplication dans le domaine spectral). Mais ces méthodes réalisent tout de même des opérations dans le domaine spatial, les rendant toujours dépendantes de la résolution et de la discrétisation des surfaces étudiées.

## 3.6 Conclusion

Dans ce chapitre, nous avons vu comment le traitement spectral de maillages triangulaires est lié à la transformée de Fourier et au Laplacien, comment l'intro-duction de plusieurs opérateurs dans la littérature permettent d'étudier des surfaces dans le domaine spectral, et comment la projection des sommets d'un maillage sur les vecteurs propres d'un opérateur permettent d'obtenir les coefficients spectraux, représentant la géométrie de l'objet étudié d'une manière compactée. Dans le pro-chain chapitre, nous allons voir comment ces coefficients spectraux peuvent être exploités afin d'entraîner des modèles d'apprentissage profond.
# Chapitre 4

## Apprentissage d'une représentation adaptée à des maillages 3D

L'objectif de ce chapitre est de présenter le processus qui nous a permis d'aboutir à une architecture rendant possible la publication [74] qui concerne le traitement statique de l'information. Après avoir introduit la problématique, nous examinerons les travaux similaires de l'état de l'art. Ensuite, nous exposerons les expériences préliminaires réalisées afin de montrer quelles ont été les méthodes utilisées pour aboutir à notre architecture. Finalement, nous présenterons des résultats comparant notre méthode à celles de l'état de l'art.

### 4.1 Introduction

Le succès des méthodes d'apprentissage profond ces dix dernières années et la disponibilité accrue de bases d'entraînement issues de captures de formes en mouvement rendent nécessaire l'introduction de modèles capables d'analyser, comprendre et générer ce nouveau type de données résidant dans un domaine à 4 dimensions. Avant cela, il est nécessaire d'orienter le travail de thèse vers le développement d'algorithmes traitant des échantillons statiques sans prendre en compte l'information temporelle.

Les couches les plus courantes de techniques d'apprentissage en profondeur telles que les convolutions, l'agrégation (pooling) et le sur-échantillonnage (upsampling) permettent de généraliser les poids appris à des données non vues afin de classer, segmenter ou reconstruire/générer à partir d'un espace latent, comme nous l'avons vu dans le premier chapitre. Par exemple, les autoencodeurs sont des outils utiles pour extraire des caractéristiques importantes des échantillons observés de manière non supervisée. Cette architecture est celle que nous utilisons principalement dans nos expériences puisque les données sont en général non annotées. Il est donc nécessaire de développer des algorithmes capables de traiter l'information de manière non supervisée. De plus, en forçant les données en entrée à passer par un goulot d'étranglement, nous espérons obtenir réseau capable de construire un espace latent représentant fidèlement la variété des échantillons d'entrée comme toutes les poses
possibles d'un corps humain par exemple. Cette propriété intéressante offre un moyen
de générer de nouvelles données par interpolation dans cet espace de plus petite di-
mension créé par le réseau. Lors de l'apprentissage sur des images, l'utilisation des
convolutions est bien définie, puisque le domaine a une structure euclidienne. Mais
lors de l'apprentissage sur des graphes ou des surfaces, puisque l'information se situe
maintenant dans un domaine non-euclidien, l'application des architectures connues
utilisant des convolutions, de l'agrégation ou du sur-échantillonnage devient difficile.

La première idée serait de traiter directement la sortie brute des modélisations
3D, mais les méthodes prenant des nuages de points en entrée manquent souvent
de l'information disponible dans une connectivité lorsque les objets étudiés sont
des formes humaines qui peuvent être déformées avec des transformations presque
isométriques. La deuxième idée est d'ajouter des liens à ces nuages de points afin
de les transformer en maillages triangulaires avec beaucoup de sommets, puis en les
donnant à des réseaux de neurones. Les méthodes existantes ne sont pas, à l'heure
actuelle, en mesure de traiter efficacement des données 3D se trouvant sur une grille
non structurée avec une connectivité changeante, en particulier lorsqu'il s'agit de
corps humains. Ainsi, la plupart du temps, les modèles étudiés nécessitent un type
d'entrée plus simplifié comme des maillages avec une connectivité constante et un
petit nombre de sommets, comme ceux générés par le formalisme SMPL [87] qui
paramétrise une surface par des angles d'articulation 3D et un espace de faible
dimension.

Les méthodes de l'état de l'art traitent ces maillages à connectivité constante
soit dans le domaine spatial, soit dans le domaine spectral. En général, elles sont
contraintes par le nombre de sommets, ce qui rend l'apprentissage coûteux et long
lorsque les maillages ont beaucoup de nœuds. Nous visons à résoudre ces problèmes
en utilisant des méthodes d'analyse spectrale d'une manière différente : nous cher-
chons à ne prendre en compte que l'information géométrique importante contenue
dans les basses fréquences des coefficients spectraux afin d'alléger la quantité de
données fournies d'une part, et à réaliser la totalité de l'entraînement dans le do-
maine spectral afin de réduire le temps d'apprentissage d'autre part. Un tel modèle
permettra ensuite de créer une représentation adaptée au corps humain.

4.2 État de l'art

Afin de transférer les techniques d'apprentissage profond aux données 3D, les premières méthodes utilisent des voxels ou des images. Les méthodes utilisant des nuages de points ne reposent que sur les coordonnées cartésiennes de chaque point, alors que les méthodes utilisant des graphes ou maillages exploitent cette connectivité, et peuvent être utilisées dans deux domaines différents : spatial ou spectral. Les lecteurs intéressés peuvent se référer aux synthèses [146, 17, 1, 145, 148, 144, 24, 137]. Ici, nous nous concentrerons sur les nuages de points et maillages triangulaires.
## 4.2.1 Nuages de points

La plupart des méthodes basées sur les nuages de points proviennent des travaux de Charles et al. [28] (PointNet) et Qi et al. [111] (PointNet++). PointNet applique des convolutions à un nuage de points en traitant les noeuds un par un, signifiant que l'architecture ne traduit pas la structure locale de l'objet. PointNet++ applique plutôt des convolutions à des voisinages de noeuds, rendant plus accessible la structure locale de l'objet. Aumentado-Armstrong et al. [9] ont défini un VAE capable de séparer l'information intrinsèque et extrinsèque dans le domaine spectral de manière non supervisée. Cosmo et al. [35] ont introduit une contrainte géométrique forte en faisant en sorte que l'espace latent préserve les distances géodésiques calculées à l'aide des travaux de Crane et al. [38] sur les surfaces générées. Rakotosaona et al. [112] ont présenté une architecture à double autoencodeur, l'une extrayant les caractéristiques des nuages de points et l'autre extrayant les caractéristiques des longueurs d'arête. Ensuite, en liant les deux espaces latents, le réseau est capable d'interpoler de manière réaliste entre deux nuages de points en utilisant l'espace latent des longueurs d'arête. Toutes ces architectures utilisent PointNet comme encodeur et permettent d'étudier une topologie variable. Cela réduit les limitations dans le type de données d'entrée utilisées, mais les rend également incapables de rendre compte de la corrélation locale entre les sommets voisins : tout en ayant l'avantage d'utiliser des architectures simples et efficaces, leur capacité à révéler les caractéristiques locales des surfaces est souvent inférieure à celle des structures ayant accès à l'information de connectivité. Plus récemment, Thomas et al. [132] ont introduit KPConv qui traite chaque nœud d'un nuage de points en le pondérant en fonction des distances euclidiennes avec son voisinage, ayant ainsi plus d'informations sur la corrélation locale de la surface. Cependant, ces liens sont obtenus à l'aide d'un algorithme des K plus proches voisins, et des liens locaux erronés peuvent être trouvés. Les méthodes utilisant les architectures PointNet ou KPConv manquent alors d'informations de connectivité, en particulier lors du traitement de surfaces représentant des corps humains, et les méthodes exploitant des structures de type maillages triangulaires sont souvent plus performantes.

Le principal problème lors du transfert d'architectures d'apprentissage profond connues vers des maillages est que la grille représentant la surface manque de structure générale. Les architectures utilisant la connectivité peuvent être distinguées en deux catégories : celles utilisant des calculs dans le domaine spatial et celles utilisant des calculs dans le domaine spectral.

## 4.2.2 Domaine spatial

Dans le domaine spatial, la connectivité d'un maillage est complexe et irrégulière : il faut spécifier un ordre pour pouvoir parcourir les nœuds. Afin de pouvoir utiliser une fenêtre glissante sur les sommets, les méthodes basées dans le domaine spatial doivent définir des convolutions basées sur les relations entre ces nœuds en calculant des poids entre eux. L'opération de convolution sur ces graphes irréguliers a été définie de différentes manières. Premièrement, ces poids peuvent être
statiques, appris avec un calcul de prétraitement. Des techniques avec modèles de mélange/paramétrisation locale ont été utilisées : Masci et al. [99] ont appliqué des filtres à des patchs locaux représentés en coordonnées polaires géodésiques. Boscaini et al. [15] ont exploité la même idée en formulant des patchs intrinsèques locaux sur les maillages, et Fey et al. [49] ont utilisé des systèmes de pseudo-coordonnées locales prédéfinis sur les graphes. De plus, des techniques avec des convolutions en spirale ont été introduites dans les travaux préliminaires de Lim et al. [82] avec SpiralNet. Bouritsas et al. [16] ont utilisé des convolutions en spirale couplées à un autoencodeur basé sur l'architecture CoMA avec Neural3DMM [114]. Gong et al. [53] ont proposé une version améliorée avec SpiralNet++ [53]. Hanocka et al. [58] ont appliqué convolutions et sous-échantillonnages à des maillages en utilisant l'information contenue dans les arêtes. Huang et al. [62] ont introduit une fonction de coût basée sur des déformations aussi rigides que possible (As-Rigid-As-Possible ou ARAP) qui est combinée avec un réseau inspiré de FeastNet de Verma et al. [136]. Milano et al. [101] ont regroupé les caractéristiques des arêtes et des faces à l'aide de mécanismes d'attention. Ensuite, ces filtres peuvent être appris dynamiquement. Monti et al. [102] ont introduit MoNet, un modèle de mélange avec des poids appris. Verma et al. [136] ont présenté FeastNet, un opérateur de convolution de graphe permettant le calcul de correspondances dynamiques entre les poids du noyau et les nœuds voisins avec une connectivité arbitraire. Zhu et al. [155], inspirés de la méthode utilisant des spirales, ont proposé des convolutions pondérées par sommet.

### 4.2.3 Domaine spectral

Une autre voie de recherche utilise la théorie des graphes dans le domaine spectral. En transformant d'abord les nœuds d'un graphe à l'aide des vecteurs propres du Laplacien topologique (Graph Laplacian), une couche de convolution peut être écrite comme un produit. L'un des premiers travaux utilisant cette méthode a été introduit par Bruna et al. [20]. Mais les calculs induits par la transformée spectrale directe et inverse étant coûteux, Defferrard et al. [40] ont utilisé des polynômes de Chebyshev tronqués et Kipf et al. [65] n'ont utilisé que des polynômes de Chebyshev du premier ordre qui ont entraîné des processus plus rapides. Cela a abouti à un autoencodeur proposé par Ranjan et al. [114]. D'autres polynômes ont également été utilisés, comme ceux de Cayley par Levie et al. [76] et ceux de Zernike par Sun et al. [127]. Mais ces méthodes utilisent encore le domaine spatial pour le traitement des données d'entrée, ce qui ralentit le processus. Marine et al. [93], avec son extension [96], ont présenté un modèle qui apprend à reconstruire une forme 3D lorsqu'elle est uniquement représentée comme valeurs propres de l'opérateur de Laplace-Beltrami en entrée, tout en en créant un processus génératif qui utilise des interpolations ou des transferts de style. De même, Pegoraro et al. [107] génèrent une forme 3D à partir d'un modèle également basé sur des valeurs propres mais provenant d'un mélange de plusieurs opérateurs. Plus récemment, Sharp et al. [121] adoptent la diffusion pour obtenir un modèle indépendant de l'échantillonnage, de la résolution et de la représentation, mais seulement destiné à la classification ou la segmentation : de nouvelles expériences sont nécessaires pour rendre ce modèle génératif.
De manière générale, les méthodes de l'état de l'art sont soit trop lentes pour pouvoir traiter des bases de données denses, soit destinées à d'autres tâches que la génération de données. Nous visons à résoudre ces problèmes en utilisant des techniques d'analyse spectrale d'une manière différente : en tirant profit des propriétés du domaine des fréquences telles que la compaction de l'énergie et l'ordre des valeurs propres, notre objectif est de créer une représentation adaptée au corps humain qui soit indépendante du nombre de sommets des surfaces étudiées et de transférer les opérations simples utilisées en apprentissage profond à des maillages triangulaires.

## 4.3 Bases de données

Pour entraîner efficacement des modèles d'apprentissage profond, la première étape consiste à créer une base de données qui va jouer un rôle essentiel dans l'entraînement. Généralement, une grande quantité d'exemples est nécessaire pour comprendre des phénomènes complexes. Plus la quantité est importante, plus le modèle a de chances d'identifier des motifs significatifs et de bien généraliser lorsqu'il est confronté à de nouveaux échantillons. Pour comprendre l'impact de la taille de ces bases, nous allons en créer deux distinctes présentant des dimensions et des distributions différentes. Le même formalisme (SMPL [87]) sera utilisé pour garantir que les surfaces générées aient la même connectivité. Cette approche nous permettra d'observer comment la taille des bases de données influence l'apprentissage. Un nombre d'échantillons trop faible pourra potentiellement entraîner des problèmes tels que le surajustement, la mauvaise capacité à généraliser, et la non stabilité des performances. Ces impacts seront visualisés lors de l'entraînement de modèles sur ces deux ensembles.

**DFaust.** La première base de données est tirée des travaux de Bogo et al. [14]. Elle est composée de 41 220 maillages, soit 10 identités effectuant plusieurs actions. Les données sont divisées en 32 535 échantillons pour l'entraînement, représentant les 8 premières identités, et 8 685 échantillons pour le test représentant les 2 dernières identités. Cette base de données contient un faible nombre d'exemples mais permettra de tester en premier lieu des architectures sans entraînement trop long.

**AMASS.** La deuxième base de données utilisée correspond aux travaux de Mahmood et al. [89]. Elle est une unification de plusieurs autres bases de données en ajustant le modèle SMPL [87] aux capteurs de mouvement. Elle est en constante évolution et de nouvelles données issues de nouvelles captures sont intégrées au fur et à mesure. Nous suivons le protocole classique pour diviser les données : 1 pose sur 100 est sélectionnée dans la partie médiane à 90 % de chaque séquence (le début et la fin de l'animation ne sont pas pris en compte), ce qui donne 111 327 maillages pour l'entraînement et 10 733 pour le test. Les identités ne sont pas partagées entre les ensembles de données d'apprentissage et celui de test.

Il est possible, en utilisant SMPL, de contrôler l'orientation et l'identité des surfaces générées. Dans un premier temps, afin de faciliter la tâche des réseaux, les
surfaces créées seront toutes centrées et orientées dans la même direction. À la fin du chapitre, des expériences supplémentaires montreront comment il est possible de fournir cette information de translation et d'orientation. Pour rappel, des illustrations de maillages générés avec le formalisme SMPL et la manière dont ils sont obtenus sont présentés dans la section 2.1.

Afin de visualiser la différence de représentation, une version contenant l'information spatiale (les positions des sommets) et une autre version contenant l'information spectrale (les coefficients spectraux) sont créées. La figure 4.1 montre les moyennes et écarts types des deux représentations pour la base de donnée DFaust. Dans le domaine spatial, ces valeurs sont exprimées pour chaque sommet (6 890 au total). Les moyennes et écarts types sont relativement identiques pour tous les sommets, à l'exception de l'axe Y pour lequel les variations sont légèrement plus importantes en raison de mouvements verticaux. En revanche, dans le domaine spectral, les basses fréquences possèdent des moyennes et écarts types bien plus élevées que les fréquences moyennes. Cette différence d'amplitude est liée à la compaction de l'énergie : les coefficients spectraux basse fréquence correspondant à des zones globales de la surface ont une contribution plus élevée que ceux des hautes fréquences correspondant aux détails.

L'étude de la distribution d'un jeu de données est une étape importante dans la conception de modèles d'apprentissage profond. Elle permet de mieux comprendre la nature des données manipulées, ce qui peut aider à prendre des décisions lors de l'implémentation des modèles, notamment concernant la manière de calculer la fonction de coût. Un modèle d'apprentissage va donner plus d'importance à des valeurs qui ont une grande amplitude, aux détriment des autres ayant des amplitudes plus faibles. Dans le domaine spatial, il n'y a pas d'intérêt à donner plus d'importance à certains sommets. C'est pourquoi il est nécessaire de standardiser chaque coordonnées avant de calculer la fonction de coût afin de pouvoir donner une importance égale à chaque zone de la surface. En revanche, dans le domaine des fréquences, il sera plus judicieux de calculer cette fonction de coût sur des données non standardisées puisque des erreurs dans les hautes fréquences auront moins d'impact.

La figure 4.2 présente les moyennes et écarts types des deux représentations spatiale et spectrale pour la base de donnée AMASS. Étant donné que les maillages sont centrés et orientés, il n'y pas de grande différence entre DFaust et AMASS. En revanche, nous verrons dans la section 4.7 que si les informations de translation et de rotation sont utilisées, les deux bases de données sont différentes (AMASS contient une plus grande variété de mouvements).

Maintenant que des bases de données ont été créées, nous allons pouvoir entraîner plusieurs types de réseaux de neurones depuis ces dernières.
<figure><img src="image_28.png" /></figure>

FIGURE 4.1 – Illustration des moyennes et des écarts types de la base de données DFaust. Les maillages sont centrés à l'origine et orientés dans la même direction.

<caption>a) axes X, Y et Z représentés dans le domaine spatial. b) axes représentés dans le domaine spectral. c) axes représentés dans le domaine spectral en utilisant un zoom. Pour le domaine spectral, seulement 128 fréquences sont représentées.</caption>
<figure><img src="image_29.png" /><figcaption>FIGURE 4.2 – Illustration des moyennes et des écarts types de la base de données AMASS. Les maillages sont centrés à l'origine et orientés dans la même direction.</figcaption></figure>

a) axes X, Y et Z représentés dans le domaine spatial. b) axes représentés dans le domaine spectral. c) axes représentés dans le domaine spectral en utilisant un zoom. Pour le domaine spectral, seulement 128 fréquences sont représentées.
## 4.4 Expériences préliminaires

Notre objectif fondamental est d'optimiser le processus d'entraînement des réseaux de neurones en éliminant les informations non essentielles qui se trouvent dans les détails superficiels des données afin de créer une représentation adaptée au corps humain. Il est bien établi qu'un signal peut être fidèlement approximé en utilisant un ensemble relativement restreint de coefficients spectraux comme présenté dans le chapitre dédié au traitement spectral des maillages (voir chapitre 3), en particulier ceux correspondant aux basses fréquences. Notre idée est de se baser sur cette notion de compaction énergétique des signaux. En alimentant un réseau de neurones exclusivement avec des coefficients spectraux porteurs d'une quantité significative d'énergie, nous pouvons résoudre plusieurs problèmes inhérents au traitement des maillages triangulaires. L'un de ces défis majeurs réside dans le nombre élevé de sommets et leur absence d'ordre naturel. La compaction spectrale permet de réduire considérablement la quantité de données qui est transmise au modèle, ce qui permet d'améliorer l'efficacité et la performance globale du réseau. De plus, l'ordre des données en entrée peut être défini de manière structurée en fonction des valeurs propres et donc de la différence d'amplitude entre les coefficients spectraux. Cela permet de créer un ordre significatif dans les données brutes, ce qui simplifie considérablement le processus d'analyse et d'interprétation. Dans cette section, nous verrons en détail les étapes qui nous ont permis d'implémenter une architecture capable de comprendre comment le corps humain est représenté et comment il peut se déformer. Des expériences préliminaires seront réalisées afin de comprendre le comportement de différentes architectures.

### 4.4.1 Autoencodeur complètement connecté

Afin de débuter les tests concernant la recherche d'architectures de modèles prenant en entrée des coefficients spectraux, nous nous sommes concentrés sur des réseaux utilisant des couches simples. La base de données n'étant pas annotée, et l'objectif étant de générer de nouveaux échantillons réalistes, un candidat intéressant est l'autoencodeur qui permet d'apprendre de manière non supervisée et qui permet de produire un espace latent depuis lequel il est possible d'interpoler des données. Pour les couches le composant, le choix le plus simple est un assemblage de couches entièrement connectées et de couches d'activation. Les tests seront réalisés sur 4 différentes tailles d'espace latent (8, 16, 32, 64) et 512 fréquences. Le fonctionnement de ce réseau est illustré dans la figure 4.3. Il n'y a pas de fonction d'activation après la couche dense donnant l'espace latent et la couche dense donnant les coefficients spectraux en sortie afin que les valeurs calculées ne soient pas dans un intervalle tronqué. Durant l'entraînement, il n'y a pas besoin de calculer les deux transformées spectrales puisque les coefficients spectraux sont directement stockés et que la fonction de coût du réseau est calculée entre les coefficients spectraux en entrée et en sortie.

Dans la figure 4.4, différentes valeurs calculées sont présentées. À gauche, la valeur de la fonction de coût calculée entre les coefficients spectraux en entrée et
<figure><img src="image_30.png" /><figcaption>FIGURE 4.3 – Processus du réseau entièrement connecté. Les dimensions sont entre crochets et les opérations sont en gras, **FC** étant une transformation effectuée par une couche dense et **act** une couche d'activation. L'entraînement est réalisé sur les coefficients spectraux directement, sans transformées spectrales directe et inverse.</figcaption></figure>
<figure><img src="image_31.png" /><figcaption>FIGURE 4.4 – Différentes valeurs calculées lors de l'entraînement du réseau entièrement connecté en fonction de la taille de l'espace latent. À gauche, la fonction de coût. À droite, l'erreur moyenne en millimètres sur l'ensemble de test entre les maillages en entrée et en sortie.</figcaption></figure>

<figure><img src="image_32.png" /><figcaption>FIGURE 4.5 – Fonctionnement de l'interpolation dans l'espace latent.</figcaption></figure>

en sortie est affichée en fonction du temps d'entraînement : pour tous les modèles, l'apprentissage fonctionne (la fonction de coût diminue) et le réseau apprend à reconstruire les échantillons de l'ensemble d'entraînement. Naturellement, les modèles ayant un espace latent de taille plus grande parviennent mieux à reconstruire les échantillons d'entraînement. À droite, le score de reconstruction sur la base de test est présenté. Le score de reconstruction est calculé comme la distance moyenne en millimètres entre chaque sommet dans le domaine spatial d'un maillage en entrée et en sortie. On voit ici que les modèles ayant un espace latent de taille plus grande parviennent mieux à généraliser sur les échantillons de l'ensemble de test. Un phénomène intéressant est aussi mis en valeur sur le graphique de droite : les courbes correspondant aux espaces latents de taille 8 et 16 "remontent" au bout d'un certain temps d'entraînement. Cela reflète un surapprentissage (*overfitting*) : le réseau apprend trop à reproduire les échantillons d'entraînement et n'arrive plus à généraliser. Plusieurs éléments peuvent causer cela, comme le trop grand nombre de paramètres du modèle ou le nombre insuffisant d'échantillons dans la base d'entraînement.

Ici, cela est probablement causé par la petite taille de l'espace latent. Néan-
moins, cette taille réduite permet de créer un phénomène intéressant. La qualité
<figure><img src="image_33.png" /><figcaption>FIGURE 4.6 – Interpolations dans des espaces latents de plusieurs dimensions. Pour chaque ligne, l'interpolation est réalisée entre les deux maillages des colonnes "Mesh 1" et "Mesh 2". Les colonnes "Latent 8, 16, 32, 64" correspondent à l'interpolation illustrée dans la figure 4.5, et la colonne "Domaine spatial" correspond à une interpolation dans le domaine spatial directement. Chaque interpolation est calculée en utilisant $α = 0.5$.</figcaption></figure>

d'un autoencodeur peut en effet être mesurée par sa capacité de compression et de généralisation en mesurant l'erreur entre des données en entrée et en sortie. Mais une autre fonctionnalité d'un autoencodeur est sa capacité à détecter les caractéristiques importantes d'une base de données, refletée par la manière dont est construit l'espace latent, et observable en interpolant deux échantillons dans ce dernier (figure 4.5).

Dans la figure 4.6, plusieurs interpolations sont illustrées en utilisant les espaces latents des modèles présentés dans la figure 4.4. Pour chaque ligne, l'interpolation est réalisée entre les deux maillages aux extrémités. Les colonnes "Latent 8, 16, 32, 64" correspondent à une interpolation dans l'espace latent et la colonne "Domaine spatial" correspond à une interpolation dans le domaine spatial directement.
<figure><img src="image_34.png" /><figcaption>FIGURE 4.7 – Différentes valeurs calculées lors de l'entraînement du réseau entièrement connecté en fonction du nombre de fréquences utilisées. À gauche, la fonction de coût. À droite, l'erreur moyenne en millimètres sur l'ensemble de test entre les maillages en entrée et en sortie.</figcaption></figure>

Chaque interpolation est calculée en utilisant $\alpha = 0.5$. On voit que les modèles ayant un espace latent de taille faible (8 et 16) sont capables de créer des interpolations réalistes qui conservent les longueurs de bras des maillages. En revanche, les modèles ayant un espace latent plus grand (32 et 64) produisent des interpolations qui se rapprochent plus de ce que l'on obtient directement dans le domaine spectral ou spatial (pour rappel, une interpolation dans le domaine spatial ou spectral est identique, voir section 3.2.1). Un modèle qui crée un espace latent dont la structure est identique à l'espace en entrée n'est utile que si l'on cherche simplement à compressor l'information. Un modèle créant un espace latent représentant correctement des échantillons réalistes de l'espace en entrée est lui capable de capturer les informations importantes de ce dernier, au détriment d'une bonne capacité de reconstruction. Maintenant, un objectif intéressant est d'essayer de fournir plus de fréquences au modèle afin qu'il ait accès aux détails contenus dans les fréquences plus hautes tout en ayant une capacité de génération intéressante.

La figure 4.7 présente l'évolution de la fonction de coût et de la reconstruction pour deux modèles utilisant des couches entièrement connectées et différents nombres de coefficients spectraux : 512 fréquences (858K paramètres) pour l'un et 1 024 fréquences (1.6M paramètres) pour l'autre. Bien que la fonction de coût soit plus basse pour le modèle utilisant 1 024 fréquences, l'erreur moyenne sur l'ensemble de test reste plus grande. Cela signifie que le modèle utilisant 1 024 fréquences surapprend plus que le modèle utilisant 512 fréquences, et qu'un modèle utilisant des couches entièrement connectées n'est pas viable si l'on cherche d'une part à augmenter le nombre de fréquences données au réseau, et d'autre part à diminuer ce surapprentissage. Il faut donc utiliser une autre architecture qui va permettre d'obtenir le même genre de résultat mais en utilisant moins de paramètres.
<figure><img src="image_35.png" /><figcaption>FIGURE 4.8 – Illustration d'un autoencodeur convolutif utilisant 512 fréquences.</figcaption></figure>

<figure><img src="image_36.png" /><figcaption>FIGURE 4.9 – Différentes valeurs calculées lors de l'entraînement de réseaux entièrement connectés et convolutifs en fonction du nombre de fréquences fournies et de l'architecture utilisée. À gauche, la fonction de coût. À droite, l'erreur moyenne en millimètres sur l'ensemble de test entre les maillages en entrée et en sortie.</figcaption></figure>

4.4.2 Autoencodeur convolutif

Un autoencodeur convolutif (Convolutional Neural Network ou CNN), est représenté par la même architecture que précédemment mais en y ajoutant des couches de convolutions. Une telle architecture utilisant 512 fréquences est illustrée dans la figure 4.8. L'autoencodeur convolutif ajoute au modèle standard de l'autoencodeur des couches de convolution qui sont particulièrement efficaces pour extraire des caractéristiques de manière locale. Grâce aux opérations de sous-échantillonnage, ces convolutions sont aussi capables de détecter des caractéristiques de manière globale. Le nombre de paramètres est aussi réduit avec cette architecture en comparaison à l'utilisation de couches entièrement connectées (603K paramètres pour 512 fréquences et 1.1M pour 1 024 fréquences).

La figure 4.9 compare les fonctions de coût et les scores sur l'ensemble de test entre des modèles utilisant 512 ou 1 024 fréquences et entre des architectures utilisant des couches entièrement connectées ou des convolutions. On voit que les modèles utilisant des convolutions ne présentent pas de surapprentissage et que le score de
<figure><img src="image_37.png" /><figcaption>FIGURE 4.10 – Illustration du processus général proposé. Un maillage, situé dans le domaine spatial (coordonnées *x*, *y*, *z*) est transformé en coefficients spectraux (coordonnées *u*, *v*, *w*). Ensuite, un autoencodeur est utilisé afin de reconstruire ces coefficients spectraux en les faisant passer à travers un espace latent. La phase d'entraînement est entièrement réalisée dans le domaine spectral. Enfin, un maillage peut être récupéré à partir des coefficients spectraux en sortie en utilisant une transformée spectrale inverse.</figcaption></figure>

reconstruction décroît, contrairement à ceux des architectures utilisant des couches entièrement connectées. Par ailleurs, le modèle utilisant 1 024 fréquences et des convolutions est capable de mieux généraliser que le modèle utilisant 1 024 fréquences et des couches entièrement connectées. Cela montre qu'utiliser des convolutions permet de considérer plus de fréquences sans observer de surapprentissage, comme c'est le cas avec des couches entièrement connectées. C'est pourquoi nous allons maintenant nous concentrer sur l'utilisation de convolutions. Dans la partie suivante, la première contribution de la thèse est présentée.

## 4.5 SAE

Jusqu'ici, nous avons montré comment le traitement spectral de maillages tri-angulaires pouvait être utilisé afin de transformer la géométrie d'une surface en coefficients spectraux, et comment ces derniers peuvent être donnés en entrée à un réseau de neurones de type autoencodeur. Une illustration du processus général est présentée dans la figure 4.10. Ce processus, nommé autoencodeur spectral (*Spectral Autoencoder* ou SAE), représente la première contribution de la thèse et est présentée plus en détail dans cette section.
<figure><img src="image_38.png" /><figcaption>FIGURE 4.11 – Illustration de l'autoencodeur spectral avec agrégation apprise utilisant 4 096 fréquences (SAE-LP-4096).</figcaption></figure>

## Contributions principales

Le processus présenté permet d'utiliser des architectures traditionnelles sur des surfaces en utilisant une représentation spectrale des maillages. Les coefficients spectraux, calculés en transformant la géométrie depuis le Laplacien topologique (*Graph Laplacian*), sont ordonnés en fonction de la fréquence qui leur est associée. Ensuite, en utilisant une architecture de type autoencodeur, nous pouvons directement appliquer des convolutions et des opérations de sous et sur-échantillonnage à ces coefficients. Notre méthode appartient à la classe des modèles génératifs basés sur un autoencodeur destiné à traiter des formes 3D. Les principaux apports du réseau proposé sont :

* l'application de techniques d'apprentissage profond aux coefficients spectraux de maillages triangulaires sans revenir dans le domaine spatial,

* une architecture qui peut traiter les maillages de manière allégée en utilisant un nombre de fréquences inférieur au nombre de sommets,

* une architecture qui donne de meilleurs résultats de manière beaucoup plus rapide que les méthodes de l'état de l'art afin de pouvoir traiter de grands ensembles de données.

Le code et un modèle pré-entraîné sont disponibles à l'adresse suivante : https://github.com/MEPP-team/SAE.

Le modèle utilisé crée une représentation compacte de formes humaines déformables qui partagent une structure topologique commune. La figure 4.11 illustre ce modèle. La principale application recherchée utilisant cette représentation est la génération, mais d'autres sont possibles comme la classification, la segmentation, la correspondance ou la recherche de formes similaires.

Afin de pouvoir comparer notre processus à ceux de l'état de l'art, nous donnons ici plus de détails sur le prétraitement des données et sur l'application des convolutions et des opérations de sous et sur-échantillonnage aux coefficients spectraux.

### 4.5.1 Prétraitement

La première étape du prétraitement est le calcul des vecteurs propres. Ensuite, les sommets de tous les échantillons du jeu de données sont transformés en coefficients
spectraux et stockés afin d'éviter le calcul de la transformation durant l'entraînement. Dans la suite du processus, l'idée est de ne pas utiliser toutes les fréquences disponibles, mais plutôt une version tronquée de celles-ci. Dans la section 4.6, nous montrons l'impact de l'utilisation d'un nombre différent de fréquences. Pour rappel, la figure 3.9 exprime la compaction d'énergie du domaine spectral, et la section 4.3 donne des détails sur la différence de représentation entre des données spatiales et spectrales. Nous pouvons voir dans le tableau 4.1 les temps de prétraitement en fonction du nombre de vecteurs propres utilisés, raisonnables en comparaison avec le temps de calcul de spirales utilisées dans les méthodes de l'état de l'art [16, 53].

## 4.5.2 Convolutions dans l'état de l'art

Les convolutions sont les principaux éléments constitutifs des applications d'ap-
prentissage profond. En 2D, elles permettent d'extraire des caractéristiques utiles
des images de manière efficace car elles sont rapides à calculer et elles réduisent
le nombre de paramètres d'un réseau de neurones. Il est donc naturel de chercher
à étendre l'application des convolutions à d'autres domaines que les images. Les
principales contributions concernant l'application de convolutions sur des maillages
triangulaires se situent soit dans le domaine spectral, soit dans le domaine spatial.
Ranjan et al. [114] ont construit un autoencodeur convolutif (CoMA) en utilisant le
réseau ChebNet avec des filtres convolutifs spectraux, donnant des noyaux isotropes
avec une expressivité limitée. Bouritsas et al. [16] ont amélioré ces résultats avec un
opérateur de convolution en spirale (Neural3DMM [16]) qui définit un ordre expli-
cite des voisins et crée des filtres anisotropes. Cependant, cette méthode nécessite
de définir des sommets de départ pour les ordres en spirale, empêchant d'exploiter
efficacement la structure irrégulière de la connectivité. De plus, des baisses de per-
formance sont constatées puisque du remplissage par zéros est nécessaire pour avoir
des spirales de taille fixe. Gong et al. [53] ont ensuite introduit SpiralNet++, une
version améliorée de Neural3DMM, rendant les convolutions plus rapides en évitant
les remplissages.

SpiralNet++, qui est le moyen le plus efficace et le plus rapide de faire des convo-
lutions sur des maillages, doit tout de même définir un ordre sur les sommets, ce qui
rend l'implémentation complexe. Dans notre travail, nous simplifions ce processus en
 faisant des convolutions sur la matrice des coefficients spectraux de manière naturelle
puisque les fréquences sont déjà ordonnées. La figure 4.11 montre une illustration de
l'autoencodeur spectral présenté avec agrégation apprise utilisant 4 096 fréquences
(SAE-LP-4096, plus de détails sur cette architecture sont donnés ensuite). En faisant
simplement glisser un noyau de convolution sur les coefficients, nous montrons que
le réseau est capable d'apprendre des caractéristiques intéressantes.

4.5.3 Sous/sur-échantillonnage

Le comportement d'un réseau de neurones est étroitement lié à la procédure de
sous/sur-échantillonnage. Les travaux classiques pour les signaux 1D ou les images
2D utilisent une fenêtre glissante afin de ne conserver que les valeurs maximales locales pour le sous-échantillonnage. Pour le sur-échantillonnage, des valeurs sont ajoutées afin de ramener une résolution plus élevée pour la couche suivante. Pour les maillages, Ranjan et al. [114] ont introduit une méthode de sous/sur-échantillonnage dans le domaine spatial. Les maillages sous-échantillonnés sont calculés en supprimant des arêtes tout en maintenant une erreur minimale entre les surfaces, et les maillages sur-échantillonnés sont calculés en créant des sommets à partir des coordonnées barycentriques des triangles des maillages sous-échantillonnés. Ces opérations sont représentées sous forme de matrices de transformation. Certains travaux ont proposé d'apprendre ces poids de sous/sur-échantillonnage avec une cartographie dense [150, 12] ou des couches entièrement connectées [43]. Chen et al. [30] ont introduit une méthode où ils sont appris via un module d'attention afin d'éviter une sur-paramétrisation.

Concernant notre processus, nous avons choisi d'échantillonner les coefficients spectraux avec deux méthodes. La première consiste à appliquer les opérations classiques de sous/sur-échantillonnage. Nous appellerons cette méthode **Spectral Autoencoder - Classic Pooling (SAE-CP)**. La seconde consiste à apprendre les matrices de réduction et d'augmentation, comme dans les travaux de Chen et al. [30]. Mais nous n'avons pas utilisé de module d'attention car l'apprentissage direct des paramètres est plus simple, et comme nous n'utilisons pas toutes les fréquences disponibles, cela ne conduit pas à un sur-paramétrage. Nous appellerons cette méthode **Spectral Autoencoder - Learned Pooling (SAE-LP)**. Dans ce cas, les matrices de sous/sur-échantillonnage sont simplement remplies de paramètres apprenables. Ensuite, lors de l'apprentissage, ces paramètres sont appris avec les autres paramètres du modèle. La figure 4.12 illustre les deux méthodes de sous/sur-échantillonnage.

Nous montrons dans la section suivante la comparaison entre l'utilisation du sous/sur-échantillonnage classique ou appris, ainsi qu'une comparaison entre plusieurs choix de nombre de fréquences utilisées.

## 4.6 Évaluations

Dans cette section, nous évaluons les modèles présentés. Les ensembles d'entraînement utilisés sont ceux présentés dans la section 4.3. Notre meilleur modèle est évalué par rapport à deux modèles de référence : Neural3DMM [16] et SpiralNet++ [53]. Nous présentons des résultats quantitatifs et qualitatifs et nous comparons les vitesses de calcul. Ensuite, une étude d'ablation montre qu'utiliser moins de fréquences donne toujours de bons résultats tout en réduisant le nombre de paramètres des modèles, puis nous montrons qu'il est possible d'interpoler dans l'espace latent afin de générer des maillages réalistes.

La métrique utilisée pour les expériences est une mesure de la qualité des maillages reconstruits à partir de l'espace latent. Elle est calculée comme la distance moyenne
<table><thead><tr><th>Méthode</th><th>Vecteurs propres</th><th>DFaust</th><th>Total DFaust</th><th>AMASS</th><th>Total AMASS</th></tr></thead><tbody><tr><td>Neural3DMM</td><td>-</td><td>-</td><td>~ 30s</td><td>-</td><td>~ 30s</td></tr><tr><td>SpiralNet++</td><td>-</td><td>-</td><td>~ 30s</td><td>-</td><td>~ 30s</td></tr><tr><td>SAE-*-6890</td><td>~40s</td><td>~3s</td><td>~ 43s</td><td>~16s</td><td>~ 56s</td></tr><tr><td>SAE-*-4096</td><td>~28s</td><td>~2s</td><td>~ 30s</td><td>~12s</td><td>~ 40s</td></tr><tr><td>SAE-*-2048</td><td>~36s</td><td>~1s</td><td>~ 37s</td><td>~8s</td><td>~ 44s</td></tr><tr><td>SAE-*-1024</td><td>~9s</td><td>~0.5s</td><td>~ 9.5s</td><td>~7s</td><td>~ 16s</td></tr><tr><td>SAE-*-512</td><td>~3.5s</td><td>~0.3s</td><td>~ 3.8s</td><td>~3.2s</td><td>~ 6.7s</td></tr></tbody></table>

TABLE 4.1 – Comparaison des temps de prétraitement. Pour Neural3DMM et SpiralNet++, les spirales ne sont calculées qu'une seule fois sur un maillage de base, les temps ne dépendent donc pas de la taille de la base de données. SAE-*-k représente notre autoencodeur spectral avec agrégation classique ou apprise utilisant $k$ fréquences. Pour notre méthode, ce temps dépend du calcul des vecteurs propres (colonne vecteurs propres) et de la transformation de tous les maillages de la base de données en coefficients spectraux (colonnes DFaust et AMASS). Même avec 4 096 fréquences, le temps de prétraitement est raisonnable comparé à la méthode utilisant des spirales. Le fait que le calcul des vecteurs propres pour 2 048 fréquences soit plus long que pour 4 096 vient du solveur utilisé.

en millimètres entre les sommets correspondants des maillages en entrée et en sortie. Cela mesure la capacité du modèle à obtenir une représentation compacte et à généraliser à de nouvelles surfaces à partir de la distribution sur laquelle il a été entraîné. Les maillages ne sont pas normalisés et ont la taille réelle de la personne.

## 4.6.1 Implémentation

Nous suivons le processus des travaux précédents pour les architectures de l'autoencodeur.

**Neural3DMM et SpiralNet++** : les filtres convolutifs de l'encodeur ont les tailles [3, 16, 32, 64, 128]. Une couche entièrement connectée transforme ensuite les données à la taille latente souhaitée. Après une autre couche entièrement connectée, les filtres convolutifs du décodeur ont les tailles [128, 64, 32, 16, 16]. Une dernière couche convolutive transforme les données et adapte leur nombre de dimensions à celui de la géométrie, soit 3. Des convolutions dilatées avec $h = 2$ sauts et un rapport de dilatation $r = 2$ sont utilisées pour la première et les deux dernières couches de l'encodeur et du décodeur respectivement. Les tailles des spirales sont [12, 14, 9, 9] pour l'encodeur et [9, 9, 14, 12, 12] pour le décodeur.

Rappelons que pour les deux modèles de référence, les entrées sont les coordonnées cartésiennes standardisées des maillages dans le domaine spatial pour obtenir une moyenne égale à zéro et un écart type égal à un. Pour nos modèles, les entrées sont les coefficients spectraux.
<figure><img src="image_39.png" /><figcaption>FIGURE 4.12 – Illustration des deux méthodes d'agrégation utilisées lors du sous-échantillonnage de 2 048 fréquences. (a) - Une fenêtre de sous-échantillonnage classique de taille 2 avec un pas de 2 permet de réduire la dimension des coefficients spectraux d'un facteur 2. Cette méthode est nommée *Spectral Autoencoder with classic pooling* (SAE-CP). (b) - les coefficients spectraux sous-échantillonnés sont calculés en les multipliant par une matrice contenant des paramètres apprenables.</figcaption></figure>

Le facteur de sous-échantillonnage est plus important qu'avec l'agrégation classique (voir section 4.6.1 pour plus d'informations). Cette méthode est appelée *Spectral Autoencoder with Learned Pooling* (SAE-LP).

**SAE-CP-k** : la construction du réseau *Spectral Autoencoder with classic pooling* utilisant *k* fréquences suit les architectures courantes d'autoencodeur utilisant des convolutions et des opérations de sous/sur-échantillonnage. Le nombre *k* de fréquences des coefficients spectraux d'entrée est une puissance de deux. Le nombre de couches de l'encodeur dépend du nombre de fois qu'il faut diviser par deux pour avoir 32 fréquences restantes après la dernière étape de sous-échantillonnage, soit 4 étapes pour 512 fréquences, 5 pour 1 024 et ainsi de suite. Pour 512 fréquences, les filtres convolutifs de l'encodeur ont les tailles [3, 32, 64, 64, 128]. Le décodeur possède des filtres de tailles [128, 64, 64, 32, 32, 3]. Si plus de couches sont nécessaires car plus de fréquences sont utilisées, nous dupliquons les filtres de taille 64. Les tailles des noyaux de convolutions sont de 3 pour toutes les couches avec un remplissage de 1 afin que la longueur de l'entrée ne soit pas modifiée après l'application de la convolution. De plus, la taille de la fenêtre pour le sous-échantillonnage et le facteur du sur-échantillonnage est de 2 pour toutes les couches.

**SAE-LP-k** : la construction du réseau *Spectral Autoencoder with learned pooling* utilisant *k* fréquences est similaire à la précédente à l'exception des couches de sous/sur-échantillonnage. Les filtres convolutifs de l'encodeur ont des tailles [3, 16, 32, 64, 128]. Au lieu de faire un sous/sur-échantillonnage classique, des matrices
<figure><img src="image_40.png" /><figcaption>FIGURE 4.13 – Comparaison de la reconstruction sur les jeux de données DFaust et AMASS entre Neural3DMM, SpiralNet++ et notre meilleur modèle. Pour toutes les tailles latentes, notre méthode surpasse les deux modèles de référence.</figcaption></figure>

de transformation contenant des paramètres apprenables sont créées. Ensuite, ces paramètres sont appris avec les autres composants du modèle. Les tailles des matrices pour l'encodeur sont [k, 256, 64, 32, 16], k étant le nombre de fréquences choisi. Pour le décodeur, les filtres convolutifs ont les tailles [128, 64, 32, 16, 16, 3]. Les matrices de sur-échantillonnage sont de la même taille que celles de l'encodeur dans l'ordre inverse. Les tailles des noyaux de convolutions sont également de 3 pour ce modèle avec un remplissage de 1.

Tous les modèles sont entraînés sur le même matériel. Les données sont fournies par paquets (batch) de 16, le taux d'apprentissage est de $10^{-4}$ et un ordonnanceur est utilisé pour que le taux d'apprentissage soit réduit d'un facteur de 0.1 lorsque la reconstruction a cessé de s'améliorer (avec un seuil de $10^{-4}$) pendant 3 époques. Les modèles sont entraînés pendant un maximum de 20 heures.

## 4.6.2 Comparaison avec les modèles de référence

Nous évaluons d'abord notre modèle donnant les meilleurs résultats : le SAE-LP-4096. Les différences entre les reconstructions moyennes sur les bases de données de test, la qualité visuelle des maillages reconstruits et les temps par époque sont comparés aux deux modèles de référence : Neural3DMM [16] et SpiralNet++ [53].

### Résultats quantitatifs de la reconstruction

Nous suivons [16] pour le choix des tailles latentes, sur la base de la variance expliquée par PCA d'environ 85%, 95% et 99% de la variance totale. La figure 4.13 montre les résultats de la moyenne de reconstruction sur les bases de données DFaust et AMASS. Ici, le SAE-LP-4096 est un modèle qui prend en entrée 4 096 fréquences. Nous pouvons voir que pour toutes les tailles latentes, notre modèle surpasse les deux modèles de base. Le tableau 4.2 montre le nombre de paramètres des trois
<table><caption>TABLE 4.2 – Comparaison du nombre de paramètres en fonction de la taille de l'espace latent. Dans ce cas, notre modèle utilise 4 096 fréquences. Plus de 90% des paramètres du SAE-LP-4096 sont situés dans la première et la dernière matrice de sous/sur-échantillonnage.</caption><thead><tr><th>Méthode</th><th>Latent size 8</th><th>16</th><th>64</th></tr></thead><tbody><tr><td>Neural3DMM</td><td>274K</td><td>331K</td><td>675K</td></tr><tr><td>SpiralNet++</td><td>415K</td><td>471K</td><td>802K</td></tr><tr><td>SAE-LP-4096</td><td>2.23M</td><td>2.26M</td><td>2.46M</td></tr></tbody></table>

réseaux de neurones. Le SAE-LP-4096 en a plus, mais 90% de ces paramètres sont concentrés dans la première matrice de sous-échantillonnage et la dernière matrice de sur-échantillonnage (voir section 4.6.1). De plus, nous montrons dans la section 4.6.3 que des modèles ayant la même architecture mais sans autant de paramètres parviennent toujours à obtenir des résultats compétitifs.

Nous pouvons comparer la capacité de compression de l'espace latent du modèle avec la capacité de compression du domaine spectral. Cela peut être fait en mesurant simplement l'erreur de reconstruction après l'application d'une transformée spectrale directe puis d'une transformée spectrale inverse sur tous les maillages de l'ensemble de données de test lors de l'utilisation d'un nombre de fréquences similaire au nombre de dimensions latentes. Sur l'ensemble de données DFaust, les erreurs de reconstruction moyennes lors de l'utilisation de 3, 6 et 22 fréquences (résultant en 9-18-66 dimensions respectivement puisqu'il y a 3 coordonnées u, v, w) sont respectivement de 368,1±42,7, 96,5±10,7 et 54,7±3,6 millimètres. La figure 4.13 présente des erreurs de reconstruction pour les dimensions latentes de 8-16-64 de 55,5±16,9, 33,0±10,7, 10,3±2,7 millimètres respectivement. Ceci montre clairement que les espaces latents construits par le modèle ont une meilleure capacité de compression.

## Résultats qualitatifs de la reconstruction

Des reconstructions visuelles sont présentées dans la figure 4.14. Tous les modèles comparés ont une dimension latente de 64. Le constat principal est que lorsque les modèles de référence doivent manipuler des parties du corps dans une position peu souvent vue lors de l'entraînement (notamment les bras et les mains), les détails sont plus dégénérés. En revanche, l'autoencodeur spectral est capable de reconstruire des surfaces plus lisses, ce qui donne de meilleurs résultats visuels. Cela peut s'expliquer par le fait que, lors de la première phase d'apprentissage, notre modèle apprend d'abord à mieux reconstruire l'information contenue dans les basses fréquences puisque les coefficients leur correspondant ont des amplitudes plus élevées que ceux de hautes fréquences. Cela conduit à des parties du corps dans la bonne position mais sans suffisamment de détails. Puis, en fin d'entraînement, le modèle apprend à reconstituer les détails. Au contraire, les modèles de référence ont du mal à reconstruire ces parties du corps.
<figure><img src="image_41.png" /></figure>

FIGURE 4.14 – Comparaison de reconstructions entre Neural3DMM (à gauche), SpiralNet++ (au milieu) et notre modèle utilisant 4 096 fréquences, le SAE-LP-4096 (à droite). La dimension latente est de 64. Lors de la reconstruction de parties du corps dans une position qui n’est pas souvent vue dans l’ensemble de données, notre modèle produit des surfaces plus détaillées et plus lisses, en particulier sur les mains.
<table><caption>TABLE 4.3 – Comparaison du temps par époque sur les ensembles de données DFaust et AMASS entre le SAE-LP-4096 et les lignes de base. Notre modèle est plus rapide d'un facteur d'environ 2.4 par rapport à SpiralNet++ et d'environ 5.5 par rapport à Neural3DMM.</caption><thead><tr><th>Méthode</th><th>DFaust</th><th>AMASS</th></tr></thead><tbody><tr><td>Neural3DMM</td><td>~ 156s</td><td>~ 472s</td></tr><tr><td>SpiralNet++</td><td>~ 68s</td><td>~ 200s</td></tr><tr><td>SAE-LP-4096</td><td>~ <b>28s</b></td><td>~ <b>83s</b></td></tr></tbody></table>

## Temps par époque

Le principal avantage de notre méthode est la rapidité de calcul. Nous pouvons voir dans le tableau 4.3 la différence de temps par époque pour Neural3DMM, SpiralNet++ et le SAE-LP-4096. Comme nous ne prenons pas en entrée toutes les fréquences disponibles, le processus est beaucoup plus rapide, tout en ayant toujours accès aux fréquences importantes. De plus, Neural3DMM et SpiralNet++ doivent réorganiser les tableaux de sommets afin de faire des convolutions spécifiées par les spirales précalculées, contrairement à notre méthode où les convolutions sont effectuées sur des matrices de manière classique. Ensuite, même si SpiralNet++ a réussi à réduire le temps de calcul par époque par rapport à Neural3DMM, notre réseau reste plus rapide.

Nous avons montré que le SAE-LP-4096 est capable d'apprendre des caractéristiques importantes sur des maillages triangulaires et de construire un espace latent où la reconstruction est possible, donnant de meilleurs résultats que les méthodes de l'état de l'art. Nous montrons maintenant l'impact de l'utilisation de différentes configurations pour notre architecture.

## 4.6.3 Étude d'ablation

Dans cette section, nous évaluons le comportement de notre architecture en utilisant l'agrégation apprise, l'agrégation classique et un nombre différent de fréquences. Nous présentons d'abord des résultats quantitatifs afin de comparer l'erreur moyenne de reconstruction avec différentes configurations. Ensuite, des résultats sont présentés montrant la capacité d'un modèle entraîné sur une base de données à généraliser sur l'autre jeu de données. Enfin, les résultats qualitatifs montrent que les maillages reconstruits sont toujours visuellement acceptables même en utilisant moins de fréquences.

### Résultats quantitatifs

Les tableaux 4.4 et 4.5 montrent le nombre de paramètres en fonction du nombre de fréquences utilisées et de la taille de l'espace latent. Les résultats de la reconstruction sur la base de données AMASS en utilisant différentes configurations sont présentés dans la figure 4.15. La ligne rouge indique le meilleur score atteignable
<figure><img src="image_42.png" /><figcaption>FIGURE 4.15 – Comparaison des résultats de reconstruction entre le modèle de référence SpiralNet++, le SAE-CP et le SAE-LP en utilisant un nombre différent de fréquences et de dimensions latentes sur l'ensemble de données AMASS. Le minimum atteignable, représenté par "Spectral reconstruction", est calculé pour chaque nombre de fréquences et correspond à l'erreur moyenne sur l'ensemble de données de test entre les maillages d'origine et les maillages reconstruits après une transformée spectrale inverse. Même en utilisant une méthode d'agrégation plus simple ou moins de fréquences, le SAE est capable de donner des résultats compétitifs.</figcaption></figure>

<table><caption>TABLE 4.4 – Nombre de paramètres pour les autoencodeurs spectraux utilisant l'agrégation apprise. La plupart des paramètres sont contenus dans la première matrice de sous-échantillonnage et la dernière de sur-échantillonnage, surtout lorsque le nombre de fréquences utilisées est élevé.</caption><thead><tr><th>Méthode</th><th>Latent size 8</th><th>16</th><th>32</th><th>64</th><th>128</th></tr></thead><tbody><tr><td>SAE-LP-512</td><td>400K</td><td>433K</td><td>499KK</td><td>630K</td><td>892K</td></tr><tr><td>SAE-LP-1024</td><td>662K</td><td>695K</td><td>761K</td><td>892K</td><td>1.15M</td></tr><tr><td>SAE-LP-2048</td><td>1.18M</td><td>1.22M</td><td>1.28M</td><td>1.41M</td><td>1.67M</td></tr><tr><td>SAE-LP-4096</td><td>2.23M</td><td>2.26M</td><td>2.33M</td><td>2.46M</td><td>2.72M</td></tr></tbody></table>
<table><caption>TABLE 4.5 – Nombre de paramètres pour les autoencodeurs spectraux utilisant l'agrégation classique.</caption><thead><tr><th>Method</th><th>Latent size 8</th><th>16</th><th>32</th><th>64</th><th>128</th></tr></thead><tbody><tr><td>SAE-CP-512</td><td>159K</td><td>225K</td><td>356K</td><td>618K</td><td>1.14M</td></tr><tr><td>SAE-CP-1024</td><td>184K</td><td>250K</td><td>381K</td><td>643K</td><td>1.16M</td></tr><tr><td>SAE-CP-2048</td><td>209K</td><td>274K</td><td>405K</td><td>668K</td><td>1.19M</td></tr><tr><td>SAE-CP-4096</td><td>233K</td><td>299K</td><td>430K</td><td>692K</td><td>1.21M</td></tr></tbody></table>

pour chaque nombre de fréquences utilisées, correspondant à l'erreur moyenne sur l'ensemble de données de test après une transformation spectrale inverse (voir figure 3.9). En utilisant seulement 512 fréquences (figure 4.15 en haut à gauche), nos modèles ne peuvent pas avoir un meilleur score que celui du modèle comparé pour une dimension latente de 128. Pour une dimension latente de 16, nos deux architectures donnent de meilleurs résultats. Pour une dimension latente de 32, le SAE-CP donne des résultats similaires aux modèles comparés, tandis que le SAE-LP a toujours un meilleur score de reconstruction. Pour des dimensions latentes plus élevées, le SAE-CP produit des maillages moins bien reconstruits tandis que le SAE-LP donne des résultats similaires à ceux des modèles de référence lors de l'utilisation d'un faible nombre de fréquences et donne de meilleurs scores lors de l'utilisation d'un plus grand nombre de fréquences. Le pire comportement de SAE-CP provient de la méthode d'agrégation et est corrigée avec le SAE-LP. De plus, lorsqu'ils utilisent trop peu de fréquences, les réseaux n'ont pas accès aux informations détaillées, ce qui conduit à des maillages insuffisamment précis, comme illustré dans la suite.

## Résultats qualitatifs

Différents niveaux de détails sur une tête et un pied de maillages reconstruits avec un nombre différent de fréquences utilisées sont présentés dans la figure 4.16. Nous pouvons voir qu'en donnant suffisamment de fréquences au modèle, il est capable de reconstruire des maillages avec autant de précision que Neural3DMM. La figure 4.17 montre des résultats visuels par rapport à SpiralNet++. Pour les maillages reconstruits avec 1 024 fréquences, nous pouvons voir qu'il manque des détails contenus dans des coefficients spectraux de fréquences élevées : cela se traduit par des parties symétriques sur le corps avec de faibles erreurs (voir figure 3.9 pour une comparaison). Néanmoins, le modèle n'utilisant que 1 024 fréquences parvient tout de même à reconstruire certaines parties du corps avec plus de précision par rapport à SpiralNet++. Ensuite, les modèles utilisant plus de fréquences donnent le même genre de résultats que celui n'ayant accès qu'à 1 024 fréquences mais avec plus de détails.

## Temps par époque

Les temps par époque pour le SAE-CP sont présentés dans le tableau 4.6. Nous pouvons voir qu'en traitant plus de fréquences, le réseau devient plus lent mais reste
<figure><img src="image_43.png" /><figcaption>FIGURE 4.16 – Exemples de détails sur des maillages reconstruits avec des modèles utilisant différents nombres de fréquences (1 024, 2 048 et 4 096), zoomés sur la tête et le pied. Donner au modèle l'accès à des fréquences plus élevées conduit à des maillages reconstruits avec plus de détails.</figcaption></figure>

<table><caption>TABLE 4.6 – Temps par époque des modèles avec agrégation classique. Pour le SAE-CP, l'augmentation du nombre de fréquences données conduit à des temps de calcul plus élevés car le facteur de sous-échantillonnage est de 2, conduisant à un nombre de couches plus grand. Voir figure 4.12.</caption><thead><tr><td>Méthode</td><td>AMASS</td></tr></thead><tbody><tr><td>SAE-CP-512</td><td>~ 84s</td></tr><tr><td>SAE-CP-1024</td><td>~ 89s</td></tr><tr><td>SAE-CP-2048</td><td>~ 93s</td></tr><tr><td>SAE-CP-4096</td><td>~ 115s</td></tr></tbody></table>

plus rapide que SpiralNet++. En effet, le nombre de couches du réseau SAE-CP dépend du nombre de fréquences en entrée, ce qui conduit à davantage de convolutions appliquées sur plus de coefficients spectraux. Ensuite, le tableau 4.7 montre le temps de calcul par époque de SAE-LP. Prendre en entrée plus de coefficients spectraux ne détériore pas la vitesse et donne toujours des temps d'entraînement beaucoup plus courts que les modèles de référence. C'est probablement le principal avantage de notre méthode puisque l'entraînement sur des bases de données avec beaucoup plus d'échantillons, comme la base de données AMASS échantillonnée avec plus de poses, est maintenant réalisable en un temps réduit.

## Bases de données croisées

Nous essayons ensuite d'observer la capacité d'un modèle entraîné sur un jeu de données à généraliser sur un autre. Cela permet d'évaluer la capacité de généralisation du réseau. C'est une tâche difficile à réaliser puisque pour pouvoir généraliser, la
G.T. SpiralNet++ SAE-LP-1024 SAE-LP-2048 SAE-LP-4096

<figure><img src="image_44.png" /><figcaption>FIGURE 4.17 – Comparaison de reconstructions entre SpiralNet++ et l'autoencodeur spectral avec agrégation apprise utilisant un nombre de fréquences de 1 024, 2 048 et 4 096. La dimension latente est de 64 pour tous les modèles. Tout en montrant des erreurs correspondant au manque d'information contenue dans les hautes fréquences, le modèle utilisant 1 024 fréquences parvient tout de même à reconstruire certaines parties du corps d'une meilleure manière que SpiralNet++.</figcaption></figure>
<table><caption>TABLE 4.7 – Temps par époque des modèles avec agrégation apprise en fonction des fréquences utilisées. Même avec plus de fréquences, le temps de calcul reste constant.</caption><thead><tr><th>Méthode</th><th>AMASS</th></tr></thead><tbody><tr><td>SAE-LP-512</td><td>~ 80s</td></tr><tr><td>SAE-LP-1024</td><td>~ 83s</td></tr><tr><td>SAE-LP-2048</td><td>~ 83s</td></tr><tr><td>SAE-LP-4096</td><td>~ 83s</td></tr></tbody></table>

<table><caption>TABLE 4.8 – Comparaison des erreurs de reconstruction lors du croisement de jeux de données à l'aide du modèle SAE-LP-4096. L'erreur croisée est la différence de reconstruction moyenne entre des modèles entraînés sur une base de données différente mais évalués sur la même. Un modèle entraîné sur AMASS, un grand jeu de données, est capable de reconstruire correctement la base de données DFaust qui est moins dense.</caption><thead><tr><th>Latent size</th><th>Test dataset</th><th>Train dataset</th><th>Mean (mm)</th><th>Cross error (mm)</th></tr></thead><tbody><tr><td rowspan="3">8</td><td rowspan="2">DFaust</td><td>DFaust</td><td>55.5</td><td>-</td></tr><tr><td><b>AMASS</b></td><td>64.0</td><td>+8.5</td></tr><tr><td>AMASS</td><td>AMASS</td><td>57.4</td><td>-</td></tr><tr><td rowspan="3">16</td><td rowspan="2">DFaust</td><td>DFaust</td><td>119.2</td><td>+61.8</td></tr><tr><td><b>AMASS</b></td><td>33.0</td><td>-</td></tr><tr><td>AMASS</td><td>AMASS</td><td>35.9</td><td>+2.9</td></tr><tr><td rowspan="3">64</td><td rowspan="2">DFaust</td><td>AMASS</td><td>26.5</td><td>-</td></tr><tr><td>DFaust</td><td>73.6</td><td>+47.1</td></tr><tr><td>AMASS</td><td>AMASS</td><td>10.3</td><td>-</td></tr><tr><td rowspan="3">64</td><td rowspan="2">DFaust</td><td><b>AMASS</b></td><td>17.9</td><td>+7.6</td></tr><tr><td>AMASS</td><td>5.1</td><td>-</td></tr><tr><td>AMASS</td><td>DFaust</td><td>27.9</td><td>+22.8</td></tr></tbody></table>

base de données doit être très dense, et le processus utilisé doit être assez rapide pour pouvoir entraîner le réseau sur cette dernière. Le tableau 4.8 présente les résultats lors du croisement des bases de données. Naturellement, les modèles entraînés sur le jeu de données DFaust ont du mal à reconstruire les maillages du jeu de données AMASS car ce dernier est plus volumineux. Inversement, les modèles entraînés sur le jeu de données AMASS parviennent à obtenir un score proche de celui obtenu par les modèles entraînés sur le jeu de données DFaust. Cela montre l'avantage pour un modèle d'être rapide, et donc capable d'apprendre sur un grand ensemble.
<figure><img src="image_45.png" /><figcaption>FIGURE 4.18 – La première ligne montre une interpolation linéaire des coordonnées cartésiennes des deux maillages à droite et à gauche. La deuxième et la troisième ligne montrent la génération de maillage en interpolant les codes latents de deux échantillons avec Neural3DMM et notre méthode. La dimension latente est 16 pour les deux modèles.</figcaption></figure>
4.6.4 Interpolation

Enfin, nous montrons la capacité d'interpolation de notre modèle par rapport
à Neural3DMM. En effectuant une interpolation linéaire dans l'espace latent, il
est possible avec une architecture de type autoencodeur de générer de nouveaux
échantillons, comme illustré dans la figure 4.5. Nous sélectionnons deux échantillons
différents dans l'ensemble de test, les encodons dans leurs représentations latentes
z₁ et z₂, et produisons de nouveaux maillages en échantillonnant le long de la ligne :
z = a*z₁+(1-a)*z₂, a ∈ [0, 1]. La figure 4.18 compare les interpolations entre Neu-
ral3DMM et le SAE-LP-4096 pour diverses valeurs de a. Pour la première ligne, les
maillages aux extrémités sont ceux sélectionnés dans la base de données de test, et les
trois maillages du milieu correspondent à une interpolation linéaire des coordonnées
cartésiennes. Lors de l'utilisation de toutes les fréquences et de l'interpolation des
coefficients spectraux, le résultat est le même qu'une interpolation dans le domaine
spatial puisque la transformée laplacienne est une fonction linéaire. Pour les deux
autres lignes, les maillages aux extrémités sont les reconstructions des deux maillages
sélectionnés et les codes latents interpolés et décodés sont présentés dans les trois
colonnes du milieu. Pour l'interpolation dans le domaine spatial, la longueur des
bras du personnage est considérablement réduite, ce qui est généralement un com-
portement indésirable lors de l'interpolation de corps humains. Les deux modèles
parviennent à surmonter ce problème, c'est-à-dire qu'ils construisent un espace la-
tent représentant l'ensemble des poses possibles pour un corps humain. Néanmoins,
comme vu précédemment, la qualité de reconstruction de notre modèle est meilleure
que celle de Neural3DMM, notamment pour une dimension latente de 16 utilisée
ici, conduisant à des maillages générés plus propres. Il est important de noter que
pour tous les modèles, si la taille de l'espace latent est plus grande, l'interpolation
est similaire à celle illustrée dans la figure 4.6. La capacité d'interpolation n'est bien
représentée que pour une taille d'espace latent faible.

4.7 Expériences supplémentaires

Jusqu'ici, les bases de données utilisées étaient composées de maillages centrés
à l'origine et orientés dans la même direction afin de simplifier le traitement par
les modèles. Cette caractéristique n'est pas représentative de la manière dont peut
être capturé le mouvement de corps humains puisqu'un sujet est susceptible de se
déplacer et de tourner dans un espace en 3 dimensions. Incorporer cette information
de translation et de rotation des maillages dans le processus peut représenter une
difficulté : cette problématique sera abordée dans cette section. Ensuite, nous verrons
que la manière de se déplacer pour un corps humain, par exemple en marchant, est
une action qui nécessite une architecture plus complexe afin d'être comprise par
le modèle. Finalement, nous aborderons le sujet de la séparation de l'information
de style et de pose qui peut poser des problèmes propres au traitement de corps
humains.
4.7.1 Inclure l'information de translation et de rotation

Les bases de données DFaust et AMASS introduites dans la section 4.3 ont été générées sans utiliser les informations de translation et de rotation disponibles. Leurs moyennes et écarts types sont illustrés dans les figures 4.1 et 4.2. Ici, nous allons observer comment l'introduction de maillages correctement positionnés dans la scène peut perturber l'apprentissage du meilleur modèle introduit précédemment (SAE-LP) et comment il est possible de résoudre cette problématique.

Les figures 4.19 et 4.20 illustrent les moyennes et écarts types des bases de données DFaust et AMASS en incluant ces informations précédemment omises.

Si l'on compare les figures 4.1 et 4.19, on observe peu de différences : cela est dû au fait que les mouvements composant la base DFaust sont peu variés, la plupart représentant des actions réalisées sans déplacement et rotation. En revanche, si l'on compare les figures 4.2 et 4.20, on observe une réelle différence. Dans le domaine spatial ou spectral, cette différence se reflète par de plus grandes variations sur les axes X et Z, tandis que sur l'axe vertical Y les variations sont similaires. La dispersion des données étant plus grande dans la base AMASS, nous pouvons nous concentrer sur cette dernière afin de réaliser des tests.

Afin de pouvoir traiter séparémment les informations de translation et de rotation, il faut pouvoir les isoler. Il serait possible de les récupérer directement depuis le processus SMPL, mais l'idée est de s'affranchir de ce formalisme et d'utiliser plutôt une méthode indépendante en les récupérant depuis le domaine spectral. La figure 4.21 illustre le 24e vecteur propre sur un maillage quelconque. Contrairement aux autres vecteurs propres (voir figure 3.7), les zones affectées par ce dernier sont bien réparties entre l'avant et l'arrière de la forme. Cela signifie qu'il est possible de calculer l'angle entre le 24e vecteur 3D des coefficients spectraux et l'axe avec lequel on veut aligner le maillage et enfin d'appliquer à tous les coefficients spectraux une rotation de cet angle. En restant dans l'espace spectral, il est donc possible d'aligner un maillage avec un axe choisi. De même, comme visualisé dans la figure 3.7 en haut à gauche, le premier vecteur propre a une valeur constante sur toute la surface. Cela signifie qu'il est possible de translater le maillage en manipulant simplement le premier coefficient spectral.

Le principe est donc le suivant : au lieu d'encoder directement les coefficients spectraux (voir figure 4.8), le vecteur de translation *T* (correspondant au premier coefficient spectral) et l'angle *Θ* entre le vecteur propre 24 et un axe choisi sont conservés. Ensuite, le premier coefficient spectral est mis à zéro (le maillage résultant se retrouve à l'origine) et une rotation de *Θ* est appliquée à tous les coefficients spectraux (le maillage résultant se retrouve orienté). Les coefficients spectraux centrés et orientés sont ensuite encodés comme dans la figure 4.8, et la variable latente résultante est concatenée aux deux valeurs isolées précédemment (*T* et *Θ*). Similairement, avant de décoder, ces deux valeurs sont d'abord isolées, la variable latente est décodée, et les coefficients spectraux en sortie sont translatés de *T* et orientés.
<figure><img src="image_46.png" /></figure>

FIGURE 4.19 – Illustration des moyennes et des écarts types de la base de données DFaust. Les maillages sont correctement positionnés et orientés dans la scène. a) axes X, Y et Z représentés dans le domaine spatial. b) axes représentés dans le domaine spectral. c) axes représentés dans le domaine spectral en utilisant un zoom. Pour le domaine spectral, seulement 128 fréquences sont représentées.