驾驶员状态实时检测方法和装置与流程

文档序号:12365586阅读:318来源:国知局
驾驶员状态实时检测方法和装置与流程

本公开属于计算机视觉和图像处理技术领域,尤其是涉及一种驾驶员状态实时检测的方法和装置。



背景技术:

随着科技经济的发展,人们的生活水平日益提高,汽车已经成为人们生活中不可或缺的一部分,但与此同时交通事故数量也在不断增加,给人们的生命和财产造成了巨大的损失。其中驾驶员的疲劳驾驶和行驶时注意力不集中是引发交通事故的重要原因。疲劳是日常生活中常见的生理现象,是因人长时间的劳作无法得到充足的休息而引起的,但是由于疲劳驾驶造成的交通事故每年都给全世界各国造成了不可估量的损失。

有如下几种关于驾驶员的状态检测这方面的工作。首先D’Orazio等在文献“T.D’Orazio,M.Leo,C.Guaragnella,and A.Distante,A visual approach for driver inattention detection.Pattern Recognition,pp.2341-2355,2007.”中通过关注眼部行为来决定驾驶员的疲劳状况。打哈欠也是疲劳信号的一种,Abtahi等人在文献“S.Abtahi,B.Hariri,and S.Shirmohammadi,Driver drowsiness monitoring based on yawning detection.IEEE Conference on Instrumentation and Measurement Technology,pp.1-4,2007.”中通过打哈欠的频率和嘴巴张开的程度来进行检测。此外Murphy-Chutorian等人在“E.Murphy-Chutorian and M.Trivedi,Head pose estimation and augmented reality tracking:An integrated system and evaluation for monitoring driver awareness.IEEE Transactions on Intelligent Transportation Systems,pp.300-311,2010.”中使用了头部运动检测对于驾驶员进行监控和检测。

但是现有技术中的驾驶员状态检测依然存在鲁棒性不足、检测出错率高、检测速度慢等一些问题。



技术实现要素:

本公开的实施例公开了一种驾驶员状态实时检测方法,包括从摄像机拍摄的驾驶员视频图像检测脸部区域,从脸部区域检测眼部区域和嘴部区域,将所检测的眼部区域和嘴部区域归一化并与预先训练的眼部和嘴部模板匹配以确定驾驶员疲劳状态,利用局部约束模型从实时脸部区域检测面部特征点,将所检测的面部特征点利用世界坐标系、摄像机坐标系、图像物理坐标系和图像像素坐标系之间的转换进行三维建模以确定驾驶员头部姿态以及基于驾驶员疲劳状态和头部姿态判断驾驶员状态是否为疲劳。

在一些实施例中,检测脸部区域包括利用编码了不同视角的拓扑变化并在树之间具有部分共享池的混合树来检测脸部区域。

在一些实施例中,检测脸部区域还包括将视频图像转换到YCbCr颜色空间以及使用经验阈值进行肤色分割。

在一些实施例中,检测眼部区域包括使用边缘检测来检测眼部区域。

在一些实施例中,检测嘴部区域包括使用聚类和面部区域的空间关系来检测嘴部区域。

在一些实施例中,将所检测的眼部区域和嘴部区域与预先训练的模板匹配包括使用去均值相关系数放大相关性进行匹配。

在一些实施例中,所确定的头部姿态包括驾驶员注意力的方向。

在一些实施例中,利用局部约束模型检测面部特征点包括使用平均形状估计特征点位置,对于所估计的特征点位置提取形状变化,基于所提取的形状变化使用线性支持向量机获取响应图,在响应图取最大值处拟合将均方差最小化的二次曲线从而得到关于特征点位置的代价函数。

在一些实施例中,基于线性支持向量机的输出的局部约束模型的形状约束以及代价函数来得到用于特征点查找的目标函数,以及通过迭代更新目标函数直至收敛到最大值来检测面部特征点。

本公开的实施例公开了一种驾驶员状态实时检测装置,包括摄像机、存储器、处理器和警报器,其中摄像机用于拍摄驾驶员的视频图像,存储器用于存储所拍摄的视频图像,警报器用于向驾驶员发送警报以及处理器用于从所拍摄的驾驶员视频图像检测脸部区域,从脸部区域检测眼部区域和嘴部区域,将所检测的眼部区域和嘴部区域归一化并与预先训练的眼部和嘴部模板匹配以确定驾驶员疲劳状态,从实时脸部区域检测面部特征点,将所检测的面部特征点利用世界坐标系、摄像机坐标系、图像物理坐标系和图像像素坐标系之间的转换进行三维建模以确定驾驶员头部姿态,基于驾驶员疲劳状态和头部姿态判断驾驶员状态是否为疲劳;以及在驾驶员状态被判断为疲劳时指示警报器警告驾驶员。

