Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Neural Rendering

Le rendu neuronal remplace certaines parties du pipeline graphique par des réseaux neuronaux pour créer des images et des scènes 3D apprises à partir de photos. Méthodes et code.

Le rendu neuronal consiste à générer des images et des vidéos à l’aide de réseaux de neurones qui remplacent ou complètent des parties du pipeline traditionnel de graphisme informatique, tout en conservant le contrôle des propriétés de la scène, comme le point de vue de la caméra, l’éclairage, la géométrie et l’apparence. Le rendu classique calcule une image à partir de modèles 3D, de matériaux et de sources lumineuses créés manuellement, en s’appuyant sur la physique du transport de la lumière. Le rendu neuronal apprend plutôt certains de ces éléments à partir de photos et de vidéos, ou apprend à produire directement les pixels finaux. En tant que domaine, le rendu neuronal associe l’apprentissage automatique génératif aux connaissances physiques du graphisme informatique, souvent en intégrant le rendu différentiable à l’entraînement du réseau. Il permet de créer des captures 3D photoréalistes de lieux réels, d’effectuer la mise à l’échelle par IA et la génération d’images intermédiaires dans les jeux vidéo, ainsi que de simuler des environnements pour la robotique et les voitures autonomes.

Fonctionnement du rendu neuronal#

La branche la plus influente apprend une scène 3D à partir de photos ordinaires. Une représentation de la scène, comme un réseau de neurones, une grille de caractéristiques apprises ou un ensemble de primitives 3D, est rendue en image depuis la position de la caméra d’une photo d’entraînement par un rendu différentiable. Chaque étape du rendu étant différentiable, l’écart entre l’image rendue et la photo réelle peut être rétropropagé par rétropropagation jusqu’à chaque paramètre de la scène. La répétition de cette opération sur de nombreux points de vue permet de reconstruire la scène avec suffisamment de précision pour rendre des points de vue qu’aucune caméra n’a capturés :

Les poses de caméra des photos proviennent généralement de logiciels de structure à partir du mouvement, comme COLMAP, qui apparient les caractéristiques entre des photos qui se chevauchent afin de retrouver l’endroit où chacune a été prise.

Représentations neuronales de scènes#

Les champs de radiance neuronaux (NeRF), introduits en 2020, encodent une scène dans les poids d’un perceptron multicouche qui associe une position 3D et une direction d’observation à une densité et une couleur. Pour rendre un pixel, NeRF échantillonne des points le long du rayon de caméra qui le traverse et mélange leurs couleurs par rendu volumique : chaque échantillon contribue selon son opacité et la quantité de lumière qui subsiste après les échantillons situés devant lui. Ce code PyTorch entraîne un minuscule champ à reproduire un pixel observé le long d’un rayon :

import torch
from torch import nn

# A tiny neural field that maps a 3D point to a density and an RGB color
torch.manual_seed(0)
field = nn.Sequential(nn.Linear(3, 64), nn.ReLU(), nn.Linear(64, 4))
optimizer = torch.optim.Adam(field.parameters(), lr=0.01)

# 64 points along one camera ray, and the color a training photo shows for that pixel
depths = torch.linspace(2.0, 6.0, 64)
points = torch.stack([torch.zeros(64), torch.zeros(64), depths], dim=1)
observed = torch.tensor([0.9, 0.4, 0.1])

for step in range(200):
    density, color = field(points).split([1, 3], dim=1)
    # Volume rendering: each sample's opacity times the light that reaches it through the samples in front
    alpha = 1 - torch.exp(-nn.functional.softplus(density.squeeze(1)) * (depths[1] - depths[0]))
    transmittance = torch.cumprod(torch.cat([torch.ones(1), 1 - alpha[:-1]]), dim=0)
    pixel = (transmittance * alpha) @ torch.sigmoid(color)
    loss = ((pixel - observed) ** 2).sum()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    if step in (0, 199):
        print(f"step {step}: rendered {pixel.detach().numpy().round(2)}, loss {loss.item():.4f}")

