TAPIP3D: Seguimiento de Cualquier Punto en Geometría 3D Persistente
Bowei Zhang1,2, Lei Ke1\, Adam W. Harley3, Katerina Fragkiadaki1
1Universidad Carnegie Mellon 2Universidad de Pekín 3Universidad de Stanford
NeurIPS 2025
\* Contribución Igual

🚀 Noticias
- (2025.12.28) 🔥 ¡Hemos actualizado el código de Entrenamiento y Evaluación! Consulta las nuevas secciones a continuación.
Resumen
TAPIP3D es un método para el seguimiento feed-forward a largo plazo de puntos 3D en secuencias monoculares de video RGB y RGB-D. Introduce una representación de nube de características 3D que eleva las características de la imagen a un espacio de coordenadas del mundo persistente, cancelando el movimiento de la cámara y permitiendo una estimación precisa de la trayectoria a través de los fotogramas.Proporcionamos una ilustración en video detallada de nuestro TAPIP3D.
Instalación
Instalación de dependencias
- Preparar el entorno
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
- Compilar pointops2
cd third_party/pointops2
LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH python setup.py install
cd ../..- Compilar megasam
cd third_party/megasam/base
LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH python setup.py install
cd ../../..
Descarga de puntos de control
Descargue nuestro punto de control del modelo TAPIP3D aquí en checkpoints/tapip3d_final.pth
Si desea ejecutar TAPIP3D en vídeos monoculares, debe preparar manualmente los siguientes puntos de control para ejecutar MegaSAM:
- Descargue el punto de control DepthAnything V1 desde aquí y colóquelo en
third_party/megasam/Depth-Anything/checkpoints/depth_anything_vitl14.pth - Descargue el punto de control RAFT desde aquí y colóquelo en
third_party/megasam/cvd_opt/raft-things.pth
Uso de la Demo
Proporcionamos un script de demo simple inference.py, junto con datos de entrada de muestra ubicados en el directorio demo_inputs/.
El script acepta como entrada un archivo de vídeo .mp4 o un archivo .npz. Si proporciona un archivo .npz, debe seguir el siguiente formato:
video: matriz de forma (T, H, W, 3), tipo: uint8depths(opcional): matriz de forma (T, H, W), tipo: float32intrinsics(opcional): matriz de forma (T, 3, 3), tipo: float32extrinsics(opcional): matriz de forma (T, 4, 4), tipo: float32
Inferencia con Vídeo Monocular
Al proporcionar un vídeo como --input_path, el script primero ejecuta MegaSAM con MoGe para estimar mapas de profundidad y parámetros de cámara. Posteriormente, el modelo procesará estas entradas dentro del marco global.
Demo 1

Para ejecutar la inferencia:
python inference.py --input_path demo_inputs/sheep.mp4 --checkpoint checkpoints/tapip3d_final.pth --resolution_factor 2
Un archivo npz se guardará en outputs/inference/. Para visualizar los resultados:python visualize.py Demo 2

python inference.py --input_path demo_inputs/pstudio.mp4 --checkpoint checkpoints/tapip3d_final.pth --resolution_factor 2Inferencia con Profundidades y Parámetros de Cámara Conocidos
Si se proporciona un archivo .npz que contiene las cuatro claves (rgb, depths, intrinsics, extrinsics), el modelo operará en un marco global alineado, generando trayectorias de puntos en coordenadas del mundo.
Proporcionamos un archivo .npz de ejemplo aquí y por favor colóquelo en el directorio demo_inputs/.
Demostración 3

python inference.py --input_path demo_inputs/dexycb.npz --checkpoint checkpoints/tapip3d_final.pth --resolution_factor 2Entrenamiento y Evaluación
1. Preparación del Conjunto de Datos
Por favor, consulte DATASET.md para obtener instrucciones sobre la preparación de conjuntos de datos tanto para entrenamiento como para evaluación.2. Entrenamiento
Para iniciar el entrenamiento, ejecute:bash scripts/train.sh
experiment_name: El nombre de la ejecución que se muestra en WandB.experiment_id: Un identificador único. Volver a ejecutar con el mismoexperiment_idreanuda automáticamente el entrenamiento desde el último punto de control.
3. Evaluación
Para evaluar un punto de control, ejecute:bash scripts/eval.sh
Puedes especificar el modelo a evaluar modificando la variable checkpoint en scripts/eval.sh.Citación
Si encuentras este proyecto útil, por favor considera citar:@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 ---