Rendu du volume neuronal : NeRF et au-delà
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour créer un tableau de données à l'aide de PhpMyAdmin, les étapes suivantes sont essentielles: connectez-vous à la base de données et cliquez sur le nouvel onglet. Nommez le tableau et sélectionnez le moteur de stockage (InnODB recommandé). Ajouter les détails de la colonne en cliquant sur le bouton Ajouter une colonne, y compris le nom de la colonne, le type de données, s'il faut autoriser les valeurs nuls et d'autres propriétés. Sélectionnez une ou plusieurs colonnes comme clés principales. Cliquez sur le bouton Enregistrer pour créer des tables et des colonnes.

La création d'une base de données Oracle n'est pas facile, vous devez comprendre le mécanisme sous-jacent. 1. Vous devez comprendre les concepts de la base de données et des SGBD Oracle; 2. Master les concepts de base tels que SID, CDB (base de données de conteneurs), PDB (base de données enfichable); 3. Utilisez SQL * Plus pour créer CDB, puis créer PDB, vous devez spécifier des paramètres tels que la taille, le nombre de fichiers de données et les chemins; 4. Les applications avancées doivent ajuster le jeu de caractères, la mémoire et d'autres paramètres et effectuer un réglage des performances; 5. Faites attention à l'espace disque, aux autorisations et aux paramètres des paramètres, et surveillez et optimisez en continu les performances de la base de données. Ce n'est qu'en le maîtrisant habilement une pratique continue que vous pouvez vraiment comprendre la création et la gestion des bases de données Oracle.

Pour créer une base de données Oracle, la méthode commune consiste à utiliser l'outil graphique DBCA. Les étapes sont les suivantes: 1. Utilisez l'outil DBCA pour définir le nom DBN pour spécifier le nom de la base de données; 2. Définissez Syspassword et SystemPassword sur des mots de passe forts; 3. Définir les caractères et NationalCharacterset à Al32Utf8; 4. Définissez la taille de mémoire et les espaces de table pour s'ajuster en fonction des besoins réels; 5. Spécifiez le chemin du fichier log. Les méthodes avancées sont créées manuellement à l'aide de commandes SQL, mais sont plus complexes et sujets aux erreurs. Faites attention à la force du mot de passe, à la sélection du jeu de caractères, à la taille et à la mémoire de l'espace de table

Le cœur des instructions Oracle SQL est sélectionné, insérer, mettre à jour et supprimer, ainsi que l'application flexible de diverses clauses. Il est crucial de comprendre le mécanisme d'exécution derrière l'instruction, tel que l'optimisation de l'indice. Les usages avancés comprennent des sous-requêtes, des requêtes de connexion, des fonctions d'analyse et PL / SQL. Les erreurs courantes incluent les erreurs de syntaxe, les problèmes de performances et les problèmes de cohérence des données. Les meilleures pratiques d'optimisation des performances impliquent d'utiliser des index appropriés, d'éviter la sélection *, d'optimiser les clauses et d'utiliser des variables liées. La maîtrise d'Oracle SQL nécessite de la pratique, y compris l'écriture de code, le débogage, la réflexion et la compréhension des mécanismes sous-jacents.

Guide de fonctionnement du champ dans MySQL: Ajouter, modifier et supprimer les champs. Ajouter un champ: alter table table_name Ajouter Column_name data_type [pas null] [Default default_value] [Clé primaire] [Auto_increment] Modifier le champ: alter table table_name modifie Column_name data_type [pas null] [default default_value] [clé primaire]

Les contraintes d'intégrité des bases de données Oracle peuvent garantir la précision des données, notamment: Not Null: les valeurs nulles sont interdites; Unique: garantie l'unicité, permettant une seule valeur nulle; Clé primaire: contrainte de clé primaire, renforcer unique et interdire les valeurs nulles; Clé étrangère: maintenir les relations entre les tableaux, les clés étrangères se réfèrent aux clés primaires primaires; Vérifiez: limitez les valeurs de colonne en fonction des conditions.

Les requêtes imbriquées sont un moyen d'inclure une autre requête dans une requête. Ils sont principalement utilisés pour récupérer des données qui remplissent des conditions complexes, associer plusieurs tables et calculer des valeurs de résumé ou des informations statistiques. Les exemples incluent la recherche de salaires supérieurs aux employés, la recherche de commandes pour une catégorie spécifique et le calcul du volume des commandes totales pour chaque produit. Lorsque vous écrivez des requêtes imbriquées, vous devez suivre: écrire des sous-requêtes, écrire leurs résultats sur les requêtes extérieures (référencées avec des alias ou en tant que clauses) et optimiser les performances de la requête (en utilisant des index).

Oracle est la plus grande société de logiciels de gestion de base de données au monde (SGBD). Ses principaux produits incluent les fonctions suivantes: Outils de développement du système de gestion de la base de données relationnels (Oracle Database) (Oracle Apex, Oracle Visual Builder) Middleware (Oracle Weblogic Server, Oracle Soa Suite) Cloud Service (Oracle Cloud Infrastructure) Analyse et Oracle Blockchain Pla Intelligence (Oracle Analytic
