基于车内外视觉信息的行人碰撞预警方法

2019-07-16 08:50杨会成朱文博童英
智能系统学报 2019年4期
关键词:头部行人姿态

杨会成,朱文博,童英

(安徽工程大学 电气工程学院,安徽 芜湖 241000)

高级驾驶辅助系统(advanced driver assistance system, ADAS)是目前车辆安全领域的研究热点,该系统通过车载传感器收集并分析车内外环境数据,为驾驶员提供辅助信息并对危险进行提醒。碰撞预警是ADAS的一个重要功能,碰撞预警系统通常根据传感器获取的前方障碍物相对距离和速度计算碰撞时间(time to collision, TTC),可靠的预警一般设置为潜在的碰撞前约2 s的时间。目前应用的碰撞保护系统大多针对车辆间的碰撞,然而在人车碰撞事故中,没有保护装置的行人更容易受到致命的伤害。统计数据表明,在我国城市道路中,每年死于交通事故的人口中有接近50%为身处车外的行人。因此研究行人碰撞预警系统,在可能的碰撞发生前对驾驶员做出提醒,具有重要的现实意义。

行人碰撞预警的实现广泛采用视觉传感器获取行人位置信息,根据相对距离和车速做出判断。由于姿态与外形的多样性,行人检测一直是计算机视觉领域的一个重要研究课题。行人检测的经典方法有Viola等[1]提出的Haar-like特征和级联分类器,Dalal等[2]提出的HOG特征结合SVM分类器,以及Felzenszwalb等[3]提出的可变形部件模型(deformable part model, DPM)。卷积神经网络(convolutional neural networks, CNN)由于其强大的特征学习和表达能力,在计算机视觉领域得到了广泛的应用。深度学习目标检测方法著名的有Girshick等[4-5]提出的基于区域建议的卷积神经网络模型(region CNN, R-CNN),通过CNN完成特征提取与目标定位。

根据美国高速交通安全管理局(NHTSA)的统计[6],有超过80%的交通事故责任与驾驶员相关,其中注意力不集中是引发事故的主要原因。此外,预警系统的有效性受到驾驶员反应时间的影响,驾驶员注意力的差异会导致对危险的反应时间不同,精确的数值判断有时反而会给出错误的预警。近年来,研究人员利用内外视觉(lookingin and looking-out, LiLo)框架[16]实现车辆安全系统性能的提升,在检测车辆前方障碍物的基础上,增加了对驾驶员状态的监测。该框架利用传感器同时获取车辆周围环境、车辆运动状态以及驾驶员行为,系统同时理解车辆外部和内部信息并据此对潜在危险做出判断。在这一框架基础下的部分工作[17-18]特别研究了驾驶员对于道路行人的认知。

驾驶员状态的监控对于提高行车安全有着重要的促进作用,驾驶员的注意力与视线方向及头部姿势有着内在的联系,因此眼睛或头部的状态检测技术广泛用于注意分散监测。在实际驾驶条件下,使用非接触式方式进行可靠的视线方向估计非常具有挑战性。就危险预警而言,头部偏移情况下视线的分散程度相对更加严重,因此头部姿态也可以作为驾驶员注意状态判断的可靠指标[7]。在实际应用中,头部姿态的获取普遍采用非接触式的基于视觉的方法,通常需要先建立面部形状模型以定位面部特征点,根据特征点间的几何关系还原空间姿态。面部特征点定位的经典方法是Cootes等[8]提出的主动形状模型(active shape model, ASM),近年来广泛地使用有基于回归森林的方法[9]和基于深度学习的方法[10-11]。

车辆的行驶状态很大程度上取决于驾驶员是否注意到行人,通过监控驾驶员的注意状态,可以更加准确地衡量碰撞危险。结合对经验丰富的驾驶员驾车行为的研究,本文提出一种基于车内外视觉信息的行人碰撞预警方法,将行人状态分析和驾驶员状态分析同时加入模糊决策过程。本文的方法使用两个单目相机分别获取车外行人方位信息和车内驾驶员头部姿态信息,其中外部信息处理使用通道特征检测器定位行人,根据单目视觉测距原理估计距离与角度,内部信息处理使用级联回归方法定位面部特征点,根据EPnP算法估计驾驶员头部姿态,利用模糊推理系统融合内外信息对碰撞风险等级进行评估,可以满足系统决策的准确性和时效性。

