Hub documentation
Jeu de données 3D
Jeu de données 3D
Le Hub affiche les fichiers 3D en aperçu dans le navigateur, ce qui vous permet d’inspecter les maillages, les scènes, les nuages de points et les splats gaussiens sans les télécharger. Ce guide couvre :
- Aperçu des fichiers 3D dans un visualiseur interactif
- Fichiers 3D dans le Dataset Viewer, avec des colonnes
Meshet une galerie d'actifs - Structurer votre jeu de données pour que les fichiers 3D apparaissent à côté de vos autres colonnes
- Jets de données SimReady d'actifs OpenUSD pour la simulation robotique

Aperçu des fichiers 3D
Cliquez sur un fichier 3D dans l’onglet Fichiers et versions d’un jeu de données ou d’un Storage Bucket pour l’ouvrir dans un visualiseur 3D interactif. Vous pouvez le faire pivoter, zoomer et afficher le visualiseur en plein écran.
| Format | Extensions | Exemple |
|---|---|---|
| glTF | .glb, .gltf | DamagedHelmet.glb |
| Mesh | .obj, .stl, .ply | cone.stl |
| Nuage de points | .ply | birmingham_block_13.ply |
| Splat gaussien | .ply, .splat | a_monarch_butterfly.ply |
| OpenUSD | .usd, .usda, .usdc, .usdz | sm_box_corrugated_brown_b08_01.usd |
Les fichiers glTF, mesh, nuage de points et Gaussian splat de plus de 100 Mo sont chargés lorsque vous cliquez sur Load 3D preview. Les fichiers de plus de 1 Go ne sont pas prévisualisés.
Meshes et glTF
Les fichiers glTF sont rendus avec leurs matériaux et leurs textures. Utilisez les boutons dans le coin supérieur droit pour basculer entre Solid, Wireframe et Solid + wireframe.

Nuages de points
Un fichier .ply ne contenant que des sommets, comme un scan LiDAR ou photogrammétrique, est affiché sous forme de nuage de points avec les couleurs de ses sommets :

Gaussian splats
Les splats gaussiens peuvent être stockés sous forme de fichiers .splat ou .ply :

OpenUSD

Un actif USD est souvent réparti sur plusieurs fichiers : un fichier racine qui référence des sous-couches, des charges utiles, des matériaux et des textures. Le visionneuse charge ces fichiers référencés depuis le même dépôt, il est donc recommandé de conserver la structure de dossiers utilisée lors de la création de l’actif et d’utiliser des chemins relatifs pour les références. Les références vers des chemins absolus, ou vers des fichiers situés en dehors du dépôt, ne peuvent pas être chargées.
Fichiers 3D dans le Dataset Viewer
Colonnes de maillage
Le Dataset Viewer affiche une miniature pour chaque cellule d’une colonne Mesh. Des miniatures peuvent être rendues pour les fichiers .glb, .ply, .stl et .obj.

Cliquez sur une miniature pour ouvrir le fichier en 3D, à côté des autres valeurs de sa ligne :