本公开的实施例联合了基于人眼部和嘴部区域检测的眨眼和打哈欠状态的检测以及基于头部姿态检测的驾驶员注意力方向,能够结合驾驶员状态和注意力方向的确定结果对驾驶员是否疲劳驾驶进行综合分析,有助于提高检测的准确性和鲁棒性,从而防止驾驶员因注意力不集中发生事故。

附图说明

本公开提供了附图以便于所公开内容的进一步理解,附图构成本申请的一部分,但仅仅是用于图示出体现发明概念的一些发明的非限制性示例,而不是用于做出任何限制。

图1是根据本公开一些实施例的驾驶员状态实时检测方法的流程图。

图2是根据本公开一些实施例的局部约束模型的示意图。

图3是根据本公开一些实施例的驾驶员状态检测结果的图。

图4是根据本公开一些实施例的驾驶员注意力检测结果的图。

图5是根据本公开一些实施例的驾驶员状态实时检测装置的框图。

具体实施方式

下文将使用本领域技术人员向本领域的其它技术人员传达他们工作的实质所通常使用的术语来描述本公开的发明概念。然而,这些发明概念可体现为许多不同的形式,因而不应视为限于本文中所述的实施例。提供这些实施例是为了使本公开内容更详尽和完整,并且向本领域的技术人员完整传达其包括的范围。也应注意这些实施例不相互排斥。来自一个实施例的组件、步骤或元素可假设成在另一实施例中可存在或使用。在不脱离本公开的实施例的范围的情况下,可以用多种多样的备选和/或等同实现方式替代所示出和描述的特定实施例。本申请旨在覆盖本文论述的实施例的任何修改或变型。

对于本领域的技术人员而言明显可以仅使用所描述的方面中的一些方面来实践备选实施例。本文出于说明的目的,在实施例中描述了特定的数字、材料和配置,然而,领域的技术人员在没有这些特定细节的情况下,也可以实践备选的实施例。在其它情况下,可能省略或简化了众所周知的特征,以便不使说明性的实施例难于理解。

此外,下文为有助于理解说明性的实施例,将各种操作依次描述为了多个离散的操作;然而,所描述的顺序不应当被认为是意味着这些操作必须依赖于该顺序执行。而是不必以所呈现的顺序来执行这些操作。

下文中的“在一些实施例中”,“在一个实施例中”等短语可以或可以不指相同的实施例。术语“包括”、“具有”和“包含”是同义的,除非上下文中以其它方式规定。短语“A和/或B”意味着(A)、(B)或(A和B)。短语“A/B”意味着(A)、(B)或(A和B),类似于短语“A和/或B”。短语“A、B和C中的至少一个”意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。短语“(A)B”意味着(B)或(A和B),即A是可选的。

图1示出了根据本公开一些实施例的驾驶员状态实时检测方法的流程图。如步骤S101和S102所示,首先利用摄像机拍摄驾驶员的实施视频图像,并检测所拍摄并存储的视频图像的帧。在进行检测之前,首先应使用人脸检测算法从视频图像中提取驾驶员的面部所在的区域。由于在驾驶过程中需要快速且实时地检测驾驶员状态,可以使用Adaboost人脸检测器。Adaboost人脸检测器的原理是把一些比较弱的分类方法合在一起组合为较强的分类方法。在一些实施例中,Adaboost人脸检测器可以使用Haar-like特征,这种特征反映了图像中灰度分布的特点,可以用来描述人脸中灰度分布的特点。可以用黑色部分与白色部分像素和的差来计算一个特征(如眼部、鼻子、嘴部等)对应的特征值。在利用Haar-like特征来计算选取人脸的特征时,可以非常快速的进行计算采用积分图的方法从而保证了算法的实时性。积分图是一种能够描述全局信息的矩阵表示方法。积分图的构造方式可以是位置(i,j)处的值,ii(i,j)是原图像(i,j)左上角方向所有像素的和:

当采用如下两式,只需对原图像扫描一次即可计算出积分图:

ii(x,y)=ii(x-1,y)+s(x,y), (2)

