首页> 中国专利> 在线检测列车驾驶员行为和疲劳状态的方法及其检测系统

在线检测列车驾驶员行为和疲劳状态的方法及其检测系统

摘要

本发明公开了在线检测列车驾驶员行为和疲劳状态的方法及其检测系统。所述方法包括:采用摄像头对列车驾驶员进行拍摄;对摄像头采集到的图片进行人脸检测,并判别驾驶员是否脱岗和是否处于打盹状态;再使用AdaBoost算法训练出的睁眼图像检测器,从人脸图像中找睁眼图像,判断此时驾驶员是否处于睁眼状态;实时计算闭眼时间占总测试时间的比例,该比例即是PERCLOS值,用来标示疲劳状态。所述系统包括摄像头、嵌入式主机、报警装置、用户按键和存储器,摄像头、报警装置、用户按键和存储器分别与嵌入式主机连接;本发明填补了列车驾驶员行为监控及疲劳状态检测领域的空白,能在列车环境下实现驾驶员行为的监控及疲劳状态的检测。

著录项

  • 公开/公告号CN101639894A

    专利类型发明专利

  • 公开/公告日2010-02-03

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN200910042302.4

  • 发明设计人 秦华标;程东旭;倪向东;

    申请日2009-08-31

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G08B21/06(20060101);

  • 代理机构44102 广州粤高专利商标代理有限公司;

  • 代理人何淑珍

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-12-17 23:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-16

    未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20130320 终止日期:20180831 申请日:20090831

    专利权的终止

  • 2013-03-20

    授权

    授权

  • 2010-03-24

    实质审查的生效

    实质审查的生效

  • 2010-02-03

    公开

    公开

说明书

技术领域

本发明涉及列车驾驶安全技术领域,具体涉及在线检测列车驾驶员行为和疲劳状态的方法及其检测系统。

背景技术

目前公路交通上的疲劳检测系统已成为国内外研究热点,疲劳驾驶同样存在于长途列车驾驶员身上,但少有研究机构对列车上的疲劳检测技术进行研究。2008年4月28日凌晨发生了备受关注的胶济铁路火车相撞事故,事故死亡70人,416人受伤,其中重伤51人。据调查,胶济铁路重特大交通安全事故直接原因为列车超速,但相撞前,驾驶员处于疲劳状态未对前方瞭望清楚也失去避免事故发生的最后一个机会。在列车上安装驾驶员监控装置,对保障驾驶员规范驾驶和提高列车行驶安全具有重大意义。

目前尚未有在线检测列车驾驶员行为和疲劳状态的发明专利申请,而实现该技术涉及图像处理、模式识别和机器学习领域多项难点。因此,目前急需一种功能全面、高效准确,且能不对驾驶员的正常驾驶造成干扰的在线监控技术方案。

发明内容

本发明的目的在于克服现有技术存在的上述不足,提供在线检测列车驾驶员行为和疲劳状态的方法及其检测系统。本发明通过如下技术方案实现:

在线检测列车驾驶员行为及疲劳状态的方法,该方法包括:

(1)采用摄像头对列车驾驶员进行拍摄;

(2)对摄像头采集到的图片进行人脸检测,得到人脸图像及人脸位置坐标,并判别驾驶员是否脱岗和是否处于打盹状态;

(3)人眼睁闭状态判别:使用AdaBoost算法训练出的睁眼图像检测器,从人脸图像中找睁眼图像,如果能找到,则判断此时驾驶员处于睁眼状态的;如果找不到,则判断驾驶员处于闭眼状态;

