Résumé de l'article de référence "NEURAL VOLUME RENDERING: NERF AND BEYOND", janvier 2021, co-écrit par Georgia Tech et MIT.
Neural Rendering est défini comme :
« Une méthode de génération d'image ou de vidéo en profondeur qui permet un contrôle explicite ou implicite des propriétés de la scène telles que l'éclairage, les paramètres de la caméra, la pose, la géométrie, l'apparence et la structure sémantique ».
Il s'agit d'une nouvelle solution basée sur les données qui résout le problème de longue date du rendu réaliste des mondes virtuels en infographie.
Le rendu du volume neuronal fait référence à une méthode de génération d'images ou de vidéos en traçant des rayons dans une scène et en effectuant une sorte d'intégration sur la longueur des rayons. En règle générale, un réseau neuronal tel qu'un perceptron multicouche code des fonctions allant des coordonnées 3D de la lumière à la densité et à la couleur, etc., et les intègre pour générer une image.
Le travail pionnier direct du rendu du volume neuronal est la méthode de définition de la représentation implicite de la surface à l'aide de réseaux de neurones. De nombreuses méthodes de génération d'images perceptuelles 3D utilisent des voxels, des grilles, des nuages de points ou d'autres représentations, souvent basées sur des architectures convolutives. Mais lors du CVPR 2019, au moins trois articles ont introduit l'utilisation de réseaux de neurones comme approximations de fonctions scalaires pour définir des fonctions d'occupation et/ou de distance signée (SDF).
- Les réseaux d'occupation introduisent un apprentissage implicite d'occupation basé sur des coordonnées. Un réseau composé de 5 blocs ResNet, utilisant des vecteurs de caractéristiques et des points 3D en entrée, prédit l'occupation binaire.
- IM-NET utilise un décodeur MLP à 6 couches pour prédire l'occupation binaire en fonction des vecteurs de caractéristiques et des coordonnées 3D. Peut être utilisé pour l'encodage automatique, la génération de formes (style GAN) et la reconstruction à vue unique.
- DeepSDF extrait la fonction de distance signée directement à partir d'une coordonnée 3D et d'un code latent. Il utilise un MPL à 8 couches avec des connexions par sauts vers la couche 4.
- PIFu montre qu'en reprojetant des points 3D dans des représentations de caractéristiques alignées sur les pixels, des modèles implicites particulièrement détaillés peuvent être appris. Ceci est répété dans PixelNeRF et l'effet est très bon.
D'autres approches pour utiliser des fonctions implicites sont :
- Les fonctions implicites structurées (2019) ont montré qu'il est possible de combiner ces représentations implicites, par exemple simplement les additionner.
- CvxNet (2020) combine les fonctions de distance signée en adoptant Pointwise Max (3D).
- BSP Network (2020) est similaire à CvxNet à bien des égards, mais utilise le partitionnement de l'espace binaire en son cœur, ce qui donne lieu à une méthode de sortie locale de maillages polygonaux plutôt que par des méthodes de maillage coûteuses.
- Deep Local Shapes (2020) stocke des codes latents SDF profonds dans des grilles de voxels pour représenter des scènes étendues plus grandes.
- Scene Representation Networks (2019), ou SRN, est très similaire en architecture à DeepSDF, mais ajoute un algorithme de marche de rayons différenciable pour trouver le point d'intersection le plus proche de la surface implicite apprise, et ajoute une couleur de régression MLP, capable d'apprendre à partir d'images. dans plusieurs poses.
- Le rendu volumétrique différenciable (2019) a montré que les représentations de scènes implicites peuvent être combinées avec des rendus différenciables qui peuvent être entraînés à partir d'images, similaires au SRN. Le terme « rendu de volume » est utilisé, mais la véritable contribution principale est une astuce astucieuse qui rend le calcul de profondeur des surfaces implicites différentiable : ne pas intégrer sur le volume.
- Implicit Differentiable Renderer (2020) propose des techniques similaires mais avec une représentation du champ lumineux de surface plus complexe, montrant qu'il peut optimiser les poses de caméra pendant l'entraînement.
- Neural Articulated Shape Approximation (2020) ou NASA, formant des fonctions implicites pour représenter des cibles communes, comme le corps humain.
Pas entièrement sorti de nulle part, bien que toujours basé sur une représentation (déformée) basée sur des voxels, l'article Neural Volumes introduit le rendu de volume pour la synthèse de vue, la densité régressive et la couleur des volumes 3D. Le code latent est décodé en un volume 3D et une nouvelle image est obtenue grâce au rendu volumique.
Il propose d'utiliser une représentation volumique composée d'opacité et de couleur à chaque position dans l'espace 3D, où le rendu est réalisé par projection intégrale. Pendant le processus d'optimisation, cette représentation géométrique semi-transparente disperse les informations de gradient le long du rayon intégrateur, étendant ainsi efficacement la plage de convergence et permettant ainsi la découverte de bonnes solutions.
L'article qui a suscité la discussion de tous est l'article Neural Radiation Field NeRF (2020). Essentiellement, une architecture SDF profonde est utilisée, mais au lieu de régresser la fonction de distance signée (SDF), la densité et la couleur sont renvoyées. Ensuite, des méthodes d'intégration numérique (facilement différentiables) sont utilisées pour approximer l'étape de rendu du volume réel.
Le modèle NeRF stocke les représentations de scènes volumétriques sous forme de poids de MLP et est entraîné sur de nombreuses images avec des poses connues. Une nouvelle vue est rendue en intégrant la densité et la couleur à intervalles réguliers le long de chaque rayon de visualisation.
L'une des raisons du rendu très détaillé de NeRF est l'utilisation de fonctions d'activation périodiques, ou fonctionnalités de Fourier, pour encoder des points 3D sur un rayon et la direction de vue associée. Cette innovation a ensuite été étendue aux réseaux multicouches dotés de fonctions d'activation périodiques, à savoir les SIREN (SInusoidal-REpresentation Networks). Les deux articles ont été publiés dans NeurIPS 2020.
On peut dire que l'impact du papier NeRF réside dans sa simplicité brutale : un seul MLP produit la densité et la couleur en coordonnées 5D. Il existe quelques fonctionnalités, en particulier le codage de position et le schéma d'échantillonnage stratifié, mais il est surprenant qu'une architecture aussi simple puisse produire des résultats aussi impressionnants. Pourtant, le NeRF original laisse de nombreuses possibilités d'amélioration :
- La formation et le rendu sont lents.
- ne peut représenter que des scènes statiques.
- Éclairage fixe.
- Les représentations NeRF formées ne se généralisent pas à d'autres scénarios/objectifs.
Certains projets/articles visent à améliorer les temps de formation et de rendu plutôt lents du papier NeRF original.
- JaxNeRF (2020) prend en charge la formation multi-appareils avec JAX (https://github.com/google/jax), transformant les journées en heures, accélérant considérablement le processus.
- AutoInt (2020) apprend directement les intégrales de volume, accélérant considérablement le rendu.
- Learned Initialization (2020) utilise le méta-apprentissage pour trouver une bonne initialisation du poids et accélérer l'entraînement.
- DeRF (2020) décompose la scène en un « graphe de Voronoi doux », exploitant l'architecture de mémoire de l'accélérateur.
- NERF++ (2020) propose d'utiliser un NERF séparé pour modéliser l'arrière-plan et gérer un nombre illimité de scénarios.
- Neural Sparse Voxel Fields (2020) organise les scènes en octrees de voxels clairsemés, augmentant ainsi la vitesse de rendu de 10x.
Au moins quatre œuvres se concentrent sur des scènes dynamiques :
- Nerfies (2020) et sa vidéo déformable modèle D-NeRF sous-jacente, utilisant un deuxième MLP pour appliquer une déformation à chaque image de la vidéo.
- D-NeRF (2020) est très similaire à l'article de Nerfies et utilise même les mêmes acronymes, mais semble limiter la transformation de la traduction.
- Neural Scene Flow Fields (2020) prend une vidéo monoculaire avec une pose de caméra connue comme entrée, une prédiction de profondeur comme auparavant et génère le flux de scène pour la régularisation de la fonction de perte.
- Le champ d'irradiance neuronale spatio-temporelle (2020) utilise le temps uniquement comme entrée supplémentaire. Pour réussir à entraîner cette méthode au rendu de vidéos à points de vue arbitraires (à partir de données RVB-D !), la fonction de perte doit être choisie avec soin.
- NeRFlow (2020) utilise la déformation MLP pour modéliser le flux de la scène et l'intègre dans les domaines temporels pour obtenir la déformation finale.
- NR NeRF (2020) modélise également des scènes non rigides avec du MLP déformable. Il ne s'appuie pas sur des informations de scène précalculées autres que les paramètres de la caméra, mais produit une sortie légèrement moins claire que Nerfies.
- STaR (2021) prend la vidéo RVB multi-vues comme entrée et décompose la scène en volumes statiques et dynamiques. Cependant, il ne prend actuellement en charge qu’une seule cible mobile.
Il existe également deux articles axés sur les avatars/portraits de personnes.
- PortraitNeRF (2020) Créez un avatar statique de style NeRF (Avatar), mais capturez l'image avec un seul RVB. Pour y parvenir, des données d’entraînement sur scène légère sont nécessaires.
- DNRF (G2020) se concentre sur 4D Avatar, intègre des modèles faciaux déformés dans le pipeline et impose un fort biais inductif.
Un autre aspect où les méthodes de style NeRF ont été améliorées est la façon dont l'éclairage est géré, souvent via un code latent qui peut être utilisé pour rééclairer les scènes.
- NeRV (2020) prend en charge l'éclairage ambiant arbitraire et l'éclairage indirect « une fois rebondi » avec un deuxième MLP « visibilité ».
- NeRD (2020) est un autre travail dans lequel un modèle de réflexion locale est utilisé et, de plus, pour une scène donnée, l'éclairage harmonique sphérique à basse résolution est supprimé.
- Neural Reflectance Fields (2020) améliore le NeRF en ajoutant des modèles de réflexion locaux, en plus de la densité. Il produit des résultats de rééclairage impressionnants même s'il provient d'une source lumineuse unique.
- NeRF-W (2020) est l'une des premières suites de NeRF, optimisant le code d'apparence latente pour pouvoir apprendre des représentations de scènes neuronales à partir de collections multi-vues moins contrôlées.
Les codes latents peuvent également être utilisés pour coder des a priori de forme :
- pixelNeRF (2020) est plus proche du rendu basé sur l'image, où N images sont utilisées au moment du test. Il est basé sur PIFu, créant des fonctionnalités alignées sur les pixels qui sont ensuite interpolées lors de l'évaluation d'un moteur de rendu de style NeRF.
- GRF (2020) est très proche de pixelNeRF dans les paramètres, mais fonctionne dans l'espace normatif au lieu de l'espace de visualisation.
- GRAF (2020), ou « Modèle génératif pour les champs de rayonnement », est une variante conditionnelle de NeRF qui ajoute l'apparence et la forme des codes latents tout en obtenant l'invariance du point de vue grâce à un entraînement de style GAN.
- pi GAN (2020), similaire à GRAF mais utilisant une implémentation NeRF de style SIREN où chaque couche est modulée par une sortie MLP différente utilisant des codes latents.
Sans doute, rien de tout cela ne s'adapte à de grandes scènes composées de nombreuses cibles, donc un nouveau domaine passionnant est la façon de regrouper les cibles dans des scènes de rendu de volume.
- Le rendu de scène neuronale centré sur l'objet (2020) apprend une « fonction de diffusion d'objet » dans un système de coordonnées centré sur l'objet, permettant de restituer et d'éclairer de manière réaliste des scènes synthétiques à l'aide de Monte Carlo.
- GIRAFFE (2020) prend en charge la synthèse en produisant des vecteurs de caractéristiques au lieu de couleurs à partir d'un modèle NeRF centré sur l'objet, qui est ensuite synthétisé par moyenne et rendu à basse résolution sous forme de cartes de caractéristiques 2D, qui sont ensuite suréchantillonnées en 2D.
- Neural Scene Graphs (2020) prend en charge plusieurs modèles NeRF centrés sur les objets dans les graphiques de scène.
Enfin, au moins un article utilise le rendu NeRF dans le contexte de l'estimation de la pose d'objets (connus).
- iNeRF (2020) utilise NeRF MLP dans un cadre d'estimation de pose et est même capable d'améliorer la synthèse de vues sur des ensembles de données standard en affinant les poses. Cependant, il ne peut pas encore gérer l'éclairage.
Il est loin d'être clair si le rendu du corps neuronal et les papiers de style NeRF finiront par réussir. Bien que la fumée, la brume, la transparence, etc. existent dans le monde réel, en fin de compte, la majeure partie de la lumière est diffusée depuis les surfaces vers l'œil. Les réseaux de style NeRF peuvent être faciles à former en raison de l'approche basée sur le volume, mais une tendance a été observée selon laquelle les articles tentent de découvrir ou de deviner les surfaces après convergence. En fait, le plan d’échantillonnage stratifié de l’article original du NeRF correspond exactement à cela. Par conséquent, lors de l’apprentissage de NeRF, on peut facilement envisager de revenir aux représentations implicites de style SDF ou même aux voxels, du moins au moment de l’inférence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!