“睿眸护航”驾驶员异常行为预警系统项目规范
1. 项目概述
1.1 项目名称
睿眸护航 - 基于改进轻量YOLOv7的驾驶员异常行为预警系统
1.2 项目目标
设计并实现一个部署于车载嵌入式设备的实时驾驶员行为识别系统,通过精准、快速地识别驾驶员异常行为并发出预警,从而达到规范驾驶行为、降低交通事故发生率的目的。
1.3 核心指标
实时性:单帧图像处理时间 ≤ 0.167秒(即 ≥ 6 FPS)。
准确性:驾驶员行为识别准确率 ≥ 90%。
轻量化:模型需能在树莓派4B(或同等级别)嵌入式设备上稳定运行。
2. 系统架构与技术规范
2.1 系统架构
系统应采用模块化设计,主要包括以下四个核心模块:
图像处理模块:负责视频流的采集、解码、尺寸缩放(至640x640)、色彩空间转换(BGR转RGB)和归一化。
目标检测与行为识别模块:集成改进的轻量YOLOv7模型,负责定位驾驶员并识别其行为类别。
行为分类与风险评估模块:对识别结果进行后处理,根据行为类别及其持续时间进行风险等级判断。
异常反馈模块:提供可视化警示(如界面红框)并记录异常行为日志。
2.2 核心技术规范
算法模型:基于YOLOv7进行轻量化改进,核心改进点包括:
使用深度可分离卷积 替换Backbone和Neck中的标准卷积。
引入DANet混合注意力机制 以增强特征提取能力。
最终部署模型为 DSC_YOLOv7_A (DSC_ELAN) 变体。
行为类别:系统必须能识别以下9类行为:
0: 正常驾驶
1: 侧视
2: 侧身
3: 喝水
4: 吸烟
5: 操作中控
6: 接电话
7: 玩手机
8: 整理仪容
3. 开发与部署环境规范
3.1 软件开发环境
组件 规格
操作系统 Windows 10/11 (开发),Raspbian (部署)
深度学习框架 PyTorch 1.9+
编程语言 Python 3.9
关键依赖库 CUDA 12.2, cuDNN 8.9.3, OpenCV 4.5.5, PyQT5 15.6
开发工具 PyCharm 2022.1+
3.2 硬件部署环境
组件 规格
核心硬件 Raspberry Pi 4B (4核 ARM A72 @ 1.5GHz, 4GB/8GB RAM)
摄像头 Raspberry Pi NoIR Camera v2 (Sony IMX219传感器,支持1080p)
其他外设 USB声卡、无线网卡、散热外壳
电源 5V/3A Type-C
4. 性能与测试规范
4.1 性能测试标准
输入分辨率:推荐使用1920x1080 (1080p),以平衡检测速度与精度。
平均检测时间:在1080p输入下,平均检测时间应 ≤ 0.150秒。
准确率测试:在预留测试集上,mAP@0.5值应 ≥ 90%。
稳定性测试:系统在树莓派上持续运行至少24小时,无宕机或内存泄漏。
4.2 风险评估阈值规范
异常行为一旦持续超过下表设定的时间阈值,系统必须触发高风险警示:
异常行为 持续时间阈值 (秒)
侧视 2
侧身 1
喝水 3
吸烟 2
操作中控 3
接电话 3
玩手机 2
整理仪容 2
5. 数据与数据库规范
5.1 数据记录规范
正常驾驶记录:每10秒存储一条记录。
异常行为记录:一旦识别,立即存储。正常驾驶记录保存3天后自动清理。
5.2 数据库表结构
用户表 (users):
userid (主键), name, phone (唯一), mail (唯一), password。
设备表 (devices):
device_id (主键), userid (外键), vehicle_model, vehicle_number (唯一), device_number (唯一)。
行为记录表 (behavior_records):
behaviour_id (主键), userid (外键), img_path, behaviour_duration, behaviour_class (枚举0-8), behaviour_confidence, detect_time, detect_model, createtime。
6. 质量与维护规范
6.1 代码规范
采用PEP 8 Python编码规范。
关键函数和模块必须包含清晰的注释和文档字符串。
使用Git进行版本控制,提交信息应清晰明了。
6.2 维护与更新
系统应支持通过更换模型权重文件 (*.pt) 进行算法升级。
应建立模型再训练流程,以便利用新数据迭代优化模型性能。
后续版本应考虑对YOLOv8、YOLOv9等更新版本算法的迁移与测试。
此规范文档涵盖了从技术选型到部署上线的全过程,可作为项目开发和验收的基准文件。