asset-harvester

द्वारा nvidia

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…

npx skills add https://github.com/nvidia/nurec-skills --skill asset-harvester

Asset Harvester

Purpose

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.

When to Use / When NOT to Use

Use this skill when:

  • The user has AV clips or masked single images and wants per-object 3D assets via the SparseViewDiT + TokenGS pipeline.
  • The user has NCore V4 driving-log clips and wants per-track 3D assets for simulation.
  • The user asks about SparseViewDiT, TokenGS, or wants to reproduce the Asset Harvester paper / HF Space demo locally.
  • The user wants .ply Gaussians + metadata.yaml suitable for NVIDIA Omniverse NuRec object insertion.

Do NOT use this skill when:

  • The user wants a full-scene reconstruction (use the nre skill).
  • The user has no per-object masks or AV-style object crops.
  • The user wants text-to-3D, indoor scans, or non-AV imagery — out of distribution.
  • The user wants to ingest raw sensor data into NCore V4 (use the ncore skill first).
  • The user wants to re-train SparseViewDiT or TokenGS — this skill is install + inference only.
  • The user just wants the no-install demo: point them at https://huggingface.co/spaces/nvidia/asset-harvester.

Background

Open-source (Apache-2.0) image-to-3D pipeline pairing SparseViewDiT (multiview diffusion, 16 consistent views) with TokenGS (feed-forward Gaussian lifting):

NCore V4 clip ──► NCore parsing ──► SparseViewDiT (16-view diffusion)
              ──► TokenGS lifting ──► gaussians.ply
              ──► (optional) metadata.yaml for NuRec object insertion

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).

