Hub documentation

Dataset 3D

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Dataset 3D

Panduan ini menunjukkan bagaimana file 3D dipratinjau di Hub, dan bagaimana menyusun dataset aset OpenUSD, seperti paket SimReady untuk simulasi robotika. Anda dapat memratinjau setiap file 3D di halamannya. Di Dataset Viewer, kolom Mesh menampilkan thumbnail yang terbuka dalam 3D, dan halaman dataset menampilkan galeri aset. Repositori file .glb, .ply atau .stl secara otomatis mendapatkan kolom Mesh. Dataset SimReady juga mendapatkan galeri asetnya.

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.

FormatEkstensi
OpenUSD.usd, .usda, .usdc, .usdz
glTF.glb, .gltf
Mesh.obj, .stl, .ply
Awan titik.ply
Gaussian splat.ply, .splat

File glTF, mesh, point cloud, dan Gaussian splat berukuran lebih dari 100 MB akan dimuat saat Anda mengklik Load 3D preview, sedangkan file berukuran lebih dari 1 GB tidak dapat dipratinjau.

Lapisan dan tekstur 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

Dataset Viewer menampilkan thumbnail untuk setiap sel pada kolom Mesh. Mengklik thumbnail akan membuka file dalam 3D. Thumbnail dapat dirender untuk file .glb, .ply, .stl dan .obj.

Halaman dataset juga menampilkan kartu 3D Assets dengan hingga 15 thumbnail dari baris-baris pertama subset dan split yang dipilih. Pastikan baris-baris pertama memiliki mesh, jika tidak kartu tersebut tidak akan muncul.

Repositori file 3D

Jika dataset Anda hanya berisi file .glb, .ply atau .stl, Anda tidak perlu melakukan apa pun: kolom mesh akan ditambahkan secara otomatis. Lihat Membuat dataset mesh untuk menambahkan metadata.

Dataset Parquet dengan file 3D

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:

import 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 None untuk baris tanpa file 3D.
  • Sebuah folder dapat berisi hingga 10.000 file, jadi kelompokkan kumpulan file yang lebih besar ke dalam subfolder.

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.png opsional ditampilkan dalam mode terang, dan <file>.usd.png dalam 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.

Update on GitHub