foundationpose-pipeline
Adapt BOP datasets, run the FoundationPose perception pipeline with TAO depth, and evaluate or re-score pose results.
Skill by zwdoescode <zhengwang@nvidia.com>
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nvidia-foundationpose-pipeline
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/foundationpose-pipeline
What's inside
- Skill name
foundationpose-pipeline- Description
- Adapt BOP datasets, run the FoundationPose perception pipeline with TAO depth, and evaluate or re-score pose results. Use for dataset runs and result comparisons; environment installation belongs to foundationpose-setup.
- License
- Apache-2.0
- Metadata
- author: zwdoescode <zhengwang@nvidia.com> · version: 0.1.0
- Instructions
- 190 lines in SKILL.md · view on GitHub
Files (9)
- BENCHMARK.md
- SKILL.md
- openai.yaml · agents/
- config.yml · evals/
- evals.json · evals/
- baseline.json · evals/files/
- candidate.json · evals/files/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# Run and evaluate the FoundationPose perception pipeline
## Purpose
Run depth, SAM3 segmentation, and FoundationPose on BOP-format datasets using the TAO Deploy
TensorRT depth engine. Adapt datasets, preserve run provenance, and interpret pose metrics.
For missing dependencies or engine construction, use `foundationpose-setup` if installed,
or the product checkout's README Install and Verify sections.
## Requirements
Locate the user's [product checkout](https://github.com/nvidia-isaac/foundationpose_perception_pipeline)
by `pyproject.toml` (project `foundationpose-perception-pipeline`), `script/run_pipeline.py`, and
`config/defaults.yaml`. Run commands from that root, not from this installed skill's directory.
A catalog install supplies instructions, not the product code, datasets, or weights. If execution
was requested and no checkout exists, obtain it from the URL above and complete setup first.
For advice or analysis of supplied artifacts, use those inputs without cloning or loading models.
Execution requires the product's Python 3.12 venv, authorized SAM3 checkpoint access, the built
FoundationPose library, an adapted dataset, a matching TAO engine with its sidecar, and sufficient
GPU memory. Read the checkout's README Configuration and Dataset adaptation sections for
profile paths; read ARCHITECTURE.md Outputs for the matching artifact schema.
Set absolute paths before GPU work:
```bash
export FOUNDATIONPOSE_ROOT="$(realpath ../foundation-pose-inference-library)"
PIPELINE_SITE="$(realpath .venv/lib/python3.12/site-packages)"
export LD_LIBRARY_PATH="${PIPELINE_SITE}/tensorrt_libs:${PIPELINE_SITE}/nvidia/cu13/lib:${LD_LIBRARY_PATH:-}"
./.venv/bin/python -c "import ctypes; ctypes.CDLL('libcudart.so.13'); print('ok')"
```
Do not mix libraries from another venv into this path. Skipping the check can cause pose to fail
after depth has already completed.
## Instructions
### 1. Resolve the task and inputs
Identify the profile, dataset name, source or adapted scene paths, engine, ground-truth
availability, and output directory. `<profile>` and `<dataset>` may differ. `--config` selects a
profile; it does not replace a required `--dataset`. Same-named profiles can be inferred by
commands that take `--dataset`.
| Request | Entry point |
|---|---|
| Convert a supported BOP dataset | `tools/bop_adapt/adapt.py` |
| Inference without pose ground truth | `script/infer.py` |
| Inference plus scoring | `script/run_pipeline.py` |
| Score a completed run with new scoring parameters | `script/evaluate.py` |
| Sweep several datasets | `script/run_batch_eval.py` |
A capture without `scene_gt.json` can use inference only. `--no-depth-metrics` skips collected
sensor-depth scoring; it does not remove the pose-ground-truth requirement for evaluation.
### 2. Adapt before building or checking an engine
Skip adaptation only for the pipeline's rig layout:
`<split>/<scene>/rgb/<im_id>.png`, one `scene_camera.json` per scene, and im_ids representing
rig cameras (base camera 0 in the shipped profiles).
```bash
./.venv/bin/python tools/bop_adapt/adapt.py --config <profile> --src <downloaded-dataset>
```
The profile's `dataset.name` selects a registered adapter; `--help` exposes its flags. An unknown
adapter is not supported automatically. On static-scene datasets the adapter emits one scene
per usable (source scene, base frame) pair and reports skipped frames with no rectifiable partner.
Changing the baseline band changes the adapted data: rebuild GT caches and regenerate depth.
Engine building uses `tools/build_tao_engine.py --shape-from-scene <adapted-scene>`; see the
checkout's README Install section if the setup skill is unavailable. A raw BOP directory or raw
image dimensions do not establish the required rectified engine shape.
### 3. Validate inputs and prepare GT caches
```bash
./.venv/bin/python test/check_engine_depth_smoke.py \
--config <profile> --dataset <dataset> --engine <engine-path>
```
Expect `backend=tao`, `normalization=imagenet`, a fixed shape, a plausible valid fraction, and no
`cropping N rows` warning. A stale sidecar, changed GPU/TensorRT/precision, changed max-width,
or cropping requires rebuilding the engine and regenerating depth. Do not bypass these checks.
For scoring runs with pose GT, precompute the cache:
```bash
./.venv/bin/python script/build_gt_cache.py --config <profile> --dataset <dataset>
```
Use `--config <profile> --all` for all matching datasets. Missing collected depth calls for
`--no-depth-metrics`; missing `scene_gt.json` calls for inference only. Check the resolved
`dataset.collected_depth_root` using the actual path, not a shell command substitution.
### 4. Run only the work needed
For a new end-to-end run:
```bash
./.venv/bin/python script/run_pipeline.py --config <profile> --dataset <dataset> \
--output-dir output/<new-run> --foundation-stereo-model <engine-path> \
--depth-backend commercial --no-depth-metrics
```
Omit `--no-depth-metrics` when collected sensor depth is available and should be scored.
Start with `--max-scenes 1` for a time/fit check before sizing a larger run.
For a capture with no pose ground truth:
```bash
./.venv/bin/python script/infer.py --config <profile> --dataset <dataset> \
--output-dir output/<new-run> --foundation-stereo-model <engine-path> \
--depth-backend commercial
```
The model path selects the backend. `--depth-backend commercial` asserts that selection; it
neither downloads a model nor establishes rights to the weights. Set the engine once in the
profile's `overrides.depth.engine` to avoid repeating the model-path flag.From NVIDIA/skills, Apache-2.0.
More from NVIDIA/skills
- 0.846score
nemo-fabric-integrate
NVIDIA Corporation and Affiliates
Use this skill when integrating NVIDIA NeMo Fabric into a consumer application, service, evaluation harness, or platform through the typed Python SDK —…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-pipeline
Vinit Bansal <vinitkumarb@nvidia.com>
Use when planning, executing, and independently validating Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-pytorch
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing plain or manual PyTorch training code into an NVFLARE federated job using Client API model exchange, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-get-started
NVIDIA Corporation and Affiliates
Use this skill when first-time NeMo Relay users want help selecting and following an appropriate quick-start guide or verifying their first working integration.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-recipe
Vinit Bansal <vinitkumarb@nvidia.com>
Use when turning a Jetson encoder use case into one surface-neutral recipe with native Video Codec SDK and PyNvVideoCodec projections.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvidia-broadcast
NVIDIA Broadcast Team <broadcast-skills-dev@nvidia.com>
Use when controlling NVIDIA Broadcast through MCP to apply effects, process local media, select devices, or change camera resolution, or when Broadcast is…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-setup
Vinit Bansal <vinitkumarb@nvidia.com>
Use when installing, repairing, reusing, inspecting, or verifying readiness of the native NVIDIA Video Codec SDK or PyNvVideoCodec on Jetson, including the…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-diagnose-job
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Use when the user asks why a reported NVFLARE job failure signal occurred: the job failed, stalled, timed out, lost clients, ended with EXECUTION_EXCEPTION…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-lightning
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing PyTorch Lightning training code into an NVFLARE federated job using the Lightning Client API patch, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-install
NVIDIA Corporation and Affiliates
Use this skill when choosing or running NeMo Relay installation for an agent runtime, application language, framework integration, or plugin bundle, or…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-fed-stats
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Compute federated statistics over tabular data (count, sum, mean, stddev, var, histogram, quantile, noise-protected min/max) and image data (count…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-capability
Vinit Bansal <vinitkumarb@nvidia.com>
Use when Jetson codec, profile, chroma, bit-depth, dimension, engine-count, or operational support must be reconciled from live APIs, authenticated NVIDIA…
SkillAFreshness: A★ 3.7KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 3,718
- Forks
- 457
- Open issues
- 8
- Last commit (this folder)
- Sep 15, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.1.0
- License
- Apache-2.0
- Repository
- github.com/NVIDIA/skills
- Website
- docs.nvidia.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from zwdoescode <zhengwang@nvidia.com>
Cite this page
foundationpose-pipeline skill. Agent Mart. https://agentmart.dev/skills/nvidia-foundationpose-pipeline (last updated 2026-10-24)