TAPIP3D : Suivi de Tout Point dans une Géométrie 3D Persistante
Bowei Zhang1,2, Lei Ke1\, Adam W. Harley3, Katerina Fragkiadaki1
1Carnegie Mellon University 2Peking University 3Stanford University
NeurIPS 2025
\* Contribution Égale

🚀 Actualités
- (2025.12.28) 🔥 Nous avons mis à jour le code de Formation et d'Évaluation ! Consultez les nouvelles sections ci-dessous.
Vue d'ensemble
TAPIP3D est une méthode de suivi 3D feed-forward à long terme des points dans des séquences vidéo monoculaires RGB et RGB-D. Elle introduit une représentation en nuage de caractéristiques 3D qui élève les caractéristiques d’image dans un espace de coordonnées mondiales persistant, annulant le mouvement de la caméra et permettant une estimation précise des trajectoires entre les images.Nous fournissons une illustration vidéo détaillée de notre TAPIP3D.
Installation
Installation des dépendances
- Préparez l’environnement
conda create -n tapip3d python=3.10
conda activate tapip3dpip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 "xformers>=0.0.27" --index-url https://download.pytorch.org/whl/cu124
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.4.1+cu124.html
pip install -r requirements.txt
- Compiler pointops2
cd third_party/pointops2
LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH python setup.py install
cd ../..- Compiler megasam
cd third_party/megasam/base
LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH python setup.py install
cd ../../..Téléchargement des points de contrôle
Téléchargez notre point de contrôle du modèle TAPIP3D ici vers checkpoints/tapip3d_final.pth
Si vous souhaitez exécuter TAPIP3D sur des vidéos monoculaires, vous devez préparer manuellement les points de contrôle suivants pour exécuter MegaSAM :
- Téléchargez le point de contrôle DepthAnything V1 depuis ici et placez-le dans
third_party/megasam/Depth-Anything/checkpoints/depth_anything_vitl14.pth - Téléchargez le point de contrôle RAFT depuis ici et placez-le dans
third_party/megasam/cvd_opt/raft-things.pth
Utilisation de la démo
Nous fournissons un script de démo simple inference.py, ainsi que des données d'entrée d'exemple situées dans le répertoire demo_inputs/.
Le script accepte en entrée soit un fichier vidéo .mp4, soit un fichier .npz. Si vous fournissez un fichier .npz, il doit suivre le format suivant :
video: tableau de forme (T, H, W, 3), dtype : uint8depths(optionnel) : tableau de forme (T, H, W), dtype : float32intrinsics(optionnel) : tableau de forme (T, 3, 3), dtype : float32extrinsics(optionnel) : tableau de forme (T, 4, 4), dtype : float32
Inférence avec vidéo monoculaire
En fournissant une vidéo via --input_path, le script exécute d'abord MegaSAM avec MoGe pour estimer les cartes de profondeur et les paramètres de la caméra. Ensuite, le modèle traitera ces entrées dans le cadre global.
Démo 1

Pour lancer l'inférence :
python inference.py --input_path demo_inputs/sheep.mp4 --checkpoint checkpoints/tapip3d_final.pth --resolution_factor 2Un fichier npz sera enregistré dans outputs/inference/. Pour visualiser les résultats :
python visualize.py Demo 2

python inference.py --input_path demo_inputs/pstudio.mp4 --checkpoint checkpoints/tapip3d_final.pth --resolution_factor 2Inférence avec Profondeurs et Paramètres de Caméra Connus
Si un fichier .npz contenant les quatre clés (rgb, depths, intrinsics, extrinsics) est fourni, le modèle fonctionnera dans un cadre global aligné, générant des trajectoires de points en coordonnées mondiales.
Nous fournissons un exemple de fichier .npz ici et veuillez le placer dans le répertoire demo_inputs/.
Démo 3

python inference.py --input_path demo_inputs/dexycb.npz --checkpoint checkpoints/tapip3d_final.pth --resolution_factor 2Entraînement et Évaluation
1. Préparation du Jeu de Données
Veuillez consulter DATASET.md pour les instructions sur la préparation des jeux de données pour l’entraînement et l’évaluation.2. Entraînement
Pour commencer l’entraînement, exécutez :bash scripts/train.sh
experiment_name: Le nom de l'exécution affiché sur WandB.experiment_id: Un identifiant unique. Relancer avec le mêmeexperiment_idreprendra automatiquement l'entraînement à partir du dernier point de contrôle.
3. Évaluation
Pour évaluer un point de contrôle, exécutez :bash scripts/eval.sh
Vous pouvez spécifier le modèle à évaluer en modifiant la variable checkpoint dans scripts/eval.sh.Citation
Si vous trouvez ce projet utile, veuillez envisager de le citer :@article{tapip3d,
title={TAPIP3D: Tracking Any Point in Persistent 3D Geometry},
author={Zhang, Bowei and Ke, Lei and Harley, Adam W and Fragkiadaki, Katerina},
journal={arXiv preprint arXiv:2504.14717},
year={2025}
}--- Tranlated By Open Ai Tx | Last indexed: 2026-02-12 ---