张立军 唐鑫 孟德建
(同济大学,上海 201804)
主题词:驾驶意图 机器视觉 特征提取 关联性
在“人-车-路”系统中,驾驶员是重要的参与者,其驾驶意图和表现出的驾驶行为对整个系统的安全性具有至关重要的影响。统计表明,接近90%的道路交通安全事故都是由驾驶员直接或间接导致的[1]。戴姆勒公司认为,提前0.5 s对驾驶员的危险行为进行示警可消除60%的追尾事故,提前1 s示警可消除90%的追尾事故[2]。因此,驾驶意图的识别可用于碰撞预警,有效改善道路安全性。
驾驶行为是驾驶意图的外在表现,汽车安全领域越来越多的学者希望通过识别驾驶员的驾驶意图对其驾驶行为进行早期预测。在驾驶意图产生阶段,其主要表征是头部和眼部运动状态的变化。为了进行驾驶意图的识别,需要提取眼部和头部的运动状态和特征。目前,基于驾驶员头、面部视觉特征的驾驶意图识别主要基于视觉特征,包括后视镜注视时间、扫视持续时间、头部水平和垂直转角标准差等,所采用的方法主要是利用秩检验等统计学检验方法分析不同驾驶意图下的视觉特征是否存在差异性,若差异性满足阈值即认为特征与意图有较强的关联关系,可以用于识别驾驶意图[3-4]。但是,当前研究对机器视觉特征的提取主要基于眼动仪,成本高,难以商业化。用于驾驶意图识别的特征选择主要依赖于主观判断,缺乏科学系统的依据。
在此背景下,本文进行了自然驾驶整车道路试验,开发了基于机器视觉的视线方向及头部姿态估计算法,并利用眼动仪验证了其有效性,构建了包含驾驶员头、面部视觉和运动特征以及驾驶员行为/意图的数据集,并使用T检验方法分析了头、面部机器视觉特征与驾驶意图的关联性,可为驾驶意图识别的特征选择提供科学依据。
2.1.1 试验平台搭建
基于试验车辆、Smart Eye眼动仪、测力转向盘、场景摄像头等搭建的自然驾驶整车道路试验平台及各仪器的连接关系如图1所示,试验仪器的规格如表1所示。其中,Smart Eye眼动仪主要由3个视线追踪摄像头、采集卡和主机组成。摄像头1与摄像头3固连有近红外光源,以提供稳定照明,同时,红外光源在眼睛中反射的耀点可以作为定位的参考点。采集卡用于摄像头及红外光源的供电和同步开闭。主机用于眼动仪采样频率、坐标定义等参数设置,及导出摄像头采集的视频。
图1 试验平台
表1 道路试验设备
该平台有3个功能:
a.利用眼动仪摄像头采集驾驶员驾驶过程视频图像,利用开发的视觉算法计算驾驶员眼部及头部的运动状态数据;同时,眼动仪内置算法也可直接导出驾驶员眼部、头部运动状态,作为真值验证视觉算法。
b.场景摄像头采集驾驶过程中车外环境信息,判断工况类别(左、右转弯/直行)。
c.利用转向盘力角测量仪采集试验过程中车辆的转向盘转角信号,作为判断驾驶意图产生的起始和终止时间的依据。
如图2所示,在左、右后视镜及前风窗玻璃的边缘布置标定点,用于后续标定确定各区域边界。
图2 标定点
2.1.2 试验路段及试验人员
分别在上海市嘉定区的开放道路和半封闭道路进行了试验。社会开放道路全程约38 km,包含城市道路、高速路、高架路等路段;半封闭道路为校园道路。本次试验共招募7位驾驶员,年龄22~43岁不等,驾龄均在3年以上,无散光。试验前24 h内保持充足睡眠,避免用眼过度,以保持较好的驾驶状态。
对于采集到的整段数据,通过观察场景视频推断出车辆及驾驶员行为,粗选出左换道、右换道与直行样本片段。在粗选时,保留换道前转向盘转角变化较小的一段数据。按照各粗选样本的转向盘转角信号对其进行精选。如图3所示,计算平直段的转向盘转角均值与标准差σ,根据拉依达准则,满足|θt-|>3σ的测定转角θt对应的起始时刻t即为换道行为的起点时刻,也是换道意图的终点时刻。以2 s为意图时窗大小,即认为转向盘开始大范围转动时刻为驾驶意图终点,该时刻前2 s为产生驾驶意图的起点[4-6]。对于直行片段来说,驾驶员没有明显的行为特征,且直行行为一般会持续一段时间,因此可根据场景摄像头中的车辆行为及转向盘转角信号,按照与左、右换道相同的时窗选取一段直行数据。
按照上述原则截取意图阶段样本数据,最终获得470组样本,其中左换道117组,右换道179组,直行174组。
驾驶意图产生阶段的主要表征是头部和眼部运动状态的变化。为了进行驾驶意图识别,需要提取眼部和头部的运动状态。基于机器视觉的运动状态估计方法设备简单、成本低、精度高且对驾驶员的干扰小,因此最适合用于研究驾驶员的行为。开发的视觉算法技术路线如图4所示。
图3 转向盘转角信号
图4 视线方向及头部姿态估计算法技术路线
利用主动形状模型(Active Shape Model,ASM)算法[7]进行人脸特征点定位。ASM算法包括模型训练和搜索两个阶段。在模型训练阶段,首先建立由若干个面部特征点坐标组成的形状向量作为面部的整体形状模型,然后建立形状向量中每个特征点的局部特征,用于调整整体形状模型的位置,使模型更加贴合面部。训练完成后得到总体形状模型和各点局部特征,就可以进行模型搜索,完成定位。
如图5所示为某正面人脸定位到的68个特征点,各特征点与面部较为贴合,可以认为算法有效。
图5 人脸特征点定位结果
3.2.1 瞳孔中心与普尔钦斑定位
在人脸特征点定位基础上,提取眼部感兴趣区域如图6a所示。可以看到瞳孔部位的灰度值与周围区域差别较大,为了准确找出瞳孔与周围区域的分界线,使用Canny算子[8]进行边缘检测,如图6b、图6d~图6h所示。结合瞳孔边缘的形状特点,使用霍夫变换[9]检测瞳孔。为了减小霍夫空间的维数,使用改进的2-1霍夫变换[10],即把霍夫变换分为2个阶段:检测图像中可能存在的圆心;根据找到的圆心计算圆的半径。瞳孔中心检测结果如图6i所示。
图6 瞳孔中心和普尔钦斑定位
普尔钦斑是近红外光在用户角膜上产生的高亮度反射点,如图6a所示,其亮度明显高于眼睛其他区域,故可以根据灰度值定位普尔钦斑。选择合理的阈值,将眼部图像二值化,普尔钦斑被较为准确清晰地提取出来。同时,由于人的眼球是湿润的球体,在转动时,眼部其他区域可能同样产生反光点,为了保证算法在复杂环境下的鲁棒性,防止其他高亮度反光点的干扰,选择离瞳孔中心最近的两个普尔钦斑作为候选位置。最终,提取到的普尔钦斑如图6c所示。
3.2.2 基于立体视觉的视线方向估计
为了计算驾驶员的三维视线,需要知道瞳孔中心及普尔钦斑的三维坐标,该问题可以基于立体视觉计算:以空间中某个待求的点P(Xw,Yw,Zw)为例,假设该点在2个相机中分别成像P1(u1,v1)和P2(u2,v2),并已知2个相机的投影矩阵为M1、M2,为3×4矩阵。根据相机的成像公式有:
式中,zc1和zc2为2个相机坐标系下点P的z坐标。
联立式(1)和式(2)可消去zc1和zc2,利用最小二乘法求解得到P点坐标(Xw,Yw,Zw)。
获得瞳孔中心及2个普尔钦斑的三维坐标后,利用图7所示的眼球模型估计视线方向,其中O为角膜球面中心,P0为瞳孔虚像,为真实瞳孔,C1和C2为红外光源所在点,P1和P2为红外光源的虚像,即普尔钦斑。
图7 眼球模型
O的位置可以通过求解直线C1P1与C2P2的交点得到,O与的连线即为视线方向。但是实际上是不可知的,而根据球面反射原理,瞳孔和折射产生的虚像在同一半径方向上,即和P0都在眼睛光轴上。因此可以使用OP0代替[11-12]。理论上C1P1和C2P2相交于O,但是在实际求解中,由于误差的存在,两条空间直线不会恰好相交。因此,这里计算两条空间直线的公垂线,将公垂线的中点作为点O。结合已求得的P0,向量OP0即为视线方向。
使用比例正交投影迭代变换算法(Pose from Or⁃thography and Scaling with Iteration,POSIT)求解头部的俯仰、横摆和侧倾角度,即头部姿态。该算法一般用来估计空间中物体的姿态,输入是物体上至少4个点的三维坐标以及这些点在图像上的对应位置,输出是待求物体的旋转和平移矩阵[13]。其核心思想为:对待求的物体,使用弱透视投影模型代替透视投影模型,求解弱透视投影模型所产生的方程组,得出待求物体的旋转和平移矩阵,以此作为初值。然后使用该初值更新弱透视投影模型,该模型相对于前述弱透视模型更加逼近透视模型,对其进行求解得到新的估计值。不断迭代直至估计值的变化小于阈值。
如图8所示,摄像机坐标系的原点在摄像机的光心Q,坐标系的XC轴和YC轴分别与图像物理坐标系的两轴平行,坐标系的轴ZC是摄像机的光轴,各轴的单位方向向量分别为i、j、k。摄像机的成像平面为G,光心距离为f。假设已知待检测物体上若干点M0,M1,…,Mn-1的三维坐标,在物体上以M0为原点建立物体局部坐标系。则要求取的问题转换为求解该局部坐标系和摄像机坐标系之间的平移和旋转矩阵。求解过程具体的算法流程如图9所示,其中n为迭代次数,εk(n)为第n次迭代的估计值,xk、yk为特征点Mk透视投影的像点坐标,x0、y0为特征点M0透视投影的像点坐标,x′、y′为特征点Mk弱透视投影的像点坐标,Z0为M0的ZC轴坐标。
图8 POSIT算法
图9 POSIT算法流程
计算得到旋转矩阵R的3个分量i、j、k:
根据旋转矩阵可以求出头部绕3个坐标轴旋转的角度:
为了保证视觉算法能够有效提取自然驾驶试验中驾驶员的视线方向与头部姿态,需要进行算法有效性验证。
对视线方向估计的精度进行评价时,由于视线方向是由3个分量组成的单位向量,为了方便比较误差,将各视线向量转化为水平和垂直方向角:
式中,x、y、z分别为视线向量的3个分量;α为水平方向角;β为垂直方向角。
将眼动仪采集到的视线方向作为真值,基于视觉算法估计得到的视线方向作为估计值,分别绘制水平视角与垂直视角随时间变化的曲线,如图10所示。由图10可见,估计视角与真实视角基本重合,可以体现被试人员的运动规律。同样绘制头部姿态俯仰角、侧倾角和横摆角3个分量的估计值与真值随时间的变化曲线,如图11所示。
图10 视线方向估计值与真值
图11 头部姿态角估计值与真值
计算视线方向估计、头部姿态角估计的误差均值与方差,如表2所示,估计值相对于真值的误差较小,验证了算法的有效性。
表2 视线及头部姿态估计误差
由于图像采集以及处理过程中会存在误差,基于视觉算法提取后的数据中依然可能存在“脏数据”。如果在分析时不加选择地使用这些数据,可能会产生错误的分析结果,因此需要清洗数据以便后续分析。
4.1.1 异常数据剔除
试验中眼动仪摄像头通过胶接固定在摄像头上,行驶过程中的车辆振动以及驾驶员异常操作都可能引起拍摄图像异常,需要对这些异常值进行剔除。根据拉依达准则,将样本中与平均值的偏差超过3倍标准差的测定值视为高度异常值,予以剔除。剔除前后的视线方向如图12a所示,对比可见,通过异常值剔除,消除了明显离群的视点。
4.1.2 缺失值填充
在图像采集过程中,某些姿态下面部特征点不可见;此外,当检测不到驾驶员或驾驶员眼睛闭合,无法计算视线方向时,视线方向的3个分量都将置为0,从而产生缺失值。为了恢复这部分数据,需要对数据中的缺失值进行填充。考虑到人运动的连续性,对于缺失值前、后2帧的值求均值,作为该帧的值。图12b以水平视角为例,展示了缺失值填充后的图像,补充了曲线缺失的部分,填充后的曲线较为完整。
4.1.3 滤波
缺失值填充后的各运动状态均值与真值较为接近,但是还存在一些高频噪声干扰。由于后续还要通过差分计算各运动的速度与加速度,为了减小这些衍生量的误差,需对得到的数据进行滤波,这里选择中值滤波对数据进行处理。仍以水平视角为例,滤波前、后的曲线如图12c所示,高频噪声被明显减小。
对清洗后的数据提取眼部水平、垂直运动特征和头部俯仰、横摆、侧倾运动特征。对于眼部运动特征,提取清洗后的水平和垂直视角,结合帧率进行差分,获得水平运动速度和垂直运动速度,对运动速度再进行差分即为运动加速度。对于每个意图片段均得出其角度、速度及加速度变化的数据,然后分别统计最大值、最小值、算术平均值、几何平均值、调和平均值、截尾平均值、中位数、下四分位数、上四分位数、极差、标准差、变异系数、偏度和峰度等14项常用统计特征。头部运动特征的提取方法与眼部运动特征的提取较为类似,同样统计上述14项统计特征。
图12 数据清洗
4.3.1 视野平面划分
试验前需进行标定,使用开发的立体视觉视线估计算法获取各标定点坐标,然后使用式(7)、式(8)将注视向量转化为水平和垂直方向角,以这些标定点的方向角作为各视野区域的边界。将各视野区域边界与视线方向角叠加到同一图中,如图13所示。
4.3.2 注视与扫视区分
驾驶员在观察环境时,有3种基本的眼部运动:注视、扫视和眨眼。注视是视线对准某一区域并保持相对静止的运动,通过注视提取环境中的关键信息。扫视发生于驾驶员对行车过程中的感兴趣目标的搜索过程或切换不同注视目标时。眨眼是一种不自主运动,在驾驶过程中与环境信息的获取和处理无关。本文只研究注视和扫视这两种基本眼动形式。
图13 视野平面划分及注视、扫视区分
以眼球运动状态作为注视和扫视的划分依据,将眼动速度的阈值设置为100°/s[14-16],即眼动速度小于100°/s则认为是注视行为。如图13所示,注视点大部分集中在前风窗玻璃中央、左、右后视镜和组合仪表等需要驾驶员视线稍作停留以提取信息的位置,而扫视点大部分在各注视区域之间,这也比较符合实际驾驶行为。根据视点类型与帧率进行计算,提取各区域的注视次数、注视时间、扫视次数、平均扫视时间、平均扫视角度和平均扫视速度等特征。
为了研究视觉特征与驾驶意图之间的关联性,需要分析不同驾驶意图下的视觉特征是否存在差异性,若差异性满足阈值即认为特征与意图有较强关联关系,可以用于识别驾驶意图。
箱线图是利用数据中的最大值、上四分位数、中位数、下四分位数与最小值来描述数据的一种方法,可以直观地表示差异性。以总注视次数为例,用箱线图表示其在左换道、右换道和直行情况下的数据分布,如图14所示,可以看出在不同驾驶意图下,总注视次数的分布虽然存在略微差异,但大体相同。
图14 总注视次数箱线图
对于差异性较小的样本,箱线图很难直观地判断样本是否存在差异性,这里使用独立样本T检验计算不同驾驶意图样本两两之间的差异性水平,如果差异性均小于阈值,则认为该特征与驾驶意图存在关联关系。计算不同驾驶意图下总注视次数的差异性:左换道-右换道、左换道-直行、右换道-直行之间的T检验结果分别是0.847、0.787、0.904。根据经验值选择差异性水平阈值0.05,可以看出各特征间的差异性水平均大于阈值,即不同驾驶意图间总注视次数的分布不具有差异性,因此总注视次数这一特征与驾驶意图没有关联关系。
采用相同的方法分析4.2和4.3节中提取的各个特征在不同驾驶意图下的差异性。结果表明:
a. 驾驶员注视特征中左、右后视镜注视次数、注视时间与驾驶意图有关联关系,扫视特征中平均扫视时间、平均扫视角度、平均扫视速度与驾驶意图有关联关系。
b.驾驶员眼部运动特征中,水平运动的部分特征与驾驶意图有关联关系,而垂直运动特征与驾驶意图没有关联关系;驾驶员头部运动特征中,横摆、侧倾运动的部分特征与驾驶意图有关联关系,而俯仰运动特征与驾驶意图没有关联关系。具体结果如表3所示。
表3 眼部、头部运动特征与驾驶意图的关联性
本文基于自然驾驶试验采集到的场景视频、驾驶员视频和转向盘转角信号,开发了基于机器视觉的视线方向及头部姿态估计算法,并用眼动仪验证算法的有效性;经过数据清洗后,使用箱线图和独立样本T检验统计了驾驶员的注视、扫视特征、眼部和头部运动特征与驾驶意图的关联性。
后续研究中:可引入车辆CAN信号中的转向盘转角、转向灯状态、车速等信息,对直行、换道等驾驶行为进行更准确的判断;视觉算法可基于帧间的运动特征进行目标跟踪,提高检测速度和准确率;可对各个特征与意图之间的关联性强弱进行排序,选取关联性较强的特征使用隐式马尔科夫模型识别驾驶意图。