(4)疲劳状态的检查方法:实时计算闭眼时间占总测试时间的比例,该比例即是PERCLOS值,用来标示疲劳状态。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,还对驾驶员脱岗、打盹、及PERCLOS值超标的行为状态进行报警,同时对驾驶员脱岗、打盹以及PERCLOS值超标时的视频片段进行记录,将视频片段存入存储器中。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,还对脱岗、打盹、及PERCLOS值超标的驾驶员发出报警,驾驶员在设定时间内返回到驾驶位置并按下用户按键才能消除报警。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,步骤(1)中所述摄像头的镜头前安装红外滤光片,该滤光片只允许红外光线通过。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,步骤(2)对摄像头采集到的图片进行人脸检测,若连续在采集到的图片中检测不到人脸图像,则判断驾驶员已离开摄像头的监控区,处于脱岗状态。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,步骤(2)由人脸检位置坐标统计人脸几何中心的变化,得出驾驶员头部运动状态,从而判断出驾驶员是否处于打盹状态。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,步骤(2)中,当驾驶员头部中心坐标点在设定时间内做反复的上下运动,则判断为驾驶员处于打盹状态。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,步骤(3)中人眼睁闭状态判别方法是:使用睁眼检测器从人脸图片中寻找睁眼图像,如果找到睁眼图像判断这张人脸图片中的眼睛是睁开的,如果找不到睁眼图像,判断这张人脸图片中的眼睛是闭着的。

上述的在线检测列车驾驶员行为及疲劳状态的方法中,步骤(3)中所述睁眼图像检测器通过如下步骤训练得到:

(3.1)收集人脸图片组成测试图片库,收集睁眼眼睛图片组成正样本集,收集非睁眼图片组成负样本集;

(3.2)使用AdaBoost算法从正样本集和负样本集中学习出临时睁眼图像检测器;

(3.3)使用临时睁眼图像检测器对测试图片库中的每一张图片进行检测,将本身不是睁眼而被临时睁眼图像检测器检测为睁眼的图像保存为图片并加到负样本集中,形成新的负样本集,将本身是睁眼而被临时睁眼图像检测器检测为非睁眼的图像保存为图片并加到正样本集中,形成新的正样本集,同时统计该临时睁眼图像检测器的检测准确度;

(3.4)再用AdaBoost算法从新的正样本集和负样本集中学习出另一临时睁眼图像检测器;

(3.5)使用步骤(3.4)所述的另一临时睁眼图像检测器重复步骤步骤(3.3)和(3.4),直到步骤(3.3)所述的临时睁眼图像检测器的检测准确度满足设定的准确率,以该满足设定的准确率的临时睁眼图像检测器作为训练得到的睁眼图像检测器。

实现上述在线检测列车驾驶员行为及疲劳状态的方法的检测系统,该系统包括摄像头、嵌入式主机、报警装置、用户按键和存储器,摄像头、报警装置、用户按键和存储器分别与嵌入式主机连接;所述摄像头采集到连续的驾驶室内的图片,然后将采集到的图片传输给嵌入式主机处理,得出驾驶员是否在打盹、是否离岗或是否疲劳,如果出现以上三种情况中的至少一种,就发送报警信号给报警模块进行报警,同时将视频记录至存储器,直到驾驶员从打盹、疲劳中恢复或回到了岗位并通过用户按键停止报警。

总的来说,本发明相对于现有技术具有如下优点与积极效果:

本发明针对列车驾驶员行为监控及疲劳状态检测领域的空白,提出了一种在列车环境下使用的驾驶员行为监控及疲劳状态检测的方法及检测系统。本发明采用摄像头(红外摄像头)捕捉驾驶员驾驶图片,通过图像处理和模式识别的过程,对驾驶员的驾驶行为及疲劳状态进行检测,并对不规范驾驶行为(如离岗)及处于疲劳状态的驾驶员进行报警。本发明采用了新的眼睛睁闭状态检测方法,达到高效、准确的检测效果。本发明提供的检测系统采用非接触式的监控方式,摄像头采集驾驶员驾驶图像,采用图像处理和模式识别技术对采集到的连续的图像进行分析,获取驾驶员的驾驶状态信息。对处于脱岗,打盹,PERCLOS超标处于疲劳状态的驾驶员进行报警,同时记录报警时的驾驶图像以备以后分析,达到提醒驾驶员及保障安全行驶的目的。

附图说明

图1是具体实施方式中的检测系统的硬件结构示意图。

图2是具体实施方式中的检测系统的工作流程图。

图3是具体实施方式中睁眼检测器训练流程图。

图4是具体实施方式中打盹状态快速傅里叶变换结果图。

图5是具体实施方式中Haar特征之边界特征。

图6是具体实施方式中Haar特征之线型特征。

图7是具体实施方式中Haar特征之对角特征。

具体实施方式

下面结合附图对本发明的具体实施作进一步说明。

1.如图1所示检测系统的结构及各组成部分连接方式如下:

系统由红外摄像头、红外光源、嵌入式主机、报警装置、用户按键、存储器和嵌入式主机组成。红外摄像头为USB接口摄像头对红外光敏感,在滤去可见光的情景下可根据被拍摄物体反射的红外光成像,与嵌入式主机的USB接口相连;报警器是一个扬声器与嵌入式主机的音频接口相连;硬盘为保存违规驾驶视频提供存储空间,与嵌入式主机的SATA口相连,本系统使用容量为40G的硬盘,硬盘的容量根据系统一次工作所需拍摄量而定也可适当增大硬盘容量;红外光源为多个发光二极管构成,可与嵌入式主机的并口相连,由嵌入式主机并口供电。

2.如图2所示流程图,系统的工作流程如下:

首先读取摄像头当前拍摄到的图像,对该图像进行人脸检测,如果没有检测到人脸,根据以往也连续没有检测到人脸的次数,判断驾驶员是否离岗,如果检测到了人脸,根据这张人脸图像的中心坐标及之前的人脸图像的中心坐标做打盹检测,若检测到打盹进行报警;若没有检测到打盹接着对该人脸图像眼睛睁闭状态检测,将当前的眼睛睁闭检测结果,连同之前的眼睛睁闭状态检测结果一起做PERCLOS统计,计算出当前的PERCLOS,判断PERCLOS值是否超标,如果超标进行报警,否则回到开始读取摄像头图像进行下一次检测;对于出现报警后的操作是这样的,检测用户按键是否有输入,如果没有,从摄像头读取图像记录该图像到视频文件,如果有则停止视频记录,停止报警,这次检测结束。对于本系统,每次检测结束都会自动重启检测流程,因此本系统能一直工作,从而对驾驶员不正确的驾驶行为给予警示。

3.本发明采用红外摄像头对驾驶员进行拍摄,摄像头被放置在驾驶位置的正前方靠下,远近距离约为1米,从而在正常驾驶情况下驾驶员头部左右移动时也能拍摄到驾驶员头部同时不遮驾驶员视线。红外光源放置在正常驾驶时驾驶员头部位置的正前方靠下,以保证红外光源发射的红外光能尽量多的洒在驾驶员头部。

4.本发明红外摄像头采集驾驶员驾驶视频图像,且在镜头前安装红外滤光片,该滤光片只允许红外光线通过,可以滤掉其他可见光。一般来说驾驶室内光线有两种情景:晚上和白天,在白天,光线充足拍摄到的图像清晰,在夜晚,因为少了太阳光的照射,驾驶环境的光线会偏暗。若在所述的两种光线情境下,使用红外摄像头且在镜头前加滤光片,同时在夜晚情景下使用红外光源补光,那么红外摄像头拍摄到的图像光线差异将会变得很小,因为这时摄像头拍摄到的都是红外光线充足的情景。使用这种方法得到的白天和夜晚的驾驶图像差异不大,将方面后面的图像处理。

5.人脸检测:人脸区域的检测是在摄像头拍摄到的每帧图片中,定位出人脸区域。为了兼顾人脸检测算法的实时性和准确性,我们采用Adaboost算法学习到的人脸特征xml文件检测人脸,该人脸检测方法在各种复杂背景及光照条件均快速有效。这里所说的人脸检测具体内容包括两个方面:人脸检测程序和人脸特征xml文件。该人脸检测程序可从OpenCV(计算机开源视觉库)获得,它是随OpenCV发布的,本系统采用的人脸特征xml文件为haarcascade_frontalface_alt.xml,在已发布的OpenCV 1.0中也能找到该xml文件。人脸特征xml文件也可通过训练获得,具体训练步骤与睁眼检测器的训练步骤相同,只是将正样本设定为人脸图片,负样本设定为非人脸图片。人脸特征xml文件是由一组级联的Haar特征分类器组成,本系统人脸检测程序的流程是:

(1)读取被检图片。

(2)对被检图片预处理:将彩色被检图片转换为灰度被检图片。