1 行人位置估计

利用通道特征检测器,可以从车辆前方的道路监控视频中判断每一帧是否存在行人,并提取出行人在图像中的位置,进一步恢复出其在真实场景中的相对距离与角度,作为碰撞风险判断的依据。

聚合通道特征(aggregated channel features,ACF)检测器最早由Dollar等[12]提出,其结构如图1所示。检测器的特征构造利用色彩和梯度信息,选取LUV色彩空间3个通道、6个方向上的梯度直方图通道和1个梯度幅值通道共10个通道图像结合而成。对每个通道图像上互不重叠的2×2的块内像素求和,通道的输出为输入通道每个图像块内像素聚合构成的特征池。分类器由4 096棵深度为4的决策树通过软级联(soft cascade)方式[13]构造而成,分类器的训练采用RealBoost算法在Caltech行人数据集上进行。

图 1 通道特征检测器Fig. 1 Channel features detector

为了提高多尺度检测的速度,利用相邻尺度特征估计的方法构造快速特征金字塔。定义为原始图像I在尺度s处的特征采样,为通道变换,文献[10]通过对INRIA行人数据集图片在不同尺度下提取的通道特征进行统计分析,发现尺度s的通道特征与原始图像通道特征之间满足以下关系:

对于输入的640像素×480像素大小的待检测道路图像,以间隔8个尺度的通道图像精确计算,其余尺度的通道图像近似估算的方式构造特征金字塔,在不同尺度的特征图上用64×32的滑动窗口遍历,用训练好的分类器对每个候选区域进行判断,输出包含行人的窗口边框坐标及相应的分类得分,最后用非极大值抑制(non-maximum suppression, NMS)消除重叠的窗口。

图 2 单目视觉距离估计模型Fig. 2 Monocular vision distance estimation model

图 3 行人检测与距离估计结果Fig. 3 Pedestrian detection and distance estimation

2 驾驶员头部姿态估计

为了计算头部姿态,首先需要建立面部形状模型,得到精确的面部特征点坐标。再根据面部几何模型,利用特征点的几何位置和几何约束关系可以快速估算出头部姿态的方向参数。

多任务级联卷积网络(multi-task cascaded convolutional networks, MTCNN)[9]是目前速度与精度最好的人脸检测器之一。MTCNN由3个卷积网络级联构成,分类器级联可以大幅提升检测速度,利用卷积网络提取的更加高级的特征可以提高分类的准确性,此外由于卷积网络更好的区分能力,级联框架的层数也会相应地减少,从而降低整体的计算开销。同时利用卷积神经网络的多任务学习能力,实现人脸及特征点的联合检测,网络输出脸部边框坐标和左眼中心、右眼中心、鼻尖和嘴巴两端5个特征点的坐标。

在计算机视觉中,物体姿态是指其相对相机的方向与位置。由于安置在车内的相机镜头正对驾驶员面部,因而根据头部姿态可以判断驾驶员的注意方向。头部姿态估计可以视为多点透视(perspective-n-point, PnP)问题,根据2D-3D特征点间的投影关系求解头部姿态参数。

针孔相机模型如图4所示。O-XYZ为相机坐标系,F0-UVW为世界坐标系坐标,为头部三维模型上的某个特征点,其对应于图像平面上的特征点为。为相机焦距,为相机光心。相机坐标系与世界坐标系之间的对应关系如下所示:

式中:R为旋转矩阵,可以表示头部姿态; T为平移向量。

图 4 头部三维模型到图像平面特征点的投影Fig. 4 Projection of 3D model of the head to the feature points of image plane

本文使用EPnP算法[15]求解姿态参数。EPnP算法利用4个虚拟控制点的线性加权表示实际参考点在相机坐标系下的坐标,4个虚拟控制点为,则世界坐标系中的参考点可以表示为

