FaceTron MCP Server

FaceTron MCP Server

site icon
2025.05.11 0
Python人脸识别嵌入服务器其它
FaceTron 是一个高性能、模块化的人脸识别嵌入服务器,支持 ONNX Runtime,具有动态多模型加载功能,可在本地机器到可扩展的云环境中运行。它提供了 OpenAPI 规范(OAS)端点,兼容 MCP 元数据,并集成了 OpenTelemetry。
View on GitHub

Overview

基本能力

产品定位

FaceTron 是一个专注于人脸识别和嵌入的高性能服务器,适用于需要离线或在线人脸识别功能的场景。

核心功能

  • 人脸嵌入推理:接受人脸图像,检测人脸并返回标准化的向量嵌入。
  • 动态多模型支持:通过 /models 接口加载多个 ONNX 模型(如 ArcFace、SCRFD、Glint360K)。
  • 人脸检测与可视化:返回带有边界框和对齐人脸裁剪的图像。
  • OpenAPI 3.1 和 Swagger UI:内置交互式 API 文档,便于集成。
  • OpenTelemetry 追踪:集成 OpenTelemetry 支持,兼容 Jaeger。
  • 模块化设计:支持未来扩展,如 TensorFlow 和 PyTorch 运行时。
  • MCP 元数据支持:在 OpenAPI 规范中暴露模型信息,兼容模型连接器协议(MCP)。

适用场景

  • 本地或云端的人脸识别服务。
  • 需要多模型动态加载的人脸识别应用。
  • 需要可视化人脸检测结果的应用。
  • 需要集成 OpenTelemetry 追踪的应用。

使用教程

使用依赖

  1. 克隆仓库并进入目录:
git clone https://github.com/13shivam/facetron.git
cd facetron
  1. 将 ONNX 模型添加到 /models 目录。

安装教程

  1. 创建 .env 文件:
MODEL_DIR=models
LOG_LEVEL=info
OTEL_EXPORTER_OTLP_ENDPOINT=http://host.docker.internal:4317
DISABLE_OTEL=false
  1. 使用 Docker 启动服务器:
docker-compose up -d

或使用 pip 安装依赖并启动服务器:

pip install -r requirements.txt
python main.py

调试方式

  1. 访问 Swagger UI: http://127.0.0.1:8000/docs#/

  2. 访问 Jaeger UI 查看追踪: http://localhost:16686/search

  3. 运行测试脚本:

python local_tester_client.py
  1. 使用 curl 测试推理 API:
curl --location 'http://localhost:8000/infer' --header 'Content-Type: application/json' --form 'model_name="buffalo"' --form 'image_format="jpg"' --form 'file=@"/path/to/your/image.jpg"'

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。