physical-ai-neural-reconstruction
NVIDIA/skills
Leitet NuRec-/Neural-Reconstruction-Anfragen an die richtige vorgelagerte NVIDIA-Funktion weiter (Datensätze, Konvertierung, Training, Rendering, Objektextraktion, Frame-Bereinigung).
...Alle erweiternRouter für die physikalische KI-Neuralrekonstruktion (NuRec)
Zweck
Dies ist ein schlanker Router für NVIDIA Neural Reconstruction (NuRec)-Anfragen.
Er Er verweist auf den vorgelagerten „nurec-index“-Skill unter
https://github.com/NVIDIA/nurec-skills und dessen fünf gleichrangige Skills
(physical-ai-datasets, ncore, nre, asset-harvester,
nurec-fixer). Verwenden Sie diesen Skill, um:
- festzustellen, welche der vorgelagerten Geschwister-Skills eine NuRec-Anfrage beantwortet.
- den kanonischen „nure
c-skills“-Checkout zu finden, zu klonen oder zu aktualisieren. - mehrstufige NuRec-Workflows (Daten → Konvertierung → Training → Rendering → Bereinigung) zu ordnen, bevor das Upstream-Rezept geöffnet wird.
Die kanonischen Rezepte (Training, Rendering, Datenkonvertierung, Dataset-Downloads, Objekt-Harvesting, Frame-Bereinigung) befinden sich in den vorgelagerten Geschwister-Skills. Kopieren oder rekonstruieren Sie deren Befehle hier niemals.
Verwenden Sie diese Skill NICHT für:
- SimReady-Paketierung von CAD- oder Quell-Meshes → verwende
omniverse-cad-to-simready. - Generische USD-Leistungsoptimierung, die nicht mit NuRec zusammenhängt → verwende
omniverse-usd-performance-tuning. - Einrichtung der AKS-/OSMO-/NIM-Operator-Infrastruktur → verwende
physical-ai-infrastructure-setup-and-resilient-scaling.
Wann zu verwenden
Lesen Sie diese Anleitung immer zuerst, wenn ein Benutzer eines der folgenden Begriffe erwähnt:
nurec, nurec-Router, nurec-Index, neuronale Rekonstruktion,
neuronale Rekonstruktions-Engine, NRE, 3DGUT, 3DGRT, USDZ,
NCore V4, Sensor-Simulation, 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, „Wo fange ich mit NuRec an?“, „Welchen NuRec-Skill
sollte ich für X verwenden?“.
Entscheiden Sie, welche übergeordnete Schwester-Fähigkeit die Frage beantwortet, rufen Sie sie ab (siehe „Upstream-Fähigkeiten finden und abrufen“), und folgen Sie dann dem Hauptteil dieser Fähigkeit.
Voraussetzungen
Das Router-Skill selbst hat keine Laufzeitvoraussetzungen außer Git zum
Abrufen des Upstreams. Downstream-Geschwister-Skills erfordern:
- Docker + NVIDIA Container Toolkit + GPU – für die Container
„nre“,„nre-tools“und„nurec-fixer“(nvcr.io/nvidia/nre/nre,nvcr.io/nvidia/nre/nre-tools,nvcr.io/nvidia/cosmos/cosmos-predict2-container:1.2). - NGC-API-Schlüssel (
NGC_API_KEY) – zum Abrufen von NGC-Containern. - Hugging-Face-Token (
HF_TOKEN) mit den Lizenzen„nvidia/PhysicalAI-*“,„nvidia/DiffusionHarmonizer“und„nvidia/asset-harvester“, die im Voraus auf Hugging Face akzeptiert wurden. - Python 3.10+ mit installiertem
huggingface_hub. - (Optional) CARLA, Isaac Sim 5.1 oder AlpaSim für die Simulator-
Integration über
serve-grpc.
Überprüfen Sie Geheimnisse sicher (Werte nicht ausgeben):
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "HF_TOKEN Länge=${#HF_TOKEN}" || echo "HF_TOKEN nicht gesetzt"
[ -n "${NGC_API_KEY:-}" ] && echo "NGC_API_KEY Länge=${#NGC_API_KEY}" || echo "NGC_API_KEY nicht gesetzt"
Siehe references/secrets-handling.md
für die zu vermeidenden Bash-Anti-Muster.
Was ist NuRec?
NuRec (NVIDIA Omniverse Neural Reconstruction) nimmt Kamera-, LiDAR-, Radar- oder Stereoaufnahmen – typischerweise von einem selbstfahrenden Auto oder einem Roboter – und wandelt sie in eine 3D-Szene um, die Sie aus jedem beliebigen Blickwinkel neu rendern können. Häufig verwendete Bezeichnungen:
- NRE – „Neural Reconstruction Engine“. NuRec ist das Produkt; NRE
ist die Engine, die trainiert und rendert. Beide verweisen auf den übergeordneten
„nre“-Skill. - USDZ – das Dateiformat einer trainierten Szene. Ein ZIP-Archiv, das Omniverse, Isaac Sim und CARLA öffnen können.
- NCore V4 – das von NRE verwendete Eingabeformat. Rohaufzeichnungen müssen vor dem Training in NCore V4 konvertiert werden.
- 3DGUT / 3DGRT – die beiden 3D-Gaussian-Splatting-Varianten, die intern von NRE verwendet werden. Das Standard-Hydra-Rezept wählt eine davon aus; die meisten Nutzer stellen dies nie manuell ein.
Ein typisches NuRec-Projekt umfasst drei Schritte:
- Eingabe beschaffen – konvertieren Sie Ihre eigene Aufnahme in NCore V4
(
ncore) oder laden Sie einen vorkonvertierten Datensatz herunter (physical-ai-datasets). - Trainieren Sie die Rekonstruktion – geben Sie NCore V4 in NRE ein; als Ergebnis erhalten Sie eine
USDZ-Datei (
nre). - Neue Ansichten rendern – rendern Sie Bilder, Videos oder LiDAR-Scans aus
der USDZ-Datei (
nre).
Projekte, die lediglich eine bereits von NVIDIA veröffentlichte Szene nutzen möchten, überspringen Schritt 2.
Wählen Sie eine Funktion aus
Ordne das Ziel des Benutzers in der linken Spalte zu und öffne die entsprechend benannte Vorgängerskill auf der rechten Seite. Pfeile bedeuten „Führe diese Schritte der Reihe nach aus“.
| Ich möchte… | Vorgelagerte Funktion |
|---|---|
| Einen von NVIDIA veröffentlichten NuRec-Datensatz finden oder herunterladen | physical-ai-datasets |
| Meine eigene Kamera-/LiDAR-/Radar-/Tiefen-/Stereoaufnahme in NCore V4 konvertieren | ncore |
| Einen neuen Konverter für eine nicht unterstützte Sensor-Konfiguration schreiben (Drohne, RGB-D, ROS 2 Bag, COLMAP, ScanNet++) | ncore |
| Eine 3D-Rekonstruktion aus einem NCore-Clip trainieren | ncore → nre |
| Erzeuge die zusätzlichen Eingaben, die NRE benötigt (Segmentierungsmasken, Tiefe, Ego-Maske) | nre (verwendet den Container „nre-tools“ ) |
| Rendert eine USDZ-Datei entlang der ursprünglichen Kamerapositionen | nre |
| Rendern in voller Auflösung / höchster Qualität | nre (siehe „Qualitätsvoreinstellungen“) |
| Rendern entlang einer verschobenen Bewegungsbahn (z. B. Auto 3 m nach links verschoben) | nre |
| Über einen Server rendern, damit CARLA / Isaac Sim / AlpaSim / ein benutzerdefinierter Simulator Frames anfordern kann | nre (serve-grpc) |
| Rendern Sie dieselbe USDZ-Datei mehrmals hintereinander aus Python heraus mit minimaler Latenz pro Aufruf | nre (warm serve-grpc + schlanker Python-Client / batch_render_rgb) |
| LiDAR-Scans (Punktwolken) aus einer USDZ-Datei rendern | nre (render-grpc --lidar) |
| Das Training überspringen und einfach eine von NVIDIA bereits erstellte NuRec-Szene rendern | physical-ai-datasets → nre |
| Extrahieren einzelner 3D-Objekte (Autos, Fußgänger) aus einem Fahrclip | asset-harvester |
| Hinzufügen, Entfernen oder Ersetzen von Autos/Fußgängern in einer NuRec-Szene | asset-harvester → nre |
| Gerenderte Frames bereinigen oder harmonisieren (Geisterbilder, Floater, Flackern, Beleuchtung/Schatten) | nurec-fixer oder --enable-difix innerhalb von nre für Inline-Rendering |
| Die Szene als PLY, Mesh, Tiefenkarten, Ego-Maske usw. exportieren | nre |
| Aktualisieren einer alten USDZ-Datei, damit neuere NRE-Versionen sie schneller laden | nre (upgrade-artifact) |
| Öffnen Sie eine USDZ- oder PLY-Datei in einem Browser-Viewer | nre (Viewer / ply_viewer) |
| Rendering-Qualität (PSNR, SSIM, LPIPS) anhand der Referenzdaten messen | nre (eval-rendering-metrics) |
| Verschiedene Rekonstruktionsmethoden anhand derselben Szenen vergleichen | physical-ai-datasets (PhysicalAI-NuRec-PPISP) → nre |
| Training auf mehreren GPUs oder mit SLURM | nre (Workflow D) |
Gängige Workflows
Sechs End-to-End-Workflows sind in
references/workflows.md dokumentiert:
- A. Erstellen Sie eine NuRec-Szene aus Ihrer eigenen Aufnahme.
- B. Verwenden Sie eine NuRec-Szene, die NVIDIA bereits trainiert hat.
- C. 3D-Objekte in einer Szene hinzufügen, entfernen oder ersetzen.
- D. Bereinigen Sie gerenderte Frames.
- E. Bewerten Sie die Rekonstruktionsqualität.
- F. Verbinden Sie NuRec mit einem Simulator.
Öffnen Sie diese Datei, wenn die Aufgabe des Benutzers mehr als eine verwandte Fertigkeit umfasst.
Übergeordnete Fähigkeiten (vorgelagert)
| Name | Vorgelagerter Ordner | Funktionsbeschreibung |
|---|---|---|
physical-ai-datasets |
.agents/skills/physical-ai-datasets/ |
Katalogisiert und lädt Rezepte für alle NVIDIA Physical AI-Datensätze auf Hugging Face herunter (Fahren, Robotik, Manipulation, NuRec-Szenen, Benchmarks). |
ncore |
.agents/skills/ncore/ |
Konvertiert beliebige Sensoraufzeichnungen in das NCore V4-Format (das von NRE benötigte Format). Behandelt auch das Erstellen eines neuen Konverters. |
nre |
.agents/skills/nre/ |
Die Neural Reconstruction Engine selbst. Trainiert, rendert (lokal über Warm Serve-gRPC + schlanken Python-Client / batch_render_rgb oder an einen externen Simulator), exportiert Meshes / Punktwolken / Tiefendaten, bearbeitet Akteure und bewertet die Qualität. |
asset-harvester |
.agents/skills/asset-harvester/ |
Open-Source-Pipeline unter Apache-2.0, die einzelne 3D-Objekte aus spärlichen Ansichten in einem Fahrclip extrahiert und sie als .ply -Gaussian-Splats mit Metadaten speichert. |
nurec-fixer |
.agents/skills/nurec-fixer/ |
Eigenständiger NVIDIA DiffusionHarmonizer-Workflow – öffentlicher Nachfolger der älteren „Fixer“-/„Difix3D+“-Rezepte –, der gerenderte Frames bereinigt, eingefügte Akteure harmonisiert, PSNR/LPIPS auswertet und optional das Modell feinabstimmt. |
Zu Namensüberschneidungen (NRE vs. Fixer, ncore vs. nre, AV-NuRec vs.
Cosmos-Drive-Dreams, NuRec vs. SimReady) siehe
references/mix-ups.md.
Die Upstream-Skills suchen und abrufen
Schnellrezept (Vollversion in
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"
Lies dann die Upstream-Fähigkeit ein, bevor du einen Befehl ausführst, der Änderungen bewirkt:
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md" # Router
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills//SKILL.md" # Geschwister
Lokale Suchreihenfolge (in dieser Reihenfolge vor dem Upstream-Klon versuchen):
.agents/skills/(Cursor, Codex, NemoClaw)/SKILL.md .claude/skills/(Claude Code)/SKILL.md .cursor/skills/(projektbezogen)/SKILL.md ~/.cursor/skills/(persönliche Fähigkeiten)/SKILL.md
Strenge Regeln
- Nur für den Router – dupliziere hier keine NuRec-Rezepte aus dem Upstream. Lies den Text der entsprechenden Skill-Datei im Upstream, bevor du einen Befehl ausführst, der Änderungen bewirkt.
- Verweise auf Schwester-Skills erfolgen über deren
Namen (z. B.„nre“),nicht über den Repo-Pfad . Ordnerstrukturen können sich ändern; der Name ist portabel. https://github.com/NVIDIA/nurec-skillsunter dem gemeinsamen Upstream-Stammverzeichnis klonen oder aktualisieren (${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}/nurec-skills). Durchsuchen Sie keine weit gefassten Entwickler-Arbeitsbereiche wie~/Codesund verwenden Sie keine unzutreffenden alten Klone erneut.„physical-ai-datasets“umfasst zugangsbeschränkte Hugging-Face-Datensätze. Umgehen Sie nicht die Lizenzbedingungen der Datensätze; der Benutzer muss die zugangsbeschränkten„PhysicalAI-*“-Lizenzenauf Hugging Face akzeptieren und vor dem Herunterladen ein Token angeben.- „Asset Harvester“ wird vor der Verpackung in eine USDZ-Datei ausgeführt. Rufen Sie
„nre’sexport-external-assets“nicht für manuell erstellte.ply-Dateienauf, es sei denn, der Benutzer fordert ausdrücklich an, „Asset Harvester“ zu überspringen. - Verwenden Sie zur Bereinigung von Artefakten vorzugsweise den integrierten Pfad
„--enable-difix“innre. Leiten Sie den Prozess nur dann an den eigenständigennurec-fixerweiter, wenn der Nutzer die öffentliche Code-/Modellkarte, gepaarte Auswertung, Feinabstimmung oder Korrekturen an zuvor gerenderten Frames benötigt. - Erfinden Sie keine NRE-/NCore-/DiffusionHarmonizer-Befehle aus dem
Stegreif. Lesen Sie die übergeordnete Skill-Version erneut durch – die Versionen ändern sich schnell
(NRE
release_26.04ist das aktuell festgelegte Tag). - Dieser Router stellt keine Infrastruktur bereit. Leite die Einrichtung von AKS / OSMO /
NIM-Operator an
„physical-ai-infrastructure-setup-and-resilient-scaling“weiter.
Einschränkungen
- Nur Router. Diese Skill führt niemals mutierende NuRec-Befehle aus. Das gesamte Training, Rendern, Konvertieren und Harmonisieren erfolgt in den übergeordneten Geschwister-Skills.
- An den Upstream-Skill gekoppelt. Die Rezepte befinden sich in
„https://github.com/NVIDIA/nurec-skills“, das sich außerhalb dieses Repos entwickelt. Veraltete Klone können abweichen;führeimmerein „git pull“des Upstreamsdurch, bevor du dich auf einen Geschwister-Skill verlässt. - Zugriffsbeschränkte Inhalte. Für
nvidia/PhysicalAI-*,nvidia/DiffusionHarmonizerundnvidia/asset-harvestermuss der Benutzer zunächst die Lizenzbedingungen auf Hugging Face akzeptieren. Der Router kann dies nicht umgehen. - Hoher Speicherbedarf. Ein vollständiger NuRec-Workflow kann über 150 GB
auf der Festplatte beanspruchen. Siehe
„references/teardown.md“. - NVIDIA-exklusiver Stack. Erfordert eine NVIDIA-GPU sowie das NVIDIA Container Toolkit. AMD, Intel und Apple Silicon werden nicht unterstützt.
- Keine SimReady-Pipeline. NuRec erzeugt aus einer
Aufzeichnung eine renderfähige USDZ-Datei; die SimReady-Aufbereitung von CAD- oder Quell-Meshes erfolgt über eine
andere Pipeline (siehe
omniverse-cad-to-simready).
Fehlerbehebung
| Fehler / Symptom | Mögliche Ursache | Lösung |
|---|---|---|
nurec-skills -Klon fehlt oder ist leer |
Upstream wurde noch nicht abgerufen | Führen Sie den Klon-Block in „Locate“ aus und rufen Sie die Upstream-Skills ab |
403/401 beim Abrufen von nvidia/PhysicalAI-* aus HF |
Gated-Lizenz wird nicht akzeptiert oder HF_TOKEN ist nicht gesetzt / falscher Geltungsbereich |
Akzeptieren Sie die Gated-Lizenz auf Hugging Face und melden Sie sich anschließend bei hf auth mit einem Token an, das Lesezugriff besitzt |
Abgelehnt: Der angeforderte Zugriff auf die Ressource wurde von nvcr.io/nvidia/nre/*verweigert |
NGC_API_KEY fehlt oder ist abgelaufen |
Melden Sie sich bei Docker auf nvcr.io mit $oauthtoken / NGC_API_KEYan; aktualisieren Sie den Schlüssel bei Bedarf unter org.ngc.nvidia.com/setup/api-key |
| NRE weigert sich, einen Clip zu laden („not valid NCore V4“) | Die Aufzeichnung wurde nicht konvertiert | Führen Sie den ncore-Skill aus, bevor Sie nre aufrufen |
Die Latenz beim Kaltstartvon `serve-grpc ` dominiert eine Python-Schleife |
Einmaliger Docker-Aufruf pro Rendering | Verwenden Sie das Rezept „nre warm serve-grpc + thin Python client“ (batch_render_rgb) |
Die Ausgabedateien gehören nach einem Docker-Lauf dem Benutzer „root“ |
-u $(id -u):$(id -g) fehlte |
sudo chown -R "$(id -u):$(id -g)" ; füge beim nächsten Mal das -u- Flag hinzu |
| Bilder weisen nach dem Rendern Geisterbilder, Floater oder Flackern auf | Inline-Bereinigung nicht aktiviert | Neu rendern mit `nre --enable-difix` oder nachbearbeiten mit ` nurec-fixer ` (DiffusionHarmonizer) |
Veraltete Skill-Namen (ncore-data-conversion, altes nvidia/Fixer) in der Agentenausgabe |
Veraltete Skill-Cache-Daten | Aktualisieren Sie die Verweise auf ncore und nurec-fixer (DiffusionHarmonizer); siehe references/maintenance.md |
Bash-Anti-Pattern ${HF_TOKEN:+yes}${HF_TOKEN:-no} – Token-Wert wird wiederholt |
Missbrauch der Bash-Parameter-Erweiterung | Token rotieren; hf auth whoami oder reine Längenprüfungen verwenden (siehe references/secrets-handling.md) |
Skill-übergreifender Abbau
Ein vollständiger NuRec-Workflow kann über 150 GB auf der Festplatte belasten, verteilt auf
Container-Images, Modellgewichte, Code-Klone, Conda-Umgebungen und Ausgabeverzeichnisse. Jedes verwandte Skill verfügt über einen eigenen, dedizierten „Teardown“-Abschnitt
– lesen Sie diese in der Reihenfolge, wie sie in
references/teardown.md dokumentiert ist, wenn der Nutzer den
Workflow nicht mehr benötigt.
Diesen Router auf dem neuesten Stand halten
Die Vorgehensweise zum Hinzufügen neuer Geschwister-Skills, bei Umbenennungen oder Änderungen der Upstream-URL
ist in references/maintenance.md beschrieben.
Betrachten Sie den Upstream-nurec-Index unter
https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md
als maßgeblich; diese Skill spiegelt lediglich die Picker-Tabellen, die
Workflow-Reihenfolge und das Upstream-Fetch-Rezept wider.
---
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.
Alle Dateien
1 Dateienphysical-ai-neural-reconstruction installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
git clone https://github.com/NVIDIA/skills/tree/main/skills/physical-ai-neural-reconstruction # Copy SKILL.md to your .claude/skills/ directory
Kopieren





Heim
