一种基于视线的驾驶员注意力检测方法与流程

文档序号:13983305阅读:381来源:国知局
一种基于视线的驾驶员注意力检测方法与流程

本发明属于计算机视觉技术领域,具体是一种基于视线的驾驶员注意力检测方法,应用于驾驶员注意力检测场景当中。



背景技术:

目前,驾驶员分心驾驶是导致交通事故发生的主要因素。根据国家公路交通安全管理局(nhtsa)以及vtti的研究表明,70%的交通事故中都存在着驾驶员注意力分散的因素。驾驶员分心驾驶是指将驾驶员的注意力从专注于驾驶转移到其他任何活动上的行为。比如,发短信、打电话、吃东西、操作gps等常见行为都会导致分心驾驶。有研究表明,在驾驶同时进行其他任务时(发短信、打电话等)会加重驾驶员的认知负荷,而目前这种现象愈加频繁,也就导致了分心驾驶出现的频率越来越高。当驾驶员认知负荷增加时会体现在驾驶员的视觉行为和驾驶行为上。因此通过监视驾驶员的视觉行为能够有效的对驾驶员注意力进行监视。避免分心驾驶导致的危险。

基于视觉实时监测真实驾驶环境下的驾驶员注意力状态是相当具有挑战性的。难点主要包括:(1)存在白天,黑夜等不同的光照条件;(2)驾驶员的表情和头部姿态具有多样性;(3)驾驶员存在人种,性别以及年龄等差异;(4)驾驶员穿戴眼镜影响检测效果。驾驶员注意力检测算法主要包含两个方向,基于硬件或者软件的方法。基于软件的方法又分为基于头部姿态和头部姿态与视线相结合两类。facelab是一个商用的监测系统,使用基于立体视觉的眼动仪监测视线,头部姿态,眼睑以及瞳孔大小。这套系统已经应用于多个实际的辅助驾驶员场景中,但基于立体视觉的系统需要繁杂的初始化程序和昂贵的费用导致了其难以量产和推广。类似的,smarteye使用一个多摄像头系统生成驾驶员的3d头部模型,用于计算驾驶员的视线,头部姿态和眼睑状态。然而这种系统在商业汽车上进行推广的代价非常的高昂并且对于必须的硬件依赖非常的高,需要在车上额外安装硬件设施,极大的约束了系统的可移植性。因此,这类系统都很难在普通汽车上安装使用。



技术实现要素:

本发明所要解决的技术问题是提供一种基于视线的驾驶员注意力检测方法,基于视线估计算法以及头部姿态估计算法检测驾驶员状态,具备搭建简单,对不同年龄、性别和人种的人以及实际驾驶环境的不同光照条件具有良好的鲁棒性,实时性好等优势。

为解决上述技术问题,本发明采用的技术方案是:

一种基于视线的驾驶员注意力检测方法,包括以下步骤:

步骤1:获取人脸位置并定位2d人脸关键点坐标;

步骤2:根据步骤1求取的2d人脸关键点坐标,构建3d头部模型,提取驾驶员当前状态下的3d人脸特征,即3d人脸关键点坐标以及头部姿态;

步骤3:在眼部区域计算尺度不变特征变换(scale-invariantfeaturetransform,sift)特征,使用支持向量机(supportvectormachine,svm)训练模型,检测驾驶员是否穿戴墨镜,若穿戴墨镜则用步骤2获取的驾驶员头部姿态表示注意力方向;

步骤4:若没有穿戴墨镜,则构建简化的眼球模型,根据步骤1和步骤2求的2d以及3d人脸关键点坐标,获取其中的人眼关键点的2d以及3d坐标,并结合眼部空间结构关系计算3d坐标系下的视线方向,将视线方向作为注意力方向,所述人眼关键点包括上下眼睑和内外眼角点;

步骤5:根据步骤3和步骤4获取的注意力方向,结合划分的车内区域,确定驾驶员的注意力状态。

进一步的,在所述步骤1中,采用监督下降方法(superviseddescentmethod,sdm)提取2d人脸关键点坐标,具体为:

