计算机视觉MCP演示
一个全面的计算机视觉演示,展示了使用YOLO模型的实时人员检测、跟踪和活动识别。此repo旨在与 (由Cursor IDE提供)和作为本地计算机视觉任务的独立演示。
🚀 特性
- 实时人员检测:基于YOLO的人检测与网络摄像头集成
- 活动识别:基于X-CLIP的动作识别,支持15种以上的活动
- 目标跟踪:跨视频帧的持续人员跟踪
- 多个演示脚本:用于不同用例的独立脚本
📋 先决条件
- Python 3.8+
- 苹果Silicon Mac(M1/M2/M3)可实现最佳性能
- 网络摄像头访问
- Git
🛠️ 安装
- 克隆存储库:
git clone https://github.com/nudro/cv-mcp-server-demo.git
cd cv-mcp-server-demo- 安装依赖项:
pip install -r requirements.txt- 下载YOLO型号 (首次运行时自动):
- YOLO11s.pt(高精度) - YOLO11n.pt(快速推理)
🎯 快速开始
仅用于人员检测
python direct_webcam_person_detection.py活动识别
python direct_activity_recognition.pyMCP服务器(适用于高级用户)
如果您想运行自己的MCP服务器(大多数Cursor用户不需要):
python cv_mcp_server_advanced.py注: 对于大多数用户来说,MCP服务器由Cursor IDE提供,您不需要运行自己的服务器。使用本地脚本进行直接计算机视觉演示。
📁 项目结构
cv-mcp-server-demo/
├── README.md # This file
├── requirements.txt # Python dependencies
├── cv_mcp_server_advanced.py # (Optional) Standalone MCP server implementation
├── direct_webcam_person_detection.py # Person detection demo
├── direct_activity_recognition.py # Activity recognition demo
├── ultralytics_action_recognition.py # Ultralytics action recognition example
├── ultralytics_interactive_tracker.py # Ultralytics interactive tracker example
├── cursor_mcp_config.json # Cursor IDE MCP configuration
├── mcp_config.json # Standard MCP configuration
├── LICENSE # MIT License
├── .gitignore # Git ignore file🎮 用法
人员检测
- 目的:使用YOLO进行实时人员检测
- 特性:
- 仅限人员检测(0级) - 边界框可视化 - 置信度得分 - 中心点跟踪
- 控制:按“q”退出
活动识别
- 目的:检测和分类人类活动
- 支持的操作:
- 走路、跑步、坐着、站着、跳舞 - 跳跃、挥手、鼓掌、躺下、做饭 - 阅读、写作、打字、锻炼、伸展
- 特性:
- 使用唯一ID进行人员跟踪 - 基于置信度评分的行动分类 - 时间分析(8帧序列)
- 控制:按“q”退出
MCP服务器(高级)
- 目的:用于AI工具集成的模型上下文协议服务器
- 特性:
- 计算机视觉任务的工具注册 - 资源管理 - 异步处理能力
- 配置:使用提供的配置文件进行IDE集成
- 备注:大多数用户应该使用Cursor IDE提供的MCP服务器。
🔧 配置
游标IDE集成
复制 cursor_mcp_config.json 如果您想使用自己的服务器,请访问您的Cursor配置目录:
cp cursor_mcp_config.json ~/.cursor/mcp_servers/标准MCP配置
使用 mcp_config.json 用于标准MCP客户端集成。
📊 演出
- 检测速度:每帧约15ms(60+FPS)
- 动作识别:每10帧提高效率
- 设备:针对苹果硅(MPS)进行了优化
- 记忆:高效的GPU内存使用
🛠️ 发展
添加新操作
编辑 direct_activity_recognition.py 并修改 ACTION_LABELS 列表:
ACTION_LABELS = [
"walking", "running", "sitting", "standing", "dancing",
"jumping", "waving", "clapping", "lying down", "cooking",
"reading", "writing", "typing", "exercising", "stretching",
"your_new_action" # Add here
]自定义检测
修改演示脚本中的置信阈值和检测参数:
# Person detection confidence
results = yolo.track(frame, persist=True, classes=[0], conf=0.5)
# Action recognition confidence
if confidence > 0.3: # Adjust threshold🤝 贡献与扩展
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
使用MCP工具进行扩展
如果你想在GitHub MCP服务器上注册自己的工具(如Cursor所使用的),请参阅 光标文档 或 获取插件/工具API的详细信息。
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🙏 致谢
- Ultralytics:YOLO模型和示例
- 微软:X-CLIP动作识别模型
- OpenCV:计算机视觉框架
- PyTorch 的:深度学习框架
🐛 故障排除
常见问题
- 未找到网络摄像头:
- 确保授予网络摄像头权限 - 检查是否有其他应用程序正在使用网络摄像头
- 模型下载问题:
- 检查互联网连接 - 模型在首次运行时自动下载
- 性能问题:
- 确保您使用Apple Silicon以获得最佳性能 - 关闭其他GPU密集型应用程序
- MCP服务器错误:
- 如果使用Cursor,请确保GitHub MCP服务器正在运行(通常是自动运行的) - 如果运行自己的服务器,请检查MCP库版本兼容性和配置文件
支持
对于问题和疑问:
- 检查故障排除部分
- 查看代码注释
- 在GitHub上打开一个问题
📈 未来的增强功能
- \[\]多人活动识别
- \[\]手势识别
- \[\]姿态估计集成
- \[\]视频文件处理
- \[\]实时分析仪表板
- \[\]移动应用程序集成
- \[\]云部署支持
