npx skills add ...
npx skills add nvidia/nurec-skills --skill asset-harvester
Use to install and run NVIDIA Asset Harvester (Apache-2.0) to extract per-object 3D Gaussian Splat assets (`gaussians.ply`) from AV NCore V4 clips or masked single images via SparseViewDiT + TokenGS, optionally producing `metadata.yaml` for NuRec object insertion. Do NOT use for full-scene reconstruction (use `nre`) or for inputs without per-object masks.
npx skills add nvidia/nurec-skills --skill asset-harvester
Install and drive NVIDIA Asset Harvester to extract per-object 3D
Gaussian Splat assets from sparse autonomous-vehicle (AV) object
observations — either a multi-view crop pulled from an NCore V4
driving log or a single masked image. The output is a
simulation-ready gaussians.ply plus optional metadata.yaml that
NVIDIA Omniverse NuRec can ingest as an external asset. Apache-2.0
upstream code lives at https://github.com/NVIDIA/asset-harvester.
Use this skill when:
SparseViewDiT, TokenGS, or wants to
reproduce the Asset Harvester paper / HF Space demo locally..ply Gaussians + metadata.yaml suitable for
NVIDIA Omniverse NuRec object insertion.Do NOT use this skill when:
nre skill).ncore skill first).Open-source (Apache-2.0) image-to-3D pipeline pairing SparseViewDiT (multiview diffusion, 16 consistent views) with TokenGS (feed-forward Gaussian lifting):
Single HF repo nvidia/asset-harvester ships four checkpoints:
AH_object_seg_jit.pt (AV-object Mask2Former),
AH_multiview_diffusion.safetensors (SparseViewDiT),
AH_camera_estimator.safetensors (camera pose, used when calibration
is absent), and AH_tokengs_lifting.safetensors (TokenGS).
frame.jpeg (512×512) and (optional) mask.png (required unless
component_store is given)..json manifest,
comma-separated component-store paths, or .zarr.itar glob
(required when running the NCore parsing path).gaussians.ply,
multiview/, 3d_lifted/, *.mp4) are written (default
outputs/).--offload_model_to_cpu /
--offload) when VRAM < ~16 GB.nvidia/asset-harvester repo and the PhysicalAI NCore dataset
(obtain at https://huggingface.co/settings/tokens).scripts/validate_setup.py via its standard script runner —
e.g. run_script("scripts/validate_setup.py") or
python scripts/validate_setup.py. It confirms conda, the NVIDIA
driver, GCC, and HF_TOKEN are in place and exits non-zero on
any missing prerequisite. Do not print $HF_TOKEN directly;
see references/installation.md.bash setup.sh path unless the
user asks for a manual install. Full commands and the pinned
gsplat step are in
references/installation.md.hf auth login first, then
hf download nvidia/asset-harvester --local-dir checkpoints (see
references/installation.md).references/workflows.md.references/end-to-end-ncore.md).< 16 GB VRAM, add
--offload_model_to_cpu (direct run_inference.py) or
--offload (run.sh).gaussians.ply and the two MP4s
exist under ${OUTPUT_DIR}/<sample>/.av-object-benchmark
and run benchmark/eval.py for PSNR / LPIPS / SSIM and DINOv3
embedding metrics. See
references/end-to-end-ncore.md.orient_gaussians_for_nurec, emit metadata.yaml, then follow
the NuRec external-assets docs.Three concrete entry points. Each one points at the workflow file with the full command; nothing here is meant to be copy-pasted in isolation.
See Workflow Q in
references/workflows.md.
See Workflow S in
references/workflows.md.
Full walkthrough including sample-clip download, the benchmark
flow, and the NuRec PPISP caveat lives in
references/end-to-end-ncore.md.
| Script | Purpose | Usage |
|---|---|---|
scripts/validate_setup.py | Verify host meets Asset Harvester prerequisites (conda, driver, GCC, HF_TOKEN). No network access. | Invoke via the agent's run_script helper, or python scripts/validate_setup.py. |
Per input sample (image or NCore track) the pipeline writes:
When the NuRec handoff runs, metadata.yaml is additionally written
at the root of the oriented output directory.
Linux (Ubuntu 22.04 tested), conda, NVIDIA driver >= 570 (CUDA
12.8), GCC 10–13, ~16 GB GPU VRAM, ~30 GB free disk, HF_TOKEN with
the nvidia/asset-harvester model card accepted, and egress to
github.com, huggingface.co, pypi.org,
download.pytorch.org. The check that fails-fast on a missing
prerequisite is scripts/validate_setup.py; secret-handling
guidance lives in
references/installation.md.
references/installation.md —
one-shot + manual install, checkpoint download, safe HF_TOKEN
handling.references/workflows.md — Workflows
Q (bundled), S (single image), N (NCore) plus a configuration
matrix.references/end-to-end-ncore.md
— full NCore V4 walkthrough including benchmark eval in the cloned
av-object-benchmark env, and the NuRec handoff checklist.references/cli-reference.md —
exhaustive flag matrix for run_inference.py, run.sh,
run_ncore_parser.sh, image_segment,
orient_gaussians_for_nurec,
generate_external_assets_metadata.py.references/troubleshooting.md
— extended error matrix and full teardown / disk-cleanup recipe.../ncore/SKILL.md (NCore V4
ingest), ../nre/SKILL.md (NRE scene
reconstruction and export-external-assets packaging),
../physical-ai-datasets/SKILL.md
(sample NCore clips, benchmark dataset).AH_object_seg_jit.pt is class-restricted (vehicles, VRUs,
cyclists, road objects). Supply your own mask.png for arbitrary
objects.benchmark/eval.py needs a separately cloned conda env
(av-object-benchmark) because transformers>=4.56.0 conflicts
with the main env's pinned transformers==4.48.3.facebook/sam-3d-body-dinov3 repo; eval falls back to
PSNR/LPIPS/SSIM if unavailable.| Error | Cause | Solution |
|---|---|---|
gsplat import / CUDA ABI mismatch | Installed gsplat from PyPI wheel instead of the pinned commit | Reinstall from the pinned source commit; see references/installation.md. |
nvcc "unsupported GNU version" | GCC outside 10–13 on PATH | Install GCC 12 and export CC/CXX/CUDAHOSTCXX before setup.sh. |
CUDA error: out of memory | GPU VRAM < ~16 GB | Add --offload_model_to_cpu (direct) or --offload (run.sh). |
401 Unauthorized from hf download | Model-card terms not accepted, or missing HF_TOKEN | Accept the model card and re-run hf auth login. |
Full matrix + teardown live in
references/troubleshooting.md.