Inputs

  • image_root — directory of per-object folders, each with frame.jpeg (512×512) and (optional) mask.png (required unless component_store is given).
  • component_store — path to NCore V4 clip .json manifest, comma-separated component-store paths, or .zarr.itar glob (required when running the NCore parsing path).
  • output_dir — where per-sample outputs (gaussians.ply, multiview/, 3d_lifted/, *.mp4) are written (default outputs/).
  • offload_flag — enable CPU offload (--offload_model_to_cpu / --offload) when VRAM < ~16 GB.
  • HF_TOKEN — HuggingFace access token for the gated nvidia/asset-harvester repo and the PhysicalAI NCore dataset (obtain at https://huggingface.co/settings/tokens).

Instructions

  1. Validate the host. Have the agent execute 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.
  2. Install. Use the one-shot bash setup.sh path unless the user asks for a manual install. Full commands and the pinned gsplat step are in references/installation.md.
  3. Download checkpoints. hf auth login first, then hf download nvidia/asset-harvester --local-dir checkpoints (see references/installation.md).
  4. Pick the inference path:
  5. Execute with appropriate VRAM flag. If < 16 GB VRAM, add --offload_model_to_cpu (direct run_inference.py) or --offload (run.sh).
  6. Validate outputs. Confirm gaussians.ply and the two MP4s exist under ${OUTPUT_DIR}/<sample>/.
  7. (Optional) Benchmark. Clone the env to av-object-benchmark and run benchmark/eval.py for PSNR / LPIPS / SSIM and DINOv3 embedding metrics. See references/end-to-end-ncore.md.
  8. (Optional) Hand off to NuRec. Rotate Gaussians with orient_gaussians_for_nurec, emit metadata.yaml, then follow the NuRec external-assets docs.

Examples

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.

Example 1 — Smoke-test the install with bundled samples

python scripts/validate_setup.py          # then `bash setup.sh` once
python3 run_inference.py \
    --diffusion_checkpoint checkpoints/AH_multiview_diffusion.safetensors \
    --lifting_checkpoint   checkpoints/AH_tokengs_lifting.safetensors \
    --data_root            data_samples/rectified_AV_objects/ \
    --output_dir           outputs/harvesting

See Workflow Q in references/workflows.md.

Example 2 — One masked single image → 3D asset

python -m asset_harvester.utils.image_segment \
    --checkpoint checkpoints/AH_object_seg_jit.pt \
    --image_folder data_samples/OOD_images
python3 run_inference.py \
    --diffusion_checkpoint checkpoints/AH_multiview_diffusion.safetensors \
    --ahc_checkpoint       checkpoints/AH_camera_estimator.safetensors \
    --lifting_checkpoint   checkpoints/AH_tokengs_lifting.safetensors \
    --image_dir            data_samples/OOD_images \
    --output_dir           outputs/single

See Workflow S in references/workflows.md.

Example 3 — NCore V4 clip → NuRec-ready external assets

bash scripts/run_ncore_parser.sh --component-store <clip.json>
bash run.sh --data-root ./outputs/ncore_parser --output-dir ./outputs/ncore_harvest
python -m asset_harvester.utils.orient_gaussians_for_nurec \
    --input-dir ./outputs/ncore_harvest \
    --output-dir ./outputs/ncore_harvest_nurec
python asset_harvester/utils/generate_external_assets_metadata.py \
    --input-dir ./outputs/ncore_harvest_nurec

Full walkthrough including sample-clip download, the benchmark flow, and the NuRec PPISP caveat lives in references/end-to-end-ncore.md.

Scripts

ScriptPurposeUsage
scripts/validate_setup.pyVerify 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.

Output Format

Per input sample (image or NCore track) the pipeline writes:

${OUTPUT_DIR}/<sample_id>/
├── multiview/           # 16 RGB views generated by SparseViewDiT
├── 3d_lifted/           # TokenGS-rendered views of the lifted Gaussians
├── gaussians.ply        # 3D Gaussian Splat asset (Omniverse/NuRec-ready)
├── multiview.mp4
└── 3d_lifted.mp4

When the NuRec handoff runs, metadata.yaml is additionally written at the root of the oriented output directory.

Prerequisites

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

Limitations

  • AV-only domain. Non-road / non-AV objects are out of distribution.
  • AH_object_seg_jit.pt is class-restricted (vehicles, VRUs, cyclists, road objects). Supply your own mask.png for arbitrary objects.
  • Scale is not predicted. NuRec insertion reads scale from the source clip's cuboid tracks.
  • 16 GB VRAM is the practical floor; lower-VRAM users must offload to CPU (slower).
  • Inputs must be 512×512 square crops.
  • 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.
  • Linux-only install path (tested on Ubuntu 22.04 + CUDA 12.8).
  • Optional SAM 3D Body metric needs the gated facebook/sam-3d-body-dinov3 repo; eval falls back to PSNR/LPIPS/SSIM if unavailable.

Troubleshooting (top 4)

ErrorCauseSolution
gsplat import / CUDA ABI mismatchInstalled gsplat from PyPI wheel instead of the pinned commitReinstall from the pinned source commit; see references/installation.md.
nvcc "unsupported GNU version"GCC outside 10–13 on PATHInstall GCC 12 and export CC/CXX/CUDAHOSTCXX before setup.sh.
CUDA error: out of memoryGPU VRAM < ~16 GBAdd --offload_model_to_cpu (direct) or --offload (run.sh).
401 Unauthorized from hf downloadModel-card terms not accepted, or missing HF_TOKENAccept the model card and re-run hf auth login.

Full matrix + teardown live in references/troubleshooting.md.

nvidia की और Skills

compileiq-debug
nvidia
Use when something is wrong: Search() hangs, all evaluations return INVALID_SCORE, scores aren't improving, every config returns the same number, ptxas errors…
official
create-github-pr
nvidia
Create GitHub pull requests using the gh CLI. Use when the user wants to create a new PR, submit code for review, or open a pull request. Trigger keywords -…
official
diagnose-perf
nvidia
First-responder performance triage for Isaac Sim and Isaac Lab. Identifies bottleneck category (GPU-bound, CPU-bound, VRAM, loading) using nvidia-smi and…
official
eagle3-review-logs
nvidia
Review EAGLE3 pipeline experiment logs from the launcher's experiments/ directory. Summarizes pass/fail status for all 4 tasks, diagnoses failures with root…
official
nemoclaw-maintainer-cross-issue-sweep
nvidia
Scans other open issues to find ones a given PR may also fix or accidentally break. Outputs adjacent-fix opportunities and contradiction risks with file:line…
official
karpathy-guidelines
nvidia
सामान्य LLM कोडिंग गलतियों को कम करने के लिए व्यवहार संबंधी दिशानिर्देश। कोड लिखते, समीक्षा करते या रिफैक्टर करते समय उपयोग करें ताकि अत्यधिक जटिलता से बचा जा सके, सर्जिकल बदलाव किए जा सकें,…
official
fhir-basics
nvidia
Teaches agents how FHIR R4 APIs work, what resources are available, how to query them with search parameters, and how to correctly parse all response formats…
official
underdeclared-agent
nvidia
A helpful assistant agent
official