项目简介
VGGT-MPS是一个高效的3D视觉智能体服务器,针对Apple Silicon芯片(如M1/M2/M3)和Metal Performance Shaders (MPS)进行了深度优化。它能够将单视角或多视角图像转换为丰富的3D场景重建(包括深度图、点云、相机姿态),并提供稀疏注意力机制以实现城市级大规模场景的O(n)内存扩展。通过Model Context Protocol (MCP) 集成,VGGT-MPS可以作为LLM客户端的后端,为AI应用提供强大的3D视觉理解和功能调用能力。
主要功能点
- MPS加速: 利用Apple Silicon上的Metal Performance Shaders实现GPU全速加速。
- 稀疏注意力: 实现O(n)内存缩放,支持城市级大规模场景(100倍内存节省)。
- 多视角3D重建: 从图像生成深度图、点云和相机姿态。
- MCP服务器: 提供符合Model Context Protocol规范的服务接口,支持LLM客户端调用。
- 工具集: 提供一系列可由LLM调用的工具,用于快速3D重建、视频帧提取、图像处理、3D场景创建与可视化等。
- 多种导出格式: 支持PLY、OBJ、GLB等3D点云导出格式。
- Web界面: 内置Gradio UI,提供交互式3D重建体验。
安装步骤
-
克隆仓库:
git clone https://github.com/jmanhype/vggt-mps.git cd vggt-mps -
安装依赖 (推荐使用 'uv' 工具进行快速安装):
# 确保已安装uv: pip install uv make install或者手动使用 'uv':
uv pip install -e .如果希望使用传统 'pip' (需要先创建并激活虚拟环境):
python -m venv vggt-env source vggt-env/bin/activate pip install -r requirements.txt -
下载模型权重 (5GB):
vggt download或者从 Hugging Face 手动下载 'model.pt' 文件,并放置到 'vggt-mps/repo/vggt/' 目录下。
-
验证MPS支持 (可选):
vggt test --suite mps预期输出应显示MPS已成功检测并工作。
服务器配置 (供MCP客户端使用)
MCP客户端需要配置以下信息才能连接并使用VGGT-MPS服务器提供的能力。请根据您的实际安装路径替换 '/path/to/vggt-mps'。
{ "mcpServers": { "vggt-agent": { "command": "uv", "args": [ "run", "--python", "/path/to/vggt-mps/vggt-env/bin/python", "--with", "fastmcp", "fastmcp", "run", "/path/to/vggt-mps/src/vggt_mps_mcp.py" ] } } }
- '"vggt-agent"': 这是MCP服务器在客户端中的一个唯一标识名称,您可以根据需要自定义。
- '"command"': 客户端将执行的启动服务器的主命令。在此配置中,它被设置为 '"uv"'。
- '"args"': 传递给 '"command"' 的参数列表,它们共同定义了如何启动VGGT-MPS MCP服务器:
- '"run"': 这是 'uv' 命令的一个子命令,指示 'uv' 运行一个Python脚本。
- '"--python", "/path/to/vggt-mps/vggt-env/bin/python"': 指定用于运行MCP服务器的Python解释器路径。您需要将 '/path/to/vggt-mps' 替换为VGGT-MPS仓库在您系统上的实际路径,并确保 'vggt-env/bin/python' 是您之前安装时创建的虚拟环境中的Python解释器。
- '"--with", "fastmcp"': 确保 'fastmcp' 库及其所有必要的依赖项在运行环境中可用。
- '"fastmcp", "run"': 这是 'fastmcp' 库本身的命令,用于启动一个MCP服务器。
- '"/path/to/vggt-mps/src/vggt_mps_mcp.py"': 这是VGGT-MPS MCP服务器的实际入口脚本的路径。您同样需要替换 '/path/to/vggt-mps' 为实际路径。
请注意:
- 配置完成后,重启您的MCP客户端(例如Claude Desktop)以加载新的服务器。
- 上述路径 '/path/to/vggt-mps' 必须根据您的实际情况进行修改。
基本使用方法 (命令行示例)
安装并配置服务器后,您可以通过命令行直接测试其功能。
-
运行交互式Web界面:
vggt web这将在浏览器中启动一个Gradio界面,您可以上传图像或视频进行3D重建。
-
快速演示:
vggt demo # 使用厨房数据集的4张图片进行演示 vggt demo --kitchen --images 4 -
处理您自己的图像进行重建:
vggt reconstruct /path/to/your/images/*.jpg # 使用稀疏注意力处理大型场景 vggt reconstruct --sparse /path/to/your/large_scene/*.jpg # 导出为PLY格式 vggt reconstruct --export ply /path/to/your/images/*.jpg
信息
分类
AI与计算