foundationpose-setup

Par nvidia · skills

Installez ou réparez le pipeline de perception FoundationPose et construisez ses moteurs TensorRT FoundationStereo. À utiliser pour les conflits de dépendances SAM3/TAO, les échecs de bibliothèques CUDA, ainsi que les décisions de forme ou de précision du moteur de profondeur.

npx skills add https://github.com/nvidia/skills --skill foundationpose-setup

Configuration du pipeline de perception FoundationPose

Objectif

Préparer le pipeline de perception FoundationPose pour l'inférence de profondeur, segmentation et pose. L'installation de l'environnement et la construction du moteur relèvent de ce domaine ; l'adaptation des données, l'inférence et l'évaluation de pose relèvent de foundationpose-pipeline quand cette compétence est installée.

Exigences

Travailler à partir du checkout du produit, pas du répertoire de la compétence installée. Trouver le checkout de l'utilisateur en vérifiant pyproject.toml (projet foundationpose-perception-pipeline), tools/build_tao_engine.py, et config/defaults.yaml. S'ils sont absents et que la configuration a été demandée, cloner l'URL du produit ci-dessus dans l'espace de travail de l'utilisateur et y entrer. Pour les demandes de conseil uniquement, utiliser les diagnostics fournis sans cloner ou installer quoi que ce soit. Les commandes ci-dessous utilisent des chemins relatifs à la racine du produit ; les liens references/ sont relatifs à cette compétence.

Lire les sections Requirements et Install du README.md du checkout pour la révision correspondante. La pile supportée nécessite Linux x86_64, glibc >= 2.38, GLIBCXX_3.4.31, driver NVIDIA >= 580, un toolkit CUDA >= 12.8 avec nvcc, Python 3.12, uv, Git, Docker avec accès GPU, wget et unzip. Commencer le dimensionnement du GPU à 24 Go et mesurer la scène la plus dense ; 32 Go a été testé. Budgéter le disque du cache de profondeur comme environ width * height * 4 * 3 octets par scène, plus les prédictions et modèles.

Maintenir des répertoires frères pour sam3/, foundation-pose-inference-library/ et models/ à côté du checkout du produit. models/ contient l'ONNX et le moteur déployables, pas la source FoundationStereo.

Instructions

  1. Vérification préalable avant installation. Vérifier glibc, GLIBCXX, driver, nvcc, outils et accès GPU Docker. Un hôte Ubuntu 22.04 avec glibc 2.35 ne peut pas charger la bibliothèque FoundationPose fournie ; signaler l'environnement d'exécution non supporté et arrêter la configuration là. Ne pas remplacer le libc système ni essayer de résoudre cela avec LD_LIBRARY_PATH. Voir installation.

  2. Installer dans le venv Python 3.12 du produit. Suivre installation pour uv, SAM3, la construction FoundationPose et TAO Deploy. Sur un nouveau venv utiliser uv sync --extra foundationpose ; sur un venv existant utiliser uv sync --inexact --extra foundationpose pour préserver les paquets hors bande.

  3. Vérifier l'accès au checkpoint. SAM3 est contrôlé à Hugging Face ; un token autorisé existant ou un checkpoint en cache utilisable suffit. Demander une action utilisateur uniquement si l'accès manque. FoundationPose et l'export FoundationStereo documenté sont des téléchargements NGC publics ; chercher des identifiants n'est pas la première réponse à une défaillance réseau.

  4. Préparer le moteur de profondeur. Lire construction du moteur. Utiliser l'emplacement ONNX de l'utilisateur ou le répertoire frère models/. Adapter le dataset avant de mesurer la forme du moteur ; utiliser tools/bop_adapt/adapt.py --config <profile> --src <source> comme décrit dans la section Dataset adaptation du README du checkout. Seuls les adaptateurs enregistrés sont supportés. Construire avec --shape-from-scene sur une scène adaptée et FP32 sauf si l'utilisateur demande une expérience de précision. Définir overrides.depth.engine dans config/<profile>.yaml.

  5. Définir les chemins d'exécution et vérifier. À partir de la racine du produit :

    source .venv/bin/activate
    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:-}"
    python tools/verify_sam3.py
    python tools/verify_foundationpose.py
    python tools/verify_foundationstereo.py --config <profile> --engine <engine-path>
    python test/check_engine_depth_smoke.py --config <profile> --engine <engine-path>

    Les trois premiers vérifient les composants ; le dernier nécessite aussi un dataset adapté. Attendre backend=tao, normalization=imagenet, la forme fixe prévue, et aucun avertissement cropping N rows. Un moteur non chargé ou indisponible est une vérification incomplète, pas une réussite.

Dépannage

Symptôme Action
GLIBC_2.38 not found Utiliser un OS/environnement d'exécution supporté ; un venv ou chemin de recherche de bibliothèque ne peut pas mettre à niveau le libc hôte.
libcudart.so.13 manquant Vérifier les wheels d'environnement d'exécution du venv du produit et les chemins de bibliothèque absolus avant de relancer la pose.
SAM3 se casse après sync Utiliser --inexact ; confirmer numpy 1.26.x et réinstaller le paquet SAM3 frère s'il est élagué.
La construction pycuda ne trouve pas cuda.h Vérifier le toolkit CUDA, nvcc sur PATH, ou CUDA_ROOT.
Import TAO ou conflit de dépendance Utiliser TAO Deploy 7.1.0 avec --no-deps ; synchroniser les dépendances déclarées avec --inexact.
Disparité du fichier secondaire du moteur ou écrêtage Reconstruire pour ce GPU, cette version TensorRT, cette précision et cette forme de scène adaptée.

Exemples

  • « Installer le pipeline de perception FoundationPose sur cette machine GPU Ubuntu 24.04. »
  • « Le pipeline ne peut pas charger libcudart.so.13 après avoir déplacé le checkout. »
  • « Construire le moteur de profondeur TAO pour mes scènes T-LESS adaptées. »

Limitations et achèvement

Les moteurs sont spécifiques à la machine et ne doivent pas être commités. Sans dataset, télécharger l'ONNX et signaler la construction du moteur dépendante de la forme et la validation de scène comme en attente ; ne pas inventer une forme de rig. La licence Apache du pipeline ne couvre pas les poids de modèles téléchargés séparément ; conserver leurs conditions en amont et les exigences d'accès de SAM3.

Signaler quelles étapes de vérification préalable, installation, checkpoint, moteur et vérification ont réellement réussi, les chemins du checkout et du moteur, les versions utilisées et les obstacles restants. Ne pas assimiler l'installation ou un smoke check à la précision de pose mesurée.

Skills similaires