一、简介
基于 PyQt5 + Ultralytics 的桌面检测系统,支持 YOLOv5 / v8 / v9 / v10 / v11 / v12等YOLO系列模型及自训练权重,覆盖图片、视频、摄像头视频流输入源,集成自定义入侵区域绘制、目标类别筛选、实时数据统计、检测结果与 Excel 报表导出功能。
不用复杂配置,就能实现:摄像头、监控视频流、本地视频里的人员 / 物体越界检测。简单说:画一块警戒区域,有人或指定东西闯进去,自动识别、统计还能导出记录报表。
二、核心功能
- 多模型兼容:内置主流 YOLO 系列预训练权重,支持加载本地自训练.pt 权重,自动识别模型文件。
- 多源检测:兼容静态图片、本地视频、摄像头视频流。
- 区域入侵判定:支持鼠标手绘多边形警戒区、导入 JSON 坐标配置文件,精准判定目标越界入侵。
- 类别过滤:自动解析模型类别,支持手动勾选筛选、导入 YOLO 标准 yaml 配置批量替换类别。
- 实时数据统计:面板实时展示入侵目标数、普通检测数、累计处理帧数,模式间数据自动互斥切换。
- 结果导出:一键保存检测后的图片 / 视频,同步生成多维度 Excel 统计报表。
- 设备自适应:自动识别 GPU/CPU,支持 FP16 精度加速,异常自动降级 FP32,兼容 CUDA 推理。
三、使用示例
1、图片区域入侵检测
2、视频流区域入侵检测
四、使用步骤
打开软件 → 选 AI 模型 → 选要检测的视频 / 摄像头 → 勾选要识别的物体 → 鼠标画警戒禁区 → 点开始检测 → 实时看数据 → 一键导出视频和 Excel 记录表。
五、系统架构
采用UI 与业务逻辑分离设计,基于 PyQt5 搭建三栏式可视化界面;引入QThread 多线程做推理解耦,避免视频流、模型推理阻塞 UI 主线程;通过坐标缩放算法,解决画布手绘区域与原始画面坐标偏移问题,搭配互斥锁保障多线程数据安全。
六、运行环境
Python 3.8+,依赖 ultralytics、PyQt5、opencv-python、torch、openpyxl 等库;兼容 CPU/GPU 推理,适配 RTX 系列显卡 CUDA 加速,可通过指令一键安装依赖及处理版本兼容问题。
七、反馈和建议
如有问题或改进建议,欢迎评论或者私信。