APP下载

融合脸部红外信息与深度信息的驾驶员路怒表情识别方法

2017-11-02刘鹏刘峰

软件导刊 2017年10期

刘鹏++刘峰

摘要:驾驶员“路怒症”是影响安全驾驶的一个重要因素,近年来得到了广泛关注。在情感识别领域,可通过驾驶员表情识别其情感。融合脸部红外信息和深度信息(InfraredD),提出一种驾驶员路怒表情识别方法,对驾驶员“路怒症”进行识别。实验结果表明,基于PCANet的方法可以提高驾驶员路怒表情识别的准确率,从而更有效地预防交通事故发生。

关键词:路怒症;表情识别;PCANet;InfraredD

DOIDOI:10.11907/rjdk.171634

中图分类号:TP317.4

文献标识码:A文章编号:16727800(2017)010019804

0引言

“路怒症”的定义为:“路怒”是形容在交通阻塞情况下开车压力与挫折所导致的愤怒情绪,“路怒症”發作者会袭击他人汽车,有时无辜的同车乘客也会遭殃。近年来,由“路怒症”引起的交通事故呈显著上升趋势。交通管理局数据显示,2015年以来全国查处的由“路怒症”引起的违法行为达1 733万起,同比上升了2.8%,可见“路怒症”已经成为影响安全驾驶的一个重要因素。因此,研究“路怒症”并提出有效应对措施,对于预防交通事故发生具有重要意义。

1驾驶员路怒症研究现状

目前,针对“路怒症”的文献研究有:韩振[1]指出只有养成良好的出行习惯才能从根本上消除“路怒症”,驾车时需要注意“不要将不良情绪带上车,开车前调节好情绪,营造舒适的车内环境”;王浩颖[2]提出“首先要有包容心,允许别人犯错,然后要学会调节不良情绪,可以采用一些解压的小方法,如听一首放松的音乐、做一下深呼吸等。其次,养成良好的开车习惯,如在驾驶过程中时常打开窗户透透气,在情绪不好的情况下不要驾驶车辆等”;骞宪忠、郑建中[3]认为可以根据“路怒症”的症状轻重情况,通过心理调节和药物治疗控制驾驶员路怒症,对于患有重度“路怒症”的驾驶员发作时需要及时就医用药;金金[4]把“路怒”行为看作是一种对社会公共秩序的挑衅,主张通过自我约束和社会约束两种手段解决驾驶员“路怒”行为。可见目前的这些措施主要集中在个人和社会层面,而要提高个人素质和整个社会氛围也将是一个漫长过程。

由以上分析可知,针对路怒症的研究主要集中在两个方面:①研究驾驶员路怒症与安全驾驶之间的关系;②研究如何从政策、法规等规章制度上预防和消除驾驶员路怒症。而针对驾驶员路怒症的自动识别研究还未见报道。但是在情感计算领域,表情识别是一个非常热门的话题,本文考虑到驾驶员的特殊环境,提出一种基于PCANet融合脸部InfraredD图像的驾驶员路怒表情识别方法。首先,使用驾驶员脸部的红外图像和深度图像对应的表情(非路怒表情和路怒表情)训练PCANet过滤器;之后,通过训练得到的过滤器提取脸部红外图像和深度图像的表情特征,再进行哈希编码并提取直方图特征;最后,通过提取的特征训练得到SVM,进行驾驶员路怒表情和非路怒表情识别。该方法可以识别驾驶员路怒症,从而可以在驾驶员出现路怒现象时,及时进行提醒(可以是一句安慰的话或者播放一段愉快的音乐),防止因驾驶员的过激行为造成交通事故。

2驾驶员路怒表情识别方法

本文的驾驶员路怒表情识别是通过将脸部的红外图像和深度图像进行融合。如图1所示,具体步骤为:①同时把脸部红外图像和脸部深度图像作为PCANet第一层滤波器(特征向量矩阵w1\-l)的训练样本,训练得到w\+1\-l,将训练样本去除均值后乘以w\+1\-l得到PCANet第一层的输出;②将输出的特征矩阵作为PCANet第二层滤波器的训练样本,训练得到w\+2\-l,将第一层的输出乘以w\+2\-l得到PCANet第二层的输出;③将第二层的特征矩阵进行哈希编码;④将脸部红外图像和深度图像编码后的矩阵对应加和;⑤将加和后的每个编码矩阵通过滑动口提取直方图特征,并且将其串接在一起组成表情识别特征;⑥通过支持向量机(SVM)进行分类。