给定一张展开为m个像素的图片表示n个2d人脸关键点坐标在图像中的位置;设h是尺度不变特征变换特征提取方程,在训练阶段已知真实的2d人脸关键点坐标为x*,xk表示第k次迭代后2d人脸关键点的坐标值;然后通过迭代更新xk,最小化方程的值,实现2d人脸关键点坐标的求解;其中φ*=h(d(x*)),表示在人工标记的2d人脸关键点所对应的尺度不变特征变换特征;在训练过程中,φ*是已知量;

迭代更新xk的方程为:其中φk-1=h(d(xk-1))是上一组2d人脸关键点提取出的特征向量,h、jh分别是xk-1的海森矩阵和雅可比矩阵;使用梯度下降向量{rk}和重缩放因子{bk}更新坐标值:xk=xk-1+rk-1φk-1+bk-1,最终最小化f(xk)的值,使得xk成功收敛为x*,即当前图像中准确的2d人脸关键点坐标。

进一步的,在所述步骤2中,是通过解耦刚性与非刚性的头部运动来计算驾驶员当前状态下的3d人脸特征,具体包括3d人脸关键点坐标与头部姿态,即:

头部模型由形状向量表示,该形状向量将x,y,z坐标展开为一维列向量,其中n为步骤1中2d人脸关键点个数;通过facewarehouse人脸数据集训练,构建出能变形的面部模型,形状向量q通过特征向量vi和平均形状向量表示:

根据步骤1中2d人脸关键点坐标将2d人脸关键点坐标与形状向量投影到2d的结果进行比较,最小化2d人脸关键点坐标与形状向量的投影距离,最终获取驾驶员真实的形状向量以及头部姿态参数:其中,k是第k个人脸关键点坐标的索引,是投影矩阵,是选择矩阵,用于选取与第k个人脸关键点对应的顶点,是通过头部姿态角度定义的旋转矩阵,是驾驶员头部在3d坐标系下的坐标,s是用于近似透视图像形成的比例因子;e表示2d人脸关键点坐标与形状向量投影的距离,在方程e中使用最优化方法,迭代更新姿态参数以及形状系数β,最小化偏差总和e的值,最终驾驶员的头部姿态由姿态参数表示,3d人脸关键点坐标由q表示。

进一步的,在所述步骤3中,检测驾驶员是否穿戴墨镜具体为:

首先提取驾驶员眼部区域的尺度不变特征变换特征h1,...,hn,再将所有尺度不变特征变换特征组合成特征向量ψ,使用支持向量机在卡耐基梅隆(cmu)大学的multi-pie人脸数据库上进行训练模型,最后提取实时采集的眼部图像数据的尺度不变特征变换特征输入模型,判断是否穿戴墨镜。

进一步的,在所述步骤4中,采用基于3d眼球模型的视线估计方法来计算视线方向,具体为:

假设眼球是一个球形,瞳孔为与眼球镶嵌在一起的小球,则眼球中心相对于头部而言是一个固定点;

瞳孔中心检测:首先使用直方图均衡化、图像平滑、二值化方法,预处理眼部区域图像,再使用霍夫圆拟合算法检测瞳孔区域,取圆心作为瞳孔中心2d坐标;

检测出瞳孔中心2d坐标后,将其转化在3d坐标系下;根据步骤1和步骤2求得的2d以及3d人脸关键点,提取出其中的2d、3d人眼关键点,包括上下眼睑以及内外眼角点;首先三角化2d人眼关键点,确定瞳孔中心在哪个三角区域中,然后在该三角区域中,使用人眼关键点的3d坐标,通过三角区域顶点坐标计算三角区域的重心位置,重心位置坐标即作为瞳孔中心3d坐标;

通过眼球中心与瞳孔中心3d坐标组成的方向向量,作为驾驶员视线方向。

进一步的,所述步骤5具体为:

根据驾驶员穿戴墨镜情况,监测出驾驶员注意力方向后,计算注意力方向与车辆前挡风玻璃的交点,如果该交点不在驾驶前方区域内,则表示驾驶员当前处于注意力不集中的状态。

与现有技术相比,本发明的有益效果是:在真实驾驶的多种复杂环境条件下,实时准确的检测驾驶员当前的注意力方向。其配置简单,实时性好,同时适用于白天黑夜等不同光照条件,对不同特征的驾驶员具有良好的鲁棒性。

