Hub documentation

3B Veri Seti

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

3B Veri Seti

Hub, 3D dosyaları tarayıcıda önizler; böylece indirmeden ızgaraları (mesh), sahneleri, nokta bulutlarını ve Gaussian splat'ları inceleyebilirsiniz. Bu kılavuz şunları kapsar:

3D dosyalarını önizleme

Bir veri setinin Files and versions sekmesindeki veya Storage Bucket'taki bir 3D dosyasına tıklayarak onu etkileşimli bir 3D görüntüleyicide açabilirsiniz. Görüntüleyiciyi döndürebilir, yakınlaştırabilir ve tam ekran olarak açabilirsiniz.

BiçimEklentilerÖrnek
glTF.glb, .gltfDamagedHelmet.glb
Mesh.obj, .stl, .plycone.stl
Nokta bulutu.plybirmingham_block_13.ply
Gaussian splat.ply, .splata_monarch_butterfly.ply
OpenUSD.usd, .usda, .usdc, .usdzsm_box_corrugated_brown_b08_01.usd

100 MB'den büyük glTF, mesh, nokta bulutu ve Gaussian splat dosyaları, 3D önizlemeyi yükle öğesine tıkladığınızda yüklenir. 1 GB'dan büyük dosyalar önizlenmez.

Meshler ve glTF

glTF dosyaları, malzemeleri ve dokularıyla birlikte görüntülenir. Sağ üst köşedeki düğmeleri kullanarak Solid, Wireframe ve Solid + wireframe arasında geçiş yapın.

Nokta bulutları

Sadece tepe noktaları içeren bir .ply dosyası, örneğin bir LiDAR veya fotogrametri taraması, tepe noktası renkleriyle birlikte bir nokta bulutu olarak gösterilir:

Gaussian splatlar

Gaussian splat'lar .splat veya .ply dosyaları olarak saklanabilir:

OpenUSD

USD varlığı genellikle birden fazla dosyaya bölünür: alt katmanları, yükleri, malzemeleri ve dokuları referans veren bir kök dosya. Görüntüleyici, bu referans verilen dosyaları aynı depodan yükler; bu nedenle varlığı oluştururken kullandığınız klasör yapısını koruyun ve referanslar için göreli yollar kullanın. Mutlak yollara veya depodaki dosyalar dışındaki dosyalara yapılan referanslar yüklenemez.

Veri Seti Görüntüleyicideki 3D dosyalar

Mesh sütunları

Dataset Viewer, Mesh sütunundaki her hücre için bir küçük resim gösterir. Küçük resimler .glb, .ply, .stl ve .obj dosyaları için oluşturulabilir.

Bir dosyayı 3D olarak açmak için küçük resme tıklayın; dosya, satırındaki diğer değerlerin yanında açılır:

3D Varlıkları kartı

Veri seti sayfası, seçilen alt küme ve bölünmenin ilk satırlarından en fazla 15 küçük resim içeren, bu sayfanın üstündeki gibi bir 3D Varlıklar kartını da gösterir. Kartın görünmesi için ilk satırlarda bir mesh olduğundan emin olun.

Örneğin, cfahlgren1/smithsonian-3d-glb adresine bakın.

Veri setinizi yapılandırma

Yalnızca 3D dosyaları

Veri setiniz yalnızca .glb, .ply veya .stl dosyaları içeriyorsa hiçbir şey yapmanıza gerek yoktur: bunlara otomatik olarak bir mesh sütunu eklenir.

my_dataset_repository/
└── meshes
    ├── chair.glb
    ├── lamp.glb
    └── table.glb

Ek sütunlar

Başlıklar, etiketler veya diğer sütunları eklemek için 3D dosyalarınızın yanına file_name sütunu içeren bir metadata.jsonl (veya metadata.csv) dosyası ekleyin:

my_dataset_repository/
└── train
    ├── box.glb
    ├── sphere.glb
    └── metadata.jsonl

Daha fazla ayrıntı için Mesh veri seti oluşturma ve bir örnek için cfahlgren1/mesh-doc-test-metadata adresine bakın.

Parquet

Veri setiniz Parquet olarak saklanıyorsa, Dataset Viewer Parquet dosyalarını okur ve depodaki 3D dosyalarını bir sütun olarak eklenmez. 3D dosyalarını diğer sütunlarınızın yanında göstermek için dosyaları depoda tutun ve onlara atıfta bulunan bir Mesh sütunu ekleyin:

my_dataset_repository/
├── meshes
│   ├── box.glb
│   ├── cone.stl
│   └── ...
└── train.parquet
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")
  • Yollar, Parquet dosyasını içeren dizine göre göreli olmalıdır.
  • 3D dosyası olmayan satırlar için None kullanın.
  • Bir klasör en fazla 10.000 dosya içerebilir, bu nedenle daha büyük dosya kümelerini alt klasörlere gruplayın.

Örnek için cfahlgren1/mesh-doc-test-formats adresine bakın.

SimReady veri kümeleri

SimReady, fizik, malzemeler ve anlamsal etiketlere sahip, simülasyonda kullanıma hazır OpenUSD varlıkları için bir spesifikasyondur. SimReady paketleri içeren veri setlerinin sayfalarında, veri seti genelinde örneklenen paket sayısı ve en fazla 15 küçük resim içeren bir 3D Assets kartı görüntülenir. Bir küçük resme tıklamak, ilgili USD dosyasını görüntüleyicide açar.

Örneğin, nvidia/simready-assets veya nvidia/PhysicalAI-SimReady-Warehouse-01 adreslerine bakın.

Bu veri setleri ayrıca simready etiketini alır, bu nedenle veri setlerini filtrelerken görünürler.

Paket yapısı

Bir paket, com.nvidia.simready.packaging.json dosyası içeren bir klasördür. Paketler, depodaki herhangi bir derinlikte bulunabilir ve bir paketin içindeki klasörler o paketin bir parçasıdır.

Her paketin kartta görünmesi için kök USD dosyasının küçük bir önizlemesine (thumbnail) ihtiyacı vardır. SimReady önizleme gereksinimine göre, <folder>/<file>.usd dosyasının önizlemesi <folder>/.thumbs/256x256/<file>.usd.png (veya .usda.png, .usdc.png, .usdz.png) biçimindedir ve paket klasöründe veya bir alt klasörde bulunur:

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
    └── ...
  • İsteğe bağlı <file>.usd_light.png dosyası açık modda, <file>.usd.png dosyası ise koyu modda gösterilir.
  • 4 MB'den büyük küçük resimler atlanır.

Kart, veri setine her itme (push) işleminden sonra güncellenir.

Modallite etiketi

3D dosyaları içeren veri setleri 3d modalitesine sahip olur, bu nedenle modaliteye göre veri setlerini filtrelerken görünürler. Ayrıca bunu veri seti kartında da ayarlayabilirsiniz, bkz. Bir veri seti modalitesini zorla ayarlama.

Update on GitHub