s(x,y)=s(x,y-1)+i(x,y). (3)

其中是对积分图这一行及其以前行的像素值求和,并且有:s(x,-1)=0,ii(-1,y)=0。

单纯的Haar-like特征是一个弱分类器,通过弱分类器判断输入图像是不是人脸的方法太过简陋,所以我们需要把弱分类器组合成强分类器。弱分类器可以表示为:

在一个实施例中,弱分类器由子窗口图像x,特征f,指示不等号方向的p和阈值θ组成。组合T个弱分类器得到强分类器,组合方式如下:

其中相当于让所有弱分类器投票,再对投票结果按照弱分类器的错误率加权求和,将投票加权求和的结果与平均投票结果比较得出最终的结果。如果在检测中单独一个强分类器难以保证检测的正确率,则采用级联的策略能很好的解决这个问题。在一些实施例中的级联分类器中,每一个待检测窗口只有通过了当前层的强分类器才能进入下一层。这样大量的待检测窗口只需要最初几层的简单判断就可以被迅速淘汰,使得平均检测成本大大降低。如上所述的Adaboost的人脸检测器可以实时高效的检测出包含人脸的矩形区域,随后可以从检测到的区域中继续检测眼部和嘴部区域。

在一些实施例中,Adaboost的人脸检测器虽然速度较快但是因为受到姿态光照影响较大,容易出现误检。因此可以采用编码了不同视角的拓扑变化并在树之间具有部分共享池的混合树构造人脸检测器来检测脸部区域。在该混合树中所有的树利用了公用的部分模版的共享池,可以形成有效的学习和推理,并且对不同姿态以及复杂场景的检测较为鲁棒,并提高检测的精度。

在一些实施例中,可将视频图像转换到YCbCr颜色空间并使用经验阈值进行肤色分割。在YCbCr颜色空间中Cb和Cr分别代表蓝色和红色分量,而Y为亮度分量,因此能将亮度和色度分离。肤色在YCbCr色彩空间中聚集在一个很小的范围内,并且YCbCr空间既能充分表达人脸肤色,又能在很大程度上消除了亮度影响,这降低了色彩空间的维数和计算复杂度。视频图像的RGB模型与YCbCr空间的转换关系为:

Y=0.299R+0.587G+0.114B, (6)

Cb=-0.1687R-0.3313G+0.5B, (7)

Cr=0.5R-0.4187G-0.0813B. (8)

通过实践选取大量肤色样本进行统计,发现肤色在CbCr空间的分布呈现良好的聚类特性,统计分布满足77≤Cb≤127并且满足133≤Cr≤173。因此可以利用人工阈值法将肤色与非肤色区域分开。通过肤色分割的方法,我们可以从检测到的包含背景的人脸图像中将脸部区域和背景分开,获取到脸部区域。

如步骤S103和S104所示,在利用以上所述的方法获取人脸区域后,对检测中的人脸进行眼部和/或嘴部的提取。在一些实施例中,可以通过快速的眼部检测算法继续检测人眼。获取到包含两个眼睛的矩形区域。对该区域执行边缘检测算法以检测眼部区域。例如,对眼部区域可以使用Sobel边缘检测算法提取人的眼部轮廓。Sobel算子包含两组3×3的矩阵,一个是检测水平边缘的,另一个是检测垂直边缘的。Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数进行提取。在一些实施例中,可以使用聚类和面部区域的空间关系来检测嘴部区域。例如,可以使用K均值(k-means)聚类的方法去分割嘴部区域。像素是基于明亮程度分类的,以这种分类方式像素最大有255类,这里可以将其分成5-10类。通过K均值算法能够选择合适的阈值并且选择出检测不够明亮的部分所需要的聚类等级。最终图片中分割出来的区域为嘴部。

在提取眼部区域和嘴部区域之后,将眼部区域和嘴部区域归一化并与预先训练的眼部和嘴部模板匹配以确定驾驶员疲劳状态,如步骤S106所示。例如,由于驾驶员头部到摄像头的距离和不同个体之间的差异性等会导致摄像头获取到的每一帧的人眼和/或嘴部大小总是不尽相同的,所以可将眼部模板和/或嘴部模板归一化到一个固定尺寸以便于比较。可以对于获取到的脸部和嘴部区域通过去均值相关系数进行匹配来进行模板匹配:

将两个向量的相似部分减去,可以放大相关性。通过模板匹配的方法将摄像机实时获取的面部特征与事先训练好的模板进行匹配判断眼部和嘴部状态,确定它们处于闭合还是张开的状态。眼部和嘴部的闭合或张开的状态可以根据预先确定的判断标准反映驾驶员是否疲劳。例如,如果检测到连续多帧中驾驶员的眼部处于闭合状态,嘴部处于张开状态,可以认为驾驶员在打瞌睡或打哈欠,并判断驾驶员处于疲劳状态。因此,可以如上述进行模板匹配来判断驾驶员是否处于疲劳状态。

本公开的实施例除了检测驾驶员的眼部和嘴部区域以外还用于同时检测驾驶员的头部姿态,以判断驾驶员的注意力情况,如步骤S105所示。在一些实施例中,采用基于约束局部模型(CLM)的方法来检测驾驶员的头部姿态。如图2所示,该方法包括构建形状模型(shape model)和形状变化模型(patch model)。

构建形状模型的方程可选用为如下式所示:

其中表示平均脸,P是形状变化的主成分组成的矩阵,取得其值的方法将在下文进行详细描述。假设给定M张图片,每张图片都包含了N个特征点,每个特征点坐标假设为(x,y),一张图片上的N个特征点用向量表示为x=[x1 y1 x2 y3 … xN yN]T,所有图像的平均脸可以用如下公式求出:

然后用每张脸的向量减去平均脸向量,可以得到一个均值为0的形状变化矩阵,如下表示:

对XTX进行主成分分析可以得到形状变化的决定性成分,即特征向量P和对应的特征值λ。得到P之后可以利用公式(10)~(12)得到一式中的B:

所求出的B即为形状变化的权重向量,从而完成形状模型构建,当给定一个权重B,即可通过以上公式重建出形状。

构建形状变化模型可以通过多个形状变化样本来训练支持向量机(SVM)分类器和/或检测器来进行。假设对每个特征点可以获得m个形状变化样本,且其中包含了正负样本,所有样本尺寸相同。在CLM中,可以使用输入向量的线性组合表示SVM的输出:

y(i)=wT·x(i)+θ. (14)

其中wT=[w1 w2 … wn]代表输入数据中每个元素的权重,θ是一个常量,作为偏置。在一些实施例中,可以使用从训练数据中提取的相同大小的形状变化,当形状变化来自于特征点的位置时,输出y为1。当形状变化从图片中随机采样而来时,输出y为-1。可以使用这些数据来训练一个svm,并获取参数w和θ。由此能够建立一个形状变化模型。

基于如上所述的形状模型和形状变化模型的建模,可以如图2所示使用CLM模型去搜索脸部。首先使用常规的快速人脸检测器在视频图像中定位人脸的大致位置,得到包含人脸的矩形框。常规的人脸检测器例如Viola-Jones人脸检测器等。然后在包含人脸的矩形框中估计特征点的位置,可以使用平均形状来估计特征点位置。对于所估计的特征点,从其位置提取形状变化,使用线性SVM获取响应图,记为r(x,y)。假设r(x,y)在领域范围内(x0,y0)处取得最大值,则尝试在此次拟合一个二次曲线,并最小化均方差。该二次曲线的表达式可如下所示:

r(x,y)=a(x-x0)2+b(y-y0)2+c. (15)

其中a,b,c是需要拟合的变量,并且能满足最小化均方误差:

通过公式15完成最小二乘法,可以获取公式16的参数,有了参数a,b,c,r(x,y)就等于关于特征点位置的代价函数,结合CLM形状模型的形状约束就构成了特征点查找的目标函数:

公式17中的第二项即为形状约束,bj是特征向量j的权重,而λj是特征向量对应的特征值。每次优化这个目标函数得到一个新的特征点位置,然后再迭代更新,直到收敛到最大值,就完成了人脸特征点拟合和/或检测。

在获得如上文所述的人脸特征点之后,可以通过n点透视的方法来解决头部姿态检测。在一些实施例中,采用2D到3D对应的姿态建模的方法确定头部姿态。空间某点P到其像点p的坐标转换过程可通过世界坐标系、摄像机坐标系、图像物理坐标系、图像像素坐标系这四套坐标系的三次转换实现,首先将世界坐标系进行平移和转换得到摄像机坐标系,然后根据三角几何变换得到图像物理坐标系,最后根据像素和公制单位的比率得到图像像素坐标系。反之亦可与以上步骤相反,将图像像素坐标系转化到世界坐标系和/或将3D姿态转换为2D图像。在相机的参数已经标定的情况下,可以得到精确的头部姿态。在缺少相机参数的实施例中,仍然可以根据图像的尺寸给出头部姿态的估计值。在如上根据人脸特征点对驾驶员头部姿势进行建模之后,可以通过头部姿态(例如头部朝向等)来判断驾驶员的注意力,如图1的步骤S107所示。如果连续多帧头部朝向没有朝着前方,可以认为驾驶员注意力不集中。