附图说明

图1是本发明检测方法的流程示意图。

图2是本发明中瞳孔中心检测过程及效果示意图;其中,从左至右分别是原始图像、直方图均衡化后图像、中值滤波后图像、二值化后图像及最终检测结果。

图3是本发明中眼部2d示意图。

图4是本发明中3d眼球模型示意图。

图5是本发明中驾驶员的注意力方向示意图。

具体实施方式

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

本发明中,使用ccd相机和近红外相机分别获取白天与夜晚的图像,使用面部表观以及形状信息进行训练,获取面部特征;然后解耦刚性与非刚性的头部运动使用最优化方法获取驾驶员的头部姿态;接着,使用sift特征训练svm模型检测驾驶员是否穿戴墨镜,若穿戴墨镜,则使用头部姿态代表驾驶员注意力方向,否则使用驾驶员视线方向作为驾驶员注意力方向,其中驾驶员视线方向通过简化的三维眼球模型中固有的几何关系求解;最后结合驾驶员注意力方向和车内的区域划分位置,确定驾驶员注意力状态。本发明方法流程如图1所示,详述如下:

一:获取驾驶员面部特征,检测人脸关键点

常用的面部特征提取算法采用参数化表观模型(pams)表达面部特征,该方法在人为标定数据集上使用主成分分析(pca)方法建立目标模型。但这种方法需要优化许多参数(50-60个),这也就导致其很容易收敛到局部最优解,无法得到准确的结果,而且pams仅仅对于训练样本中的特殊对象具有良好的效果,推广到一般性的对象时,检测鲁棒性不佳。最后,由于大多数据集包含的样本的局限性,pams只能对对称模型进行建模,无法解决非对称表情状态下的问题(如睁一只眼,闭一只眼)。

基于以上的限制,本发明使用监督下降方法(sdm)方法,该方法使用非参数形状模型,对非训练样本的情形具有较好的泛化能力。具体计算过程如下:

给定一张展开为m个像素的图片表示n个2d人脸关键点坐标在图像中的位置,h是尺度不变特征变换(sift)特征提取方程,由于sift特征具有128维,因此在训练阶段已知真实的2d人脸关键点坐标已知为x*,将算法检测的2d人脸关键点坐标设置为xk,xk表示第k次迭代后2d人脸关键点的坐标值;然后通过迭代更新xk。然后最小化下述方程:

实现2d人脸关键点坐标的求解。

其中φ*=h(d(x*))表示在人工标记的人脸关键点所对应的sift特征,在训练过程中,φ*是已知的。具体的,使用牛顿法对方程进行迭代求解,牛顿法假设方程是连续平滑函数,对于二次方程来说能够很好的收敛于最小值邻域内。如果海森矩阵是正定的,那么最小值可以通过求解线性等式获取,方程为:

其中φk-1=h(d(xk-1))是上一组2d人脸关键点提取出的特征向量,h、jh分别是xk-1的海森矩阵和雅可比矩阵,由于sift特征并不是可微的,因此海森矩阵和雅可比矩阵的求解需要使用数值近似的方式进行求解。考虑到数值近似方式的计算代价非常大,并且φ*在测试过程中是未知的,sdm使用一系列的梯度下降向量{rk}和重缩放因子{bk}更新坐标值:

xk=xk-1+rk-1φk-1+bk-1

最终xk成功收敛为x*,即当前图像中准确的2d人脸关键点坐标。

二:计算驾驶员头部姿态朝向

由于在实际驾驶环境下,驾驶员经常会改变其表情以及头部姿态。在这个场景下精确的检测头部姿态是一个非常具有挑战性的问题,本发明通过解耦刚性与非刚性的头部运动进行头部姿态估计。

头部模型由形状向量表示,该形状向量将x,y,z坐标展开为一维列向量,其中n为步骤一求解的2d人脸关键点个数。通过facewarehouse人脸数据集训练,构建出可变形的面部模型,该模型包含了许多类型的人的不同表情的3d面部形状。一个新的3d形状向量q可以通过特征向量vi,形状系数β和和平均形状形状向量表示:

根据求解的人脸关键点坐标将2d人脸关键点坐标与形状向量投影到2d的结果进行比较,最小化2d人脸关键点坐标与形状向量的投影距离,最终获取驾驶员真实的形状向量以及头部姿态参数:

其中,k是第k个人脸关键点坐标的索引,是投影矩阵,是选择矩阵,用于选取与第k个人脸关键点对应的顶点,是通过头部姿态角度定义的旋转矩阵,是驾驶员头部在3d坐标系下的坐标,s是用于近似透视图像形成的比例因子;e表示2d人脸关键点坐标与形状向量投影的距离,在方程e中使用最优化方法,迭代更新姿态参数以及形状系数β,最小化偏差总和e的值,最终驾驶员的头部姿态由姿态参数表示,3d人脸关键点坐标由q表示。

步骤三:检测驾驶员是否穿戴墨镜

本发明对于驾驶员穿戴各类眼镜都具有良好的鲁棒性,但由于驾驶员穿戴墨镜时不可能准确的检测出驾驶员的眼部状态和视线,因此在穿戴墨镜时采用头部姿态表示驾驶员的注意力状态,针对这一特殊情况,特别进行了驾驶员墨镜穿戴检测。

墨镜检测首先提取驾驶员眼部区域的sift特征h1,...,hn,然后将所有sift特征组合成特征向量ψ,使用支持向量机(svm)在cmumulti-pie人脸数据库上进行训练模型,最后将实时采集的眼部图像数据sift特征输入模型判断是否穿戴墨镜。

步骤四:检测驾驶员视线方向

视线是包含驾驶员注意力方向的关键信息。本发明采用了基于3d眼球模型的视线估计方法,该模型假设:眼球是一个球形,瞳孔为与眼球镶嵌在一起的小球,因此眼球中心相对于头部而言是一个固定点。瞳孔中心检测首先使用直方图均衡化、图像平滑、二值化预处理眼部区域图像,然后使用霍夫圆拟合算法检测瞳孔区域,取圆心作为瞳孔中心2d坐标,具体检测效果如图2所示。

检测出瞳孔中心2d坐标后,将其转化在3d坐标系下;根据步骤1和步骤2求得的2d以及3d人脸关键点,提取出其中的2d、3d人眼关键点,包括上下眼睑以及内外眼角点;首先三角化2d人眼关键点,确定瞳孔中心在哪个三角区域中,然后在该三角区域中,使用人眼关键点的3d坐标,通过三角区域顶点坐标计算三角区域的重心位置,重心位置坐标即作为瞳孔中心3d坐标。

本发明采用的3d眼球模型如图4所示,该模型已知左,右眼球中心oe与内眼角pc之间的向量分别是vl,vr。根据步骤二求得的人脸关键点坐标包含了内眼角pc的坐标,因此可以反向求解得到眼球中心的相机坐标,最终通过眼球中心与瞳孔中心3d坐标组成的方向向量,作为驾驶员视线方向。

步骤五:检测驾驶员注意力

根据驾驶员穿戴墨镜情况,监测出的驾驶员注意力方向后,计算其与车辆前挡风玻璃的交点,如果该交点不在驾驶前方区域内,则表示驾驶员当前处于注意力不集中的状态。注意本发明在未穿戴墨镜时仅使用左眼的视线作为注意力方向。

驾驶员注意力方向的空间位置关系如图5所示。o,o'分别为世界坐标系和相机坐标系的原点,(x',y',z')表示世界坐标系,(x,y,z)表示相机坐标系,两个坐标系原点位置相同,为摄像头位置。坐标系转换关系如下:p=rc/wp',其中p是相机坐标系下的点,p'是世界坐标系下的点,rc/w是从相机坐标系到世界坐标系的旋转矩阵。

需要注意的是之前步骤中计算的3d坐标值均是相机坐标系下的值,因此需要将其统一转化到世界坐标系下,首先将注意力方向转化为三维向量ugaze:

将其转化到世界坐标系下:

vgaze=rc/w(tgaze+ugaze)

最后,根据在世界坐标系下的vgaze与前挡风玻璃区域的交点所处区域位置,确定驾驶员当前的注意力状态。

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