图1驾驶员路怒表情特征提取模型

其中,N个训练样本表示为{IR\-i,Depth\-i}\+N\-\{i=1\},每个样本的patch数目为2m×n,每个patch的大小为k1×k2。

基于PCANet的脸部InfraredD图像特征提取具体如下:

(1)融合InfraredD图像的PCANet第一层。对于输入图片{IR\-i,Depth\-i}\+N\-\{i=1\}(脸部红外图像和深度图像作为一个样本),滑动窗采用k1×k2大小的patch,patch之间的交集设为overlap(相当于步长,该阶段步长一般选1),如图2所示。输入图片{IR\-i,Depth\-i}的patch向量为:xIi,1,xIi,2,xIi,3,…,xIi,mn∈Rk1k2和xDi,1,xDi,2,xDi,3,…,xDi,mn∈Rk1k2,为了方便计算,用矩阵Xi表示:Xi=\[xIi,1,xIi,2,xIi,3,…,xIi,mn,xDi,1,xDi,2,xDi,3,…,xDi,mn\],然后由式(1)(以一张图片的所有patch为例,而红外和深度两张图片要除以2mn)求协方差矩阵Convi。

Convi=(X\+Ti-avg\+T)(Xi-avg)/2mni=1,2,3,…,N(1)

其中,avg为所有patch向量的每一维均值。

然后由式(2)对协方差矩阵加和(ConvSum):

ConSum=∑Ni=1ConvI(2)

并除以N,得到所有样本协方差的均值(Conv):

Conv=ConvSumN(3)

对其求特征值和特征向量(eigvals,sigVects):

eigvals,eigVects=eig(Conv)(4)endprint

然后取特征值大的前L\-1个特征向量组成w\+1\-l(根据实验结果选取适当的特征向量数量):

w1l=eigVects\[0:L1\](5)

最后由式(6)得到PCANet第一层的输出:

{IRLi,Depthli}={{Ii,1,Ii,2,Ii,3,…,Ii,mn}×w1l,

{Di,1,Di,2,Di,3,…,Di,mn,}×w1l}

i=1,2,3…,Nl=1,2,3,…,L1(6)

其中Ii,j和Di,j是去除均值的patch向量,L1为特征向量的数量(决定PCANet第一层的输出)。

(2)融合InfraredD图像的PCANet第二层。将PCANet第一层的输出作为第二层的输入,按照式(1)中的方法得到w2l,最后求得第二层的输出为:{OIRlki,ODepthlki}(i=1,2,3,…,N;l=1,2,3,…,L1;k=1,2,3,…,L2)。

(3)融合InfraredD图像的PCANet输出层:哈希编码和直方图处理。哈希编码过程,按照式(7),将红外图像和深度图像PCANet第二层的输出图像对应相加,然后经过哈希编码生成哈希矩阵,并将其相加,产生L1个哈希矩阵:

Tli=∑L2k=12k-1(H(OIRlki)+H(ODepthlk\-i))

i=1,2,3,…,N;l=1,2,3,…,L1(7)

其中H(·)是哈希函数,而输出的每个像素是在范围[0,2L2-1]中的整数。

对哈希矩阵提取直方图特征:将每一个哈希图像通过滑动窗口,对产生的每个patch统计直方图然后拼接在一起,之后将所有哈希图像的直方图特征拼接在一起组成最终的特征向量,如式(8)所示:

f\-i=\[Bhist(Tli),…,Bhist(TL1i)\]Ti=1,2,3,…,N(8)

3实验结果与分析

3.1数据库及实验设置

受驾驶员驾驶条件的限制,一般选用红外图像作为信息的输入,考虑到深度图像对光照变化不敏感,能反映出脸部深度信息,故本文驾驶员表情数据库采集的是脸部红外图像和脸部深度图像。设备依靠kinect选取驾驶员,跟踪其脸部并提取红外图像和深度图像信息,并建立对应的数据库(红外图像和深度图像分别为1 200张)。之后将驾驶员表情分为两组:一组为路怒表情,一组为非路怒表情。实验在Intercore,3.4GHz CPU和4G RAM的计算机上进行。

