基于自适应伽马校正的异常驾驶行为检测方法
2023-09-18艾青松张皓喆严俊伟
艾青松,张皓喆,严俊伟,3
(1.武汉理工大学 信息工程学院,武汉 430070;2.湖北大学 计算机与信息工程学院,武汉 430062;3.宽带无线通信和传感器网络湖北省重点实验室,武汉 430070)
0 概述
随着公路运输需求不断上升,重型卡车运输成为主要陆运方式。商用车车联网技术不断发展,尤其是云计算与通信技术的进步,提高了重型卡车运输的经济性与便利性。快运行业具有时效要求高、夜间行驶较多、成本控制严格等特点,在防止异常驾驶行为方面需求较高[1]。当重型卡车驾驶员出现异常驾驶行为时,及时检测并提醒,对保证驾驶安全和提高运输效率十分重要。因此,在低照度条件下精准快速地检测异常驾驶行为具有重要的现实意义。
目前,已有关于异常驾驶行为检测方面的研究按照数据来源分为两大类:车辆数据和生理特征。基于车辆数据的异常驾驶行为检测,通过获取相关车辆数据(例如速度、加速度、方向盘角速度等)来判定驾驶行为。这类方法易受到周围环境影响,在面对不同的道路情况和车辆异常状态时,准确率较低。随着机器视觉的发展,基于生理特征的异常驾驶行为检测成为主流方法,相比于其他方法,通过判断驾驶员的异常动作(例如吸烟,接打电话等)来检测的方法因受外界干扰少、检测速度快等特点被广泛应用[2]。
近年来,研究人员开始将深度学习算法应用于异常驾驶行为分析领域。文献[3]将改进的YOLOv3 检测算法用于重点关注异常驾驶行为特征,引入融合注意力模块提高检测效率。文献[4]介绍了3 种新颖的深度学习网络,分别为宽组密集网络、宽组残差密集网络和替代宽组残差密集网络,并与传统检测网络和现有检测网络进行比较,体现出其检测精确度高与鲁棒性强的优势。文献[5]介绍了一种时空间融合驾驶行为识别方法,通过两流卷积神经网络(Convolutional Neural Network,CNN)框架进行视频识别,其中空间流CNN 从静止帧中捕获外观信息,而时间流CNN 通过预先计算来捕获几个相邻运动帧间的光流位移,综合判断异常驾驶行为。文献[6]介绍了一种基于个人的分层驾驶员监控系统(Hierarchical Driver Monitoring Systems,HDMS),HDMS 的第1 层基于历史驾驶数据判定异常驾驶行为,第2 层进一步判断行为是否为瞌睡驾驶或分心驾驶。文献[7]介绍了通过样本图像对深度神经网络Mask R-CNN 改进,使之能够识别更多种危险驾驶行为。文献[8]介绍了一个端到端深度学习框架,通过融合卷积神经网络和带有注意单元的循环神经网络对时间特征进行建模,捕捉显著的驾驶行为特征。
传统机器视觉检测异常驾驶行为通常基于深度学习模型或面部特征[9]。在低照度条件下,通过图像增强算法后,由于存在图像信息量降低,像素点间向量差值减小,识别过程中出现关键细节丢失、噪声较大、清晰度低、难以识别边缘等问题,因此基于眼睛、嘴巴状态的传统检测方式准确率较低[10]。此外,在此情况下基于深度学习模型的检测方法速度较慢,难以满足实时性要求。
本文提出一种基于自适应图像增强的异常驾驶行为检测方法,通过自适应伽马(Gamma)校正图像来提高图像的亮度和信息熵,利用背景建模方法进行干扰剔除,从而得到检测区域图像。使用Canny双阈值边缘检测技术得到头部和手部轮廓,提高时间阈值,实现检测异常驾驶行为的目的。
1 低光照下的异常驾驶行为检测
1.1 异常驾驶行为判定
驾驶行为是指驾驶员在场景和周围环境中,结合自身状态来操纵车辆。驾驶行为是一个复杂的概念,具备随机性和不确定性,通常被认为是发生交通碰撞的重要因素之一。如何快速、精准地判定异常驾驶行为在今天仍然被认为是一个具有挑战性的话题[11]。异常驾驶行为检测数据来源包括车辆数据和驾驶员生理特征两个方面,生理特征指驾驶员在驾驶车辆时的身体机能状态,例如疲劳、压力、位置、动作等。通过监督位置和动作可检测或预测驾驶员生理特征,驾驶员的动作被认为是驾驶员对周围环境做出的反应。车辆数据指在行驶过程中车辆的状态,驾驶员面对突发情况做出的反应,导致车辆出现急转弯、急加速、急减速等现象,车辆数据反映出驾驶员做出异常驾驶行为的过程。在不同环境背景下,许多因素会导致车辆出现异常数据。通过车辆数据判断驾驶行为需要随着时间和外界情况的变化建立复杂模型,同时与道路特征(例如曲率、坡度、车道宽度),道路情况(例如干燥、潮湿),天气情况(例如下雨、晴天、雾天、下雪、结冰),光线情况(例如白天、夜晚),交通情况(例如拥堵、畅通)等因素关系密切,因此通过车辆数据判定异常驾驶行为具有局限性。例如,当车辆出现长时间走走停停或急加速/急减速的情况时,难以判断是否源于驾驶员异常驾驶行为还是交通拥堵导致,此方法易出现误判,干扰驾驶员正常驾驶。
基于驾驶员生理特征的检测可以实时反馈出驾驶员在做出异常驾驶行为时的变化,同时具有识别精确度高、鲁棒性强的特点。异常驾驶行为包含喝酒、谈话、发短信、打电话、吃饭、吸烟等。Kaggle发起的State Farm 驾驶员分心检测比赛规定了6 种异常驾驶行为,其检测原理是通过机器视觉识别出驾驶员的身体动作,定位驾驶员头部以及手部位置并追踪中心点坐标,通过判定肢体间的相互动作来识别异常驾驶行为[12]。在常见异常行为中,例如图1 所示的吸烟、接打电话,手部出现在头部周围且持续一段时间,在发生此行为时,驾驶员注意力转移到非道路信息,并且持续偏离驾驶目标,在这过程中极易发生交通事故。检测驾驶员的手部出现头部周围的状态,当持续时间过长并且与头部位置距离过近时判定为发生异常驾驶行为。因此可以将检测目标集中于判定手部和头部相对位置。
图1 不安全驾驶行为示例Fig.1 Examples of unsafe driving behavior
1.2 异常驾驶行为检测方法
通过驾驶人的头部、手部间距离来判定异常驾驶行为的方法需要确定关键点间的相对位置,并且融合距离阈值和时间阈值判断异常驾驶行为。由于重卡驾驶员夜间驾车时间较长,在低照度情况下,通过传统方法PERCLOS 和PMOT 进行检测时,图像细节容易丢失,驾驶员状态难以精准检测[13]。本文通过改进伽马校正算法,对输入图像进行预处理,校正图像亮度和对比度,来提高识别准确率。为剔除背景和周围环境的干扰,首先利用背景建模提取驾驶员前景图像,获得驾驶员的驾驶信息。然后进行Canny 边缘检测,得出头部、手部关键点相对位置,并且进行实时跟踪监测。最后,当定位特征点后,根据欧氏距离进行计算,当头部和手部特征点距离过近,持续时间超过时间阈值时,将此刻判定为发生异常驾驶行为,同时进行报警,如图2 所示。
图2 基于自适应伽马校正的异常驾驶行为检测方法框架Fig.2 Framework of abnormal driving behavior detection method based on adaptive Gamma correction
1.2.1 低照度下的改进自适应伽马校正
人眼对低照度下的感知能力强于高照度下的感知能力,即在暗光的情况下能分辨出更多细节,因此亮度校正是伽马校正的重点。伽马校正表达式为:
其中:I表示输入图像的灰度值,归一化处理后取值[0,1];f(I)表示输出图像强度;c和γ为校正系数,通常c取值[0,1],不同的γ会对图像强度有不同的拉伸效果,当γ>1 时,图像强度降低,当γ<1 时,图像强度提高[14]。
由于阈值设定固定,因此在进行伽马校正时对所有图像的校正效果相同。对于不同的灰度值和显示效果的图像,校正效果单一,部分重要信息缺失。因此本文引入BIGA 方法[15],通过双阈值改进伽马函数,可以在提高暗部光强度的同时抑制亮区增强,防止彩色图像增强过度,其表达式如下:
其中:x是输入图像的灰度值;γ是可调节变量,用以调整图像增强程度,通常取γ=2.5;α是调节参数,控制增强图像亮度的取值范围为[0,1];Ga(x)是一个凸函数,用于增强图像的暗区域;Gb(x)是一个凹函数,用于抑制图像的亮区域。最终增强算法的调整函数G(x)是由Ga(x)和Gb(x)加权得到的。然而公式中α、γ参数均为全局阈值并且手动设置,对于不同环境和驾驶因素,提升效果不明显。
针对不同照度和图像色彩的差异,改进算法中的参数为自适应调节,分别通过图像平均灰度值和图像信息熵来改进α、γ的值进而校正图像。自适应阈值的改进解决了传统算法对图像改善后出现对比度弱、亮度提升少、边缘细节模糊的问题。对于照度不同的图像,通过灰度值范围确定α值的范围进行自适应调节。将RGB 3 个通道的分量按照一定的比例计算得到灰度图像,根据文献[16]和检测图像特征得出分量比例,RGB 格式图像平均灰度值ggray计算公式如下:
计算原RGB 图像3 个通道得到图像灰度值,通过映射函数得到α值,提高校正图像效果,得到更多图像细节并传入异常驾驶行为识别模型,提高精确度和检测效率。通过映射函数得到α值,即ggray→α,表达式如下:
将灰度值取值范围归一化为[0,1],α'的取值范围为[0.3,0.7],其作用是校正图形亮度。
基于图像信息熵确定阈值γ。当图像内容丰富,信息量大时,图像信息熵大;当图像内容单一,信息量小时,图像信息熵小。对于信息熵不同的图像,通过改变原函数的γ值提升图像显示效果,提高对比度,以显示更多图像细节。通过映射函数得到γ值,即H→γ,表达式如式(7)所示:
其中:γ为原函数阈值,通常取值为2.5;γ'为改进后的阈值,取值范围为[2,3];将图像的邻域像素灰度均值(j)作为灰度分布的空间特征量,与像素灰度值(i)组成特征二元组,记为(i,j),i、j分别表示像素的灰度值、邻域灰度均值,取值范围均为[0,255]。使用图像信息熵来自适应调整γ参数,通过改进亮度分量校正图像来提高不同对比度图像的质量,以显示更多的细节信息[17]。
常见图像均使用RGB 色彩空间表示,但直接对RGB 图像进行增强容易导致图像色彩失真,且运算量巨大。HSV 是一种将RGB 色彩空间中的点在倒圆锥体中表示的方法,它描述比RGB 更准确的感知颜色联系,并仍保持计算简单的特点。HSV 表示Hue、Saturation、Value[18],且相互间有独立性,在对其任一个通道进行校正时,不会出现色彩失真的现象。将输入图像转换为HSV 空间后,对其V分量进行伽马校正后转回RGB 图像进行表示。该流程如图3 所示。将改进函数融合到原双阈值伽马函数中,在校正图像亮度的同时,根据图像信息熵自适应提高对比度,使图像显示出更多细节信息,表达式如下所示:
图3 改进伽马校正的流程Fig.3 Procedure of improving Gamma correction
1.2.2 关键点定位
常规驾驶行为检测方法中,背景和环境干扰导致检测准确率差。经过自适应伽马校正并将驾驶员和背景灰度差值提升后,根据历史像素点和像素差值变化消除背景,可以精准高速地排除背景区域对轮廓识别的影响[19]。
前景图像的提取效果主要依靠背景消除的准确程度,目前效果较好的背景建模方法包括改进高斯混合模型2(Mixture of Gaussian Model 2,MOG2)和K-近邻(K-Nearest Neighbor,KNN)[20]方法。MOG2方法为每个像素点选择一个合适的高斯分布前景分割器,这样一来,亮度变化具有较强的鲁棒性。通过创建背景对象,检测并标记目标区域。KNN 方法将当前像素点与历史信息进行比较,做出前景背景的判断,如果超过差别阈值则归于“潜在背景点”,如果历史信息中属于潜在背景点的个数超过设定阈值,则将此区域归为背景并记录于历史信息中[21]。
提取出前景图像后通过边缘检测将灰度级的突变、颜色的突变、纹理结构的突变等分割开。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以对图像中头部、手部的轮廓进行检测。常用的边缘 检测算子有Sobel、Prewitt、Roberts、Canny、Laplacian 等[22],其特点如表1 所示。
表1 不同边缘检测算子对比 Table 1 Comparison of different edge detection operators
在低照度条件环境下,由异常驾驶行为检测条件可知,需检测头部、手部轮廓,并且要求对抗噪声干扰能力高。本文在周围环境光变化较大的情况下进行自适应伽马校正,得到边缘增强后的图像,并利用Canny 算子进行边缘检测,不仅对弱化的边缘更加敏感[23],而且能保留图像特征。
在检测目标区域时,为避免检测框具有大量交集区域,需将相交轮廓融合从而得出完整的头部轮廓。通过判定轮廓交集的方法,得到轮廓相邻条件并进行取反,通过式(10)和式(11)判断相邻轮廓位置。
将得到的驾驶员运动图像进行边缘连接,得到完整的驾驶员轮廓。利用边缘检测描绘出头部和手部的轮廓,计算图形中心矩,确定质心坐标作为驾驶员和手部的关键点定位。图像空间矩的计算式[24]如式(12)所示:
其中:array(x,y)是像素(x,y)处的像素值。可以看出,图像空间矩的影响因素包含像素值大小和像素位置;当i=j=0 时,moo为图像的零阶空间矩,此时与像素位置无关;当j=0,i=1 或i=0,j=1 时,m01、m10成为图像一阶空间矩,在空间位置上只与像素的行或列有关。根据图像空间矩原理,得到图像质心坐标公式如下:
1.2.3 基于手眼距离的异常驾驶行为检测
通过定位驾驶员头部、手部位置进行异常驾驶行为判定。由第1.2.2 节获得轮廓中心距坐标后,为了更明确地表示两中心距间的相对位置,将笛卡尔坐标系转换为极坐标系。
极坐标系属于二维坐标系,在保证中心区域的高分辨率情况下降低外围采样率,在保证重要区域信息处理完成情况下降低数据处理数量,从而增加处理速度,是一种类似人类视觉机制的处理方法[25]。图4 为图像在对数极坐标系和直角坐标系之间的映射关系示意图,其中图4(a)为笛卡尔坐标系,图4(b)为极坐标系。手部的中心距位置总是分布在头部周围,以头部中心矩为极点O,将手部中心距设为图像内任意一点M(ρ,θ)。由于笛卡尔坐标系原点位于左上角(0,0),y轴正方向向下,因此做出如下调整:转换后的极坐标系y轴方向向上,并且以x轴正半轴方向为0°起始,沿顺时针方向旋转360°回到起始角度,如图4 所示。
图4 坐标系转换Fig.4 Coordinate system transformation
在图4 中,对输入视频中的异常帧进行驾驶行为判定,将头部关键点作为极点O,则手部关键点为M(ρ,θ)。极径ρ为头部与手部之间的距离,θ为头部与手部间的夹角。设定距离阈值d1,当ρ≤d1时,记录开始时间t1,当ρ>d1时,记录异常驾驶行为结束时间t2。设定时间阈值t3,当t2-t1≥t3时,融合时空间因素判定异常驾驶行为。当ρ>d1时,记录每段正常驾驶行为,并且记录正常驾驶时间[26]。
2 实验结果与分析
2.1 数据集与数据预处理
目前,国内外文献和开源数据集中针对异常驾驶行为的有效数据集较少,数据集中只包含光照固定的场景,不适用于本文不同照度下的异常驾驶行为识别。为验证文中提出方法的有效性,招募4 名实验者,要求驾驶经验在2 年以上,健康状态良好,无睡眠障碍,且在测试前无饮酒、熬夜等行为。本文采用固定摄像机记录重卡驾驶员在日常驾驶时做出的动作行为并作为测试数据集,以验证算法效果。
测试视频分辨率为1 280×720像素,帧率为60帧/s。测试驾驶员在模型驾驶中进行接打电话、吸烟和正常驾驶3 类驾驶行为,在检测中设置不同背景及不同程度的目标遮挡,增大检测难度。通过数据增强对实验数据进行处理,改变数据集中视频图像的光线强度,模拟阴天、夜间、强光环境下的驾驶,并作为异常驾驶行为检测数据集。通过自适应伽马校正方法对数据集进行预处理,结果如图5 所示。对数据集的图像进行预处理后,每类驾驶状态的样本数目如表2 所示。
表2 驾驶行为的数据样本 Table 2 Data samples of driving behavior 单位:次
图5 图像预处理前后的对比Fig.5 Comparison of the graph before and after preprocessing
2.2 评价指标
使用预处理前后的数据集进行异常驾驶行为检测,采用以下评价指标来显示改进伽马校正的性能:
1)准确率(Precision)。准确率是指所有检测出的目标中检测正确的概率,表达式如下:
2)召回率(Recall)。召回率是指所有的正样本中正确识别的概率,表达式如下:
其中:TTP、FFP、FFN分别为每组实验平均异常驾驶行为次数、正常驾驶行为次数、漏检异常驾驶行为次数。
3)帧率(Frame Per Second,FPS),FPS 是指画面每秒传输帧数。
2.3 结果分析
2.3.1 不同阈值下的伽马校正效果
针对不同照度的图像,自适应伽马校正将整体亮度提升,改善暗部区域细节和曝光过度,增加图像边缘区域的对比度,保留更多边界细节,使图像显示更加清晰。改进校正算法中不同γ值对图像校正的效果不同;当γ<1 时,在低灰度范围内,动态变化增大;进而图像对比度增强,图像整体的灰度值变大。当γ>1 时,低灰度范围的动态变化减小,降低了图像低灰度区域的对比度,整体的灰度值变小。
对于不同照度的图像,根据图像平均灰度值映射α值。处理低照度图像时,改进双阈值伽马函数中心点上移,使得图像整体灰度值增加,图像显示更加明亮,同时抑制高亮区域,增强暗部区域细节。在处理高照度图像时函数中心点下移,使得图像轮廓更加清晰。对比结果如图6 所示。
图6 不同参数下的伽马校正效果Fig.6 Gamma correction effect under different parameters
2.3.2 改进结果对比分析
为验证本文方法的有效性,将视频数据集根据照度差异分为4 组数据,每段视频数据为900 s,帧率为60 帧/s。分别为晴天驾驶测试集、强光驾驶测试集、阴天驾驶测试集、夜间驾驶测试集。每组分为正常组和对照组,正常组为货车司机驾驶视频数据,对照组为经过自适应伽马校正后的正常组视频数据。将测试集循环,并将其分为9 段测试数据进行实验,每次实验中包含异常驾驶行为和正常驾驶行为,所有实验参数均相同,结果如表3 所示。
表3 模型改进前后的性能对比 Table 3 Comparison of model performance before and after improvement
将自适应伽马校正前后异常驾驶行为检测效果进行对比,由表3 可以看出经过自适应伽马校正后模型的检测性能提升明显。特别是阴天和夜间的情况,准确率分别提升10.9 和11.9 个百分点,召回率均提升51.8 个百分点。
为了对比不同图像增强方法在异常驾驶行为检测中的表现,针对检测准确率和帧率两个指标,与文献[27]中基于单尺度Retinex(SSR)方法和文献[28]中多尺度Retinex(MSR)方法以及自适应直方图均衡化(简称直方图均衡化)方法进行比较。对比实验分为9 次,除图像校正方法外,每次实验参数完全相同,结果如图7 所示。由图7 可以看出,本文方法检测的平均准确率高于其他方法。在检测速度方面,本文方法优于SSR 和MSR 方法。但由于直方图均衡化方法的模型简易,其检测速度略高于本文方法,检测准确率却远低于本文方法。本文方法的核心在于依赖灰度值和信息熵实现自适应校正图像,增加图像边缘信息和对比度,更加贴合边缘检测原理,因此检测模型性能更强。
图7 暗光条件下不同增强方法的性能对比Fig.7 Performance comparison of different enhancement methods in dark conditions
3 结束语
本文提出一种基于自适应伽马校正的异常驾驶行为检测方法,将不同照度的驾驶行为视频校正后进行检测,通过背景建模清除干扰,得到驾驶员头部和手部的轮廓。在此基础上计算手部与头部关键点间距离,通过时空间融合判定异常驾驶行为。实验结果表明,在不同照度条件下,本文方法能够对异常驾驶行为进行高效、精准检测。下一步将对驾驶员脸部追踪方法进行研究,提高检测准确率,达到实时监测的目的。