(3)从灰度被检图片中提取子图像,预先设定初始子图像窗口大小、窗口放大比例、移动步长,提取的方法是:如果被检图片大于初始子图像窗口大小,从左右,上下两个方向遍历整幅被检图像,遍历是先从左到右移动初始子图像窗口,每次移动一个步长,直到窗口移出被检图片,得到一组子图像,向下移动一个步长,再从左向右移动得到另外一组子图像,按这样的策略移动直到窗口移出了被检图片。以窗口放大比例缩小被检图片,再按上面的提取方法提取一组子图像,这样一直缩小窗口提取子图像,直到窗口缩小到比初始子图像窗口小。

(4)对上一步中得到的每一个子图像,使用人脸特征xml文件进行检测,如果检测通过该子图像就被判定为检测到的人脸图像。

6.人眼睁闭状态识别,包括睁眼检测器的训练和眼睛状态判别。

睁眼检测器训练方法如下:如图3所示训练流程,该训练可采用OpenCV提供的AdaBoost学习程序:Haartraining.exe(此程序可从OpenCV中文官方网站发布的OpenCV 1.0版本中获得)。

具体训练步骤如下:

(1)在开始训练之前首先要收集测试图片集,正样本集和负样本集,其中测试图片集是一些包含睁眼图像的图片,正样本集由睁眼图片组成、负样本集由截取人脸中非睁眼区域图像保存下来的图片组成,睁眼图片是从包含睁眼图像的整幅人脸图片截取出来的,截取方法是使用初始大小30*20(单位是像素)的矩形框去套取睁眼图像,套取时要使矩形框中心和眼睛几何中心重合,如果矩形框不够大就以1∶1.2的比例放大矩形框的长和宽。

(2)将用上一步收集的图片,分别放入正样本集和负样本集,即更新正负样本集。上一步的图片在第一次训练时指的是一开始收集的正样本集和负样本集中的那些图片。以后的训练指的是步骤(4)中测试检测器准确率时得到的正样本图片和负样本图片。

(3)使用Adaboost学习程序从该样本集中学习出临时睁眼检测器。这里的Adaboost学习程序就是上面提到的Haartraining.exe。

(4)拿上一步学习出的临时睁眼检测器,对测试图片集检测,对于该检测器框出的睁眼图片进行人工判断,把那些不是睁眼图片的收集起来准备放到负样本集,把那些是睁眼图像而没有检测出的,手动框出(方法和步骤(1)框正样本一样)保存为图片准备放到负样本集。同时统计出该临时检测器的检测准确率,即正确检测的次数与检测到的总次数的比例,这里正确检测是指检测器检测结果和人工判断结果一致。判断准确率是否达到要求,本系统设定的检测准确率指标是99%。当不能达到该标准的临时睁眼检测器重复步骤(2),步骤(3)得到新的临时睁眼检测器,直到训练得到的临时睁眼检测器达到检测准确率指标。

(5)步骤(4)得到的达到准确率指标的睁眼检测器就是本次训练得到的最终的睁眼检测器。

另外,Haartraining.exe使用Adaboost算法学习出多个Haar特征强分类器,并将这些Haar特征强分类器级联组合在一起,形成了最终的xml文件。Haartraining.exe训练流程如下:

(1)创建Haar特征。

(2)载入正样本,负样本。

(3)判断虚警率是否达到指标,如果达到指标跳转到步骤(8)执行。

(4)判断是否训练了指定数目的强分类器,如果训练够了跳转到步骤(8)执行。

(5)计算Haar特征值。

(6)训练一个强分类器。

(7)保存强分类器信息到临时文件,跳转执行步骤(2)。

(8)保存级联强分类器信息到xml文件。

常用的Haar特征有三种:

(1)边界特征如图5所示,分别表征了上下和左右边界特征;

(2)线型特征如图6所示;

(3)对角特征如图7所示。

图5、6、7中每个Haar特征有黑白两种区域,计算Haar特征时,就是将各个黑白区域像素之和乘以相应的权重加起来。

眼睛状态判别方法如下:使用睁眼检测器从人脸图片中寻找睁眼图像,当找到睁眼图像时,判断这张人脸中的眼睛是睁开的,如果找不到睁眼图像,判断这张人脸中的眼睛是闭着的。该方法事实上是可行的,而且比睁眼闭眼都判断更简便,因为人眼睁闭一共就两种情况,只需要判断是否睁眼,就能得到眼睛睁闭状态结果。