最后,可以综合考虑上文得出的驾驶员疲劳状态和头部姿态判断驾驶员状态是否为疲劳。例如,可以基于驾驶员状态为打呵欠和头部姿态显示注意力不集中的至少之一判定为真,确定驾驶员处于疲劳驾驶状态。判定疲劳驾驶状态的标准可以任意地事先确定,例如还可以确定为驾驶员疲劳状态和头部姿态均达到预定的标准或阈值时才判定驾驶员为疲劳驾驶。如图1步骤S108所示,在判定驾驶员为疲劳驾驶的情况下可以使用警报器实时提醒驾驶员保持注意力。

图3以及图4是根据本公开一些实施例的驾驶员状态检测结果和驾驶员注意力检测结果的图。如图3所示,当驾驶员眼部和嘴部检测结果显示为正常状态时,检测结果为非疲劳状态。而当驾驶员眼部和嘴部检测结果显示为瞌睡或打哈欠状态时,检测结果为疲劳状态。如图4所示,基于CLM模型检测头部姿态可以准确地定位驾驶员的注意力方向,并且可以在驾驶员的注意力方向一定时间未朝向前方的情况下判定为驾驶员疲劳。

图5是根据本公开一些实施例的驾驶员状态实时检测装置500的框图。驾驶员状态实时检测装置500包括存储器501、警报器503、摄像机505和处理器507。摄像机505用于拍摄驾驶员的视频图像。摄像机505可以包括能够拍摄静态图像或动态图像序列的任何成像设备。存储器501用于存储所拍摄的视频图像,并且可包括任何易失性存储器和非易失性存储器。警报器用于向驾驶员发送警报,且可以包括任何可以提供人类感官可感知的信号的声学、光学、体感等报警装置。处理器507可以包括复杂指令集计算机处理器(CISC)、精简指令集计算机处理器(RISC)、x86指令集兼容的处理器、多核处理器、多核移动处理器、微处理器、微控制器和/或中央处理单元(CPU)等。处理器507用于执行如上文所述的驾驶员状态实时检测方法,其所执行的动作的实施例类似于上文所描述的方法步骤的实施例,因此在此仅示意性地进行描述,具体细节可参照上文与图1相关联而描述的实施例。

本文中的部分方法步骤和流程可能需要由计算机执行,从而以硬件、软件、固件及其任何组合的方式来实施,并且可以包括计算机可执行的指令。该计算机可执行的指令可以以计算机程序产品的形式存储在机器可读介质上或者以从远程服务器下载的方式进行提供,并由通用计算机、专用计算机和/或其他可编程数据处理装置的一个或多个处理器读取和执行以实现方法步骤和流程中指明的功能/动作。机器可读介质包括但不限于软盘、光盘、压缩盘、磁光盘、只读存储器ROM、随机存取存储器RAM、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、存储卡、闪存和/或电、光、声以及其他形式的传播信号(例如载波、红外信号、数字信号等)。

另外需注意,本文中的术语“和/或”可表示“和”、“或”、“异或”、“一个”、“一些但不是全部”、“两者皆不”和/或“两者皆是”,但在此方面并无限制。本文虽然已经示出和描述了本公开的具体实施例,但对本领域技术人员显然可以在不脱离所附权利要求书范围的情况下进行众多改变、变化和修改。另外,在上述具体实施方式中,可看到各种特征在单个实施例中组合在一起以便简化公开内容。此公开方式不应解释为反映要求保护的实施方式需要比每个权利要求项明确所述的具有更多特征。相反,如权利要求所反映的一样,本公开的主题依赖的是比单个公开实施方式所有特征更少的特征。因此,权利要求书的每个权利要求项本身保持为单独的完整的实施例。综上,本领域技术人员将认识到在不脱离本公开的范围和精神的情况下,可在更广阔的各方面中进行改变和修改。所附权利要求书在其范围内涵盖了落入本公开真实范围和精神内的所有此类改变、变化和修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1