Implicit Neural Representations (INRs)
Les représentations neuronales implicites encodent une image, une forme ou une scène 3D dans un réseau de neurones qui associe des coordonnées à des valeurs et peut être interrogé à n’importe quelle résolution.
Les représentations neuronales implicites (INR) stockent un signal sous la forme d’une fonction continue apprise par un réseau neuronal, généralement un petit perceptron multicouche (MLP), qui associe des coordonnées à des valeurs. Une image devient une fonction qui associe une position de pixel (x, y) à une couleur, une forme 3D une fonction qui associe un point (x, y, z) à sa distance signée à la surface, et une scène une fonction qui associe un point et une direction de vue à une couleur et une densité. Les poids du réseau constituent la représentation : il n’y a pas de grille de pixels ou de voxels, le signal peut donc être interrogé à n’importe quelle coordonnée, sa mémoire n’augmente pas avec la résolution de sortie et ses dérivées sont obtenues gratuitement par différentiation automatique. Les INR sont aussi appelées réseaux à coordonnées ou champs neuronaux ; elles sont à la base des champs de radiance neuronaux et d’une grande partie de la reconstruction 3D moderne.
Fonctionnement des représentations neuronales implicites#
Une INR est ajustée à un seul signal à la fois. L’entraînement échantillonne des coordonnées, compare les sorties du réseau aux valeurs réelles à ces coordonnées, puis met à jour les poids par descente de gradient ; l’ajustement est donc un surapprentissage intentionnel : l’objectif est de mémoriser ce signal. Un MLP classique doté d’activations ReLU éprouve des difficultés, car les réseaux apprennent les basses fréquences bien plus vite que les hautes fréquences, un phénomène que Nasim Rahaman et ses collègues ont nommé biais spectral en 2019. À partir de coordonnées brutes, le réseau produit une version floue du signal. Deux solutions ont rendu les INR pratiques en 2020 : transformer les coordonnées au moyen de sinus et de cosinus à de nombreuses fréquences — les caractéristiques de Fourier de Matthew Tancik et ses collègues et l’encodage positionnel de NeRF — et remplacer ReLU par une fonction d’activation sinusoïdale, comme dans SIREN de Vincent Sitzmann et ses collègues.
Cet exemple PyTorch ajuste deux fois le même MLP à une photo, une fois à partir de coordonnées brutes et une fois à partir de caractéristiques de Fourier :
import torch
from skimage import data, transform
from torch import nn
torch.manual_seed(0)
# The signal: a 128 x 128 grayscale photo, and the (x, y) coordinate of every pixel in [-1, 1]
image = torch.tensor(transform.resize(data.camera(), (128, 128)), dtype=torch.float32).reshape(-1, 1)
grid = torch.linspace(-1, 1, 128)
coords = torch.stack(torch.meshgrid(grid, grid, indexing="ij"), dim=-1).reshape(-1, 2)
# Fourier features: sines and cosines of the coordinates at 128 random frequencies
proj = torch.pi * coords @ (10 * torch.randn(2, 128))
inputs = {"Raw coordinates": coords, "Fourier features": torch.cat([proj.sin(), proj.cos()], dim=-1)}
for name, x in inputs.items():
# The INR: a small MLP from coordinate to gray value, fit to this one image
mlp = nn.Sequential(nn.Linear(x.shape[1], 256), nn.ReLU(), nn.Linear(256, 256), nn.ReLU(), nn.Linear(256, 1))
optimizer = torch.optim.Adam(mlp.parameters(), lr=1e-3)
for _ in range(1000):
loss = (mlp(x) - image).pow(2).mean()
optimizer.zero_grad()
loss.backward()
optimizer.step()
print(f"{name}: PSNR {-10 * torch.log10(loss).item():.1f} dB")Après 1 000 étapes, le réseau utilisant les coordonnées brutes atteint un rapport signal/bruit de crête de 22.0 dB, soit une image floue, tandis que le réseau utilisant les caractéristiques de Fourier atteint 46.0 dB, soit une copie presque exacte. L’échelle de fréquence, fixée ici à 10, se règle en fonction du signal : trop faible, l’ajustement reste flou ; trop élevée, le réseau mémorise les échantillons et produit des valeurs bruitées entre ceux-ci. Le Segment Anything Model de Meta, exécuté dans le package Ultralytics, encode les coordonnées des invites ponctuelles et des boîtes avec les mêmes caractéristiques de Fourier gaussiennes aléatoires avant de les transmettre à son décodeur de masques.
Formes, scènes et vitesse#
Les INR appliquées aux formes 3D sont apparues en 2019 : DeepSDF prédisait la distance signée, et Occupancy Networks la probabilité qu’un point 3D se trouve à l’intérieur ou à l’extérieur, ce qui permettait d’extraire un maillage à n’importe quelle résolution. NeRF a suivi en 2020, en associant la position et la direction de vue à une couleur et à une densité pour la synthèse de nouvelles vues. Les MLP purs sont lents à entraîner et à interroger ; les architectures hybrides stockent donc des caractéristiques apprises dans une grille et les décodent avec un minuscule MLP. Instant-NGP, de Thomas Müller et de ses collègues chez NVIDIA, utilise une table de hachage multirésolution de caractéristiques et ajuste un NeRF en quelques secondes plutôt qu’en plusieurs heures.
Les INR diffèrent des représentations explicites comme les grilles de pixels, les grilles de voxels, les maillages et les nuages de points, qui stockent directement les valeurs et dont la taille augmente avec la résolution — de façon cubique pour les voxels. Le splatting gaussien est une récente alternative explicite à NeRF, qui accélère le rendu en rastérisant des millions de gaussiennes 3D. Comme une INR de base est ajustée à un seul signal, sa généralisation à plusieurs signaux nécessite des mécanismes supplémentaires : des hyperréseaux qui produisent les poids de l’INR à partir d’un code latent, ou du méta-apprentissage d’une initialisation qui s’ajuste à un nouveau signal en quelques étapes.
Applications concrètes#
- Imagerie médicale : les INR reconstruisent des volumes de tomodensitométrie et d’IRM à partir de mesures éparses ou sous-échantillonnées, car la fonction continue comble les intervalles entre les échantillons acquis avec un volume lisse et cohérent avec les données.
- Super-résolution : les fonctions d’image implicites locales, comme LIIF, prédisent une couleur à n’importe quelle coordonnée continue à partir des caractéristiques voisines ; un même modèle peut donc agrandir les images selon des facteurs arbitraires.
- Création de contenu 3D : les générateurs texte-vers-3D et image-vers-3D optimisent ou prédisent souvent des champs neuronaux, ensuite convertis en maillages pour les jeux et les effets visuels.
- Compression : COIN, créé par Emilien Dupont et ses collègues en 2021, stocke une image sous forme de poids quantifiés d’un petit MLP et surpasse JPEG à faible débit binaire.