同理,相机坐标系下对应的参考点可以表示为

将旋转矩阵转换为姿态角pitch、yaw和roll,可以直观地表示头部朝向,其变换关系如下:

本文使用MTCNN输出的左右眼中心、鼻尖、左右嘴角5个特征点作为参考点,估计驾驶员头部姿态角,结果如图5所示。

图 5 驾驶员头部姿态估计Fig. 5 Head pose estimation of the driver

3 碰撞风险评估

碰撞保护系统通常根据传感器获取的道路障碍物距离和速度信息计算碰撞时间(time to collision, TTC),当碰撞时间小于阈值时做出警告。然而受到行车环境、驾驶员精神及身体状态的影响,驾驶员对道路危险的反应时间存在差异,精确的数值分析有时反而会引起错误的预警。实际道路中,经验丰富的驾驶员并不会精确计算距离或碰撞时间,而是使用语义信息表达路况,例如用远、中、近、很近表示前方物体距离,用很快、快、适中、慢表示当前车速等。可以近似认为,驾驶员对于车辆前方潜在碰撞风险的估计都是基于一系列if-then规则做出的决策,并且判断结果在大部分情况下已足够准确。

本文构建一种基于道路和驾驶员信息的模糊推理系统,对输入信息进行决策级融合输出碰撞风险估计,包括低风险(low-risk)、中等风险(midrisk)、高风险(high-risk)和极高风险(very-highrisk) 4个等级。系统的输入为道路状态信息和驾驶员状态信息,式中道路状态信息表现在行人与车辆间的纵向距离(Y_distance)和横向距离(X_distance),驾驶员注意方向信息表现在头部垂直方向转角(pitch)和水平方向转角(yaw)。模糊推理使用Mamdani规则,如式(11)所示:

为了降低论证的复杂性,取行人的纵向距离Y_distance与横向距离X_distance,驾驶员头部水平转角yaw 3个输入参数构建模糊推理系统。输入参数Y_distance与X_distance模糊化使用三角隶属度函数,其中Y_distance的模糊集论域为[0,20],X_distance的模糊集论域为[0, 5],在论域上的取值均为{close, mid, far},如图6(a)和图6(b)所示。输入参数yaw模糊化使用高斯隶属度函数,模糊集论域为[-30, 30],在论域上的取值为{left,center, right},如图6(c)所示。系统输出参数Risk设置{low, mid, high, veryhigh}4个等级,模糊集论域设为[0, 1],使用高斯隶属度函数,如图6(d)所示。

图 6 模糊系统输入输出隶属度函数Fig. 6 Input/output membership functions of fuzzy system

根据Mamdani规则构建模糊推理规则,共设置27条模糊规则,涵盖了输入输出参数在论域上的所有取值,具体如表1所示。

利用重心法进行解模糊化,根据系统输出的数值可以判断出对应的碰撞风险等级。由此构建的模糊推理系统通过对车内外环境下的多种输入参数的模糊融合,可以为人车碰撞事故的预警提供一定的指导。和

表 1 模糊推理规则Table 1 Fuzzy inference rules

4 实验分析

图像采集使用安置在车内的两个单目相机,其中一个相机安放在前挡风玻璃后,镜头对准前方道路,另一个相机安放在仪表盘上,镜头对准驾驶员。为了提高系统的处理速度,视频分辨率设为640×480。在实际道路采集的视频中,选取车辆在路口转弯时的30 s片段进行分析,其中部分时间点采集的车内外图像如图7所示。

图 7 视频不同时间点采集的车内外图像Fig. 7 Interior and exterior images collected at different time

根据第1~3节所述的方法对车内外视频进行逐帧处理。在同步拍摄得到的图像中,提取行人相对本车的纵向距离(Y_distance)和横向距离(X_distance)作为道路状态数据,提取驾驶员的头部方向角(pitch, yaw, roll)作为驾驶员状态数据,车辆内外信息如图8所示。

图 8 行人与驾驶员状态数据Fig. 8 Data of pedestrian and driver status

