| 名称 | physical-ai-neural-reconstruction |
| 描述 | “Router for NVIDIA NuRec/NRE: USDZ rendering, NCore conversion, 3DGS, gRPC sensor sim, carline adaptation, PhysicalAI HF datasets. Do NOT use for SimReady or infra setup.” |
| 开源协议 | Apache-2.0 |
| 版本 | “0.4.0” tools: - Read - Shell compatibility: >- Router skill; downstream sibling skills require Linux x86_64, an NVIDIA GPU (Ampere+, CUDA 12.8, >= 24 GB VRAM), Docker >= 23.0.1, NVIDIA Container Toolkit >= 1.13.5, an NGC API key, a Hugging Face token with the relevant gated licenses accepted, Python 3.10+, and huggingface_hub. Optional: CARLA / Isaac Sim 5.1 / AlpaSim for simulator integration over serve-grpc. metadata: |
| 作者 | NVIDIA Physical AI tags: - physical-ai - nurec - neural-reconstruction upstream: repo: https://github.com/NVIDIA/nurec-skills branch: main skills_dir: skills/ skills_dir_alias: .agents/skills/ index_skill: skills/nurec-index/SKILL.md index_skill_name: nurec-index sibling_skills: - |
| 名称 | physical-ai-datasets folder: physical-ai-datasets/ upstream: https://huggingface.co/nvidia - |
| 名称 | ncore folder: ncore/ upstream: https://github.com/NVIDIA/ncore release_tag: “2026.04” - |
| 名称 | nre folder: nre/ upstream: nvcr.io/nvidia/nre/nre-ga tools_container: nvcr.io/nvidia/nre/nre-tools-ga release_tag: release_26.04 - |
| 名称 | asset-harvester folder: asset-harvester/ upstream: https://github.com/NVIDIA/asset-harvester hf_model: https://huggingface.co/nvidia/asset-harvester - |
| 名称 | nurec-fixer folder: nurec-fixer/ upstream: https://github.com/NVIDIA/harmonizer hf_model: https://huggingface.co/nvidia/Harmonizer container: nvcr.io/nvidia/pytorch:25.10-py3 upstream_clone_path: “${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}/nurec-skills” upstream_override_env: NUREC_SKILLS_UPSTREAM_ROOT |
物理AI神经重建(NuRec)路由器
目的
这是用于 NVIDIA 神经重建(NuRec)请求的薄路由器。它指向上游 nurec-index 技能(位于 https://github.com/NVIDIA/nurec-skills)及其五个同级技能(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 Operator 基础设施设置 → 使用
physical-ai-infrastructure-setup-and-resilient-scaling。
何时使用
当用户提及以下任何内容时,请首先阅读此技能:
nurec、nurec router、nurec index、neural reconstruction、neural reconstruction engine、NRE、3DGUT、3DGRT、USDZ、NCore V4、sensorsim、sensor sim、novel view synthesis、PhysicalAI-Autonomous-Vehicles-NuRec、PhysicalAI-Robotics-NuRec、PhysicalAI-NuRec-PPISP、Cosmos-Drive-Dreams、asset harvester、nurec fixer、DiffusionHarmonizer、harmonizer、difix、difix3d、carline adaptation、serve-grpc、render-grpc、warm serve-grpc、nre thin client、batch_render_rgb、nurec teardown、“我从哪里开始用 NuRec”、“针对 X 我应该使用哪个 NuRec 技能?”。
确定哪个上游同级技能能回答问题,获取它(参见定位并获取上游技能),然后遵循该技能的正文。
先决条件
路由器本身除了用于获取上游的 git 外没有运行时先决条件。下游同级技能要求:
- Linux x86_64 —
nre不支持 aarch64。 - NVIDIA GPU + 驱动 — CUDA 12.8 能力和 >= 24 GB VRAM(推荐 48 GB+)。Ampere(A100/A10/A40/RTX A6000)、Ada(L20/L40/L40S)、Hopper(H100/H20):需要 R550+,推荐 R570+。Blackwell(RTX Pro 6000D):R580+。
asset-harvester需要驱动 >= 570 和约 16 GB VRAM。 - Docker >= 23.0.1 + NVIDIA Container Toolkit >= 1.13.5 — 用于
nre、nre-tools和nurec-fixer容器(nvcr.io/nvidia/nre/nre-ga:latest、nvcr.io/nvidia/nre/nre-tools-ga:latest,以及本地构建的基于nvcr.io/nvidia/pytorch:25.10-py3的harmonizer-cosmos-env镜像)。 - NGC API 密钥 — 用于拉取
nvcr.io容器。解析顺序是$NGC_CLI_API_KEY优先,然后$NGC_API_KEY,最后才提示用户(参见nre的references/ngc-and-registry.md)。 - Hugging Face 令牌(
HF_TOKEN),且已在 Hugging Face 上预先接受相关 gated 许可证:nvidia/PhysicalAI-*数据集、nvidia/asset-harvester、nvidia/Harmonizer和nvidia/Cosmos-Predict2-0.6B-Text2Image。 - Python 3.10+,并安装
huggingface_hub;对于ncore,执行pip install nvidia-ncore;对于asset-harvester,需要 conda(Miniconda / Miniforge)以及 GCC 10–13。 - (可选) CARLA、Isaac Sim 5.1 或 AlpaSim,用于通过
serve-grpc集成模拟器。
优先使用每个同级技能中的 scripts/validate_setup.py(存在于 nre、asset-harvester 和 nurec-fixer 中)而不是手写检查。对于没有该脚本的技能(ncore、physical-ai-datasets、此路由器),在不回显值的情况下验证密钥:
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "HF_TOKEN length=${#HF_TOKEN}" || echo "HF_TOKEN unset"
[ -n "${NGC_CLI_API_KEY:-}" ] && echo "NGC_CLI_API_KEY length=${#NGC_CLI_API_KEY}" || echo "NGC_CLI_API_KEY unset"
[ -n "${NGC_API_KEY:-}" ] && echo "NGC_API_KEY length=${#NGC_API_KEY}" || echo "NGC_API_KEY unset"
有关要避免的 bash 反模式,请参阅 references/secrets-handling.md。
什么是 NuRec?
NuRec(NVIDIA Omniverse 神经重建)将相机、激光雷达、雷达或立体声记录(通常来自自动驾驶汽车或机器人)转换为可从任何视角重新渲染的 3D 场景。经常出现的名称:
- NRE — “神经重建引擎”。NuRec 是产品;NRE 是执行训练和渲染的引擎。两者都路由到上游
nre技能。 - USDZ — 训练后场景的文件格式。一个 Omniverse、Isaac Sim 和 CARLA 都能打开的 zip 归档。
- NCore V4 — NRE 消费的输入格式。原始记录在训练前必须转换为 NCore V4。
- 3DGUT / 3DGRT — NRE 内部使用的两种 3D 高斯泼溅变体。默认 Hydra 配方会选择一种;大多数用户从不手动设置。
典型的 NuRec 项目有三个阶段:
- 获取输入 — 将自己的记录转换为 NCore V4(
ncore),或下载预先转换的数据集(physical-ai-datasets)。 - 训练重建 — 将 NCore V4 输入 NRE;输出 USDZ(
nre)。 - 渲染新视图 — 从 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 需要的额外输入(分割掩码、深度、自车掩码、DINOv2、激光雷达-分割可见性) | nre(使用 nre-tools-ga 容器) |
| 沿原始相机位置渲染 USDZ | nre |
| 以全分辨率 / 最高质量渲染 | nre(参见“质量预设”) |
| 沿偏移轨迹渲染(例如汽车左移 3 米) | nre |
| 将现有 USDZ 适配到增强的目标车辆装置(车线适配) | nre(export-custom-rig-trajectory → render)→ nurec-fixer |
| 通过服务器渲染,使 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 |
| 跳过训练,使用预构建的室内机器人场景 | physical-ai-datasets → nre(然后 Isaac Sim 5.1) |
| 从驾驶片段中提取单个 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 |
常见工作流
references/workflows.md 中记录了七个端到端工作流,字母与上游 nurec-index 工作流 ID 匹配:
- A. 从自己的记录创建 NuRec 场景。
- B. 使用 NVIDIA 已训练好的 NuRec 场景。
- C. 使用 NuRec 进行室内机器人仿真。
- D. 在场景中添加、移除或替换 3D 对象。
- E. 清理渲染帧。
- F. 基准测试重建质量。
- G. 将 NuRec 连接到模拟器。
当用户任务跨越多个同级技能时,打开该文件。
同级技能(上游)
按名称引用同级技能——这是可移植标识符。文件夹列只是在本地 nurec-skills 检出中的位置。
| 名称 | 上游文件夹 | 功能 |
|---|---|---|
physical-ai-datasets |
skills/physical-ai-datasets/ |
面向 Hugging Face 上每个 NVIDIA 物理 AI 数据集(驾驶、机器人、操作、NuRec 场景、基准)的目录和下载配方。 |
ncore |
skills/ncore/ |
将任何传感器记录转换为 NCore V4(NRE 需要的格式),上游发布 2026.04。还涵盖编写新转换器。 |
nre |
skills/nre/ |
神经重建引擎本身(nvcr.io/nvidia/nre/nre-ga、nvcr.io/nvidia/nre/nre-tools-ga、NRE release_26.04)。训练、执行车线适配、渲染(本地、通过热 serve-grpc + 薄 Python 客户端 / batch_render_rgb,或到外部模拟器)、导出网格/点云/深度、编辑参与者、评估质量。 |
asset-harvester |
skills/asset-harvester/ |
开源 Apache-2.0 流水线(SparseViewDiT + TokenGS),从驾驶片段中的稀疏视图提取单个 3D 对象,并保存为带元数据的 .ply 高斯泼溅。 |
nurec-fixer |
skills/nurec-fixer/ |
独立的 NVIDIA DiffusionHarmonizer 工作流——旧版 Fixer / Difix3D+ 配方的公共继承者——清理渲染帧、协调插入的参与者、评估 PSNR/LPIPS,并可选择微调模型。 |
有关命名重叠(NRE 与 Fixer、ncore 与 nre、AV-NuRec 与 Cosmos-Drive-Dreams、NuRec 与 SimReady),请参阅 references/mix-ups.md。
定位并获取上游技能
首先尝试本地磁盘,按以下顺序——已安装在运行时中的同级技能总是优先于网络获取:
.agents/skills/<name>/SKILL.md(Cursor、Codex、NemoClaw).claude/skills/<name>/SKILL.md(Claude Code).cursor/skills/<name>/SKILL.md(项目范围)~/.cursor/skills/<name>/SKILL.md(个人技能)- 共享上游根目录下现有的
nurec-skills克隆。
仅当上述都不存在时,在克隆前征得用户明确同意。git clone 是对外部仓库的网络获取以及对本地文件系统的写入;它可能违反组织的网络策略并带来供应链风险。向用户展示你打算运行的命令并等待同意。
快速配方(完整版本,包括固定提交布局,见 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
# 仅在用户同意后。优先使用 --branch <tag-or-sha> 而不是 HEAD。
git clone --depth 1 https://github.com/NVIDIA/nurec-skills.git \
"$UPSTREAM_ROOT/nurec-skills"
fi
test -f "$UPSTREAM_ROOT/nurec-skills/skills/nurec-index/SKILL.md"
上游树的根是 skills/<name>/SKILL.md;.agents/skills 是指向 skills/ 的符号链接,因此任一路径都能解析。在运行任何变更命令之前,请阅读上游技能:
cat "$UPSTREAM_ROOT/nurec-skills/skills/nurec-index/SKILL.md" # 上游路由器
cat "$UPSTREAM_ROOT/nurec-skills/skills/<folder>/SKILL.md" # 同级
配套文件(references/、scripts/、assets/)位于同级技能的 SKILL.md 旁边,而不是此路由器旁边。
硬性规则
- 仅路由器——请勿在此复制上游 NuRec 配方。在运行任何变更命令之前阅读上游同级技能正文。
- 按同级技能的
name:引用(例如nre),而不是按仓库路径。文件夹布局可能更改;名称是可移植的。 - 未经用户明确同意,切勿
git clone上游。 先穷尽本地查找顺序,展示确切的命令,并只克隆到用户同意的路径——切勿静默克隆到/tmp。不要扫描宽泛的开发者工作区(如~/Codes)或重用无关的旧克隆。 - 使用 GA 容器通道:
nvcr.io/nvidia/nre/nre-ga和nvcr.io/nvidia/nre/nre-tools-ga。未加后缀的nvcr.io/nvidia/nre/nre/nre-tools名称是旧版通道——对于缓存的版本固定仍然有效,但新工作流不应拉取。 - 将 NGC 密钥解析为
${NGC_CLI_API_KEY:-${NGC_API_KEY:-}},并使用docker login nvcr.io --username '$oauthtoken' --password-stdin登录。切勿回显密钥。 physical-ai-datasets涵盖 gated Hugging Face 数据集。请勿绕过数据集许可条款;用户必须事先在 Hugging Face 上接受PhysicalAI-*gated 许可证并提供令牌。- Asset Harvester 在打包为 USDZ 之前运行。除非用户明确要求跳过 Asset Harvester,否则不要对手工制作的
.ply文件调用nre的export-external-assets。 - 对于伪影清理,优先使用
nre内置的--enable-difix路径。仅在用户需要公共代码/模型卡、配对评估、微调或对之前渲染的帧进行修复时,才路由到独立的nurec-fixer。 - 请勿凭记忆编造 NRE / NCore / DiffusionHarmonizer 命令。重新阅读上游同级技能——版本变化很快(当前固定版本为 NRE
release_26.04和 NCore2026.04)。 - 此路由器不部署基础设施。将 AKS / OSMO / NIM Operator 设置路由到
physical-ai-infrastructure-setup-and-resilient-scaling。
局限性
- 仅路由器。 此技能从不执行变更性 NuRec 命令。所有训练、渲染、转换和协调均在上游同级技能中进行。
- 上游固定。 配方位于
https://github.com/NVIDIA/nurec-skills,它在本仓库之外演进。过时的克隆可能漂移;在依赖同级技能之前始终刷新上游。 - 手工策划的目录。 新添加的上游同级在有人编辑表格之前不会在此处被发现(参见
references/maintenance.md)。 - 受控内容。
nvidia/PhysicalAI-*、nvidia/asset-harvester、nvidia/Harmonizer和nvidia/Cosmos-Predict2-0.6B-Text2Image要求用户先在 Hugging Face 上接受许可条款。路由器无法绕过此要求。 - 占用空间大。 完整的 NuRec 工作流可能在磁盘上留下 150 GB+。参见
references/teardown.md。 - 仅限 NVIDIA 技术栈。 需要 Linux x86_64 以及 NVIDIA GPU 和 NVIDIA Container Toolkit。不支持 aarch64 / AMD / Intel / Apple Silicon。
- 无 Omniverse / Isaac Sim 集成步骤。 将 USDZ 交给 Isaac Sim 5.1(工作流 C)记录在 Isaac Sim 文档中,而非 NuRec 技能系列中。
- 不是 SimReady 流水线。 NuRec 从记录生成可渲染的 USDZ;CAD 或源网格的 SimReady 打包是另一条流水线(参见
omniverse-cad-to-simready)。
故障排除
| 错误 / 症状 | 可能原因 | 解决方案 |
|---|---|---|
nurec-skills 克隆缺失或为空 |
尚未获取上游 | 按顺序查找本地,然后征得同意并运行定位并获取上游技能中的克隆块 |
test -f .../.agents/skills/SKILL.md 失败 |
上游路径错误——索引位于 skills/nurec-index/SKILL.md |
使用 skills/nurec-index/SKILL.md(或 .agents/skills/ 符号链接别名) |
从 HF 拉取 nvidia/PhysicalAI-* 时出现 403/401 |
Gated 许可证未接受,或 HF_TOKEN 未设置 / 作用域错误 |
在 Hugging Face 上接受 gated 许可证,然后使用具有 read 访问权限的令牌执行 hf auth login |
从 nvcr.io/nvidia/nre/* 拉取时出现 denied: requested access to the resource is denied |
NGC 密钥缺失或过期 | 使用 $oauthtoken / ${NGC_CLI_API_KEY:-$NGC_API_KEY} 执行 docker login nvcr.io;如有需要,在 org.ngc.nvidia.com/setup/api-key 轮换 |
拉取 NRE 镜像时出现 manifest unknown / not found |
拉取了旧版无后缀名称或该通道从未发布的标签 | 拉取 GA 名称 nvcr.io/nvidia/nre/nre-ga:latest 和 nvcr.io/nvidia/nre/nre-tools-ga:latest |
--renderer 或 export-custom-rig-trajectory 被拒绝为未知 |
缓存镜像早于 26.04 / 26.03 |
拉取 26.04+ GA 镜像;--image-format jpeg 适用于所有系列,所以不要回退到 PNG |
| NRE 拒绝加载片段(“不是有效的 NCore V4”) | 记录未转换 | 在调用 nre 之前运行 ncore 技能 |
Python 循环中 serve-grpc 冷启动延迟占主导 |
每次渲染都一次性调用 Docker | 使用 nre 热 serve-grpc + 薄 Python 客户端(batch_render_rgb)配方;热快速路径需要 26.04+ 镜像 |
docker run 后输出文件归 root 所有 |
缺少 -u $(id -u):$(id -g) |
执行 sudo chown -R "$(id -u):$(id -g)" <output_dir>;下次加上 -u 标志 |
| 帧渲染后有重影 / 漂浮物 / 闪烁 | 未启用内联清理 | 使用 nre --enable-difix 重新渲染,或使用 nurec-fixer(DiffusionHarmonizer)后处理 |
代理输出中出现过时名称(ncore-data-conversion、nvidia/Fixer、nvidia/DiffusionHarmonizer 权重) |
缓存的技能已过时 | 更新到 ncore 和 nurec-fixer;模型现位于 nvidia/Harmonizer——参见 references/maintenance.md |
Bash 反模式 ${HF_TOKEN:+yes}${HF_TOKEN:-no} 回显了令牌值 |
误用 bash 参数展开 | 轮换令牌;使用 hf auth whoami 或仅长度检查(参见 references/secrets-handling.md) |
跨技能清理
完整的 NuRec 工作流可能在容器镜像、模型权重、代码克隆、conda 环境和输出目录之间留下 150 GB+ 的磁盘占用。每个同级技能都有自己的专门 Teardown 部分——当用户不再需要工作流时,按 references/teardown.md 中记录的顺序阅读它们。除非泄露,否则不要在清理过程中撤销 NGC_API_KEY / HF_TOKEN。
保持此路由器更新
添加新同级技能、重命名或上游 URL 更改的流程记录在 references/maintenance.md 中。将 https://github.com/NVIDIA/nurec-skills/blob/main/skills/nurec-index/SKILL.md 上的上游 nurec-index 视为权威;此技能仅镜像选择器表、工作流排序和上游获取配方。