本发明涉及疲劳检测领域,特别是涉及一种基于视频分析的疲劳状态综合检测方法及装置。

背景技术:

疲劳状态检测技术在交通运输、生产安全、教育培训等许多领域应用广泛。目前,疲劳状态检测的方法一般可分为接触式和非接触式两大类。

其中,接触式疲劳状态检测包括脑电波检测等方法,即通过采集脑电图频率分布和波形数据,分析大脑活动状态,从而判断是否存在疲劳状况,此种方法通常需要引入复杂设备,成本较高,而且脑电图结果数据易受个体差异和外界干扰等因素的影响,因此实际应用效果存在限制。

非接触式疲劳状态检测则主要基于视频分析手段来进行,比如通过分析该人的头部姿势是否存在向下倾斜、眼睛闭合情况等;另外还可以结合具体应用场景考虑引入更多特定的检测手段,比如在开展驾驶员疲劳状态检测时,可通过结合对车辆行驶状态的监测来综合判定驾驶员的疲劳状况。

总体而言,当前的疲劳状态检测技术存在识别精度低、信号源单一、实用性能差等问题。另外,针对某些单一场景而专门设计的特定技术方法又存在通用性差的问题,不利于进一步推广,从而限制了自身的实际应用前景。

技术实现要素:

为了克服上述现有技术的不足,本发明在于提供一种相对通用的、非接触式疲劳状态综合检测方法,其基本功能流程如附图1所示。

其中,图像预处理模块负责实时接收外部网络摄像头端发送而来的视频图像数据,通过调用opencv库中的bilateralfilter接口对其进行双边滤波式实时预处理,并将处理结果发送给人脸及特征点检测模块。

人脸及特征点检测模块负责通过引入多任务级联卷积神经网络(mtcnn),利用3层级联架构配合卷积神经网络算法进行人脸检测和关键点定位。

眼睛和嘴巴区域提取模块通过眼部和嘴部周围特征点的位置信息来实现对眼部和嘴部区域的提取,从而实现对眼部和嘴部区域的定位。

眼睛和嘴巴状态识别模块负责基于“adaboost算法+haar-like特征”分别实现对眼睛和嘴巴状态识别的训练过程,以此实现对眼睛和嘴巴的特定状态的识别,例如闭合、张开等。

疲劳参数计算模块负责通过提取perclos、眨眼频率、打哈欠等3类参数,计算该人的疲劳程度。

疲劳状态判定模块负责基于上述计算得出的疲劳参数,以及各自预先设定的阈值,实现对疲劳状态的判定。

与现有技术相比,本发明的有益效果是:本发明提供的是一种基于视频分析的非接触式疲劳状态综合检测方法,相对于现有技术,检测效果更佳、适用性更广。

附图说明

附图1为该方法的具体功能流程图。

附图2为perclos参数计算示意图。

具体实施方式

下面结合附图对本发明进一步说明。

图像预处理模块负责实时接收外部网络摄像头端发送而来的视频图像数据,对其进行实时预处理并将处理结果发送给人脸及特征点检测模块。该模块主要用于改善图像质量,减少噪声干扰,从而提高检测效果。本发明中的图像预处理模块采用双边滤波方式,并通过调用opencv库中的bilateralfilter接口实现。

人脸及特征点检测模块通过引入多任务级联卷积神经网络(mtcnn),利用3层级联架构配合卷积神经网络算法进行人脸检测和关键点定位。本发明在该模块中引入widerface和celeba两大人脸库作为该模块的训练数据库,并将训练样本划分为4类标注数据:

1)正样本,随机选取的框与任何的实际人脸区域的重叠度(即intersection-over-union,iou)大于0.7;

2)负样本,iou<0.4;

3)部分人脸样本,0.4≤iou≤0.7;

4)地标人脸样本,标注五个特征点的人脸图。

其中正负样本用于人脸分类,正样本和部分人脸样本用于人脸边界框的回归,地标人脸样本用于人脸特征点定位。以上4类样本数量的比例设为1∶2∶1∶2,其中正样本、负样本和部分人脸样本从widerface人脸库随机裁剪图片获取,地标人脸样本从celeba人脸库中随机裁剪图片获取。

眼睛和嘴巴区域提取模块用于实现对眼部和嘴部区域的定位。由于人脸特征点包含眼部和嘴部在图像中的位置信息,因此,本发明通过眼部和嘴部周围特征点的位置信息来实现对眼部和嘴部区域的提取。提取规则如下:

we=2.1*xe

he=3.6*ye

wm=1.3*xm

hm=2.0*ym

其中,xe和ye分别为特征点检测中眼部的宽度和高度,we和he分别为提取眼部区域的宽度和高度,xm和ym分别为特征点检测中嘴部的宽度和高度,wm和hm分别为提取嘴部区域的宽度和高度。

眼睛和嘴巴状态识别模块用于识别眼睛和嘴巴的特定状态,例如闭合、张开等。本发明基于“adaboost算法+haar-like特征”分别实现对眼睛和嘴巴状态识别的训练过程。训练过程如下:

1)输入样本集,在给定的矩形特征原型下,计算获取特征集;

2)输入特征集,根据给定的弱学习算法,确定阈值,将特征与弱分类器对应获得弱分类器集;

3)输入弱分类器集,在训练检出率和误判率限制下,使用adaboost算法挑选最优弱分类器构成强分类器;

4)输入强分类器集,组合为级联分类器;

5)输入非人脸图片集,组合强分类器为临时级联分类器,筛选并补充非人脸样本。

其中的训练样本包括正样本和负样本两部分。以眼睛状态识别为例,由于该模块的目标是检测闭眼状态,因此,训练集中正样本为闭眼图片,负样本为睁眼图片以及其他图片。在样本制作方式上,考虑到目前公开的人眼及嘴巴数据库资源较少,本发明通过调用上述训练好的mtcnn模型基于公开的人脸库进行人脸检测,再结合眼睛及嘴巴区域提取模块对人眼和嘴巴进行截取实现样本的制作。

疲劳参数计算模块负责基于特定标准计算该人的疲劳程度。本发明中该模块主要通过提取perclos、眨眼频率、打哈欠等三类参数进行疲劳状态的计算:

1)闭眼时间:指一定时间内闭眼时间所占的百分比。本发明采用perclos方法。该方法通常有三种度量标准:p70、p80、em,本发明选择p80标准作为疲劳判断标准,即眼睛闭合面积超过80%的时间百分比,该值可通过如下公式计算得出:

如附图2所示,t3-t2是眼睛20%瞳孔闭合到20%瞳孔睁开程度所用的时间,t4-t1是眼睛80%瞳孔闭合到80%瞳孔睁开程度所用的时间。

由于时间和视频中图像序列是相对应的,所以可以利用帧的数量来计算perclos值:

2)眨眼频率:指单位时间内的眨眼次数,计算公式如下所示:

其中,n为当前检测时间内所有的眨眼次数,t帧为处理每帧的时间,n为当前统计时间内的总帧数。正常情况下,成年人清醒状态下的眨眼频率在12~15次/分钟。若该人在一段时间内的眨眼频率过低(例如,低于7次/分钟),则可判定该人进入疲劳状态。

3)嘴巴张开(打哈欠):统计一段时间内嘴巴持续张开的时间,打哈欠参数的计算如下:

fmouth=n/n

其中,n为统计时间内嘴巴张开状态的总帧数,n为统计时间内的总帧数。当该人打哈欠时,fmouth达到最大值。正常状态下,人的嘴巴基本处于闭合状态,而当处于疲劳状态时往往伴随频繁的打哈欠行为。当该人频繁地与他人讲话时,嘴巴的状态为普通张开,当打哈欠时,其嘴巴处于张大状态。一般情况下,打哈欠是一个比较长的过程,并且嘴巴张开的幅度较大。因此,当嘴巴张开且持续一定的时间,则可判定为打哈欠状态。

疲劳状态判定模块负责基于上述计算得出的疲劳参数,以及各自预先设定的阈值,实现对疲劳状态的判定,判定过程如附图2所示。当perclos值大于预先设定的阈值tp时,判定此人为疲劳状态;否则将对眨眼频率进行判断,当眨眼频率小于预先设定的te时,判断为疲劳状态;否则将对此人的嘴巴张开状态进行判断,当嘴巴张开参数大于预先设定的tm时,则判断此人存在打哈欠现象,判定此人为疲劳状态。

