选项
首页首页 Skill 数据科学与机器学习 physical-ai-neural-reconstruction

physical-ai-neural-reconstruction

NVIDIA/skills NVIDIA/skills

将 NuRec/神经重建请求路由到相应的上游 NVIDIA 技能(数据集、转换、训练、渲染、对象提取、帧清理)。

...展开全部
2
更新时间 2026-09-28

物理AI神经重建(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 瘦客户端、batch_render_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 神经重建)接收来自摄像头、激光雷达、 雷达或立体视觉的录像——通常来自自动驾驶汽车或 机器人——并将它们转换为 3D 场景,您可以从任何 视角对其进行重新渲染。经常出现的名称:

  • NRE——“神经重建引擎”。NuRec 是产品;NRE 是负责训练和渲染的引擎。两者均指向上游的 nre技能。
  • USDZ—— 已训练场景的文件格式。这是一个 ZIP 压缩包, Omniverse、Isaac Sim 和 CARLA 均可打开。
  • NCore V4—— NRE 使用的输入格式。原始录制数据必须在 训练前转换为 NCore V4 格式。
  • 3DGUT / 3DGRT— NRE 内部使用的两种 3D 高斯喷溅变体。默认的 Hydra 配方会自动选择其中一种;大多数用户 无需手动设置。

一个典型的 NuRec 项目包含三个阶段:

  1. 获取输入— 将您自己的录音转换为 NCore V4 (ncore),或下载预转换的数据集 (physical-ai-datasets)。
  2. 训练重建模型— 将 NCore V4 数据输入 NRE;输出结果为 USDZ 文件 (nre)。
  3. 渲染新视图— 基于 USDZ (nre) 渲染图像、视频或激光雷达扫描数据。

仅需使用NVIDIA 已发布的现有场景的项目 可跳过步骤 2。

选择一项技能

在左侧列中找到与用户目标匹配的选项,并打开右侧对应的 上游技能。箭头表示“按此顺序执行”。

我想…… 上游技能
查找或下载 NVIDIA 发布的 NuRec 数据集 physical-ai-datasets
将我自己的摄像头/激光雷达/雷达/深度/立体图像记录转换为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 文件渲染激光雷达扫描数据(点云) 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(viewer/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 实现,或渲染至外部模拟器)、导出网格/点云/深度数据、编辑角色以及评估质量。
资产采集器 .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" # 同级

本地查找顺序(在上游克隆之前按顺序尝试):

  1. .agents/skills//SKILL.md(Cursor、Codex、NemoClaw)
  2. .claude/skills//SKILL.md(Claude Code)
  3. .cursor/skills//SKILL.md(项目范围)
  4. ~/.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。
  • Asset Harvester在打包为 USDZ之前运行。请勿对 手动生成的.ply文件调用nre 的 export-external-assets命令,除非 用户明确要求跳过 Asset Harvester。
  • 对于生成物的清理,建议优先使用nre 中的内置--enable-difix路径。 仅当用户 需要公开的代码/模型卡片、配对评估、微调, 或对先前渲染的帧进行修复时,才应转至独立的nurec-fixer。
  • 切勿凭记忆编造 NRE / NCore / DiffusionHarmonizer 命令。 请重新查阅上游同级技能——版本更新迅速 (NRErelease_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 容器工具包。不支持 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 run执行后,输出文件的所有者为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 )视为权威来源;本技能仅同步选择器表、 工作流排序以及上游的获取配方。

在 GitHub 上查看
---
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

复制 复制
快速设置: 将技能文件夹复制到 .claude/skills/ Claude 会自动检测并使用该技能
仓库 NVIDIA/skills

相关技能

web-search
更新时间 2026-06-29
webapp-testing
更新时间 2026-06-29
lark-base
更新时间 2026-07-05
agentmail
更新时间 2026-06-29
OR