VGGT: 视觉几何定位变换器
vggt VGGT Visual Geometry Grounded Transformer 项目地址: https://gitcode.com/gh_mirrors/vg/vggt
1. 项目介绍
VGGT(Visual Geometry Grounded Transformer)是一个由Facebook Research团队开发的神经网络模型。该模型可以从一个或多个视角的图像中,快速推断出场景的所有关键三维属性,包括外参和内参相机参数、点图、深度图以及三维点轨迹。VGGT的设计旨在处理从单张图像到数百张图像的场景重建任务,且能够在几秒钟内完成。
2. 项目快速启动
在开始使用VGGT之前,你需要确保你的环境中已经安装了以下依赖项:torch、torchvision、numpy、Pillow和huggingface_hub。
首先,克隆这个仓库到你的本地机器:
git clone git@github.com:facebookresearch/vggt.git
cd vggt
然后,安装项目依赖:
pip install -r requirements.txt
接下来,你可以通过以下代码来初始化模型并加载预训练权重:
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"
dtype = torch.bfloat16 if torch.cuda.get_device_capability(0)[0] >= 8 else torch.float16
model = VGGT.from_pretrained("facebook/VGGT-1B").to(device)
# 加载并预处理示例图像(替换为你的图像路径)
image_names = ["path/to/imageA.png", "path/to/imageB.png", "path/to/imageC.png"]
images = load_and_preprocess_images(image_names).to(device)
with torch.no_grad():
with torch.cuda.amp.autocast(dtype=dtype):
# 预测包括相机、深度图和点图在内的属性
predictions = model(images)
模型权重将自动从Hugging Face下载。如果你遇到加载缓慢的问题,可以手动下载权重文件并加载。
3. 应用案例和最佳实践
VGGT模型可以用于多种场景重建和视觉几何理解的任务。以下是一些应用案例和最佳实践:
- 单视角重建:尽管VGGT没有专门针对单视角重建进行训练,但它在单个视角图像的3D结构推断上表现出色。
- 多视角重建:使用多个视角的图像进行更准确的场景重建。
- 视觉跟踪:通过模型中的跟踪头,可以对场景中的点进行跟踪。
在使用VGGT时,可以创建简单的掩码来排除输入帧中的不想要的部分,如反光表面、天空或水。
4. 典型生态项目
VGGT的生态系统中,有一些项目可以与之配合使用,以增强其功能和用户体验:
- Gradio Web Interface:通过Gradio,可以创建一个交互式的Web界面,允许用户上传图像或视频,运行重建,并在浏览器中互动地探索3D场景。
- Viser 3D Viewer:使用Viser,可以在本地机器上运行重建并可视化点云。
通过上述介绍,你可以开始探索和使用VGGT来处理你的视觉几何理解任务。
vggt VGGT Visual Geometry Grounded Transformer 项目地址: https://gitcode.com/gh_mirrors/vg/vggt