Le programme affiche step 0: rendered [0.71 0.37 0.56], loss 0.2496 et step 199: rendered [0.9 0.4 0.1], loss 0.0000. Le réseau non entraîné produit une couleur arbitraire, puis les gradients rétropropagés à travers l’équation de rendu ajustent ses poids jusqu’à ce que le pixel rendu corresponde à la photo. Un NeRF réel fait la même chose pour des millions de rayons provenant de dizaines à des centaines de photos.

Le NeRF original nécessitait un à deux jours d’entraînement par scène sur un GPU NVIDIA V100, et chaque image rendue exigeait 150 à 200 millions de requêtes réseau, soit environ 30 secondes par image. L’Instant NGP de NVIDIA a remplacé la majeure partie du réseau par une table de hachage multirésolution de caractéristiques apprises, réduisant l’entraînement à quelques secondes ou minutes et le rendu à quelques dizaines de millisecondes en 1 920 × 1 080. Le splatting gaussien est allé plus loin en 2023 : il représente les scènes par des millions de gaussiennes 3D explicites, rastérisées en temps réel sans évaluation de réseau au moment du rendu. Il est généralement classé dans le rendu neuronal, car son optimisation suit la même méthode.

Rendu neuronal dans l’espace image#

Une deuxième branche conserve un moteur de rendu classique et utilise des réseaux pour compléter ou prolonger sa sortie. Le DLSS de NVIDIA rend les jeux en résolution réduite, les met à l’échelle avec des modèles Transformer et, sur les GPU GeForce RTX série 50, génère jusqu’à cinq images pour chaque image rendue par le jeu. Les rendus par lancer de rayons utilisent des débruiteurs appris pour produire des images nettes à partir de quelques échantillons lumineux par pixel. D’autres modèles synthétisent des images à partir de configurations de scènes : le GauGAN de NVIDIA transformait une carte sémantique du ciel, de l’eau et des arbres en paysage photoréaliste, tandis que les systèmes d’avatars neuronaux rendent le visage d’une personne sous de nouveaux angles ou éclairages.

  • Rendu différentiable : moteur de rendu dont la sortie peut être différentiée par rapport à ses entrées. C’est le mécanisme qui permet au rendu neuronal d’apprendre à partir d’images ; il est aussi utilisé sans réseau de neurones, par exemple pour ajuster un maillage à des photos.
  • Rendu inverse : récupération de la géométrie, des matériaux et de l’éclairage à partir d’images, souvent à l’aide du rendu différentiable, afin de pouvoir modifier et recalculer les résultats.
  • Synthèse de nouveaux points de vue : tâche consistant à produire des images depuis des points de vue jamais observés, à laquelle répondent NeRF et le splatting gaussien ; le rendu neuronal regroupe un ensemble de techniques plus vaste.
  • IA générative : les modèles de texte en image et de génération vidéo créent du contenu à partir d’instructions, généralement sans scène explicite pouvant être observée depuis une position de caméra choisie.

Applications concrètes#

  • Cinéma et production virtuelle : les lieux capturés sont reconstruits sous forme de champs de radiance ou de splats, puis rendus depuis de nouvelles trajectoires de caméra pour les effets visuels et la prévisualisation.
  • Jumeaux numériques et commerce électronique : les captures de pièces, de bâtiments et de produits réalisées avec un téléphone deviennent des vues 3D que les clients et les planificateurs peuvent explorer dans un navigateur ou un casque de RA.
  • Robotique et véhicules autonomes : les trajets enregistrés sont reconstruits et rendus depuis des points de vue décalés, ce qui produit des données synthétiques pour tester les systèmes de perception. Les personnes et les voitures qui bougent pendant la capture laissent des artefacts semi-transparents ; les pipelines les masquent donc dans les photos d’entraînement, et les modèles de segmentation d’instances YOLO26 génèrent automatiquement ces masques pour chaque image. Block-NeRF de Waymo a reconstruit un quartier entier de San Francisco à partir de 2,8 millions d’images en assemblant une grille de NeRF entraînés séparément.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique