Contenu sponsorisé
Image de Nvidia
En tant que data scientists, nous sommes toujours à la recherche d’outils et de cadres pour traiter et analyser efficacement les données. Cet article explore OpenUSD, un framework puissant qui va au-delà de son utilisation traditionnelle en infographie et offre des possibilités intéressantes pour les pipelines de science des données.
OpenUSD, ou Universal Scene Description, fournit une plateforme polyvalente et extensible pour gérer et traiter des modèles de données complexes. Il peut représenter un large éventail de types de données et améliorer les ensembles de données dans divers domaines.
Voyons ce que les data scientists devraient savoir sur OpenUSD et comment il peut améliorer leurs flux de travail.
Modélisation de données communes
OpenUSD introduit un modèle de données unifié permettant aux data scientists de représenter et de manipuler efficacement des structures de données 3D complexes. Avec USD, les données d’objets peuvent être organisées en graphiques de scène hiérarchiques, ce qui est particulièrement utile pour les jeux de données à grande échelle ou les dépendances de données complexes.
L’intégration dans l’écosystème OpenUSD permet également un partage et une réutilisation faciles des données. Les sources de données dans OpenUSD peuvent être intégrées dans une vue globale englobant le contenu d’autres formats de fichiers.
Plugins de format de fichier
Les plugins de format de fichier USD permettent d’exploiter la puissance d’OpenUSD tout en conservant vos ensembles de données existants dans leurs formats actuels. Ces plugins peuvent lire et traduire un format de fichier en données OpenUSD à la volée.
Par exemple, dans la science des données 3D, les fichiers Wavefront OBJ sont populaires pour les données de maillage 3D. Avec un plugin de format de fichier OBJ comme celui récemment open-source d’Adobe, vous pouvez référencer des données OBJ existantes et les composer dans OpenUSD pour ajouter ou remplacer des attributs ou les utiliser pour l’assemblage de scènes. Voici un exemple d’assemblage d’une scène de cuisine à l’aide de modèles OBJ pour une théière et une table. La position de la théière dans la scène est ajustée pour la faire pivoter et la déplacer au-dessus de la table.
kitchen.usd
#usda 1.0
(
defaultPrim = "World"
metersPerUnit = 1.0
upAxis = "Z"
)
def Xform "World"
{
def "teapot" (prepend references = @utah_teapot.obj@)
{
float3 xformOp:rotateXYZ = (0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
double3 xformOp:translate = (0, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
}
}
Ceci s’applique également aux données non 3D.
Composabilité
OpenUSD excelle en tant que description de scène composable, se manifestant principalement par l’agrégation de scènes et le raffinement progressif. L’agrégation de scènes implique de référencer de nombreux éléments 3D provenant de différentes sources et de les assembler de manière non destructive pour former une scène plus grande. Le raffinement progressif permet de commencer avec un actif grossier et peu détaillé, puis d’ajouter progressivement des couches supplémentaires pour affiner l’actif.
En reprenant l’exemple du maillage OBJ, vous pouvez commencer avec uniquement les données de maillage et utiliser OpenUSD pour ajouter des propriétés de matériaux physiques, des étiquettes sémantiques et d’autres aspects auxiliaires tels que l’attribution géospatiale. Le raffinement est composé à l’aide de sous-couches pour les différents types de détails que vous souhaitez ajouter à votre actif.
teapot.usd
#usda 1.0
(
defaultPrim = "World"
metersPerUnit = 1.0
upAxis = "Z"
subLayers = [
@./semantic_labels.usd@
@./materials.usd@
@./utah_teapot.obj@
]
)
def Xform "World"
{
}
Construire vos ensembles de données de cette manière les rend extrêmement portables et modulaires. Cela permet également d’améliorer la fidélité et la qualité des sources de données.
Vous pouvez partager le maillage avec tous les attributs ou désactiver ou supprimer les couches non pertinentes pour différents pipelines. Le SimReady Specification and Dataset est un exemple de ces principes mis en pratique aujourd’hui.
Pipeline personnalisé
Le framework Hydra d’OpenUSD permet aux data scientists de créer des pipelines personnalisés pour le traitement et l’analyse des données. Hydra permet la mise en œuvre d’une logique métier sous la forme d’une chaîne personnalisable d’index de scènes d’exécution. Ce découplage du traitement des données des environnements d’exécution spécifiques permet aux data scientists d’exploiter la puissance de l’USD dans leurs propres flux de travail de science des données.
Extensibilité
L’un des principaux atouts d’OpenUSD est son extensibilité. Les data scientists peuvent étendre les capacités d’OpenUSD en créant leurs propres délégués de scène et en rendant les délégués. Cela signifie que n’importe quel graphique de scène capable de répondre aux requêtes des délégués de scène peut être utilisé, offrant ainsi une flexibilité dans l’intégration de diverses sources et formats de données.
OpenUSD est également extensible grâce à des schémas. À mesure que les data scientists commencent à mapper les concepts de leurs modèles de données vers OpenUSD, ils peuvent constater que tous les concepts ne sont pas directement mappés et qu’une traduction vers un concept existant dans OpenUSD peut ne pas convenir. Lorsque les data scientists identifient une lacune conceptuelle dans la cartographie des données, ils peuvent formaliser le nouveau concept dans un nouveau schéma qui peut être exploité immédiatement.
À mesure que le schéma mûrit, les data scientists sont encouragés à partager leurs schémas avec d’autres organisations et institutions et à parcourir le parcours complet du schéma afin qu’il puisse être révisé, publié et standardisé. Un bon exemple en est la proposition de schéma sémantique de NVIDIA pour standardiser l’étiquetage sémantique des actifs 3D pour la génération de données synthétiques.
Traitement procédural avec Hydra 2.0
Hydra 2.0 fait passer les capacités d’OpenUSD au niveau supérieur en introduisant le traitement procédural des index de scène. Cela permet aux data scientists de traiter des chaînes d’index de scènes via plusieurs étapes de pipeline, permettant ainsi des flux de travail plus complexes et personnalisables. Avec Hydra 2.0, les data scientists peuvent itérer et optimiser leurs pipelines, facilitant ainsi l’expérimentation de différentes techniques de traitement de données. Les plugins d’index de scène sont également portables, permettant de partager leur logique métier modulaire entre les applications OpenUSD.
OpenUSD offre aux data scientists un cadre puissant et polyvalent pour gérer et traiter des modèles de données complexes. Son modèle de données unifié, son extensibilité et sa généralité en font un cadre inestimable pour les flux de travail et les pipelines de science des données. Grâce à l’extensibilité de la modélisation de données courantes via des plugins de schéma et des noyaux d’exécution dans Hydra 2.0, OpenUSD permet aux scientifiques des données de traiter et d’analyser efficacement des ensembles de données à grande échelle, permettant ainsi des calculs plus rapides et plus évolutifs. En tant que data scientists, il est essentiel d’explorer et d’exploiter des outils comme OpenUSD pour libérer tout le potentiel de nos efforts basés sur les données.
Un nombre croissant d’outils et d’applications prend déjà en charge l’importation et l’exportation OpenUSD. Les développeurs peuvent apprendre à ajouter le support OpenUSD à leurs applications dans la documentation OpenUSD de NVIDIA, qui comprend les premières étapes, un apprentissage guidé et des références techniques pour commencer.
Pour accéder à plus de ressources et démarrer avec OpenUSD, visitez la page Universal Scene Description de NVIDIA. Commencez avec NVIDIA Omniverse en téléchargeant gratuitement la licence standard.
L’Alliance for OpenUSD (AOUSD) est une organisation ouverte à but non lucratif dédiée à la promotion de l’interopérabilité du contenu 3D via OpenUSD.
Apprenez-en davantage et devenez un membre dès aujourd’hui.