根据图8所示数据对提出的碰撞预警方法进行分析:1) 视频开始处车辆驶入路口准备左转,此时未检测到前方行人,驾驶员头部水平转角(yaw)在-12°~-10°之间,此时不存在风险。2) 在18~20 s时间段,驾驶员出现注意力不集中情况,头部水平转角(yaw)最大达到-30°,此时驾驶员头部朝向左侧。在同一时间段的道路图像序列中检测到2个行人,分别记为P1与P2。行人P1与车辆的纵向距离Y1_distance≈20 m,横向距离X1_distance≈0.7 m;行人P2与车辆的纵向距离Y2_distance≈8 m,横向距离 X2_distance≈2 m。3) 在28~30 s时间段,驾驶员头部水平转角(yaw)最大达到28°,驾驶员注意力集中于道路右侧。与此同时,道路图像中检测到行人P1,其纵向距离Y1_distance≈2 m,横向距离 X1_distance≈4.5 m。

取行人的纵向距离Y_distance与横向距离X_distance,驾驶员头部水平转角yaw 3个输入参数构建模糊推理系统,如图9所示。

图 9 3个输入(Y_distance, X_distance, Yaw)的模糊推理系统Fig. 9 Fuzzy inference system of three inputs (Y_distance, X_distance, Yaw)

通过模糊推理得到的碰撞风险等级解模糊平面如图10所示。图10(a)为t=19 s时的解模糊平面,模糊推理系统对行人P1的输出为0.126 6,判断为低风险(low-risk)等级,对行人P2的输出为0.647 1,判断为高风险(high-risk)等级。图10(b)为t=30 s时的解模糊平面,模糊推理系统的输出为0.119 5,由此得到的碰撞风险等级为低风险(low-risk)。在 Core i5 CPU,8 GB RAM,GTX1060 GPU运行环境下,该碰撞预警系统可以达到4~5 f/s的运行速度,基本可以满足实时性的要求。

图 10 碰撞风险等级的解模糊平面Fig. 10 Defuzzified surface of the collision risk level

结合图7中道路与驾驶员图像,分析系统对于风险判断的有效性:1) 在19 s处,车辆内部信息表明驾驶员视线落在车辆左边区域,无法有效掌握前方路况信息,因而处于危险状态;车辆外部信息中,由于我国城市道路每条车道宽度为3.5 m,行人P1的横向距离表明其在当前车道内,但其纵向距离其余本车相距较远,因而暂时处于低风险区域。行人P2的纵向距离已处在危险距离内,横向距离表明其距本车右侧车道线较近,因而存在碰撞风险,需要提醒驾驶员注意。2) 在29 s处,此时根据驾驶员头部姿态可以判断其未注意道路前方,视为危险状态,然而行人P1的横向距离表明其在本车右侧车道且距离较远,虽然纵向距离较近,实际路况为安全状态。上述根据车内外图像分析的结果与模糊推理系统的输出一致,说明本文提出的基于内外视觉信息的行人碰撞预警方法较为可靠,可以在行车过程中为驾驶员提供辅助决策。

5 结束语

本文提出一种基于车内外视觉信息的行人碰撞预警方法,利用两个单目相机同时提取道路行人和驾驶员状态数据,通过模糊推理系统结合车辆外部行人信息与车辆内部驾驶员信息进行评估,给出当前场景下的风险等级,对可能发生的人车碰撞做出预判。在实际道路上的实验表明,该方法对于不同场景下的危险判断具有很好的效果,可以在驾驶员注意力不集中时提供有效的指导。然而由于视觉传感器自身的限制,行人的定位非常依赖采集图像的质量,结合多种传感器信息提升车辆外部信息获取的可靠性还有许多需要进一步开展的工作。

猜你喜欢
头部行人姿态
自动驾驶走向L4 企业头部效应显现
毒舌出没,行人避让
火箭的头部为什么是圆钝形?
攀爬的姿态
路不为寻找者而设
全新一代宋的新姿态
我是行人
曝光闯红灯行人值得借鉴
另一种姿态
蚝壳巧制作