找回密码 注册

基本信息

项目名称:
基于驾驶员表情识别的车载伴侣
小类:
信息技术
简介:
本设计利用英特尔双核处理器,以行车安全为背景,应用表情识别技术,开发了驾驶员表情响应系统。本文详细给出了人脸表情识别算法,并且在统计与分析驾驶员表情识别结果的基础上,开发了驾驶员心理状态安全提示,以及有助于驾驶员心理调节的背景音乐自动切换功能;此外,当驾驶员安全受到威胁且无法用语音和肢体语言向他人求救时,还可利用自定义的特殊表情识别,以飞信方式发送自定义短信进行求救,从多方面保障驾驶员的行车安全。
详细介绍:
1系统方案设计本系统主要由人脸表情识别、车载伴侣功能实现两部分组成。 其中,音乐播放采用MFC中的Windows Media Player控件,将Windows Media Player插入到程序中。用户可将各种不同风格的曲目加入到其播放库中,则Windows Media Player 可根据表情识别的结果自动为用户选择相应风格的歌曲来调节用户当时的情绪。驾驶状态提示采用语音和字幕、图片相结合的方式,在屏幕上显示对应用户心的图片及文字,但因司机驾驶时眼睛需目视前方,不能过多注意屏幕,则对司机进行驾驶状态的语音提示,提醒司机要保持轻松愉悦的心情,注意交通安全。事故处理短信平台采用移动飞信方式,利用无线上网进行短信的发送。用户可以预先设定好当事故发生时能够第一时间通知到的人,在事故发生时,通过表情识别系统的作用发出求救信号,从而获救。 2 系统原理与算法实现 2.1 系统软件架构整个软件系统由用户登陆、人脸表情识别、后台数据库、音乐播放器、飞信语音提示几部分组成。。 1. 用户登录由于驾驶车辆的人员变动,所以必须对于不同用户进行切换。首先可以对多个人进行训练,存入多个人脸的人脸表情库。当用户驾驶时,可以点击本人的人脸表情库使用。当有未训练过的人使用该车时,可以新建用户,进行训练,即可应用该系统。 2. 人脸表情识别算法人脸表情识别算法主要包括训练样本采集、图像预处理(图像增强与平滑处理、二值去噪、人脸区域提取、瞳孔定位、姿势矫正与归一化)、特征提取、人脸表情判别等。 3. 数据库中间件当每个用户进行训练得到人脸表情库后,系统立即对人脸表情库进行处理得到表情特征维数、特征子空间、人脸表情库特征信息等,将这些信息存入到数据库中。当用户再次启用系统时,可直接利用数据库中的这些信息进行表情测试。若用户想更换数据库信息,则启用系统时可点击训练按钮更新人脸表情库,得到新的个人信息。用户的用户名及密码信息也是通过数据库来进行管理,以及歌曲和各种功能信息等都是通过数据库管理的。 2.2 系统整体工作流程系统首先对新建用户进行一次表情训练(中性,高兴,沮丧,生气,悲伤五种),然后对样本进行PCA特征提取,存储表情。现场抓取用户表情并送入车载系统中处理,最后根据不同的情况系统做出不同的响应,比如播放不同的音乐或通过飞信发出求救短信。系统整体工作流程分为训练、测试和功能实现三个部分。 2.3 表情识别算法 2.3.1 表情识别基本流程在进行人脸表情识别的图像中,含有人脸的有用信息,也含有大量的背景无用信息,而且图像质量不同,所以首先要对含有人脸的图像进行预处理,从图片中检测出人脸有用信息以及进行必要的图像质量改善,为后续工作做好必要的准备。然后通过PCA主元分析法对人脸特征进行降维,提取特征脸,最后应用最近邻判别法对表情进行分类,实现表情判别功能。 2.3.2 图像预处理本文选取了以下算法对人脸表情图片进行处理。首先要对图片通过光线归一化进行图像增强,改善光线对图片质量的影响,使过暗或过亮的图片能够在灰度范围内均匀分布,增强图像的对比度,然后对图像进行去噪处理以使图像平滑,进一步改善图片质量。再利用基于肤色的人脸识别算法分割人脸区域,通过对图像进行旋转将人脸扶正,再对图像进行去噪及灰度归一化处理,使图像的质量的得到进一步加强。1.图像质量改善图像质量改善分为以下两步:(1)中值滤波经过观察,图像在成像过程中因成像设备的问题会出现噪音,使图像变得模糊不清,所以需要对图像进行平滑滤波处理,本文采用非线性中值滤波的方法。平滑滤波[3]是一种对干扰脉冲和点状噪声有良好抑制作用,且对图像边缘能较好保护的低通滤波算法。采用中值滤波不能消除大噪声的影响,但它能很好地保持原灰度图像的分布特性。中值滤波的算法原理是,首先确定一个奇数像素的窗口W,窗口内各像素按灰度大小排队后,用其中间位置的灰度值代替原 灰度值成为窗口中心的灰度值 。(2)灰度线性变换本文采用灰度线性归一化的方法对图像进行光线归一化。 2.肤色区域提取本研究中采用的是彩色图片的人脸检测。肤色是人脸的重要信息,不依赖于面部的细节特征,对于旋转、表情等变化情况都能适用,具有相对的稳定性并且和大多数背景物体的颜色相区别。因此肤色特征在人脸检测中是最常用的一种特征。首先介绍一下YCbCr色彩系统。YCbCr色彩系统的特征是将亮度信号与色度信号分开表示,其中Y代表亮度,Cb、Cr是两个彩色分量,表示色差,一般是蓝色和红色的相对值。 (1) YCbCr色彩空间的肤色模型由于统计表明不同人种的肤色区别主要受亮度信息影响,而受色度信息的影响较小,所以直接考虑YCbCr空间的CbCr分量,映射为CbCr空间,在CbCr空间下,受亮度变化的影响少,且是两维独立分布。通过实践,选取大量肤色样本进行统计,发现肤色在CbCr空间的分布呈现良好的聚类特性,由此可建立在CbCr空间下的肤色模型。在该空间下,肤色区间满足77≤Cb≤127并且133≤Cr≤173。(2)YCbCr色彩空间的肤色分割根据CbCr空间的肤色模型,将人脸区域识别出来,并将识别出的人脸区域与背景分离,将原始图像转化为二值图像,其中肤色区域灰度赋值255,为白色区域;非肤色区域灰度赋值0,为黑色区域。 3.闭运算处理闭运算是先对图像进行膨胀然后腐蚀其结果(这里使用同一个结构元素),其最大的特点是能填充物体内的细小空洞、连接邻近物体、平滑边界,同时不明显改变其面积。由于肤色分割后所得二值图像的目标区域为白色,使用闭运算可以填平小孔,弥合小缝隙,而总的形状位置不变。 2.确定人脸区域在具有复杂背景的人脸图像中,背景中会有较多接近肤色的区域,在进行[4]肤色分割时不仅将人脸区域提取出来,同时将接近肤色的区域也提取出来。则在经过去噪的二值图像中,会有几块不连通的白色区域,若不进行处理,这些区域都会被认定为肤色区域。所以需要将这些白色区域识别出来,从中识别出人脸区域。本文选用区域生长发对白色区域进行识别。(1)区域生长法为了区分这些白色区域,本研究采用区域生长法进行图像分割,识别并标记各个白色区域。区域生长的基本思想是将具有相似性质的像素集合起来构成一个区域。在实际应用区域生长发时需要由以下步骤来实现: 1)先将二值图像的白像素点赋值为-1,黑像素点赋值为-2;逐行扫描图像,将遇到的第一个白像素点作为第一个区域的初始种子点,将其赋值为区域的标记号; 2)以种子点为中心,检测它的8邻域内的白像素点,若是,则将其与种子点合并,赋值为该区域的标记号,同时将这些点压入堆栈; 3)从堆栈中取出一个像素,将它作为种子点,回到步骤3); 4)当堆栈为空时,回到步骤2); 5)重复步骤2)-5),直到图像中每个白像素点都有归属时,生长结束。(2)人脸区域判别通过区域生长法,可识别出二值图像中的所有白色区域,并将每个区域进行标号。可根据这些标号对每个区域的特征进行检测,判别此区域是否符合人脸特征。 1) 通过二值图像的水平及垂直方向积分投影,可确定每个区域的上下及左右边界,并且记录每个区域的像素数目。 2)判断每个区域的特征是否符合人脸特征,具体有:区域面积大于图像面积的1%;高宽比介于0.8到2.5之间;肤色像素数目大于区域面积的55%;区域上部20%高度区域的灰度平均值与区域整体的平均灰度值的比值在0.1到0.85之间。如区域符合上述要求,则判定此区域为人脸区域。(3)利用投影分析定位人脸对判定为人脸的区域进行水平方向积分投影,记录每行的白像素个数[5],标记白像素个数最多的行,从此行开始向上遍历每行,若某行的白像素个数小于最大行的0.1倍,则停止遍历,把此行作为人脸区域的上边界。从最大行向下遍历每行,若某行的白像素个数小于每行的0.1倍,则停止遍历,把此行作为人脸区域的下边界。对判定为人脸的区域进行垂直方向积分投影,记录每列的白像素个数, 白像素个数最多的列,从此列开始向左遍历每列,若某列的白像素个数小于最大列的0.1倍,则停止遍历,把此列作为人脸区域的左边界。从最大列向右遍历每列,若某列的白像素个数小于最大列的0.1倍,则停止遍历,把此列作为人脸区域的右边界。 2.基于眼睛的人脸分割在本文的工作中,先将彩色图像转化为灰度图像,对灰度图中的人脸确定两眼瞳孔的位置。在此基础上利用两眼瞳孔作为基准,进行图像水平角度旋转和尺度缩放的归一化,将图像调整到标准的状态,为进一步的识别工作奠定很好的基础。 (1) 眼睛定位眼睛定位是基于灰度图像实现的,所以先要将彩色图像转化为灰度图像。通过查阅资料及试验,彩色图像是由RGB三通道组成。B、G、R三通道图像如图2.9所示。R通道图像直方图的组成成分大部分集中于灰度级较高(亮)的一侧,B通道图像直方图大部分集中于灰度级较低(暗)的一侧,而G通道图像直方图的成分覆盖了灰度级较宽的范围,具有比较高的对比度,包含的信息较多。而且G通道的灰度图像中眼睛、嘴巴与面部其他区域的灰度对比度较大,所以将彩色图像转换为灰度图像时,将彩色图像的G通道取出作为灰度图像进行操作。现在需要在人脸灰度图像中定位两眼瞳孔的位置,本文采用方向投影及两眼的对称性质相结合的方法。对脸部区域的左上和右上部分进行水平梯度图积分投影,并对积分投影的直方图进行归一化。 分别取出两梯度图积分投影最大值所在的行,将此两行分别作为左眼和右眼的y坐标。以y坐标为基准,取出眼睛的上下边界,设定眼部的高度为图像高度的0.08倍。对两眼部区域做垂直梯度图积分投影。因为眼部区域的左边可能存在鬓角或少量头发,眼部区域的右边因光线原因会出现鼻梁的阴影,这会使这两部分的梯度值较大,所以不做这两部分的垂直梯度图积分投影。对积分投影的直方图进行归一化,分别取出两梯度图积分投影最大值所在的列,将此两列分别作为左眼和右眼的x坐标,也即左右眼的瞳孔位置。以梯度图积分投影的方法取人眼瞳孔位置时,y坐标取的较为准确,x坐标只能实现粗定位。但经试验,以粗定位的两眼为基准做人脸分割也能满足本试验的要求。 2.3.3 人脸方向校正本文的图像旋转以眼睛瞳孔为基准,使两眼瞳孔的连线通过旋转保持水平。下面介绍一下图像旋转问题。先要确定旋转角度,图像旋转的目的是要使两眼瞳孔位置保持水平。所以取两眼瞳孔的纵坐标之差与横坐标之差的比值作为旋转角度的正切值。 但旋转后图像的大小一般会改变,在图像旋转变换中,可以把转出显示区域的图像截去,旋转后也可以扩大图像范围以显示所有的图像。本文中采用后一种做法,因若将转出显示区域的图像区域截去,则会使人脸图像缺失。 4中值滤波后图像 2.3.4 基于眼睛的表情区域分割根据眼睛瞳孔位置和几何模型确定矩形特征区域[12],裁剪该矩形区域获得纯表情区域。该矩形高2.2d,宽1.8d,在裁剪区域内O点固定于(0.6d,0.9d)处,即两眼瞳孔的中心位置,这保证了人脸位置的一致性。然后将取出的表情区域进行灰度归一化及尺度变换,得到统一大小的校准[13]图像。本文设定校准图像的大小为60*73个像素点,即保证了人脸大小的一致性,实现了几何归一化。2.3.5 PCA降维 PCA是一种对数据进行分析的技术[14],最重要的应用是对原有数据进行简化。正如它的名字主元分析,这种方法可以有效的找出数据中最“主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。 1PCA的数学模型设x = ( x1,x2, …, xn) T 为n 维随机矢量,则PCA具体计算步骤如下: (1) 将原始观察数据组成样本矩阵X ,每一列为一个观察样本x ,每一行代表一维数据。 (2) 计算样本的协方差矩阵: (3) 计算协方差矩阵Cx的特征值λi及相应特征向量ui,其中i= 1 ,2 , …, n。 (4) 将特征值按由大到小顺序排列,并按照下式计算前m 个主元的累积贡献率: 累积贡献率用于衡量新生成分量对原始数据的信息保存程度,通常要求其[16]大于85%即可。 (5) 取前m 个较大特征值对应的特征向量构成变换矩阵TT。(6)通过Y= TX 计算前m 个主成分,达到降低维数的目的。 2. PCA在图像处理中的应用设人脸图像的训练样本数为N,每张图像的像素个数为m,则PCA主元分析法应用于图像降维的步骤如下: (1) 将每张图像的所有像素作为一个列向量,则训练样本构成m*N的矩阵x; (2) 计算矩阵x的列向量的平均向量avg; (3) 将矩阵x的每一列向量与平均向量相减,得到新的样本矩阵X; (4) 计算样本矩阵X的协方差矩阵Cx; (5) 计算协方差矩阵Cx的特征值和特征向量; (6) 计算特征值的累积贡献率,取累积贡献率达到0.85的前n个特征值所对应的特征向量。将特征向量以行的形式存放,则特征向量矩阵的大小为n*m。这n个特征向量构成了表情图片的特征子空间。再将每一张表情图片向这个特征子空间上投影,则每张图片的特征数由m降为n,使进行表情判别时的计算量有很大的降低。PCA虽然可以大幅降低原始特征维数,其不足之处在于PCA对不同类别不加区分,丢失了一些重要的判别信息。 2.3.6 表情分类本文采用的分类方法是最近邻法。训练图片经PCA降维后取得特征子空[17]间,将训练图片在这个特征子空间上投影,得到列向量的矩阵X={x1,x2,……,xn}。再将测试图片向特征子空间投影,为了使待识别样本和训练样本进行相同的规范化处理,在将测试图片向特征子空间进行投影之前,必须采用训练图片的平均值对测试图片进行规范化处理。然后将经过规范化处理的测试图片向特征子空间投影,得到列向量y,计算列向量y与矩阵x中的量xi的欧式距离。 当计算出i属于哪一个类别,则可判定此测试图片属于哪种表情。 2.4 算法程序实现 1. 表情识别的程序流程下面是图像预处理的程序流程,其中肤色区域分割是基于YCbCr色彩空间的肤色模型,表情区域分割是基于眼睛瞳孔位置,将人脸眉毛、眼睛、鼻子、嘴巴所在区域分割出来。 3 设计总结本文主要介绍了表情识别的基本流程,分别探讨了人脸图像预处理的技术,人脸特征提取的方法,以及对表情进行分类方法的选定。本研究基本完成了表情识别的功能,运用灰度线性变换、中值滤波等方法实现了人脸图像的光线归一化及去噪处理,使人脸图像的质量得到提高;使用PCA主元分析的方法提取特征脸;并在此基础上进行表情分类。经过试验,表情识别的正确率较高,证明了此种表情识别算法的有效性。但这种表情识别算法具有一定的局限性,具体表现在以下几个方面。 1. 本文采用基于肤色信息的人脸检测,将RGB色彩空间的图像转换为YCbCr色彩空间,利用肤色在彩色分量Cb和Cr上的良好聚类特性将肤色区域检测出来。这种方法要求有较好的光照环境,一旦人脸光线过暗,就会使Cb、Cr的值超出预定的范围,从而出现人脸漏检情况。虽然图像经光线归一化后质量有所好转,但效果还是不太理想。 2. 眼睛瞳孔只能实现粗定位,所以在进行基于眼睛瞳孔的表情区域分割时会出现较大误差,是脸部区域不能实现完全标准化。 3. 在图像旋转中,图像的小角度旋转能使图像的质量令人满意,当图像出现大角度旋转时,会出现图像失真现象。 4. 本文的表情识别是基于人脸的正面,若脸部出现侧转情况,则表情识别率会降低,并且表情识别率会随着脸部侧转程度的加大而不断降低。 5. 本算法只能对夸张表情即动作幅度变化较大的表情进行识别。基于以上的不足,在以后的研究工作中,我们需要进一步研究人脸检测的方法,降低算法对光线情况的依赖性;并继续研究眼睛定位方法,实现眼睛瞳孔或眼角的精确定位。因时间有限,本研究只对表情识别在车载系统中的应用做了初步探讨,实现了驾驶状态提示、音乐播放、事故处理短信平台三项功能。但表情识别在车载电脑中可以实现的功能远不止这些,在以后的工作中,增加及完善基于表情识别的功能是我们研究的方向。

