一个基于 Ultralytics YOLO 的多功能计算机视觉应用程序,提供智能识别、模型训练和数据集标注一体化解决方案。
- 多源输入支持:图片/视频识别、摄像头实时检测、桌面屏幕捕获
- 高性能推理:基于 Ultralytics YOLO 模型,支持自定义模型加载
- 实时可视化:实时显示检测结果、置信度和边界框
- 灵活参数调整:可调节置信度阈值、IOU阈值等推理参数
- 结果保存:支持保存检测结果图像
- 可视化训练:实时监控训练指标(Loss、mAP、Precision、Recall等)
- 多设备支持:自动检测并支持CPU、CUDA GPU和Apple Silicon MPS
- 灵活配置:支持自定义数据集、批次大小、训练轮次等参数
- 实时日志:训练过程日志实时输出
- 训练仪表盘:4格面板实时显示训练指标曲线
- 直观标注工具:鼠标拖拽绘制边界框
- 数据集管理:支持加载和管理图像数据集
- 类别配置:支持YAML/TXT格式类别文件
- 视图操作:支持图像缩放、平移和复位
- 标注信息管理:实时显示和编辑标注信息
- 快捷键支持:Ctrl+S快速保存标注
- 前端框架:PyQt6
- 深度学习:Ultralytics YOLO、PyTorch
- 图像处理:OpenCV
- 可视化:Matplotlib
- 屏幕捕获:MSS
- 配置管理:YAML
pcbyolo/
├── GUI.py # 主界面文件
├── core/
│ ├── detection.py # 智能识别模块
│ ├── training.py # 模型训练模块
│ ├── annotation.py # 数据集标注模块
│ └── utils.py # 工具函数模块
└── README.md # 项目说明文档
开发环境Python版本: 3.13.9
项目依赖已在 requirements.txt 文件中统一管理,包含以下库:
- PyQt6
- ultralytics
- opencv-python
- numpy
- matplotlib
- mss
- torch
- PyYAML
pip install -r requirements.txt# 安装PyQt6
pip install PyQt6
# 安装YOLO和相关依赖
pip install ultralytics opencv-python numpy matplotlib mss torch PyYAMLpython GUI.py- 在左侧控制面板选择识别模式(图片/视频、摄像头、桌面)
- 选择或加载YOLO模型
- 调整置信度和IOU阈值
- 点击"开始识别"按钮
- 实时查看检测结果
- 配置训练参数(数据集YAML、模型路径、训练轮次等)
- 选择训练设备(自动检测可用设备)
- 点击"开始训练"按钮
- 在仪表盘实时监控训练指标
- 训练完成后,模型将保存在指定路径
- 选择数据集目录和类别文件
- 点击"加载数据集"按钮
- 在图像列表中选择要标注的图像
- 选择目标类别,点击"绘制框"按钮开始标注
- 鼠标拖拽绘制边界框
- 使用缩放和平移功能调整视图
- 点击"保存标注"按钮保存标注结果
| 快捷键 | 功能 |
|---|---|
| Ctrl+S | 保存标注 |
| 滚轮 | 图像缩放 |
| 右键拖拽 | 图像平移 |
- 首次使用时,请确保已安装所有依赖包
- 桌面识别模式下,若出现无限放大问题,请尝试切换屏幕选择
- 训练模型时,建议使用GPU以获得更快的训练速度
- 标注时,请确保已正确加载类别文件
- 保存的检测结果和训练模型将保存在项目目录下
- 添加批量处理功能
- 支持更多YOLO模型版本
- 添加模型评估功能
- 改进数据集管理界面
- 添加更多标注工具(如多边形标注)
本项目采用MIT许可证,详情请参考LICENSE文件。
欢迎提交Issue和Pull Request来帮助改进这个项目!