physical-ai-neural-reconstruction
NVIDIA/skills
將 NuRec/神經重建請求路由至正確的上游 NVIDIA 技能(資料集、轉換、訓練、渲染、物件萃取、幀清理)。
...展開全部物理人工智慧神經重構(NuRec)路由器
目的
這是一個專為 NVIDIA 神經重建(NuRec)
請求設計的輕量級路由器。 它指向位於
https://github.com/NVIDIA/nurec-skills 的上游nurec-index技能,以及其五個同級技能
(physical-ai-datasets、ncore、nre、asset-harvester、
nurec-fixer)。使用此技能可:
- 識別哪個上游同級技能會回應 NuRec 問題。
- 定位、克隆或更新標準的
nurec-skills代碼庫。 - 在開啟上游配方前,安排多步驟的 NuRec 工作流程(資料 → 轉換 → 訓練 → 渲染 → 清理)。
標準流程(訓練、渲染、資料轉換、資料集 下載、物件蒐集、幀清理)位於上游 姊妹技能中。切勿在此處複製或重建其指令。
請勿將此技能用於:
- CAD 或原始網格的 SimReady 封裝 → 請使用
omniverse-cad-to-simready。 - 與 NuRec 無關的一般 USD 效能調校 → 請使用
omniverse-usd-performance-tuning。 - AKS / OSMO / NIM 運算員基礎架構設定 → 請使用
physical-ai-infrastructure-setup-and-resilient-scaling。
何時使用
每當使用者提及以下任何項目時,請先閱讀此技能說明:
nurec、nurec 路由器、nurec 索引、神經重建、
神經重建引擎、NRE、3DGUT、3DGRT、USDZ、
NCore V4、感測器模擬、創新視角合成、
PhysicalAI-Autonomous-Vehicles-NuRec、PhysicalAI-NuRec-PPISP、
Cosmos-Drive-Dreams、資產採集器、nurec 修復器、
DiffusionHarmonizer、調和器、difix、difix3d、serve-grpc、
渲染-GRPC、預熱服務-GRPC、NRE 輕量級客戶端、批次渲染-RGB、
NuRec 清理工具、「該如何開始使用 NuRec」、「對於 X 該使用哪個 NuRec 技能
?」。
決定哪個上游同級技能能解答該問題,並取得該技能 (參見「定位並取得上游技能」), 接著遵循該技能的主體內容。
先決條件
Router 技能本身除了需要git來
擷取上游技能外,沒有其他執行時先決條件。下游同級技能則需要:
- Docker + NVIDIA Container Toolkit + GPU— 用於
nre、nre-tools及nurec-fixer容器 (nvcr.io/nvidia/nre/nre、nvcr.io/nvidia/nre/nre-tools、nvcr.io/nvidia/cosmos/cosmos-predict2-container:1.2)。 - NGC API 金鑰(
NGC_API_KEY) — 用於拉取 NGC 容器。 - Hugging Face 憑證(
HF_TOKEN),且須事先在 Hugging Face 上獲得nvidia/PhysicalAI-*、nvidia/DiffusionHarmonizer及nvidia/asset-harvester等受限授權的核准。 - Python 3.10 以上版本,並已安裝
huggingface_hub。 - (可選)CARLA、Isaac Sim 5.1 或 AlpaSim,用於透過
serve-grpc進行模擬器整合。
請安全地驗證密鑰(切勿輸出值):
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "HF_TOKEN 長度=${#HF_TOKEN}" || echo "HF_TOKEN 未設定"
[ -n "${NGC_API_KEY:-}" ] && echo "NGC_API_KEY 長度=${#NGC_API_KEY}" || echo "NGC_API_KEY 未設定"
請參閱references/secrets-handling.md
以了解應避免的 bash 反模式。
什麼是 NuRec?
NuRec(NVIDIA Omniverse 神經重建)會將攝影機、LiDAR、 雷達或立體影像記錄——通常來自自動駕駛汽車或 機器人——轉化為 3D 場景,讓您能從任何 視角重新渲染。常見的名稱包括:
- NRE—— 「神經重建引擎」。NuRec 是產品;NRE
則是負責訓練與渲染的引擎。兩者皆指向上游的
nre技能。 - USDZ—— 已訓練場景的檔案格式。這是一種 ZIP 壓縮檔, Omniverse、Isaac Sim 及 CARLA 皆可開啟。
- NCore V4—— NRE 所使用的輸入格式。原始錄製資料必須在 訓練前轉換為 NCore V4 格式。
- 3DGUT / 3DGRT—— NRE 內部使用的兩種 3D 高斯噴灑(Gaussian Splatting)變體。 預設的 Hydra 配方會自動選擇其中一種;多數使用者 從未手動設定過此參數。
典型的 NuRec 專案包含三個階段:
- 取得輸入資料— 將您自己的錄製資料轉換為 NCore V4
(
ncore),或下載已轉換的資料集 (physical-ai-datasets)。 - 訓練重建— 將 NCore V4 饋入 NRE;輸出為
USDZ 檔案 (
nre)。 - 渲染新視角— 從
USDZ (
nre) 渲染圖像、影片或 LiDAR 掃描資料。
若專案僅需使用NVIDIA 已發布的現有場景, 則可跳過步驟 2。
選擇一項技能
在左欄中找到與使用者目標相符的項目,並開啟右側對應的 上游技能。箭頭表示「依序執行」。
| 我想…… | 上游技能 |
|---|---|
| 尋找或下載 NVIDIA 已發布的 NuRec 資料集 | physical-ai-datasets |
| 將我自己的相機/LiDAR/雷達/深度/立體影像記錄轉換為 NCore V4 | ncore |
| 為未受支援的感測器配置(無人機、RGB-D、ROS 2 bag、COLMAP、ScanNet++)編寫新的轉換器 | ncore |
| 根據 NCore 片段訓練 3D 重建模型 | ncore→nre |
| 產生 NRE 所需的額外輸入(分割遮罩、深度、自我遮罩) | nre(使用nre-tools容器) |
| 根據原始相機位置渲染 USDZ 檔案 | nre |
| 以全解析度/最高品質進行渲染 | nre(參見「品質預設」), |
| 沿偏移軌跡渲染(例如:汽車向左移動 3 公尺) | nre |
| 透過伺服器進行渲染,以便 CARLA / Isaac Sim / AlpaSim / 自訂模擬器能請求幀資料 | nre(serve-grpc) |
| 透過 Python 連續多次渲染同一 USDZ 檔案,並將每次呼叫的延遲降至最低 | nre(預熱serve-grpc+ 輕量級 Python 客戶端 /batch_render_rgb) |
| 從 USDZ 渲染 LiDAR 掃描資料(點雲) | nre(render-grpc --lidar) |
| 跳過訓練步驟,直接渲染 NVIDIA 已預先建置的 NuRec 場景 | physical-ai-datasets→nre |
| 從駕駛影片片段中擷取個別 3D 物件(車輛、行人) | asset-harvester |
| 在 NuRec 場景中新增、移除或替換車輛/行人 | asset-harvester→nre |
| 清理或調整渲染幀(重影、浮點物、閃爍、光照/陰影) | nurec-fixer,或在 nre中使用--enable-difix進行內嵌渲染 |
| 將場景匯出為 PLY、網格、深度圖、第一人稱遮罩等格式 | nre |
| 升級舊版 USDZ 檔案,使較新版本的 NRE 能更快載入 | nre(upgrade-artifact) |
| 在瀏覽器檢視器中開啟 USDZ 或 PLY 檔案 | nre(檢視器/ply_viewer) |
| 根據真實參考資料測量渲染品質(PSNR、SSIM、LPIPS) | nre(eval-rendering-metrics) |
| 針對相同場景對不同重建方法進行基準測試 | physical-ai-datasets(PhysicalAI-NuRec-PPISP) →nre |
| 在多張 GPU 或 SLURM 環境上進行訓練 | nre(工作流程 D) |
常見工作流程
六種端到端工作流程已記錄於
references/workflows.md 中:
- A.根據您自己的錄製內容建立 NuRec 場景。
- B.使用 NVIDIA 已預先訓練好的 NuRec 場景。
- C.在場景中新增、移除或替換 3D 物件。
- D.清理渲染後的幀。
- E.評估重建品質。
- F.將 NuRec 連接至模擬器。
當使用者的任務橫跨多個同級技能時,開啟該檔案。
同級技能(上游)
| 名稱 | 上游資料夾 | 功能說明 |
|---|---|---|
physical-ai-datasets |
.agents/skills/physical-ai-datasets/ |
彙整並提供 Hugging Face 上所有 NVIDIA 物理 AI 資料集(駕駛、機器人、操作、NuRec 場景、基準測試)的食譜下載。 |
ncore |
.agents/skills/ncore/ |
將任何感測器記錄轉換為 NCore V4(NRE 所需的格式)。亦涵蓋撰寫新轉換器的相關內容。 |
nre |
.agents/skills/nre/ |
神經重建引擎(Neural Reconstruction Engine)本身。負責訓練、渲染(可透過 warmserve-grpc搭配輕量 Python 客戶端 /batch_render_rgb 進行本地渲染,或輸出至外部模擬器)、匯出網格/點雲/深度資料、編輯角色,以及評估品質。 |
asset-harvester |
.agents/skills/asset-harvester/ |
基於 Apache-2.0 開源授權的處理流程,能從駕駛影片中的稀疏視角中提取個別 3D 物件,並將其儲存為附帶元資料的.ply高斯散佈格式檔案。 |
nurec-fixer |
.agents/skills/nurec-fixer/ |
獨立的 NVIDIADiffusionHarmonizer工作流程——舊版 Fixer / Difix3D+ 配方之公開繼任者——用於清理渲染畫面、調和插入的角色、評估 PSNR/LPIPS,並可選擇性地對模型進行微調。 |
關於名稱重疊(NRE 與 Fixer、ncore 與 nre、AV-NuRec 與
Cosmos-Drive-Dreams、NuRec 與 SimReady)請參閱
references/mix-ups.md。
定位並取得上游技能
快速配方(完整版本請參閱
references/upstream-fetch.md):
UPSTREAM_ROOT="${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}"
mkdir -p "$UPSTREAM_ROOT"
if [ -d "$UPSTREAM_ROOT/nurec-skills/.git" ]; then
git -C "$UPSTREAM_ROOT/nurec-skills" fetch --tags
git -C "$UPSTREAM_ROOT/nurec-skills" checkout main
git -C "$UPSTREAM_ROOT/nurec-skills" pull --ff-only
else
git clone --depth 1 https://github.com/NVIDIA/nurec-skills.git \
"$UPSTREAM_ROOT/nurec-skills"
fi
test -f "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md"
接著在執行任何會變更資料的指令之前,先讀取上游技能:
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md" # 路由器
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills//SKILL.md" # 同級
本機查詢順序(在執行上游克隆之前依序嘗試):
.agents/skills/(Cursor、Codex、NemoClaw)/SKILL.md .claude/skills/(Claude Code)/SKILL.md .cursor/skills/(專案範圍內)/SKILL.md ~/.cursor/skills/(個人技能)/SKILL.md
硬性規則
- 僅限路由器使用 — 請勿在此處重複上游 NuRec 配方。執行任何會變更資料的指令前,請先閱讀 上游同級技能的主體內容。
- 請以
名稱(例如nre)而非儲存庫 路徑來引用同級技能。資料夾結構可能變更;名稱則具可移植性。 - 在
上游共用根目錄下克隆或刷新
https://github.com/NVIDIA/nurec-skills(${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}/nurec-skills) 下克隆或刷新 https://github.com/NVIDIA/nurec-skills。 請勿掃描~/Codes等廣泛的開發者工作區,亦請勿重複使用 無關的舊克隆。 physical-ai-datasets涵蓋 Hugging Face 上的受限資料集。請勿 繞過資料集授權條款;使用者必須在 Hugging Face 上接受PhysicalAI-*受限授權,並提供代幣 後才能下載。- Asset Harvester會在打包成 USDZ之前執行。請勿對
手動製作的
.ply檔案呼叫nre 的export-external-assets功能,除非 使用者明確要求跳過 Asset Harvester。 - 關於產出檔案的清理,請優先使用
nre內建的--enable-difix路徑。 僅當使用者 需要公開的程式碼/模型卡、配對評估、微調, 或針對先前渲染的幀進行修正時,才應導向獨立運作的nurec-fixer。 - 切勿憑記憶
自行編造 NRE / NCore / DiffusionHarmonizer 指令。請重新閱讀上游同級技能——版本更新迅速
(NRE
release_26.04是當前固定標籤)。 - 此路由器不負責部署基礎架構。請將 AKS / OSMO /
NIM 操作員設定轉介至
physical-ai-infrastructure-setup-and-resilient-scaling。
限制
- 僅限路由器。此技能絕不執行會變更資料的 NuRec 指令。 所有訓練、渲染、轉換及調和作業皆在 上游同級技能中進行。
- 上游固定。配方位於
https://github.com/NVIDIA/nurec-skills,該倉庫的更新 不在此儲存庫內進行。過期的克隆版本可能產生偏差;在依賴姊妹技能之前,請務必先執行 git pull更新上游 版本。 - 受限內容。
nvidia/PhysicalAI-*、nvidia/DiffusionHarmonizer以及nvidia/asset-harvester要求使用者必須先在 Hugging Face 上接受授權條款。路由器無法繞過此步驟。 - 資源佔用龐大。完整的 NuRec 工作流程可能在磁碟上佔用 150 GB 以上
空間。請參閱
references/teardown.md。 - 僅限 NVIDIA 平台。需配備 NVIDIA GPU 以及 NVIDIA Container Toolkit。不支援 AMD / Intel / Apple Silicon。
- 非 SimReady 管線。NuRec 會從
錄製檔產生可渲染的 USDZ 檔案;而 CAD 或原始網格的 SimReady 封裝則是
另一條管線(請參閱
omniverse-cad-to-simready)。
疑難排解
| 錯誤/症狀 | 可能原因 | 解決方案 |
|---|---|---|
nurec-skills複製本遺失或為空 |
尚未擷取上游資料 | 在「定位」中執行複製區塊,並擷取上游技能 |
從 HF 拉取nvidia/PhysicalAI-*時發生403/401錯誤 |
未接受受限授權,或HF_TOKEN未設定/範圍錯誤 |
請在 Hugging Face 上接受受限授權,然後使用具備讀取權限的令牌透過hf auth 登入 |
被拒絕:來自nvcr.io/nvidia/nre/*的資源存取請求遭拒絕 |
NGC_API_KEY缺失或已過期 |
使用$oauthtoken/NGC_API_KEY 執行 `docker login nvcr.io`;如有需要,請至org.ngc.nvidia.com/setup/api-key輪替金鑰 |
| NRE 無法載入片段(「非有效的 NCore V4」) | 錄影尚未轉換 | 在呼叫nre之前,請先執行ncore技能 |
serve-grpc的冷啟動延遲佔據了 Python 迴圈的大部分時間 |
每次渲染僅執行一次 Docker 呼叫 | 使用nre預熱serve-grpc搭配輕量級 Python 客戶端(batch_render_rgb)的方案 |
執行 Docker後,輸出檔案的所有權歸屬root |
缺少-u $(id -u):$(id -g)參數 |
sudo chown -R "$(id -u):$(id -g)" ;下次請加上-u參數 |
| 渲染後畫面出現殘影/浮點/閃爍 | 未啟用內建清理功能 | 請使用nre --enable-difix 重新渲染,或透過nurec-fixer(DiffusionHarmonizer)進行後製處理 |
代理程式輸出中出現過時的技能名稱(ncore-data-conversion、舊版nvidia/Fixer) |
快取技能已過時 | 請更新對ncore和nurec-fixer(DiffusionHarmonizer)的引用;詳見references/maintenance.md |
Bash 反模式${HF_TOKEN:+yes}${HF_TOKEN:-no}會回顯標記值 |
錯誤使用 Bash 參數擴展 | 旋轉令牌;使用hf auth whoami或僅檢查長度的驗證方式(參見references/secrets-handling.md) |
跨技能清理
完整的 NuRec 工作流程可能會在磁碟上留下150 GB 以上的空間,
包含容器映像檔、模型權重、程式碼複製本、conda 環境及輸出
目錄。 每個同級技能皆有其專屬的「Teardown」
區段 — 當使用者不再
需要此工作流程時,請依照
references/teardown.md中記載的順序閱讀這些內容。
保持此路由器最新
新增同級技能、更名或上游 URL
變更的程序詳見references/maintenance.md。
請將上游的nurec-index(位於
https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md)
視為權威來源;此技能僅鏡像選擇器表格、
工作流程順序以及上游的擷取配方。
---
name: physical-ai-neural-reconstruction
description: Routes NuRec/Neural Reconstruction requests to the correct upstream NVIDIA skill (datasets, conversion, training, rendering, object harvesting, frame cleanup).
license: Apache-2.0
---
# Physical AI Neural Reconstruction (NuRec) Router
## Purpose
This is a **thin router** for NVIDIA Neural Reconstruction (NuRec)
requests. It points at the upstream `nurec-index` skill at
`https://github.com/NVIDIA/nurec-skills` and its five sibling skills
(`physical-ai-datasets`, `ncore`, `nre`, `asset-harvester`,
`nurec-fixer`). Use this skill to:
- Identify which upstream sibling skill answers a NuRec question.
- Locate, clone, or refresh the canonical `nurec-skills` checkout.
- Order multi-step NuRec workflows (data → conversion → train →
render → cleanup) before opening the upstream recipe.
The canonical recipes (training, rendering, data conversion, dataset
downloads, object harvesting, frame cleanup) live in the upstream
sibling skills. **Never copy or reconstruct their commands here.**
**Do NOT use this skill for:**
- SimReady packaging of CAD or source meshes → use
`omniverse-cad-to-simready`.
- Generic USD performance tuning unrelated to NuRec → use
`omniverse-usd-performance-tuning`.
- AKS / OSMO / NIM Operator infrastructure setup → use
`physical-ai-infrastructure-setup-and-resilient-scaling`.
## When to Use
Read this skill **first** whenever a user mentions any of:
`nurec`, `nurec router`, `nurec index`, `neural reconstruction`,
`neural reconstruction engine`, `NRE`, `3DGUT`, `3DGRT`, `USDZ`,
`NCore V4`, `sensor sim`, `novel view synthesis`,
`PhysicalAI-Autonomous-Vehicles-NuRec`, `PhysicalAI-NuRec-PPISP`,
`Cosmos-Drive-Dreams`, `asset harvester`, `nurec fixer`,
`DiffusionHarmonizer`, `harmonizer`, `difix`, `difix3d`, `serve-grpc`,
`render-grpc`, `warm serve-grpc`, `nre thin client`, `batch_render_rgb`,
`nurec teardown`, "where do I start with NuRec", "which NuRec skill
should I use for X?".
Decide which upstream sibling skill answers the question, fetch it
(see [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills)),
then follow that skill's body.
## Prerequisites
Router skill itself has no runtime prerequisites beyond `git` for
fetching the upstream. Downstream sibling skills require:
- **Docker + NVIDIA Container Toolkit + GPU** — for `nre`, `nre-tools`,
and `nurec-fixer` containers
(`nvcr.io/nvidia/nre/nre`, `nvcr.io/nvidia/nre/nre-tools`,
`nvcr.io/nvidia/cosmos/cosmos-predict2-container:1.2`).
- **NGC API key** (`NGC_API_KEY`) — for pulling NGC containers.
- **Hugging Face token** (`HF_TOKEN`) with the
`nvidia/PhysicalAI-*`, `nvidia/DiffusionHarmonizer`, and
`nvidia/asset-harvester` gated licenses **accepted in advance** on
Hugging Face.
- **Python 3.10+** with `huggingface_hub` installed.
- **(Optional)** CARLA, Isaac Sim 5.1, or AlpaSim for simulator
integration over `serve-grpc`.
Verify secrets safely (do not echo values):
```bash
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "HF_TOKEN length=${#HF_TOKEN}" || echo "HF_TOKEN unset"
[ -n "${NGC_API_KEY:-}" ] && echo "NGC_API_KEY length=${#NGC_API_KEY}" || echo "NGC_API_KEY unset"
```
See [`references/secrets-handling.md`](references/secrets-handling.md)
for the bash anti-patterns to avoid.
## What is NuRec?
**NuRec** (NVIDIA Omniverse Neural Reconstruction) takes camera, LiDAR,
radar, or stereo recordings — typically from a self-driving car or a
robot — and turns them into a 3D scene you can re-render from any
viewpoint. Names that come up a lot:
- **NRE** — "Neural Reconstruction Engine". NuRec is the product; NRE
is the engine that trains and renders. Both route to the upstream
`nre` skill.
- **USDZ** — the file format of a trained scene. A zip archive that
Omniverse, Isaac Sim, and CARLA can open.
- **NCore V4** — the input format NRE consumes. Raw recordings must be
converted to NCore V4 before training.
- **3DGUT / 3DGRT** — the two 3D Gaussian Splatting flavours used
internally by NRE. The default Hydra recipe picks one; most users
never set it manually.
A typical NuRec project has three stages:
1. **Get the input** — convert your own recording to NCore V4
(`ncore`), or download a pre-converted dataset
(`physical-ai-datasets`).
2. **Train the reconstruction** — feed NCore V4 to NRE; out comes a
USDZ (`nre`).
3. **Render new views** — render images, videos, or LiDAR sweeps from
the USDZ (`nre`).
Projects that just want to *use* an existing NVIDIA-published scene
skip step 2.
## Pick a skill
Match the user's goal in the left column and open the named upstream
skill on the right. Arrows mean "do these in order".
| I want to… | Upstream skill |
|------------|----------------|
| Find or download a NuRec dataset NVIDIA has published | `physical-ai-datasets` |
| Convert my own camera / LiDAR / radar / depth / stereo recording into NCore V4 | `ncore` |
| Write a new converter for an unsupported sensor setup (drone, RGB-D, ROS 2 bag, COLMAP, ScanNet++) | `ncore` |
| Train a 3D reconstruction from an NCore clip | `ncore` → `nre` |
| Generate the extra inputs NRE needs (segmentation masks, depth, ego mask) | `nre` (uses the `nre-tools` container) |
| Render a USDZ along the original camera positions | `nre` |
| Render at full resolution / highest quality | `nre` (see "Quality presets") |
| Render along a shifted trajectory (e.g. car moved 3 m left) | `nre` |
| Render through a server so CARLA / Isaac Sim / AlpaSim / a custom simulator can ask for frames | `nre` (`serve-grpc`) |
| Render the same USDZ many times back-to-back from Python with minimal per-call latency | `nre` (warm `serve-grpc` + thin Python client / `batch_render_rgb`) |
| Render LiDAR sweeps (point clouds) from a USDZ | `nre` (`render-grpc --lidar`) |
| Skip training and just render a NuRec scene NVIDIA already built | `physical-ai-datasets` → `nre` |
| Extract individual 3D objects (cars, pedestrians) from a driving clip | `asset-harvester` |
| Add, remove, or replace cars / pedestrians in a NuRec scene | `asset-harvester` → `nre` |
| Clean up or harmonize rendered frames (ghosting, floaters, flicker, lighting/shadows) | `nurec-fixer`, **or** `--enable-difix` inside `nre` for inline rendering |
| Export the scene as a PLY, mesh, depth maps, ego mask, etc. | `nre` |
| Upgrade an old USDZ so newer NRE versions load it faster | `nre` (`upgrade-artifact`) |
| Open a USDZ or PLY in a browser viewer | `nre` (`viewer` / `ply_viewer`) |
| Measure rendering quality (PSNR, SSIM, LPIPS) against ground truth | `nre` (`eval-rendering-metrics`) |
| Benchmark different reconstruction methods on the same scenes | `physical-ai-datasets` (`PhysicalAI-NuRec-PPISP`) → `nre` |
| Train on multiple GPUs or on SLURM | `nre` (Workflow D) |
## Common workflows
Six end-to-end workflows are documented in
[`references/workflows.md`](references/workflows.md):
- **A.** Make a NuRec scene from your own recording.
- **B.** Use a NuRec scene NVIDIA has already trained.
- **C.** Add, remove, or replace 3D objects in a scene.
- **D.** Clean up rendered frames.
- **E.** Benchmark reconstruction quality.
- **F.** Connect NuRec to a simulator.
Open that file when the user's task spans more than one sibling skill.
## Sibling skills (upstream)
| Name | Upstream folder | What it does |
|------|-----------------|--------------|
| `physical-ai-datasets` | `.agents/skills/physical-ai-datasets/` | Catalog and download recipes for every NVIDIA Physical AI dataset on Hugging Face (driving, robotics, manipulation, NuRec scenes, benchmarks). |
| `ncore` | `.agents/skills/ncore/` | Converts any sensor recording to NCore V4 (the format NRE needs). Also covers writing a new converter. |
| `nre` | `.agents/skills/nre/` | The Neural Reconstruction Engine itself. Trains, renders (locally, via warm `serve-grpc` + thin Python client / `batch_render_rgb`, or to an external simulator), exports meshes / point clouds / depth, edits actors, evaluates quality. |
| `asset-harvester` | `.agents/skills/asset-harvester/` | Open-source Apache-2.0 pipeline that extracts individual 3D objects from sparse views in a driving clip and saves them as `.ply` Gaussian splats with metadata. |
| `nurec-fixer` | `.agents/skills/nurec-fixer/` | Standalone NVIDIA **DiffusionHarmonizer** workflow — public successor to the older Fixer / Difix3D+ recipes — that cleans rendered frames, harmonizes inserted actors, evaluates PSNR/LPIPS, and optionally fine-tunes the model. |
For naming overlaps (NRE vs Fixer, ncore vs nre, AV-NuRec vs
Cosmos-Drive-Dreams, NuRec vs SimReady) see
[`references/mix-ups.md`](references/mix-ups.md).
## Locate and fetch the upstream skills
Quick recipe (full version in
[`references/upstream-fetch.md`](references/upstream-fetch.md)):
```bash
UPSTREAM_ROOT="${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}"
mkdir -p "$UPSTREAM_ROOT"
if [ -d "$UPSTREAM_ROOT/nurec-skills/.git" ]; then
git -C "$UPSTREAM_ROOT/nurec-skills" fetch --tags
git -C "$UPSTREAM_ROOT/nurec-skills" checkout main
git -C "$UPSTREAM_ROOT/nurec-skills" pull --ff-only
else
git clone --depth 1 https://github.com/NVIDIA/nurec-skills.git \
"$UPSTREAM_ROOT/nurec-skills"
fi
test -f "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md"
```
Then read the upstream skill before running any mutating command:
```bash
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md" # router
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/<folder>/SKILL.md" # sibling
```
Local lookup order (try in order before the upstream clone):
1. `.agents/skills/<name>/SKILL.md` (Cursor, Codex, NemoClaw)
2. `.claude/skills/<name>/SKILL.md` (Claude Code)
3. `.cursor/skills/<name>/SKILL.md` (project-scoped)
4. `~/.cursor/skills/<name>/SKILL.md` (personal skills)
## Hard Rules
- Router only — do not duplicate upstream NuRec recipes here. Read
the upstream sibling skill body before running any mutating command.
- Refer to sibling skills by their `name:` (e.g. `nre`), not by repo
path. Folder layouts can change; the name is portable.
- Clone or refresh `https://github.com/NVIDIA/nurec-skills` under the
shared upstream root
(`${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}/nurec-skills`).
Do not scan broad developer workspaces such as `~/Codes` or reuse
unrelated old clones.
- `physical-ai-datasets` covers gated Hugging Face datasets. Do not
bypass dataset license terms; the user must accept the
`PhysicalAI-*` gated licenses on Hugging Face and provide a token
before downloading.
- Asset Harvester runs **before** packaging into a USDZ. Do not call
`nre`'s `export-external-assets` on hand-rolled `.ply` files unless
the user explicitly asks to skip Asset Harvester.
- For artifact cleanup, prefer the built-in `--enable-difix` path in
`nre`. Route to the standalone `nurec-fixer` only when the user
needs the public code/model card, paired evaluation, fine-tuning,
or fixes on previously rendered frames.
- Do not invent NRE / NCore / DiffusionHarmonizer commands from
memory. Re-read the upstream sibling skill — versions move fast
(NRE `release_26.04` is the current pinned tag).
- This router does not deploy infrastructure. Route AKS / OSMO /
NIM Operator setup to
`physical-ai-infrastructure-setup-and-resilient-scaling`.
## Limitations
- **Router only.** This skill never executes mutating NuRec commands.
All training, rendering, conversion, and harmonization happens in
upstream sibling skills.
- **Upstream-pinned.** Recipes live in
`https://github.com/NVIDIA/nurec-skills`, which evolves outside
this repo. Stale clones can drift; always `git pull` the upstream
before relying on a sibling skill.
- **Gated content.** `nvidia/PhysicalAI-*`, `nvidia/DiffusionHarmonizer`,
and `nvidia/asset-harvester` require the user to accept license
terms on Hugging Face first. The router cannot bypass this.
- **Heavy footprint.** A complete NuRec workflow can leave 150 GB+
on disk. See [`references/teardown.md`](references/teardown.md).
- **NVIDIA-only stack.** Requires an NVIDIA GPU plus the NVIDIA
Container Toolkit. AMD / Intel / Apple Silicon are not supported.
- **Not a SimReady pipeline.** NuRec produces a renderable USDZ from
a recording; SimReady packaging of CAD or source meshes is a
different pipeline (see `omniverse-cad-to-simready`).
## Troubleshooting
| Error / symptom | Likely cause | Solution |
|-----------------|--------------|----------|
| `nurec-skills` clone missing or empty | Upstream not fetched yet | Run the clone block in [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills) |
| `403`/`401` pulling `nvidia/PhysicalAI-*` from HF | Gated license not accepted, or `HF_TOKEN` unset / wrong scope | Accept the gated license on Hugging Face, then `hf auth login` with a token that has `read` access |
| `denied: requested access to the resource is denied` from `nvcr.io/nvidia/nre/*` | Missing or expired `NGC_API_KEY` | `docker login nvcr.io` with `$oauthtoken` / `NGC_API_KEY`; rotate the key at `org.ngc.nvidia.com/setup/api-key` if needed |
| NRE refuses to load a clip ("not valid NCore V4") | Recording was not converted | Run the `ncore` skill before invoking `nre` |
| `serve-grpc` cold-start latency dominates a Python loop | One-shot Docker invocation per render | Use the `nre` warm `serve-grpc` + thin Python client (`batch_render_rgb`) recipe |
| Output files are owned by `root` after a `docker run` | `-u $(id -u):$(id -g)` was missing | `sudo chown -R "$(id -u):$(id -g)" <output_dir>`; add the `-u` flag next time |
| Frames have ghosting / floaters / flicker after rendering | Inline cleanup not enabled | Re-render with `nre --enable-difix`, or post-process with `nurec-fixer` (DiffusionHarmonizer) |
| Stale skill names (`ncore-data-conversion`, old `nvidia/Fixer`) in agent output | Out-of-date cached skill | Update references to `ncore` and `nurec-fixer` (DiffusionHarmonizer); see [`references/maintenance.md`](references/maintenance.md) |
| Bash anti-pattern `${HF_TOKEN:+yes}${HF_TOKEN:-no}` echoed token value | Misuse of bash parameter expansion | Rotate the token; use `hf auth whoami` or length-only checks (see [`references/secrets-handling.md`](references/secrets-handling.md)) |
## Cross-skill teardown
A complete NuRec workflow can leave **150 GB+** on disk between
container images, model weights, code clones, conda envs, and output
directories. Each sibling skill has its own dedicated `Teardown`
section — read them in the order documented in
[`references/teardown.md`](references/teardown.md) when the user no
longer needs the workflow.
## Keeping this router up to date
Procedure for adding new sibling skills, renames, or upstream URL
changes lives in [`references/maintenance.md`](references/maintenance.md).
Treat the upstream `nurec-index` at
<https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md>
as authoritative; this skill mirrors only the picker tables, the
workflow ordering, and the upstream fetch recipe.
所有檔案
1 個檔案安裝 physical-ai-neural-reconstruction
請將技能檔案下載並解壓縮至您的 .claude/skills/ 目錄中。
下載 ZIP複製儲存庫並將技能檔案複製到您的專案中。
git clone https://github.com/NVIDIA/skills/tree/main/skills/physical-ai-neural-reconstruction # Copy SKILL.md to your .claude/skills/ directory
複製





首頁