作品图片

  • 基于驾驶员表情识别的车载伴侣
  • 基于驾驶员表情识别的车载伴侣
  • 基于驾驶员表情识别的车载伴侣
  • 基于驾驶员表情识别的车载伴侣
  • 基于驾驶员表情识别的车载伴侣

作品专业信息

设计、发明的目的和基本思路、创新点、技术关键和主要技术指标

设计目的:通过分析驾驶员表情,给出情绪状态语音提示,并自动切换背景音乐,调节驾驶员心理状态,达到保障安全行车的目的。通过自定义表情识别,自动发送求救短信,紧急求救。基本思路:通过图像处理技术处理人脸图像,采用PCA主元分析法提取特征脸,与用户表情信息数据库特征数据匹配,识别驾驶员表情,并判断驾驶员心理状态,给出安全语音提示,并切换行车音乐,调节驾驶员情绪。紧急情况下,根据自定义表情特殊识别,短信求救。创新点:驾驶员心理状态对行车安全有较大影响。本设计首次将人脸表情识别技术应用于车载系统,保障驾驶员安全驾驶。技术关键点:人脸图像处理技术,人脸识别算法。技术指标:1表情识别的正确率;2系统功能响应时间;3人机交互的友好性;4心理状态提示准确度;5特殊表情的短信求救。

