法律状态公告日
法律状态信息
法律状态
2020-06-23
未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20180608 终止日期:20190629 申请日:20150629
专利权的终止
2018-06-08
授权
授权
2015-12-30
实质审查的生效 IPC(主分类):G06K9/00 申请日:20150629
实质审查的生效
2015-12-02
公开
公开
技术领域
本发明属于汽车安全行驶和计算机视觉、模式识别领域,特别涉及一种基于安卓的多特征疲劳实时检测方法。
背景技术
疲劳驾驶已成为世界上造成交通事故最多的因素,在长途运输行业中的司机更是普遍,每次事故通常带来巨大的生命和财产损失。在可能出现疲劳驾驶的时候,驾驶员常常不会引起重视,因此通过外部设备对驾驶状态进行实时监测并预警具有重大意义。
近年来国内外学者对疲劳检测提出了很多的方法研究,主要可分为三个方面的检测方法:(1)基于车辆行驶状态检测:监控车辆行驶过程中的左右摇摆、速度异常或突然变向等。(2)基于驾驶员生理参数检测:监控驾驶员的心跳变化、脑电图等参数。(3)基于驾驶员身体状态检测:监控驾驶员的行为特征,如频繁点头,打哈欠,闭眼等状态。
以上三种检测方法中,基于车辆行驶状态检测,由于驾驶员驾驶习惯不同或路况的不同,普适性并不高。基于驾驶员生理参数检测,会让驾驶员佩戴精密电子设备,造成驾驶舒适性大大降低,接受度不高。所以基于驾驶员身体状态检测由于是非接触性检测,当前研究最广泛,但可靠性和准确性有待提高。
现有的基于驾驶员身体状态的检测方法通常是通过人脸检测,定位人眼区域,判断人眼的睁闭状态。它的主要问题有:1)程序需要先检测人脸,再检测人眼区域,通过模板匹配判断驾驶员眼睛的睁闭状态,整个流程计算复杂度较高,耗时长,对硬件性能要求较高,在小型移动设备上较难达到实时性;2)判断条件单一,缺少一些辅助信息来排除误报或漏报,准确性难以保证。
如最新的疲劳驾驶的发明专利《一种疲劳驾驶检测方法及系统》,公开日为2015.1.7,公开号为:101835035A。该发明公开了一种疲劳检测检测方法,包括以下步骤::S1、采集图像和预处理;S2、人脸定位和检测;S3、人脸跟踪;S4、眼睛检测和状态识别;S5、计算疲劳PERCLOS值;S6、将得到的PERCLOS值与预设的阈值进行比较,判定驾驶员是否疲劳驾驶。它的不足在于程序流程计算复杂度太高,一般性能的硬件(如千元内的平板电脑)难以达到实时性,并且紧靠单一的判断条件,容易产生误报和漏报。
发明内容
本发明的目的在于克服现有技术的不足,提供一种将汽车安全行驶和计算机视觉、模式识别领域结合起来,创新性地将人脸对齐应用到疲劳检测当中,采用了基于形状参数回归的对齐算法,计算量小,易于实现,并采用面部表情多特征综合判断的检测方法,能够减少误报和漏报的基于安卓的多特征疲劳实时检测方法。
本发明的目的是通过以下技术方案来实现的:基于安卓的多特征疲劳实时检测方法,包括以下步骤:
S1、输入视频图像并进行预处理:通过摄像头输入包含人脸的实时图像,对输入的每一帧图片进行格式转换和压缩,然后进行灰度化处理;
S2、进行人脸检测:调用opencv安卓版人脸检测函数detectMultiScale对S1得到的图像进行人脸检测,将人脸检测函数返回的人脸矩形框结果转换得到两个黑眼球的坐标位置;若人脸检测函数检测不到人脸,则继续检测下一帧图片;若连续多帧图片均检测不到人脸,则输出警报信息,提醒驾驶员正视前方;
S3、进行人眼对齐检测:根据S2得到的两个黑眼球的坐标位置扩展出一个包含人眼的矩形区域,然后进行人眼对齐检测;
S4、进行人脸对齐检测:采用基于形状参数回归算法进行人脸对齐检测;
S5、疲劳状态判断:根据S3和/或S4的检测结果判断是否处于疲劳状态,若是则输出警报信息,否则不操作。
进一步地,所述的步骤S1中的步骤格式转换方法为:把摄像头输入的YUV格式图片转换为bitmap格式。
进一步地,所述的步骤S3中的人眼对齐检测具体实现方法为:先根据平均人脸形状初始化矩形区域的人眼形状,再用训练的model1进行人眼形状迭代,得到精确对齐的人眼形状并返回对齐结果;返回的对齐结果包含了人左右眼睛眼脸轮廓的坐标信息,根据眼脸轮廓的y轴坐标相减得到眼睛的睁闭状态,设为特征F0。所述的model1采用基于形状参数回归算法,用大量人眼形状图片训练生成的回归器;所述的人眼形状迭代包括人眼的平移、收缩和旋转变换。
进一步地,所述的步骤S4的人脸对齐检测具体包括以下子步骤:
S41、根据眼睛对齐部分的精确黑眼球对齐的结果初始化平均人脸形状,得到相对准确的人脸形状;
S42、用训练的model2进行人脸形状迭代,得到精确对齐的人脸形状并返回对其结果;
S43、返回的对齐结果精确的描述了人脸形状的坐标点信息,根据坐标点信息判断人脸状态:
首先判断人脸的朝向,设为特征F1:根据两眼睛黑眼球和嘴坐标相连的特征三角形,根据三角形形状得出人脸的姿态信息:根据黑眼球坐标连线与x轴的夹角判断头部的偏倚状态,根据嘴部中心点与黑眼球左右眼坐标的x轴距离判断脸的左右朝向;若人脸没有朝向左右,没有偏倚的动作,则判断人脸是正视前方的姿态,具备疲劳条件,否则应处于清醒状态;
然后根据连续几帧的鼻尖坐标点的变化,判断人头部的运动方向信息,设为特征F2:对连续5帧鼻尖坐标点的y轴两两相减,统计向量方向变化情况和向量长度变化,若头部连续向下或向上大幅度运动则可判断为点头,若头部长时间做出点头的动作或基本无动作,则具备疲劳条件,否则处于清醒状态;
最后根据对齐嘴部的坐标点信息,分析人嘴部的张合状态,设为特征F3:直接用上下嘴唇内侧对齐坐标的y轴相减,得到嘴唇的张合度,判断人当前处于闭嘴、说话(咀嚼)或打哈欠的状态,若出现连续的打哈欠或长时间处于闭合状态,则具备疲劳条件,否则处于清醒状态。
进一步地,所述的model2为基于形状参数回归算法,用大量简化后的人脸对齐形状图片训练生成的回归器,所述的人脸形状迭代包括人脸平移、收缩和旋转变换。
进一步地,所述的步骤S5中疲劳状态包括以下判断标准:
疲劳特征条件具备F0∩F3或F0∩F3∩(F1∪F2),即出现长时间的闭眼且嘴部出现连续的打哈欠或长时间处于闭合状态,头部的运动和面部朝向可忽略;
疲劳特征条件具备F1∩F2∩F3,即出现嘴部连续打哈欠或长时间处于闭合状态且头部长连续点头或基本无动作且面部向前;
疲劳特征条件具备F3中的连续打哈欠,可判断为疲劳前期的表现;
当出现以上几种疲劳特征时,输出警报信息。
本发明的有益效果是:
1、将汽车安全行驶和计算机视觉、模式识别领域结合起来,实现了一种可以实时检测驾驶员疲劳状态的系统,创新性地将人脸对齐应用到疲劳检测当中,采用了基于形状参数回归的对齐算法,计算量小,易于实现,并采用面部表情多特征综合判断的检测方法,减少了误报和漏报;
2、本发明创新性地将人脸对齐应用到疲劳检测当中,通过分析人眼的轮廓形状变化信息和面部各器官关键坐标连续变化特征可以分析出到驾驶员的精神状态,避免传统的各个面部器官分别用图片模板匹配方法,减少处理数据;
3、分别采用了两次对齐算法,避免一次处理数据量太大而降低检测速度:首先精确对齐眼睛轮廓形状,判断眼睛睁闭状态;再根据眼睛轮廓信息初始化简化后的人脸形状,再准确对齐人脸轮廓,判断疲劳辅助特征状态;避免了直接处理完整的人脸对齐,提高了重点区域眼睛的对齐精度,降低处理数据维度,加快检测速度,降低硬件设备性能要求。
附图说明
图1为本发明的检测方法流程图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明的技术方案。
如图1所示,基于安卓的多特征疲劳实时检测方法,包括以下步骤:
S1、输入视频图像并进行预处理:通过摄像头输入包含人脸的实时图像,对输入的每一帧图片进行格式转换和压缩,然后进行灰度化处理;所述的的格式转换方法为:把摄像头输入的YUV格式图片转换为bitmap格式;为了减小需要处理的图片信息,对图片进行压缩,本实施例将图片大小压缩为320*240像素。
S2、进行人脸检测:调用opencv安卓版人脸检测函数detectMultiScale对S1得到的图像进行人脸检测,将人脸检测函数返回的人脸矩形框结果转换得到两个黑眼球的坐标位置;若人脸检测函数检测不到人脸,则变量noface加1,程序返回继续检测下一帧图片,否则变量noface置零;若连续多帧图片均检测不到人脸(例如当变量noface大于80时),即驾驶员长时间没有正视前方或离岗,则输出警报信息,提醒驾驶员正视前方;
S3、进行人眼对齐检测:根据S2得到的两个黑眼球的坐标位置扩展出一个包含人眼的矩形区域,然后进行人眼对齐检测;本实施例的矩形区域为80*40像素(图片大小为320*240像素时)大小,人眼对齐检测的具体实现方法为:先根据平均人脸形状初始化矩形区域的人眼形状,再用训练的model1进行人眼形状迭代,得到精确对齐的人眼形状并返回对齐结果;返回的对齐结果包含了人左右眼睛眼脸轮廓的坐标信息,根据眼脸轮廓的y轴坐标相减得到眼睛的睁闭状态,设为特征F0。本实施例对齐结果返回的是含40个元素的一维数组,每个眼睛的眼脸轮廓用10个坐标点表示(20个数组元素),它包含了人左右眼睛眼脸和中心黑眼球的坐标信息,这样可以直接根据眼脸上下轮廓坐标的y轴相减得到眼睛的睁闭状态,若判断为闭眼,则对变量close加1,否则变量close减1,变量open加1;若变量close大于15,则初步判断为闭眼,布尔变量eyeclose置为true;若变量open大于3,则将变量close和open均置为零。
S4、进行人脸对齐检测:采用基于形状参数回归算法进行人脸对齐检测;其检测方法具体包括以下子步骤:
S41、根据眼睛对齐部分的精确黑眼球对齐的结果初始化平均人脸形状,得到相对准确的人脸形状;
S42、用训练的model2进行人脸形状迭代,得到精确对齐的人脸形状并返回对其结果;
S43、返回的对齐结果精确的描述了人脸形状的坐标点信息,根据坐标点信息判断人脸状态:
首先判断人脸的朝向,设为特征F1:根据两眼睛黑眼球和嘴坐标相连的特征三角形,根据三角形形状得出人脸的姿态信息:根据黑眼球坐标连线与x轴的夹角判断头部的偏倚状态,根据嘴部中心点与黑眼球左右眼坐标的x轴距离判断脸的左右朝向;若人脸没有朝向左右,没有偏倚的动作,则判断人脸是正视前方的姿态,具备疲劳条件,否则应处于清醒状态;
然后根据连续几帧的鼻尖坐标点的变化,判断人头部的运动方向信息,设为特征F2:对连续5帧鼻尖坐标点的y轴两两相减,统计向量方向变化情况和向量长度变化,若头部连续向下或向上大幅度运动则可判断为点头,若头部长时间做出点头的动作或基本无动作,则具备疲劳条件,否则处于清醒状态;
最后根据对齐嘴部的坐标点信息,分析人嘴部的张合状态,设为特征F3:直接用上下嘴唇内侧对齐坐标的y轴相减,得到嘴唇的张合度,判断人当前处于闭嘴、说话(咀嚼)或打哈欠的状态,若出现连续的打哈欠或长时间处于闭合状态,则具备疲劳条件,否则处于清醒状态。
S5、疲劳状态判断:根据S3和/或S4的检测结果判断是否处于疲劳状态,若是则输出警报信息,否则不操作;所述的疲劳状态包括以下判断标准:
疲劳特征条件具备F0∩F3或F0∩F3∩(F1∪F2),即出现长时间的闭眼且嘴部出现连续的打哈欠或长时间处于闭合状态,头部的运动和面部朝向可忽略;
疲劳特征条件具备F1∩F2∩F3,即出现嘴部连续打哈欠或长时间处于闭合状态且头部长连续点头或基本无动作且面部向前;
疲劳特征条件具备F3中的连续打哈欠,可判断为疲劳前期的表现;
当出现以上几种疲劳特征时,输出警报信息。
进一步地,所述的model1采用基于形状参数回归算法,用大量人眼形状图片训练生成的回归器;所述的人眼形状迭代包括人眼的平移、收缩和旋转变换。所述的model2为基于形状参数回归算法,用大量简化后的人脸对齐形状图片训练生成的回归器;所述的人脸形状迭代包括人脸平移、收缩和旋转变换。
本发明针对传统的人脸对齐算法,提出一种更有效的显式形状回归改进算法:采用基于形状参数回归算法,该算法采用一个二级参数形状回归框架,用以学习一系列形状参数回归量;设计明确形状特征索引方法和多重随机特征选择方法提高人脸对齐速度和对齐精度,能有效选取多种特征,且计算量小,易于实现。
本发明创新性地将人脸对齐应用到疲劳检测当中,通过人脸对齐算法,能直接得到描述驾驶员面部眼睛、嘴、鼻子的轮廓的坐标信息。通过分析人眼的轮廓形状变化信息和面部各器官关键坐标连续变化特征可以分析出到驾驶员的精神状态。避免传统的各个面部器官分别用图片模板匹配方法,减少处理数据。分别采用两次对齐算法,避免一次处理数据量太大而降低检测速度:首先精确对齐眼睛轮廓形状,判断眼睛睁闭状态;再根据眼睛轮廓信息初始化简化后的人脸形状(减少了描述面部特征的坐标点,次要特征减少描述点),再准确对齐人脸轮廓,判断疲劳辅助特征状态。避免了直接处理完整的人脸对齐,提高了重点区域眼睛的对齐精度,降低处理数据维度,加快检测速度,降低硬件设备性能要求。
通过眼睛和人脸多种特征的结合来判断疲劳,首先判断眼睛的睁闭状态,再根据嘴的张闭状态和频率、头部上下位置变化程度和人脸朝向等特征来辅助判断驾驶员状态,减少了误报和漏报。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
机译: 基于社区结构分析的安卓恶意代码检测方法
机译: 适用于苹果,安卓和Windows的实时软件和应用程序,可根据用人单位选择的轮班时间和经验参数向用人单位提供即时通知,这些人可以完成工作范围。
机译: 装备有基于linux的android容器平台的设备和方法在基于linux的安卓容器环境中应用安全系统