信息融合驾驶员疲劳检测技术研究

信息融合驾驶员疲劳检测技术研究

摘要:驾驶员疲劳检测研究中,由于驾驶环境的复杂性,驾驶人员的差异性、疲劳状态表征的多样性,本文提出了一种基于主动形状模型(ASM)与多个信息融合的疲劳检测技术。首先使用CCD摄像头采集驾驶员面部图像信息并进行图像预处理,然后选择基于Haar特征的级联AdaBoost算法进行人脸检测,对检测到的人脸利用ASM进行特征点定位,得出眼睛、嘴巴以及头部等多个信息的状态参数,最后提取眼睛的PERCLOS值、哈欠频率、点头频率等疲劳特征,综合以上多个疲劳特征信息从而判断驾驶员的疲劳程度。实验结果表明,这种通过多个特征信息进行疲劳检测具有较高的准确性和鲁棒性。

关键词:疲劳检测;ASM;AdaBoost算法;PERCLOS

1概述

近年来,汽车给人们带来便利的同时也带来了极大的安全隐患,其中因疲劳驾驶造成的交通事故日趋增加,因此,检测驾驶员的疲劳状态并有效预防对减少交通事故的发生具有重要的意义。随着科学技术的进步,研究学者提出了多种检测疲劳的方法,主要有基于生理行为的方法、基于车辆行为的方法以及基于计算机视觉的方法。国外对于疲劳检测的研究早在20世纪初就已经取得了显著进展,而我国对此问题的研究相对较晚,与国外存在一定差距。何俊等人提出了一种基于ASM与肤色模型的疲劳检测方法,首先利用肤色模型定位人脸,然后利用ASM跟踪人眼和嘴巴,再利用Canny算子对两个区域进行精准定位,提高检测准确率,但是该方法中人眼和嘴巴的初始定位困难,当头部摆动幅度过大时定位不准确[1]。文献[2]中介绍了一种基于Haar特征的AdaBoost级联分类器进行人脸检测,对人脸图像进行水平投影后,定位出人眼的位置,但本文中仅依据PERCLOS值作为疲劳检测的标准,方法比较单一,易受外界环境干扰。Nawal等[3]提出利用圆形霍夫变换来分析眼睛和嘴巴的状态,通过识别虹膜来检测疲劳程度,但是当驾驶员头部发生偏移时检测效果不好。对于以上分析,本文提出了一种基于主动形状模型(ASM)与多个信息融合的疲劳检测技术。将摄像头采集到的驾驶员面部图像经预处理后利用MB-LBP特征的级联AdaBoost算法进行人脸检测,然后再结合ASM进行眼睛和嘴巴的特征点定位,得出眼睛、嘴巴以及头部的状态参数,最后根据状态参数计算PERCLOS值、哈欠频率、点头频率等疲劳特征,融合以上疲劳特征信息判定驾驶员是否疲劳。

2人脸检测

驾驶环境下采集的图像会有多种噪声和光线差异,对后续人脸的检测和特征点定位会有一定影响。因此,需要对采集的图像进行灰度化,直方图均衡化、光照补偿这样的预处理达到去除噪声,提高图像质量。考虑到驾驶员在整个行车过程中,头部转动的角度并不大,并且考虑到光照带来的影响,所以本文采用Ojala等人提出MB-LBP特征的级联Adaboost算法来检测人脸[4]。该方法简单、可靠、高效,MB-LBP特征表达了图像纹理信息,它将中心像素灰度值和全部周围像素灰度值进行比较,比较的结果转化为二进制码,若周围像素灰度值大于中心像素灰度值则为1,否则为0,从并依次从二值化窗口的左上角顺时针取得MB-LBP特征的二进制编码,最终再转换为十进制即为MB-LBP特征值。Adaboost算法的核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的分类器(强分类器)。该算法步骤如下:Step1:选取人脸数据库,本文选取的是Yale大学人脸数据库,数据库中的人脸和模拟环境下驾驶员的图片作为正样本,任意拍摄一组非人脸照片作为负样本。T为训练的最大循环次数。Step2:样本权重初始化,为1/n。Step3:进行第一次迭代:先训练弱分类器,计算弱分类器的错误率,并选取合适的阈值,使得误差最小Step4:更新样本权重,经T次循环后,得到T个弱分类器,按更新的权重叠加,最终得到的强分类器。在不同角度下驾驶员人脸检测的结果如图1所示:

3ASM特征点定位

ASM算法有着在复杂背景下人脸跟踪效果好的优点,被广泛运用于人脸特征点提取。ASM也是一种统计学习方法,包括模型建立和搜索定位,前者通过训练大量的人脸样本获取特征点初始形状模型,后者通过建立好的模型匹配图像中的形状参数。ASM算法的具体步骤如下:Step1:选取Yale大学人脸数据库作为样本集,在每个样本中标记出特征点的坐标信息,本文嘴巴标记出4个特征点,每只眼睛分别标4个特征点,共计12个,如图2所示。各标记点的坐标采用向量的记为:xi=[xi0,yi0,…xij,yij,…xin,yin],(xij,yij)表示第i幅图第j个特征点的坐标,n为图像的个数;Step2:对向量xi进行归一化处理。一般以第一个向量为基准,将其他向量进行平移、缩放、旋转等与基准向量进行对齐,归一化后的向量记为S={x1,x2,…xn};Step3:通过主成分分析法对向量进行降维,计算向量S的所有特征值,并按大小顺序取前t个值,记为P=[p1,p2,…,pt],因此可得一个初始形状模型,记为:a=a+pb,其中a为均值向量,P为特征向量矩阵,b为形状参数向量;Step4:构建局部灰度模型,为搜索定位做准备;Step5:通过对每一个特征点进行初始化来建立初始模型;Step6:迭代搜索所有特征点并判断是否收敛,并更新调整模型参数直至收敛,最终与目标图像中的特征点进行匹配。

4疲劳状态检测

一般情况下,驾驶员疲劳都会伴有闭眼睛、打哈欠、点头等行为,本文就是将这三者特征信息融合后来判断驾驶员的疲劳状态。检测过程如图3所示。PERCLOS是最能反映驾驶员疲劳状态的一个参数,眼睛的大小正好符合人的精神状态,越疲劳,眼睛越闭合。PERCLOS是指单位时间内眼睛闭合时间总和的占比[5],大量实验结果表明,PERCLOS的值为80%时最能反映疲劳状态,计算公式为打哈欠也是判断一个人疲劳的主要特征,在打哈欠的过程中,嘴巴相对于正常状态明显张大,且持续时间较长,不同于说话,可定义PMRCLOS参数为哈欠判断标准,伴随着闭眼睛、打哈欠的同时,疲劳也会有点头的现象,本文取上述12个特征点中的2和4的纵坐标作为头部的状态参数,因为这两个点能准确的反映头部的运动状态。闭眼睛、打哈欠、低头时ASM匹配的结果如图4所示。通过观察统计,取眼睛闭合时PERCLOS超过80%认为闭合,驾驶员处于疲劳状态,小于20%认为完全睁开;驾驶员正常说话嘴巴张开闭合的频率很快,当打哈欠时,嘴巴张开度很大,PMRCLOS值保持在60%以上。疲劳驾驶的点头阈值取在正常头部活动范围的30%,当超过30%时则认为是处于点头状态。

5结论

本课题以提高驾驶员疲劳检测效率为目标,提出ASM与多特征信息融合的驾驶员疲劳检测方法,先对采集的图像进行预处理后,利用MB-LBP特征的AdaBoost算法进行人脸检测,对检测后的人脸运用ASM进行特征点定位,本文基于ASM算法选取了12个特征点,简化了算法的复杂度,通过特征点计算PERCLOS、PMRCLOS、点头频率参数,结合这三个特征参数,从而判定驾驶员是否疲劳。本文采用KL-MN06型号的工业CCD人脸摄像头,分辨率为704*576,帧数为25fps,仿真环境选择的是VisualStudioCode、OpenCV软件,通过仿真实验结果表明,该测方法具有良好的可靠性和准确性。

作者:赵雪娟 单位:宁夏大学新华学院信息与计算机科学系