7.驾驶员脱岗识别:若在红外摄像头连续的采集到的图片中检测不到人脸图像,说明驾驶员不在监控区内,则可判断驾驶员离岗了。本系统采用一个可设的变量来确定连续多少帧检测不到人脸视为驾驶员离岗,默认这一变量为100,根据本系统的检测帧率:10帧/秒(该检测帧率取决于嵌入式主机的计算性能),这时此变量的意思是当10秒钟检测不到人脸图像时判定驾驶员离岗。

8.疲劳值的检测和疲劳指标的设定

本系统疲劳状态由PERCLOS值标示,理论上PERCLOS计算公式如下:

>p=tctA>

其中p为PERCLOS值,tA为总的统计时间,tC为统计到的闭眼的时间。

而在本系统中统计PERCLOS值时有3个预设的变量:

Tmax:单次检测睁闭眼的最大作用时间,它是可以预设的,这里设定为100ms;

Nmin:计算PERCLOS值所需最少检测次数,本系统设定为32;

Nmax:计算PERCLOS值所需最多检测次数,本系统设定为1024;

设当前检测次数为N;p为当前PERCLOS值;ri为第i次检测的睁闭眼结果,其值在睁眼时为0,在闭眼为1;ti为第i次检测的作用时间;与上次检测的间隔为td

则有ti=Tmax,当td>Tmax时,

ti=td,当td<=Tmax时。

而当前PERCLOS值p的计算方法如下:

当n<Nmin时,

P不存在

当Nmin<n<Nmax时,

>p=Σi=1nritiΣi=1nti>

当Nmax<n时

>p=Σi=n-Nmax+1nritiΣi=n-Nmax+1nti>

疲劳指标设定策略如下:对于疲劳指标反映的是系统对驾驶员疲劳状态反映的灵敏度,因此可通过对各种疲劳程度驾驶员进行疲劳值测算的实验获得一个灵敏度适当:使系统不会过于灵敏以至对司机正常的眨眼多一点而判定司机是疲劳,也不会过于迟钝,对司机长达几秒钟的闭眼而不做出疲劳判定。本系统疲劳指标设定为50,对于灵敏度要求高一点的情况,可以适当降低该值。

9.打盹检测

取一组连续的人脸检测结果中,得到一组人脸中心坐标的纵坐标,该组坐标的个数是Nfft,本系统中该值被设为64,该组纵坐标可以反映人头部在64/FS时间内的运动规律,FS为采样频率(本系统此值约为10Hz)。做FFT变换(快速傅里叶变换)。FFT变换的结果(已经滤除直流成分的结果)如图4所示,纵坐标为各频域分量的幅度值,横坐标N为人脸中心纵坐标点个数。在FFT变换中横坐标某点n所表示的频率为:Fn=(n-1)*Fs/Nfft,此图为人打盹时的人脸坐标FFT变换,可见人打盹时在上述FFT变换的低频部分出现了峰值。经多次测试表明,人打盹的头部运动频率范围大概在0.3HZ至1HZ之间。打盹状态判别的具体做法是:做15次FFT变换(每次取Nfft个人脸中心纵坐标),若其中有8次低频系数的,出现了如上图所示的低频峰值,判断驾驶员处于打盹状态。

纵坐标为各频域分量的幅度值,N为坐标点。在FFT变换中某点n所表示的频率为:Fn=(n-1)*Fs/Nfft,此图为人打盹时的人脸坐标FFT变换,可见人打盹时在上述FFT变换的低频部分出现了峰值。经多次测试表明,人打盹的头部运动频率范围大概在0.3HZ至1HZ之间。打盹状态判别的具体做法是:做15次FFT变换(每次取Nfft个人脸中心纵坐标),若其中有8次低频系数的,出现了如上图所示的低频峰值,判断驾驶员处于打盹状态。

10.报警

本系统采用声音报警,当系统检测出现驾驶员脱岗、打盹、疲劳状态值超标时,用来报警的扬声器会发出刺耳的报警声,同时记录摄像头拍摄到的画面到硬盘中,若驾驶员按了用户按键,则报警声停止,同时文件记录也停止,本系统检测程序将重新开始检测;若驾驶员不按用户按键,报警声将一直播放,同时摄像头拍摄到的画面也会被记录到硬盘中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号