科学性、先进性

先进性:作品选用VS2010中的MFC作为表情识别及功能界面搭建的实现平台,首次将机器人表情识别技术应用于车载系统,开发驾驶员表情识别功能,保障驾驶员行车安全,拓展了表情识别的应用领域,并提出车载系统辅助行车安全新功能。在现有图像处理技术和OpenCV(计算机视觉开源代码库)工具支持下,作品根据车载系统应用背景和特点,运用灰度线性变换、中值滤波等方法,实现了人脸图像的光线归一化及去噪处理,提高人脸图像的质量,并且采用PCA主元分析法提取特征脸,并在此基础上进行表情分类与统计。 ↑ 复制至表单

获奖情况及鉴定结果

作品所处阶段

实验室阶段

技术转让方式

作品可展示的形式

模型、现场演示、录像

使用说明,技术特点和优势,适应范围,推广前景的技术性说明,市场分析,经济效益预测

使用说明:1、创建/选择用户;2、新用户表情训练(中性,高兴,沮丧,生气,悲伤,自定义六种表情训练);3、开始识别。使用操作方便,并且在行车中没有额外操作,方便驾驶员专心驾车。适用范围和推广前景:随着我国居民汽车保有量的激增,驾驶安全日益重要。电子行业的发展,行车电脑逐渐普及。该作品从驾驶员安全角度出发,融合认知科学、计算机视觉、模式识别技术,调节驾驶员心情,适用于当前各种车载设备,既可以单独使用,也可以移植嵌入到其他车载导航设备中,具有广阔的市场前景。 ↑ 复制至表单

