疲劳检测,基于视频的疲劳检测、脱岗、打呵欠、闭眼、点头等检测

经查阅相关文献,疲劳在人体面部表情中表现出大致三个类型:打哈欠(嘴巴张大且相对较长时间保持这一状态)、眨眼(或眼睛微闭,此时眨眼次数增多,且眨眼速度变慢)、点头(瞌睡点头)。

1、首先是检测眨眼,可以通过landmark点的标号直接定位眼睛位置,经实验验证,该一系列的点能够准确定位。下面重点分析一下眼部,68点landmark中可以看到37-42为左眼,43-48为右眼,如下图所示:

人脸关键点从1开始

 


68点landmark眼部区域
通过计算38、39、42、41的纵坐标、37、40的横坐标来计算眼睛的睁开度。如:1/2*[(y42+y41)-(y38+y39)]/(x40-x37)通过一个阈值确定眼睛是睁开还是闭上。也可以将这个值与初始的值的比值作为睁开度,根据不同程度来进行比较。睁开度从大到小为进入闭眼期,从小到大为进入睁眼期,计算最长闭眼时间(可用帧数来代替)闭眼次数为进入闭眼、进入睁眼的次数。通过设定单位时间内闭眼次数、闭眼时间的阈值判断人是否已经疲劳了。

参考代码地址:https://www.pyimagesearch.com/2017/04/24/eye-blink-detection-opencv-python-dlib/

2、点头:可利用姿态估计结果(如Pitch的读数)来判断是否点头及点头幅度。

或用鼻尖处30号点的前后移动值(或是方差,方差表示一个单位时间数据的偏离程度,程度越大,则表示发生点头动作的概率越大、点头幅度越大)

3、打哈欠可利用嘴巴处51、53、59、57点的距离来判断是否张嘴及张嘴时间,从而确定人是否是在打哈欠,同时这个阈值应当合理,应经过大量实验,能够与正常说话或哼歌区分开来。

4、脱岗采用人脸关键点检测的方式的,如果存在关键点,则检测人员在岗,没有关键点,则检测不在岗。

测试demo:

链接:https://pan.baidu.com/s/1Z22CVxlbt8qV7zIAFwpj3w 
提取码:tku0 

测试界面:

测试界面,交流QQ:187100248


 

 

  • 14
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值