physical-ai-neural-reconstruction について
Physical AI Neural Reconstruction (NuRec) Routerは、NVIDIA NuRecのワークフローで適切な上流スキルを選び、取得するためのルーティングスキルです。データ変換、学習、レンダリング、クリーンアップ、評価の手順を整理しますが、処理自体は実行しません。
主な機能
- 01タスクに合うNuRec上流スキルへの案内
- 02公式スキルリポジトリの特定・クローン・更新
- 03複数スキルにまたがる手順の整理
- 04データ・変換・学習・描画・クリーンアップを網羅
- 05NuRecと他のNVIDIAワークフローの区別
活用シーン
- 01タスクに適したNuRecスキルの選定
- 02センサー記録からシーン描画までの計画
- 03データセット・変換・学習の上流手順の確認
- 04シーン編集やフレーム修正、品質評価の手順整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ promptingcompany/ nv-skills --skill physical-ai-neural-reconstructionインストール後、Claude Code で/physical-ai-neural-reconstructionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.jsonreferences/maintenance.mdmix-ups.mdsecrets-handling.mdteardown.mdupstream-fetch.mdworkflows.md詳細
Physical AI Neural Reconstruction (NuRec) ルーター
目的
これは、NVIDIA Neural Reconstruction(NuRec)のリクエストを扱うシンプルなルーターです。上流の nurec-index スキル(https://github.com/NVIDIA/nurec-skills)と、その5つの関連スキル(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、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、「NuRec は何から始めればよいですか」、「X にはどの NuRec スキルを使えばよいですか?」。
質問に答える上流の関連スキルを決めて取得し(上流スキルの場所を確認して取得する を参照)、そのスキルの本文に従ってください。
前提条件
ルータースキル自体には、上流を取得するための 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)—nvidia/PhysicalAI-*、nvidia/DiffusionHarmonizer、nvidia/asset-harvesterのアクセス制限付きライセンスを、あらかじめ Hugging Face で承認済みにしておく必要があります。 - Python 3.10+。
huggingface_hubをインストールしておく必要があります。 - (任意)
serve-grpc経由でシミュレーターと統合する場合は、CARLA、Isaac Sim 5.1、または AlpaSim が必要です。
シークレットの値を表示せずに、安全に確認してください。
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"
避けるべき Bash のアンチパターンについては、
references/secrets-handling.md を参照してください。
NuRec とは?
NuRec(NVIDIA Omniverse Neural Reconstruction)は、カメラ、LiDAR、レーダー、またはステレオの録画データ(通常は自動運転車やロボットから取得したもの)を、任意の視点から再レンダリングできる3Dシーンに変換します。よく登場する名称は次のとおりです。
- NRE — 「Neural Reconstruction Engine」の略です。NuRecは製品名、NREは学習とレンダリングを行うエンジンです。どちらも上流の
nreスキルにつながります。 - USDZ — 学習済みシーンのファイル形式です。Omniverse、Isaac Sim、CARLAで開けるZIPアーカイブです。
- NCore V4 — NREが入力として使用する形式です。生の録画データは、学習前にNCore V4へ変換する必要があります。
- 3DGUT / 3DGRT — NRE内部で使用される2種類の3D Gaussian Splattingです。デフォルトのHydraレシピでどちらかが選ばれるため、ほとんどのユーザーは手動で設定する必要がありません。
一般的なNuRecプロジェクトは、次の3段階で構成されます。
- 入力データを用意する — 自分の録画データをNCore V4に変換する(
ncore)か、変換済みのデータセットをダウンロードします(physical-ai-datasets)。 - 再構築を学習する — NCore V4をNREに入力すると、USDZが出力されます(
nre)。 - 新しい視点からレンダリングする — USDZから画像、動画、またはLiDARスイープをレンダリングします(
nre)。
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(「Quality presets」を参照) |
| 移動した軌道に沿ってレンダリングする(例:車を左に3 m移動) | 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(viewer/ply_viewer) |
| 正解データと比較してレンダリング品質(PSNR、SSIM、LPIPS)を測定する | nre(eval-rendering-metrics) |
| 同じシーンで異なる再構築手法をベンチマークする | physical-ai-datasets(PhysicalAI-NuRec-PPISP)→ nre |
| 複数のGPUまたはSLURMで学習する | nre(ワークフローD) |
一般的なワークフロー
エンドツーエンドのワークフローを6つ、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 Physical AI データセット(運転、ロボティクス、マニピュレーション、NuRec シーン、ベンチマーク)のカタログとダウンロード手順を提供します。 |
ncore | .agents/skills/ncore/ | あらゆるセンサーの記録を NCore V4(NRE が必要とする形式)に変換します。新しいコンバーターの作成方法も扱います。 |
nre | .agents/skills/nre/ | Neural Reconstruction Engine 本体です。学習、レンダリング(ローカル、ウォームな serve-grpc と薄い Python クライアント/batch_render_rgb 経由、または外部シミュレーターへの出力)、メッシュ/点群/深度のエクスポート、アクターの編集、品質評価を行います。 |
asset-harvester | .agents/skills/asset-harvester/ | オープンソースの Apache-2.0 パイプラインです。運転クリップの疎なビューから個々の 3D オブジェクトを抽出し、メタデータとともに .ply の Gaussian splat として保存します。 |
nurec-fixer | .agents/skills/nurec-fixer/ | 単独で使用できる NVIDIA DiffusionHarmonizer ワークフローです。旧 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" # router
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/<folder>/SKILL.md" # sibling
ローカルでの検索順序(上流のクローンを確認する前に、順番に試してください):
.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 レシピをここに複製しないでください。変更を伴うコマンドを実行する前に、上流の関連スキルの本文を読んでください。
- 関連スキルはリポジトリのパスではなく、
name:(例:nre)で参照してください。フォルダー構成は変わることがありますが、名前は引き続き使用できます。 - 共有の上流ルート
(
${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 へのパッケージ化前に実行します。ユーザーが Asset Harvester を明示的にスキップするよう求めない限り、手作業で作成した
.plyファイルに対してnreのexport-external-assetsを呼び出さないでください。 - 成果物のクリーンアップには、
nreに組み込まれた--enable-difixの方法を優先してください。公開コード/モデルカード、ペア評価、ファインチューニング、または以前にレンダリングしたフレームの修正が必要な場合に限り、単独のnurec-fixerに切り替えてください。 - NRE/NCore/DiffusionHarmonizer のコマンドを記憶から作り出さないでください。バージョンの変更が速いため、上流の関連スキルを読み直してください(現在固定されているタグは NRE
release_26.04です)。 - このルーターはインフラをデプロイしません。AKS/OSMO/NIM Operator のセットアップは
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 でアクセス制限付きライセンスに同意してから、read アクセス権のあるトークンで hf auth login を実行します |
nvcr.io/nvidia/nre/* から denied: requested access to the resource is denied が返される | NGC_API_KEY が未設定、または期限切れ | $oauthtoken/NGC_API_KEY を使って docker login nvcr.io を実行します。必要に応じて org.ngc.nvidia.com/setup/api-key でキーを再発行します |
| NRE がクリップの読み込みを拒否する(「not valid NCore V4」) | 録画が変換されていない | nre を実行する前に ncore スキルを実行します |
Python ループで serve-grpc のコールドスタート遅延が支配的になる | レンダリングごとに Docker を一度だけ実行している | nre のウォーム状態の serve-grpc と軽量な Python クライアント(batch_render_rgb)を組み合わせたレシピを使用します |
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)がある | キャッシュされたスキルが古い | 参照先を ncore と nurec-fixer(DiffusionHarmonizer)に更新してください。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 に記載された順序で各セクションを確認してください。
このルーターを最新の状態に保つ
兄弟スキルの追加、名前変更、上流 URL の変更手順は references/maintenance.md に記載されています。
上流の nurec-index(https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md)を信頼できる情報源として扱ってください。このスキルが反映するのは、選択用テーブル、ワークフローの順序、上流の取得手順のみです。