# Pi-Long **Repository Path**: falin1/Pi-Long ## Basic Information - **Project Name**: Pi-Long - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-12 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Pi-Long: Extending $\pi^3$'s Capabilities on Kilometer-scale with the Framework of VGGT-Long

VGGT-Long | Pi3 | RedNote | YouTube

https://github.com/user-attachments/assets/6075e967-bb0c-449d-9611-6252804894ae
(For the full 60s-1440p-60fps demo video, please visit RedNote or YouTube.)
We received some feedback suggesting that `VGGT-Long`, as a lightweight extension method, can be easily migrated to other methods, such as `Pi3`. We found this to be an excellent idea, and as an extension method, compatibility with similar methods should indeed be one of its key features. The `Pi-Long` project is built on this background. The goals of this project are: 1. To provide a practical example of migrating `VGGT-Long` to other similar methods like `Pi3`; 2. `Pi3` is superior to `VGGT` in reconstruction stability, and `Pi-Long` is based on this to explore its performance of `Pi3` at the kilometer scale; 3. To provide a new baseline to facilitate future research; 4. To provide a better method for the community to use; Thanks to the modular code design of `VGGT-Long` and `Pi3`, the development of `Pi-Long` was straightforward. We have conducted some experiments on KITTI Odometry as shown in the figure below. The following experiments were all implemented under the same settings, i.e., `Chunk Size = 75`, `Overlap = 30`. ![overview](./assets/Pi-Long-KITTI.png) As can be seen from the experiments, `Pi-Long`, implemented based on `Pi3`, exhibits more stable tracking performance in long-sequence outdoor scenarios. Particularly, without relying on the LC module, the performance of `Pi-Long` is significantly higher than that of `VGGT-Long`. Furthermore, since `Pi3` has fewer model parameters, the peak GPU memory consumption of `Pi-Long` is around `13GiB`, while that of `VGGT-Long` under the same settings is `~23GiB`. `Pi-Long` **is not accompanied by a dedicated paper**. This repository is built on the [VGGT-Long](https://github.com/DengKaiCQ/VGGT-Long) and [Pi3](https://github.com/yyfz/Pi3). So if you need the technical details of `Pi-Long`, please refer to the following two papers: [VGGT-Long: Chunk it, Loop it, Align it, Pushing VGGT's Limits on Kilometer-scale Long RGB Sequences](https://arxiv.org/abs/2507.16443) [π³: Scalable Permutation-Equivariant Visual Geometry Learning](https://arxiv.org/abs/2507.13347) ### **Updates** `[TO BE DONE]` There are a lot changes in repo of `VGGT-Long`. Will sync them to this repo. `[06 Nov 2025]` Demo video of `Pi-Long` uploaded. `[04 Sep 2025]` Code of `Pi-Long` release. ## Setup, Installation & Running ### 🖥️ 1 - Hardware and System Environment This project was developed, tested, and run in the following hardware/system environment ``` Hardware Environment: CPU(s): Intel Xeon(R) Gold 6128 CPU @ 3.40GHz × 12 GPU(s): NVIDIA RTX 4090 (24 GiB VRAM) RAM: 67.1 GiB (DDR4, 2666 MT/s) Disk: Dell 8TB 7200RPM HDD (SATA, Seq. Read 220 MiB/s) System Environment: Linux System: Ubuntu 22.04.3 LTS CUDA Version: 11.8 cuDNN Version: 9.1.0 NVIDIA Drivers: 555.42.06 Conda version: 23.9.0 (Miniconda) ``` ### 📦 2 - Environment Setup **Note:** This repository contains a significant amount of `C++` code, but our goal is to make it as out-of-the-box usable as possible for researchers, as many deep learning researchers may not be familiar with `C++` compilation. Currently, the code for `Pi-Long` can run in a **pure Python environment**, which means you can skip all the `C++` compilation steps in the `README`. #### Step 1: Dependency Installation Creating a virtual environment using conda (or miniconda), ```cmd conda create -n pi-long python=3.10.18 conda activate pi-long # pip version created by conda: 25.1 ``` Next, install `PyTorch`, ```cmd pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu118 # torch 2.2.0 is not working for Pi3 # please use the newer version of torch # verified to work with torch 2.5.1 ``` Install other requirements, ```cmd pip install -r requirements.txt ``` #### Step 2: Weights Download Download all the pre-trained weights needed: ```cmd bash ./scripts/download_weights.sh ``` You can skip the next two steps if you would like to run `Pi-Long` in pure `Python`. #### Step 3 (Optional) : Compile Loop-Closure Correction Module Same as `VGGT-Long`, we provide a Python-based Sim3 solver, so `Pi-Long` can run the loop closure correction solving without compiling `C++` code. However, we still recommend installing the `C++` solver as it is more **stable and faster**. ```cmd python setup.py install ``` #### Step 4 (Optional) : Compile `DBoW` Loop-Closure Detection Module The VPR Model of `DBoW` is for performing VPR Model inference with CPU-only. You can skip this step.
See details Install the `OpenCV C++ API`. ```cmd sudo apt-get install -y libopencv-dev ``` Install `DBoW2` ```cmd cd DBoW2 mkdir -p build && cd build cmake .. make sudo make install cd ../.. ``` Install the image retrieval ```cmd pip install ./DPRetrieval ```
### 🚀 3 - Running the code ```cmd python pi_long.py --image_dir ./path_of_images ``` or ```cmd python pi_long.py --image_dir ./path_of_images --config ./configs/base_config.yaml ``` You may run the following cmd if you got videos before `python pi_long.py`. ``` mkdir ./extract_images ffmpeg -i your_video.mp4 -vf "fps=5,scale=640:-1" ./extract_images/frame_%06d.png ``` **Note on Space Requirements**: Just the same as `VGGT-Long`, please ensure your machine has sufficient disk space before running the code for `Pi-Long`. When finishing, the code will delete these intermediate results to prevent excessive disk usage. ## Acknowledgements Our project is based on [VGGT](https://github.com/facebookresearch/vggt), [VGGT-Long](https://github.com/DengKaiCQ/VGGT-Long) and [Pi3](https://github.com/yyfz/Pi3). Our work would not have been possible without these excellent repositories. ## Citation If you use this repository in your academic project, please cite both of the two related works below: ``` @misc{deng2025vggtlongchunkitloop, title={VGGT-Long: Chunk it, Loop it, Align it -- Pushing VGGT's Limits on Kilometer-scale Long RGB Sequences}, author={Kai Deng and Zexin Ti and Jiawei Xu and Jian Yang and Jin Xie}, year={2025}, eprint={2507.16443}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2507.16443}, } ``` ``` @misc{wang2025pi3, title={$\pi^3$: Scalable Permutation-Equivariant Visual Geometry Learning}, author={Yifan Wang and Jianjun Zhou and Haoyi Zhu and Wenzheng Chang and Yang Zhou and Zizun Li and Junyi Chen and Jiangmiao Pang and Chunhua Shen and Tong He}, year={2025}, eprint={2507.13347}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2507.13347}, } ``` Meanwhile, you may cite this repository: ``` @misc{pilongcode2025, title = {Pi-Long: Extending $\pi^3$'s Capabilities on Kilometer-scale with the Framework of VGGT-Long}, author = {{VGGT-Long Authors} and {$\pi^3$ Authors}}, howpublished = {\url{https://github.com/DengKaiCQ/Pi-Long}}, year = {2025}, note = {GitHub repository} } ``` ## License Both [VGGT-Long](https://github.com/DengKaiCQ/VGGT-Long) and [Pi3](https://github.com/yyfz/Pi3) are developed based on [VGGT](https://github.com/facebookresearch/vggt). Therefore the `Pi-Long` codebase follows `VGGT`'s license, please refer to `./LICENSE.txt` for applicable terms.