疲劳驾驶检测

  • 疲劳驾驶检测
    结合眼睛的闭合状态和嘴巴闭合状态,综合判断驾驶人员的疲劳状况。Qt编写界面,tensorflow,opencv和dlib实现人脸的检测和特征点提取。github地址:https://github.com/chunhui204/fatigue-detection
  • 运行流程
    主线程:打开摄像设备,将图片加入处理队列。
    线程1:从图片队列中获得图片进行人脸的检测和追踪,并将检测结果加入新的任务队列。
    线程2:从任务队列中获得图像和检测结果,进行特征点提取并判断疲劳状态和专心程度。
    主线程:显示图片和诊断结果。
  • 具体细节
  1. 人脸检测与跟踪
    在初始帧以及追踪置信度低于阈值时进行人脸检测,其他情况使用KCF追踪人脸。
    检测部分使用MTCNN模型(tensorflow实现),640*480图片处理时间大约在70ms左右,比opencv(HOG+adaboost)的>100ms快。
    KCF人脸追踪时间在40ms左右。

  2. 人脸特征点提取
    使用dlib进行特征点提取,所用模型为ert,是对GDBT的级联算法。使用ibug的人脸特征点数据集和300张线下采集的图片重新训练ERT模型。

  3. 判断疲劳与注意力分散的指标。
    dlib特征点标注:
    在这里插入图片描述
    眼部,嘴部闭合状态:
    在这里插入图片描述
    (1)当EAR小于阈值时认为眼部闭合,计算5秒内眼睛闭和时间比例(PERCOLS指标)>=30%, 认为疲劳;眼睛连续闭合时间超过两秒,认为疲劳。
    (2)当MAR大于0.5认为嘴巴张大状态(打哈欠),计算5秒内打哈欠状态持续时间>=15%,这时如果眼睛闭和时间>=15%,认为疲劳。
    (3)根据鼻梁位置距离左右两侧脸颊距离关系得到人脸的偏转程度,以此来判断驾驶员的专心程度。
    (4)对眼部瞳孔位置追踪,结合(3)的侧脸程度判断专心状态。(尚未完全实现)

  • 6
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值