Carte des ressources 3D
La page du jeu de données affiche également une carte 3D Assets avec jusqu’à 15 vignettes issues des premières lignes du sous-ensemble et de la partition sélectionnés, comme celle située en haut de cette page. Assurez-vous que les premières lignes contiennent un maillage, sinon la carte n’apparaît pas.
Par exemple, voir cfahlgren1/smithsonian-3d-glb.
Structurer votre jeu de données
Fichiers 3D uniquement
Si votre jeu de données ne contient que des fichiers .glb, .ply ou .stl, vous n’avez rien à faire : une colonne mesh est ajoutée automatiquement.
my_dataset_repository/
└── meshes
├── chair.glb
├── lamp.glb
└── table.glbColonnes supplémentaires
Pour ajouter des légendes, des étiquettes ou d'autres colonnes, ajoutez un fichier metadata.jsonl (ou metadata.csv) avec une colonne file_name à côté de vos fichiers 3D :
my_dataset_repository/
└── train
├── box.glb
├── sphere.glb
└── metadata.jsonlVoir Créer un jeu de données maillé pour plus de détails, et cfahlgren1/mesh-doc-test-metadata pour un exemple.
Parquet
Si votre jeu de données est stocké au format Parquet, le Dataset Viewer lit les fichiers Parquet et n’ajoute pas les fichiers 3D du dépôt en tant que colonne. Pour afficher les fichiers 3D à côté de vos autres colonnes, conservez les fichiers dans le dépôt et ajoutez une colonne Mesh qui y fait référence :
my_dataset_repository/
├── meshes
│ ├── box.glb
│ ├── cone.stl
│ └── ...
└── train.parquetimport json
import pyarrow as pa
import pyarrow.parquet as pq
from datasets import Features, Mesh, Value
table = pq.read_table("train.parquet")
cells = [
{"bytes": None, "path": f"meshes/{row_id}.glb"} # relative path from parquet directory to meshes
for row_id in table["id"].to_pylist()
]
table = table.append_column("mesh", pa.array(cells, type=Mesh().pa_type))
# List all the columns of your dataset
features = Features({"id": Value("string"), "prompt": Value("string"), "mesh": Mesh()})
table = table.replace_schema_metadata(
{"huggingface": json.dumps({"info": {"features": features.to_dict()}})}
)
pq.write_table(table, "train.parquet")- Les chemins doivent être relatifs au répertoire contenant le fichier Parquet.
- Utilisez
Nonepour les lignes sans fichier 3D. - Un dossier peut contenir jusqu'à 10 000 fichiers ; regroupez donc les ensembles de fichiers plus volumineux dans des sous-dossiers.
Voir cfahlgren1/mesh-doc-test-formats pour un exemple.
Jeux de données SimReady
SimReady est une spécification pour les assets OpenUSD prêts à l’emploi dans les simulations, avec physique, matériaux et étiquettes sémantiques. Les jeux de données contenant des paquets SimReady affichent une carte 3D Assets sur leur page, indiquant le nombre de paquets et jusqu’à 15 vignettes échantillonnées dans l’ensemble du jeu de données. Un clic sur une vignette ouvre son fichier USD dans le visualiseur.

Par exemple, voir nvidia/simready-assets ou nvidia/PhysicalAI-SimReady-Warehouse-01.
Ces jeux de données reçoivent également le tag simready, ils s’affichent donc lors du filtrage des jeux de données.
Structure du package
Un package est un dossier contenant un fichier com.nvidia.simready.packaging.json. Les packages peuvent se trouver à n'importe quelle profondeur dans le dépôt, et les dossiers situés à l'intérieur d'un package en font partie.
Chaque package a besoin d’une miniature de son fichier USD racine pour s’afficher dans la carte. Conformément à l’exigence SimReady pour les miniatures, la miniature de <folder>/<file>.usd est <folder>/.thumbs/256x256/<file>.usd.png (ou .usda.png, .usdc.png, .usdz.png), dans le dossier du package ou dans un dossier situé juste en dessous :
my_dataset_repository/
├── IV_pole_a01
│ ├── com.nvidia.simready.packaging.json
│ └── simready_usd
│ ├── .thumbs
│ │ └── 256x256
│ │ ├── sm_IV_pole_a01_01.usd.png
│ │ └── sm_IV_pole_a01_01.usd_light.png
│ ├── sm_IV_pole_a01_01.usd
│ └── payloads
│ └── ...
└── IV_pole_a02
├── com.nvidia.simready.packaging.json
└── ...- Un fichier
<file>.usd_light.pngfacultatif est affiché en mode clair, et<file>.usd.pngen mode sombre. - Les vignettes de plus de 4 Mo sont ignorées.
La carte est mise à jour après chaque push vers le jeu de données.
Étiquette de modalité
Les jeux de données contenant des fichiers 3D reçoivent la modalité 3d, ils apparaissent donc lors du filtrage des jeux de données par modalité. Vous pouvez également la définir dans la carte du jeu de données, voir Forcer la définition d'une modalité de jeu de données.