Files
2026-02-05 00:36:59 +08:00

70 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 行人识别与闯红灯检测系统
这是一个基于OpenCV的行人识别与闯红灯检测系统提供了用户友好的可视化界面。系统能够通过摄像头或视频文件实时检测行人并在开启红绿灯检测功能后识别行人闯红灯行为。
## 功能特性
1. **行人检测**使用基于OpenCV dnn模块的YOLOv3-tiny模型检测画面中的行人
2. **红绿灯识别**:通过颜色识别检测红绿灯状态
3. **闯红灯检测**:当检测到红灯且有行人在道路区域时,标记为闯红灯
4. **可视化界面**提供了PyQt5实现的图形界面支持摄像头和视频文件输入
5. **实时统计**:显示检测到的行人数量和闯红灯人数
6. **自动模型下载**首次运行时自动下载YOLOv3-tiny模型文件
## 安装要求
- Python 3.6+
- 所需依赖包见requirements.txt
## 安装步骤
1. 克隆或下载本项目到本地
2. 安装所需依赖:
```
pip install -r requirements.txt
```
## 使用方法
1. 运行主程序:
```
python pedestrian_recognition.py
```
2. 在界面中可以:
- 点击"使用摄像头"按钮启动摄像头实时检测
- 点击"打开视频文件"按钮选择本地视频文件进行检测
- 勾选"开启闯红灯检测"复选框启用红绿灯识别和闯红灯检测功能
- 点击"停止"按钮停止当前视频流
## 技术说明
- **行人检测**使用基于OpenCV dnn模块的YOLOv3-tiny模型进行行人检测比传统HOG+SVM方法具有更高的检测精度和抗干扰能力
- **红绿灯识别**通过HSV颜色空间分析识别红色和绿色交通灯
- **界面实现**使用PyQt5构建图形界面实现视频显示和用户交互
- **视频处理**使用OpenCV进行视频帧处理PyQt5进行界面渲染
- **模型管理**自动下载和管理YOLOv3-tiny模型文件包括配置文件、权重文件和类别名称文件
## 注意事项
1. 行人检测在光线充足的环境下效果更好YOLOv3-tiny模型相比传统方法具有更好的抗干扰能力
2. 红绿灯识别依赖于清晰可见的交通灯颜色,请确保画面中红绿灯区域足够明显
3. 当前实现的闯红灯检测基于简单的位置判断,可能需要根据实际场景调整参数以提高准确性
4. 首次运行时会自动下载YOLOv3-tiny模型文件需要网络连接
5. 模型文件默认保存在项目目录下的yolo_models文件夹中
## 扩展可能性
1. 添加深度学习模型以提高行人检测和红绿灯识别的准确性
2. 实现多目标跟踪功能
3. 添加违规行为记录和报警功能
4. 集成声音提示功能
5. 支持多摄像头监控
## 许可证
本项目采用MIT许可证。
## 源代码和编译的可执行文件(可能是老版本,)
通过网盘分享的文件opencv-pedestrian-recognition.zip 链接: https://pan.baidu.com/s/1D4dYF_k6PXVrZgEzGA7XVg?pwd=mfxh 提取码: mfxh --来自百度网盘超级会员v9的分享