作者简介:张波(1987-),男,博士研究生.研究方向:机器视觉与模式识别.E-mail:jsxyzb163@163.com
为了对驾驶过程中使用手持电话行为实施监控和预警,提出了一种基于机器视觉的驾驶人使用手持电话行为检测方法。该方法使用ASM算法分割出面部肤色区域,并运用F-B Error算法在头部发生偏转时对肤色区域进行跟踪。在此基础上,提出用自适应肤色范围提取算法进行肤色检测,并确定手部图像候选区域。提出了CMOG特征描述手部图像,并综合使用CMOG特征与HOG特征在手部图像候选区域中确定驾驶人的手部图像。最后,运用三模式逻辑判别方法判别驾驶人使用手持电话的行为。实验结果表明:该方法能够有效检测出驾驶人在驾驶过程中使用手持电话的行为。
A machine vision based method is proposed to detect handheld phone use behavior. In this method, first, Active Shape Model (ASM) algorithm is used to segment the skin-color region of the driver face, and the region is tracked by F-B error algorithm when the head moves. Second, an adaptive skin-color range extraction algorithm is proposed to detect the skin-color pixels and determine the candidates of hand images. Third, Co-occurrence Matrix of Oriented Gradients (CMOG) is proposed, which combined with Histogram Oriented Gradient (HOG) feature is used to detect the real hand image from the candidates. Finally, three modes logic discriminating method is used to identify the driver state. Experiment results show that the proposed machine vision based method can detect the handheld phone use behavior effectively.
近年来, 驾驶过程中拨打和接听手持电话行为引起了社会的广泛关注。驾驶时使用手持电话势必会分散驾驶人的注意力, 降低对外部环境的感知能力, 减弱对交通情况判断的准确性, 造成驾驶人反应速度降低, 容易引发交通事故[1-2]。目前, 国内外对于驾驶人使用手持电话行为的危害研究较多。李平凡等[3]通过在驾驶模拟器上进行的仿真分析表明, 驾驶过程中拨打手持电话会大幅增加驾驶人的脑力负荷, 极大地影响驾驶人的正常驾驶。Tornros等[4]通过研究发现, 驾驶人使用手持电话容易降低对车辆的有效控制, 引起车辆速度的降低, 引发交通事故的风险增加。Ishigami等[5]通过总结相关研究成果发现, 驾驶时使用手持电话极易造成驾驶人感知能力的下降, 引起驾驶人反应速度的降低, 从而使其对交通事故的规避能力减弱。然而, 在目前的研究中, 对于驾驶人使用手持电话行为的有效检测研究较少。现有方法多采用检测手机通讯信号的技术手段[6], 该方法的优点是稳定性好, 缺点是无法区分车厢内使用手持电话的人是驾驶人还是乘客。
本文提出了基于机器视觉的检测方法, 利用驾驶人的面部图像对使用手持电话行为进行实时检测。该方法可以有效排除对车内非驾驶人使用手持电话的误检, 且对驾驶人正常驾驶不造成任何干扰。
驾驶人使用手持电话行为检测方案如图1所示。
检测系统通过CCD摄像头采集驾驶人的面部图像, 首先使用图像处理算法进行人脸检测, 在人脸区域中提取当前图像中驾驶人的肤色信息, 并根据人脸区域的大小和位置定位出驾驶人的耳部图像区域; 然后根据肤色信息在耳部图像区域(下文简称耳部区域)中确定驾驶人手部图像的候选区域; 随后在手部图像候选区域中提取特征, 运用分类判别的方法确定驾驶人的手部图像; 进而综合多帧图像的判别结果对驾驶人当前是否为使用手持电话的行为状态(下文简称行为状态)实施行为判别; 最终将行为判别结果通过预警系统反馈给驾驶人或发送至远程监控中心。
基于机器视觉的驾驶人使用手持电话行为检测, 能够有效利用的判别信息是驾驶人的手部图像是否出现在耳部区域中, 及其持续的时间长短。因此, 准确有效地提取出驾驶人耳部区域中的手部图像是本文算法能够有效进行实时检测的前提条件。
对图像中的手部图像直接进行定位与跟踪的难度较大。人体肤色在颜色空间中具有一定的聚类特性, 基于肤色的手部图像定位不受姿态、尺度、部分遮挡等因素的影响, 因此, 可利用肤色信息实现手部图像的提取。然而, 如何在随机光照、复杂背景的条件下实现肤色信息的有效提取, 是本文算法的关键。
在肤色提取算法中, 多采用固定阈值[7]或对固定阈值进行适当修正[8]的方法实现肤色像素的提取。该处理方法对于光照的适应性不高, 且易受到复杂背景的影响, 鲁棒的肤色检测算法应该根据当前图像中的成像条件自适应地确定肤色分布范围。本文在面部区域分割的基础上, 提取出面部肤色区域, 在肤色区域中计算当前帧图像中的肤色分布范围, 即采用逐帧计算肤色分布范围的方法实现肤色信息的鲁棒性提取。
面部区域分割采用主动形状模型(ASM)算法[9]实现。主动形状模型算法通过一组特征点描述目标的形状。图2为本文采用的68点ASM模型。
对大量人脸图像样本(总数为N)进行手工标记后, 得到形状向量:
式中:(xij, yij, )为第i个人脸样本中第j个特征点的坐标。
对样本集形状向量进行归一化[10]后计算其均值:
协方差矩阵为:
对协方差矩阵进行PCA分析后, 得到揭示人脸形状变化的主轴系P。任意一个人脸形状Y可以表示为:
式中:Tq为以q为几何参数的正交变换(旋转、平移与缩放); b为当前人脸的形状参数。
由式(4)可知, 平均形状
图3为ASM算法的一组检测结果。结果表明, 在驾驶人头部姿态变化不太大的情况下, ASM算法能够较为准确地实现面部区域的分割, 如图3(a)所示; 当驾驶人头部姿态变化较大时, ASM算法的分割结果易产生较大的偏差, 如图3(b)(c)所示。
在实际的驾驶过程中, 驾驶人不断地变换头部姿态, 以完成视觉搜索的驾驶任务, 即头部姿态处于不断地变化之中。因此, 仅用ASM算法不能实现实车条件下的驾驶人面部区域有效分割的目的。
ASM算法在驾驶人头部产生偏转的情况下, 面部区域分割的偏差较大, 若要逐帧实现面部肤色区域的有效提取, 需要对肤色区域进行跟踪。驾驶人头部偏转时, 一侧脸颊逐步发生自遮挡, 其对应的肤色区域也逐步不可见, 故肤色区域跟踪的主要目的是确定面部可见一侧的肤色区域, 并将其有效地分割。
本文使用Adaboost人脸检测算法[11]确定头部发生偏转的时刻。Adaboost算法能够有效检测出图像中的正面人脸, 无法完成对侧面人脸的有效检测, 即Adaboost算法检测不到人脸时标记当前时刻为开始发生偏转的时刻。在此基础上, 采用F-B Error算法[12]实现对面部肤色区域的跟踪, 其跟踪过程如图4所示。
图4中, 设t为当前时刻, t-n3为头部开始发生偏转的时刻, 在F-B Error算法中目标点的跟踪采用L-K光流法[13]。随着驾驶人头部的逐渐偏转, 右侧(图像中为右侧, 实际为左侧)脸颊逐渐发生自遮挡, 右侧脸颊中的目标点在Forward跟踪过程中逐步丢失, 只有左侧脸颊中的目标点能够在Backward跟踪过程中保留下来。因此, 通过在Backward跟踪返回后, 判断t-n3时刻目标点数目较大的一侧脸颊, 即可知当前t时刻可见一侧的肤色区域。本文肤色区域跟踪过程如下:
步骤1 对头部偏转开始发生时刻图像中的肤色区域, 进行跟踪目标点初始化。
步骤2 从头部偏转开始发生时刻, 采用L-K光流法对目标点进行Forward跟踪, 直至当前时刻。
步骤3 对当前时刻中的目标点进行Backward跟踪, 直至头部偏转开始发生时刻。
步骤4 对Backward跟踪返回后的肤色区域中的目标点进行评定, 判定距离偏差d小于阈值dthreshold的目标点为跟踪成功目标点, 并判定目标点数目较大的一侧脸颊, 作为当前时刻可见的一侧脸颊, 确定当前时刻的肤色区域。
图5为本文跟踪过程分割出的面部肤色区域。图5(a)为头部偏转开始发生时刻分割出的肤色区域, 图5(b)(c)(d)为头部偏转过程中对肤色区域的跟踪结果。
由于RGB颜色空间的每个通道均包含亮度信息, 不利于提取肤色范围, 本文采用HSV颜色空间[14]进行肤色分析。采用Gray World算法[15]对肤色区域进行预处理后, 将肤色区域转换至HSV颜色空间, 计算其在H(色调)、S(饱和度)通道中的分布, 即可实现肤色范围的提取。本文采用单高斯函数作为肤色度量模型, 由肤色区域计算得到的高斯函数为:
式中:z=(H, S)为像素的肤色向量; μ 和Σ 分别为高斯函数的均值与协方差矩阵, 由下式给出:
式中:N为肤色区域像素的数目。
某像素属于“ 肤色” 的概率通过式(5)计算, 概率大于一定阈值时, 则将其判定为肤色像素。
肤色区域提取及跟踪确定的肤色区域有可能受到眼镜、胡须、嘴唇以及面部自遮挡阴影的影响, 包含少量非肤色像素, 为了进一步提高肤色像素提取的准确性, 应在肤色区域中剔除非肤色像素, 即对高斯函数中的μ 与Σ 进行修正。本文使用的自适应肤色范围提取方法如图6所示, 其计算过程如下:
步骤1 由肤色区域中的像素计算式(5)中的参数μ 和Σ , 并按μ ± Σ 的原则确定H-S平面中的范围矩形R1。
步骤2 计算范围矩形R1中像素的重心位置O1(H, S)。
步骤3 将范围矩形R1中心移至O1(H, S)处, 得到范围矩形R2。
步骤4 计算范围矩形R2中像素的重心位置O2(H, S)。
步骤5 将范围矩形R2中心移至O2(H, S)处, 得到范围矩形R3, 移动矢量[16]定义为:
式中:g为核函数; h为带宽矩阵系数; o为当前范围矩形的重心。
步骤6 判断范围矩形的移动距离d, 若d≥ dthreshold, 返回步骤4, 直至d< dthreshold, 得到范围矩形Rn。
步骤7 设Z表示范围矩形Rn中的最大像素值, 重新确定Rn的边框, 使其完整包含Rn中像素值大于0.1Z的所有像素[17], 得到最终确定的范围矩形Rn+1, 如图6中实线框所示。计算Rn+1所包含像素的μ 和Σ , 并将其作为高斯函数的μ 和Σ 。
图7为本文肤色范围提取算法的一组检测结果, 表明本文算法能够有效完成驾驶人的肤色检测。
肤色检测完成后, 采用耳部区域定位的方法确定手部图像在肤色图像中所对应的肤色像素。
耳部图像区域在本文中是指用于判别驾驶人是否为使用手持电话行为的图像区域。驾驶人将手持电话贴近耳部进行通话, 故本文算法对耳部区域中有无手部图像进行检测。
由于驾驶人左、右手均有可能使用手持电话, 因此需要同时定位左、右两侧的耳部区域。本文算法根据Adaboost人脸检测算法[11]定位出脸部区域的大小和位置, 按比例确定耳部区域, 如图8所示。
人脸检测定位后, 可以确定图8中的(HF, VF)坐标, 以及脸部区域宽度Fw与高度Fh。左、右耳部区域定位的计算公式为:
式中:(HR, VR)为右耳区域基点坐标; Rh为右耳区域高度; Rw为右耳区域宽度; (HL, VL)为左耳区域基点坐标; Lh为左耳区域高度; Lw为左耳区域宽度。
驾驶人头部产生偏转的情况下, Adaboost算法无法有效检测出侧面人脸, 此时根据肤色区域的跟踪结果确定人脸区域的位置, 人脸区域的大小保持不变, 再根据式(9)计算左右耳部区域。
肤色图像中, 在左、右耳部区域内, 根据一定的几何位置关系排除脸部粘连肤色像素的影响。最终确定的驾驶人手部图像候选区域, 如图9所示。
图9中, 一般情况下, 利用肤色信息可以准确地分割出驾驶人的手部图像, 如图9(a)(b)所示, 但易受到后排座位乘客的影响, 如图9(c)(d)所示。因此, 应在手部图像候选区域中提取特征, 进一步确定驾驶人的手部图像。
本文在手部图像候选区域中提取轮廓特征, 运用分类判别的方法确定驾驶人的手部图像。
HOG特征[18]用图像像素的梯度方向分布特性描述图像的轮廓特征, 已被广泛应用于行人、车辆等目标的检测中。本文基于灰度共生矩阵(GLCM)[19]理论提出CMOG特征描述手部图像, 其计算过程如图10所示。
CMOG特征计算过程如下:
步骤1 计算图像Image中各像素点的梯度幅值与方向。设某像素点(x, y)的灰度为I(x, y), 则其梯度大小为:
其梯度方向为:
步骤2 根据梯度幅值和方向将其重新量化为N级, 图10中N取8。
步骤3 图像Image中, 设像素点(x, y)的梯度方向为A1, 梯度幅值为R1, 与其横、纵向间距分别为a、b的像素点(x+a, y+b)的梯度方向为A2, 梯度幅值为R2, 则目标矩阵CMOG(大小为N× N)中, 坐标为(A1, A2)处的元素值累加|R2-R1|。
步骤4 计算CMOG矩阵中元素的能量、对比度、熵等参数[17]作为图像Image的特征值。
基于CMOG特征的驾驶人手部图像分类判别结果如下:HOG为83.2%, CMOG为81.9%, HOG+CMOG为89.8%。分类器均采用SVM分类器, 测试样本为实车实验中采集的驾驶人手部图像候选区域。由判别结果可知, 综合使用HOG特征与CMOG特征能够取得较高的识别率。经过分析可知:HOG特征在图像局部区域中用直方图统计梯度方向信息, CMOG特征从整体上分析图像的梯度方向信息, 二者相互结合, 能够较为全面地分析统计图像中的梯度信息。
在行为状态的实时检测过程中, 受随机光照、复杂背景、干扰动作(抓耳、挠痒等)等因素的影响, 分类器有可能对当前图像中驾驶人的状态产生误判, 统计连续多帧图像的分类判别结果可以有效减少误判别帧对最终判别结果的影响。
本文设计了三模式逻辑判别方法, 判别驾驶人当前的行为状态, 如图11所示。
每个逻辑判别模式均采用累积一段时间内的图像分类判别结果的方法, 如下式所示:
根据大量实验确定的每个模式的时间区间长度及判别阈值如表1所示。
在三模式逻辑判别中, 开始模式累积4 s图像(采样率25 帧/s)的分类判别结果, 若4 s内75%的图像被判别为耳部区域中存在手部图像, 则判定驾驶人正在使用手持电话, 检测系统发出预警信号, 并进入实时判别模式进行实时检测。
实时模式累积1 s图像的分类判别结果, 若70%的图像被判别为耳部区域中存在手部图像, 则判定驾驶人正在使用手持电话, 检测系统发出预警信号, 并进行实时检测, 否则进入退出模式。
若在退出模式2 s内累积的图像中, 60%的图像被判别为耳部区域中存在手部图像, 则判定驾驶人正在使用手持电话, 检测系统发出预警信号, 系统返回至实时模式进行实时监测, 否则进入开始模式, 重新累积4 s图像的分类判别结果。
本文中使用的实验样本来自于51名驾驶人, 包括13名女性, 38名男性。驾驶人驾驶实验车辆在京沈高速、北京市四环路、城市道路以及清华大学校园内等路段正常行驶, 在与同乘实验人员共同确保交通安全的条件下完成使用手持电话与不使用手持电话的驾驶任务。图12为实验车辆与采集摄像头。
为验证本文建立的肤色区域分割、跟踪及自适应肤色范围提取算法对于肤色检测的鲁棒性, 选用一组在城市道路工况下采集的视频对其进行验证。在城市道路工况下, 车辆在楼宇、桥梁、树木间穿行, 驾驶室内的光照条件随机、快速变化, 为肤色提取算法的鲁棒性验证提供了丰富的样本。
图13(a)为原图像, 图13(b)为Adaptive Real-Time Skin Detector[8]检测结果, 图13(c)为本文算法检测结果。由图13 可知, 本文算法能够有效检测出驾驶人的肤色区域, 受背景影响较小。本文建立的自适应肤色范围提取算法能够准确提取出驾驶人面部区域中的细节, 如图13第一行中驾驶人的胡须, 第二、三行中驾驶人的眼镜。
基于机器视觉的驾驶人使用手持电话行为检测算法, 提出肤色区域分割、跟踪及自适应肤色范围提取方法实现肤色检测, 该方法有效提高了肤色范围提取的精度, 并运用逐帧计算肤色分布范围的方法实现了肤色信息的鲁棒性提取。提出了CMOG特征, 并将其与HOG特征相结合进行驾驶人手部图像的检测, 提高了手部图像判别的有效性。实验结果表明:本文算法能够有效提取出驾驶人的肤色区域, 对驾驶人使用手持电话行为具有较高的检测精度。但在光照过于强烈的条件下, 面部肤色区域受光照的影响各颜色通道中的灰度值趋于饱和, 丧失区分性; 在夜晚工况下, 为了满足成像条件同时不影响驾驶人的正常驾驶, 需要进行红外补光, 在红外照明条件下的人脸肤色特性与正常光照条件下的肤色特性差别较大。本文的后续工作将着眼于解决这两种极端工况下的检测问题。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|