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

本发明提出一种非接触式的疲劳状态检测方法,利用视频分析,包括图像预处理、人脸及特征点检测、眼睛和嘴巴状态识别,以及疲劳参数计算,提高疲劳状态检测的精度和适用性。
摘要由CSDN通过智能技术生成

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

背景技术:

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

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

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

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

技术实现要素:

为了克服上述现有技术的不足,本发明在于提供一种相对通用的、非接触式疲劳状态综合检测方法,其基本功能流程如附图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时,则判断此人存在打哈欠现象,判定此人为疲劳状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值