将本文方法(I+DPCANet)与3种方法进行了比较:基于PCANet脸部红外图像的驾驶员路怒表情识别方法(IPCANet)、基于PCANet脸部深度图像的驾驶员路怒表情识别方法(DPCANet)、基于PCANet脸部红外图像和脸部深度图像单独训练PCANet滤波器的驾驶员路怒表情识别方法(IDPCANet)。其中,基于PCANet脸部红外图像的驾驶员路怒表情识别方法仅使用红外图像训练PCANet滤波器;基于PCANet的脸部深度图像的驾驶员路怒表情识别方法仅使用深度图像训练PCANet滤波器;基于PCANet的脸部红外图像和脸部深度图像单独训练PCANet滤波器的驾驶员路怒表情识别方法采用脸部红外和脸部深度图像单独训练PCANet滤波器,之后用于各自图像的卷积。

3.2参数设置

patch大小选择:通过固定其它参数,选择不同大小的patch進行实验,图3显示不同patch对于分类结果的影响,而且7×7大小的patch能提供更好的性能。因此,选择7×7作为训练PCANet滤波器的大小。

L1和L2选择:由图4可知选择不同输出个数对于分类结果的影响。第一层和第二层的输出个数选为8,8具有更好的性能。因此,第一层的输出数量和第二层的输出数量都为8。

图3patch大小对分类准确率的影响

图4L1和L2对分类准确率的影响

求直方图时滑动窗大小和重叠率的选择:由图5、图6可知,这两个参数对实验结果的影响不是很大,分别选择:10×10和0。

图5求直方图时滑动窗大小对分类准确率的影响

图6求直方图时滑动窗重叠率对分类准确率的影响

3.3SVM分类器参数选择

对脸部红外图像和脸部深度图像提取完特征后,进行脸部表情的识别,本文选用的分类器是libSVM,其中采用了两种人脸表情:驾驶员非路怒表情和驾驶员路怒表情。

LIBSVM使用的一般步骤为:①按照LIBSVM软件包要求的格式准备数据集; ②对数据进行简单的缩放操作;③首先考虑选用RBF 核函数;④采用交叉验证选择最佳参数C与g (惩罚系数和核函数中的gamma函数设置);⑤采用最佳参数C与g 对整个训练集进行训练,获取支持向量机模型;⑥利用获取的模型进行测试与预测。

在实验中,选择的SVM设置类型为CSVC,使用交叉验证计算各种参数搭配的分类精度,以便得到解决问题的最佳参数搭配。C和g是 SVM 中的重要参数,针对选定的训练集,选用7折交叉验证选取最佳的C和g参数搭配,以训练分类模型。

3.4性能比较

白天和夜间红外图像和深度图像变化不大,可以一同进行性能比较。表1显示了对测试集中路怒表情(road rage)和非路怒表情(else)进行识别的比较结果。显然,I+DPCANet方法准确率最高,其次是IDPCANet 方法。图7显示对路怒表情(road rage)和非路怒表情(else)识别的详细比较结果,可见4种方法普遍对路怒表情的识别准确率会低一些。

4结语

本文基于PCANet提出了一种融合脸部红外和深度图像的驾驶员路怒表情识别方法。首先使用驾驶员

脸部的红外图像和深度图像对应的表情(非路怒表情和路怒表情)训练PCANet过滤器;之后,通过训练得到的过滤器提取脸部红外图像和深度图像的表情特征,再进行哈希编码并提取直方图特征;最后,通过提取的特征训练得到SVM,进行驾驶员非路怒表情和路怒表情的识别。实验结果表明,本文提出的方法能够更有效地识别驾驶员路怒表情,从而判断路怒症,以防止因驾驶员的过激行为造成交通事故。

参考文献参考文献:

[1]韩振.远离“路怒症”[J].家庭科技,2015(6):3839.

[2]王浩颖.路怒症:怒从何来[J].婚姻与家庭:社会纪实,2015(7):2426.

[3]骞宪忠,郑建中.生理心理社会医学模式视角下的路怒症剖析[J].中国社会医学杂志,2011(4):269271.

[4]金金.交通文明行“路怒”需约束[J].青春期健康,2015(12):2426.

责任编辑(责任编辑:黄健)endprint