VGGT环境配置完全指南:从依赖安装到模型运行
【免费下载链接】vggt VGGT Visual Geometry Grounded Transformer 项目地址: https://gitcode.com/gh_mirrors/vg/vggt
前言
你还在为复杂的3D视觉项目环境配置而烦恼吗?本文将带你一步步完成VGGT(Visual Geometry Grounded Transformer)的环境搭建,从基础依赖安装到模型运行,让你轻松上手这个强大的3D场景重建工具。读完本文,你将能够:
- 正确安装VGGT所需的所有依赖
- 配置训练和推理环境
- 运行示例代码和交互式演示
- 了解常见问题及解决方法
环境准备
系统要求
VGGT需要以下系统环境支持:
- Linux操作系统(推荐Ubuntu 20.04+)
- Python 3.8+
- CUDA 11.7+(如需GPU加速)
- 至少8GB内存(推荐16GB以上)
- 足够的磁盘空间(至少10GB,用于存储代码、依赖和模型权重)
安装基础依赖
首先,克隆VGGT仓库到本地:
git clone https://gitcode.com/gh_mirrors/vg/vggt.git
cd vggt
VGGT的基础依赖在requirements.txt中定义,主要包括PyTorch、NumPy等核心库。使用以下命令安装:
pip install -r requirements.txt
requirements.txt中的主要依赖项:
- torch==2.3.1:PyTorch深度学习框架
- torchvision==0.18.1:PyTorch的计算机视觉扩展
- numpy==1.26.1:数值计算库
- Pillow:图像处理库
- huggingface_hub:用于从Hugging Face Hub下载模型权重
安装演示依赖
如果需要运行交互式演示,还需安装额外的依赖,可以通过requirements_demo.txt安装:
pip install -r requirements_demo.txt
requirements_demo.txt中的主要依赖项:
- gradio==5.17.1:用于构建Web交互式界面
- viser==0.2.23:3D可视化工具
- tqdm:进度条显示
- opencv-python:OpenCV计算机视觉库
- matplotlib:数据可视化库
配置训练环境(可选)
如果你需要进行模型训练或微调,还需要配置训练环境。训练相关的配置文件位于training/config/default.yaml。
修改配置文件
打开training/config/default.yaml,你需要根据自己的环境修改以下关键参数:
- 数据集路径:
CO3D_DIR: /YOUR/PATH/TO/CO3D
CO3D_ANNOTATION_DIR: /YOUR/PATH/TO/CO3D_ANNOTATION
- checkpoint路径(如需要从 checkpoint 恢复训练):
resume_checkpoint_path: /YOUR/PATH/TO/CKPT
- 根据你的GPU配置调整批处理相关参数:
max_img_per_gpu: 48 # 根据GPU内存大小调整
num_workers: 8 # 根据CPU核心数调整
训练参数说明
training/config/default.yaml中包含了丰富的训练参数配置,主要包括:
- 训练轮次:
max_epochs: 20 - 学习率:
lr: 5e-5 - 权重衰减:
weight_decay: 0.05 - 损失函数权重:如相机损失权重
camera.weight: 5.0,深度损失权重depth.weight: 1.0 - 模型功能开关:如
enable_camera: True,enable_depth: True
模型运行
基础示例代码
完成环境配置后,可以使用以下简单代码测试模型:
import torch
from vggt.models.vggt import VGGT
from vggt.utils.load_fn import load_and_preprocess_images
device = "cuda" if torch.cuda.is_available() else "cpu"
# bfloat16在Ampere GPU(计算能力8.0+)上支持
dtype = torch.bfloat16 if torch.cuda.get_device_capability()[0] >= 8 else torch.float16
# 初始化模型并加载预训练权重
model = VGGT.from_pretrained("facebook/VGGT-1B").to(device)
# 加载并预处理示例图像(替换为你的图像路径)
image_names = ["examples/kitchen/images/00.png", "examples/kitchen/images/01.png", "examples/kitchen/images/02.png"]
images = load_and_preprocess_images(image_names).to(device)
with torch.no_grad():
with torch.cuda.amp.autocast(dtype=dtype):
# 预测包括相机、深度图和点图在内的属性
predictions = model(images)
上述代码使用了项目中提供的厨房场景示例图片,路径为examples/kitchen/images/。
交互式3D可视化
VGGT提供了多种可视化工具来展示3D重建结果。
Gradio Web界面
Gradio界面允许你在浏览器中上传图像/视频,运行重建,并交互式探索3D场景。运行以下命令启动:
python demo_gradio.py
启动后,在浏览器中访问显示的本地地址(通常是http://localhost:7860)即可使用。
Viser 3D查看器
Viser是另一种3D可视化工具,可以直接在本地运行并显示点云。运行以下命令:
python demo_viser.py --image_folder examples/llff_fern/images/
这里使用了项目中的fern场景示例图片,路径为examples/llff_fern/images/。
导出到COLMAP格式
VGGT支持将预测结果直接导出为COLMAP格式,以便与其他3D重建工具(如Gaussian Splatting)集成:
# 仅前向预测
python demo_colmap.py --scene_dir=examples/room/
# 带光束平差调整
python demo_colmap.py --scene_dir=examples/room/ --use_ba
请确保图像存储在/YOUR/SCENE_DIR/images/目录下,如项目中的房间场景示例examples/room/images/。
重建结果将自动保存为COLMAP格式,位于/YOUR/SCENE_DIR/sparse/目录下,包含相机参数和3D点。
单视图重建
尽管VGGT不是专门为单视图重建设计的,但它在这一任务上表现出了令人惊讶的良好性能。你可以直接使用上述演示来尝试单视图重建,例如使用项目中的油画示例图片:
python demo_viser.py --image_folder examples/single_oil_painting/images/
对应的图片路径为examples/single_oil_painting/images/,图片内容如下:
常见问题解决
GPU内存不足
如果遇到GPU内存不足的问题,可以尝试以下解决方案:
- 减少批处理大小:修改training/config/default.yaml中的
max_img_per_gpu参数 - 使用梯度累积:设置
accum_steps: 2(或更高) - 使用混合精度训练:确保配置文件中
amp.enabled: True - 降低图像分辨率:修改
img_size参数(默认为518)
模型下载缓慢
如果从Hugging Face下载模型权重缓慢,可以手动下载并加载:
model = VGGT()
_URL = "https://huggingface.co/facebook/VGGT-1B/resolve/main/model.pt"
model.load_state_dict(torch.hub.load_state_dict_from_url(_URL))
场景重建质量问题
如果重建结果不理想,可以尝试:
- 提供更多的输入图像,确保视角覆盖场景各个方面
- 确保图像之间有足够的重叠区域
- 避免反光、透明或高度相似的纹理区域
- 使用
--use_ba选项进行光束平差调整优化
项目资源
示例数据
项目提供了多个示例数据集,位于examples/目录下,包括:
视频演示
项目还提供了多个重建结果的视频演示,位于examples/videos/,包括:
更多资源
- 官方文档:docs/
- 训练代码:training/
- 模型源码:vggt/models/vggt.py
- 社区教程:README.md
总结
通过本文档,你已经了解了如何配置VGGT的环境,从基础依赖安装到模型运行和可视化。VGGT作为一个强大的3D视觉Transformer模型,能够从多张甚至单张图像中快速推断场景的关键3D属性。无论是研究用途还是实际应用,VGGT都提供了灵活且高效的解决方案。
如果你在使用过程中遇到问题,可以查阅项目的README.md或提交issue寻求帮助。祝你的3D重建之旅顺利!
【免费下载链接】vggt VGGT Visual Geometry Grounded Transformer 项目地址: https://gitcode.com/gh_mirrors/vg/vggt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




