Hub documentation
Dataset 3D
Dataset 3D
Hub menampilkan pratinjau file 3D di browser, sehingga Anda dapat memeriksa mesh, scene, point cloud, dan Gaussian splat tanpa perlu mengunduhnya. Panduan ini membahas:
- Pratinjau file 3D di viewer interaktif
- File 3D di Dataset Viewer, dengan kolom
Meshdan galeri aset - Menyusun dataset Anda agar file 3D muncul di samping kolom lainnya
- Dataset SimReady dari aset OpenUSD untuk simulasi robotika

Pratinjau file 3D
Klik file 3D di tab Files and versions dari dataset atau Storage Bucket untuk membukanya di viewer 3D interaktif. Anda dapat memutar, memperbesar, dan membuka viewer dalam layar penuh.
| Format | Ekstensi | Contoh |
|---|---|---|
| glTF | .glb, .gltf | DamagedHelmet.glb |
| Mesh | .obj, .stl, .ply | cone.stl |
| Awan titik | .ply | birmingham_block_13.ply |
| Gaussian splat | .ply, .splat | a_monarch_butterfly.ply |
| OpenUSD | .usd, .usda, .usdc, .usdz | sm_box_corrugated_brown_b08_01.usd |
File glTF, mesh, point cloud, dan Gaussian splat berukuran lebih dari 100 MB akan dimuat saat Anda mengklik Load 3D preview. File berukuran lebih dari 1 GB tidak dapat dipratinjau.
Meshes dan glTF
File glTF dirender dengan material dan teksturnya. Gunakan tombol di sudut kanan atas untuk beralih antara Solid, Wireframe, dan Solid + wireframe.

Awan titik
File .ply yang hanya berisi vertex, seperti hasil pemindaian LiDAR atau fotogrametri, ditampilkan sebagai awan titik dengan warna vertex-nya:

Gaussian splats
Gaussian splats dapat disimpan sebagai file .splat atau .ply:

OpenUSD

Aset USD sering kali dipecah ke dalam beberapa file: file root yang merujuk ke sublayer, payload, material, dan tekstur. Viewer memuat file-file yang dirujuk tersebut dari repositori yang sama, jadi pertahankan struktur folder yang Anda gunakan saat membuat aset, dan gunakan path relatif untuk referensi. Referensi ke path absolut, atau ke file di luar repositori, tidak dapat dimuat.
File 3D di Dataset Viewer
Kolom mesh
Dataset Viewer menampilkan thumbnail untuk setiap sel pada kolom Mesh. Thumbnail dapat dirender untuk file .glb, .ply, .stl dan .obj.

Klik thumbnail untuk membuka file dalam 3D, di sebelah nilai lain dari barisnya:

Kartu Aset 3D
Halaman dataset juga menampilkan kartu 3D Assets dengan hingga 15 thumbnail dari baris-baris pertama subset dan split yang dipilih, seperti yang ada di bagian atas halaman ini. Pastikan baris-baris pertama memiliki mesh, jika tidak kartu tersebut tidak akan muncul.
Sebagai contoh, lihat cfahlgren1/smithsonian-3d-glb.
Menyusun struktur dataset Anda
Hanya file 3D
Jika dataset Anda hanya berisi file .glb, .ply atau .stl, Anda tidak perlu melakukan apa pun: kolom mesh akan ditambahkan secara otomatis.
my_dataset_repository/
βββ meshes
βββ chair.glb
βββ lamp.glb
βββ table.glbKolom tambahan
Untuk menambahkan caption, label, atau kolom lain, tambahkan file metadata.jsonl (atau metadata.csv) dengan kolom file_name di samping file 3D Anda:
my_dataset_repository/
βββ train
βββ box.glb
βββ sphere.glb
βββ metadata.jsonlLihat Membuat dataset mesh untuk detail lebih lanjut, dan cfahlgren1/mesh-doc-test-metadata untuk contoh.
Parquet
Jika dataset Anda disimpan sebagai Parquet, Dataset Viewer membaca file Parquet dan tidak menambahkan file 3D di repositori sebagai kolom. Untuk menampilkan file 3D di samping kolom lainnya, simpan file di repositori dan tambahkan kolom Mesh yang merujuk ke file tersebut:
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")- Path harus relatif terhadap direktori yang berisi file Parquet.
- Gunakan
Noneuntuk baris tanpa file 3D. - Sebuah folder dapat berisi hingga 10.000 file, jadi kelompokkan kumpulan file yang lebih besar ke dalam subfolder.
Lihat cfahlgren1/mesh-doc-test-formats untuk contoh.
Dataset SimReady
SimReady adalah spesifikasi untuk aset OpenUSD yang siap digunakan dalam simulasi, lengkap dengan fisika, material, dan label semantik. Dataset yang berisi paket SimReady menampilkan kartu 3D Assets di halamannya, yang memuat jumlah paket dan hingga 15 thumbnail yang diambil secara acak dari seluruh dataset. Mengklik thumbnail akan membuka file USD-nya di viewer.

Sebagai contoh, lihat nvidia/simready-assets atau nvidia/PhysicalAI-SimReady-Warehouse-01.
Dataset-dataset ini juga diberi tag simready, sehingga muncul saat menerapkan filter pada dataset.
Struktur paket
Paket adalah folder yang berisi file com.nvidia.simready.packaging.json. Paket dapat berada di kedalaman mana pun dalam repositori, dan folder di dalam paket merupakan bagian dari paket tersebut.
Setiap paket membutuhkan thumbnail dari file USD root-nya agar muncul di kartu. Mengikuti persyaratan SimReady untuk thumbnail, thumbnail dari <folder>/<file>.usd adalah <folder>/.thumbs/256x256/<file>.usd.png (atau .usda.png, .usdc.png, .usdz.png), di folder paket atau satu folder di bawahnya:
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
βββ ...<file>.usd_light.pngopsional ditampilkan dalam mode terang, dan<file>.usd.pngdalam mode gelap.- Thumbnail yang lebih besar dari 4 MB akan dilewati.
Kartu diperbarui setelah setiap push ke dataset.
Tag modalitas
Dataset dengan file 3D mendapatkan modalitas 3d, sehingga muncul saat memfilter dataset berdasarkan modalitas. Anda juga dapat menyetelnya di kartu dataset, lihat Memaksa penyetelan modalitas dataset.