项目简介

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重建体验。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/jmanhype/vggt-mps.git
    cd vggt-mps
  2. 安装依赖 (推荐使用 '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
  3. 下载模型权重 (5GB):

    vggt download

    或者从 Hugging Face 手动下载 'model.pt' 文件,并放置到 'vggt-mps/repo/vggt/' 目录下。

  4. 验证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与计算