同类课题研究水平概述

随着汽车行业和电子技术的发展,汽车电子装置成本在汽车整体成本中所占的比重越来越大。目前,汽车电子主要集中于动力(ECU——发动机电控单元)、底盘(刹车、助理转向、安全气囊等)、车身(后视镜、空调、雨刮等)以及车载导航娱乐四大部分。随着对交通事故成因的分析,驾驶员驾驶状态判别也正渐渐成为研究热点,出现了驾驶员疲劳监控等相关电子设备。心理专家认为,人的心理因素对交通事故的影响,主要表现在情绪上。心理学家Mehrabian指出,感情表露=7%语言+38%声音+55%表情,因此表情识别,能很好地分析驾驶员情绪,以便及时调节,保障安全行车。但目前,在车载系统当中,未出现相关研究文献。面部表情识别一直以来是认知科学、计算机视觉、模式识别等学科研究的热点,国际上对于这方面的研究目前也仅仅是处于起步阶段。美国耶鲁大学关于yeleface的数据库和日本ARF建立的日本女性表情数据库:提出融合局部特征和整体特片的方法实现人脸面部表现特征的提取。在每一个人脸图像上测量10个距离,把这些距离标准化后局部表情特征,用Fisher线性判别提取面部表情的整体特征;为了解决小样本问题,采取“PCA+FLD”的策略,先通过PCA把人脸图像向量投影到一个较低维的空间,再通过标准的FLD提取表情特征。融合后的特征输入到基于反向传播的前向型神经网络进行分析。表情识别是基于视觉信息对脸部的运动和脸部特征的形变进行分类的。因此表情识别主要包括脸部的获取、脸部特征提取和特征的分类。通常说来,表情识别是很困难的,因为它还依赖许多其它方面的因素,如:对人脸的熟悉程度;数据来源(在实验中所引起的情绪表情带有很明显的人为性质,这难以作为精确的科学研究依据);计算机不像人一样具有知识和经验,不能举一反三-如光照变化对图象的影响很大等,而现有的图象处理技术的局限性给特征提取造成了一定的困难,这些都是需要解决的问题。情感的表现方式有面部表情、语音和身体姿态三个方面,因此情感识别是一种多模式信息组合的识别。对其的深入研究必将沿着这个方向进行,即在以往的单模式研究的基础上,发掘各模式之间的相互关系,利用信息之间的相互关联来识别情感。已有的一些研究表明,组合多模式进行情感识别能大大提高识别率。但如何进行模式的组合,如何确定面部表情模式和其他模式之间的相互关系,也都是面部表情识别中需要继续进行研究的课题。
建议反馈 返回顶部