perclos嘴巴_一种基于视频分析的疲劳状态检测方法及装置与流程相关推荐

  1. 肺结节目标检测_一种基于CT图像的肺结节检测方法及系统与流程

    本发明属于医学图像分析和计算机辅助诊断等技术领域,更具体地,涉及一种基于CT图像的肺结节检测方法及系统. 背景技术: 肺癌是导致患癌死亡的最危险的疾病之一,其发病率占所有癌症的三分之二,且5年存活率为 ...

  2. python小波分析法检测火焰_一种基于小波分析的网络流量异常检测方法

    一种基于小波分析的网络流量异常检测方法 杜臻 ; 马立鹏 ; 孙国梓 [期刊名称] <计算机科学> [年 ( 卷 ), 期] 2019(046)008 [摘要] 对大量网络流量数据进行高质 ...

  3. 基于视频分析的rPPG心率检测

    基于视频分析的rPPG心率检测 YTimo PKU EECS 注:本文内容主要来自于综述文章:Video-Based Heart Rate Measurement: Recent Advances a ...

  4. 激光雷达角点检测 c语言,一种基于事件帧的角点检测方法与流程

    本发明属于图像处理领域,用于解决基于事件相机的SLAM项目的角点检测. 背景技术: 在过去几十年里,由于计算机视觉算法的研究与发展,人们对机器人感知的兴趣也日益增加.这种传统相机能够捕获相机周围环境的 ...

  5. 烟花视频软件测试,基于视频分析的烟火自动检测预警系统

    基于视频分析的室内.室外烟火自动检测预警系统的目的是能够实现无人值守的不间断工作,自动发现监控区域内的异常烟雾和火灾苗头,以最快.最佳的方式进行告警和协助消防人员处理火灾危机,并最大限度的降低误报和漏 ...

  6. 航测大数据量处理_一种基于动态航测的图像大数据分析方法与流程

    本发明涉及数据处理技术领域,具体为一种基于动态航测的图像大数据分析方法. 背景技术: 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的 ...

  7. aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程

    本发明涉及一种用于分组加解密算法的子密钥的生成方法. 背景技术: 随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一个重要技术就是密码学.密码学在信息安全技术中扮演着基础的角色,是 ...

  8. 聚类dbi指数_一种基于DBI-PD聚类算法的异常检测机制

    一种基于 DBI-PD 聚类算法的异常检测机制 丁姝郁 [期刊名称] <电脑开发与应用> [年 ( 卷 ), 期] 2015(000)002 [摘要] 分析了网络数据维数和检测准确度之间的 ...

  9. html5 视频语音对讲,一种基于WebRTC的多人语音视频通话方法及系统与流程

    本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统. 背景技术: 随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展.在节奏越来越快的信息 ...

最新文章

  1. CVPR 2021 《Domain-robust VQA with diverse datasets and methods but no target labels》论文笔记
  2. TMS320F28335项目开发记录9_28335之中断系统
  3. mysql 命令 g_MySQL命令行的几个用法
  4. 2021年深度学习哪些方向比较新颖,处于上升期或者朝阳阶段,比较有研究潜力?
  5. 计算机考研考833的院校,太原理工大学
  6. android伸缩动画,Android 伸缩动画xml配置
  7. Codevs 3269 混合背包(二进制优化)
  8. 第二阶段团队冲刺(二)
  9. GPS原始坐标转百度地图坐标(纯C代码)
  10. 闪讯共享上网教程简单教程
  11. NOIP模拟赛 魔方
  12. 软件测试的基础知识点
  13. codeforces 1077E Thematic Contests
  14. 关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法
  15. 微软声学回声消除demo AECMicArray的使用
  16. VSPD虚拟串口使用
  17. Vue开发中的一些常见套路和技巧(上)
  18. 网页设计师要懂的前端知识之HTML标签及规范
  19. qemu虚拟化-pci设备模拟
  20. FireFox允许复制粘贴

热门文章

  1. Python timedelta total_seconds()方法与示例
  2. 如何打印出给定尺寸的方格_打印给定号码的表格| 8085微处理器
  3. linux下tmp目录属性,Linux:文件夹属性及umask
  4. c#如何实现叫号操作_微信预约排队叫号系统操作指南
  5. oracle开归档服务器,ORACLE RAC 启用归档
  6. css导航栏_使用CSS的导航栏
  7. MySQL 中日志的面试题总结
  8. 英语笔记:词组句子:0806
  9. mysql中int、bigint、smallint 和 tinyint的区别与长度
  10. android.support.v7 fragme,打造最强RecyclerView侧滑菜单,长按拖拽Item,滑动删除Item