一种新的结合卷积神经网络的隧道内停车检测方法

2021-06-24 08:33杨祖莨刘晋峰
重庆大学学报 2021年6期
关键词:概率密度函数高斯阈值

杨祖莨,丁 洁,刘晋峰

(太原理工大学 电气与动力工程学院,太原 030024)

高速公路隧道有着空间狭窄密闭、交通流量大、而车辆速度快的特点,因此当隧道内发生停车事件时,极易造成交通事故。尤其是当载有易燃易爆物品的车辆在隧道内行驶时,发生意外停车会造成更为严重的后果。对隧道内进行及时有效的停车检测不仅可以为事故导致的受伤人员节省更多救援时间,还可以通知该路段上的其他驾驶员减少二次事故的发生[1]。因此,实时准确地检测高速公路隧道车辆的停车行为并及时反馈是十分必要的。

传统的停车检测是通过埋在地下的传感器来完成的。然而,将传感器埋在地下不仅不易于安装,会损坏路面,而且不易于维修保养。目前,几乎所有的高速公路隧道都安装了视频监控系统。这为使用图像处理方法来进行停车检测提供了有利条件。与传统的检测方法相比,图像处理方法具有安装方便、信息丰富、检测结果直观、维护成本低等优点。

当前,基于图像处理的停车检测已有了一定的研究。Guler等[2]采用Peripheral多目标跟踪器从背景减法获得的前景中确定每辆车的位置。然而,该方法会将快速变化的背景检测为车辆。Porikli[3]提出了一种基于双背景的异常事件检测方法。然而,该方法抗干扰性能差并且如何选择时间常数来建立长、短背景存在很大不确定性。赵敏等[4]使用混合高斯模型获得运动目标,通过基于像素时间序列特征的稳态分析法来检测静止目标,根据车辆的区域特征(车辆的颜色、轮廓、长度和宽度)对静止目标的停车车辆进行识别。但是该方法仍然缺乏对车辆目标区域特征识别的鲁棒性。此外,一些研究人员对基于混合高斯模型的方法进行了改进,但仍然没有取得良好的效果[5-6]。

本课题检测停车环境为高速公路隧道,为停车检测增加了难度,例如车灯、环境光、车辆目标遮挡都是较为严重的干扰因素。因此,需要新的方法来克服这些问题,自2012年CNN首次被应用于ILSVRC图像分类竞赛并取得显著成绩[7]以来,CNN在图像分类领域得到了广泛应用。GoogleNet通过引入Inception模块获得了2014年ILSVRC冠军[8]。2015年,另一个更先进的CNN——ResNet赢得了冠军[9],ResNet采用跨层连接的方法,成功缓解了深层神经网络中的梯度消失问题,为数千层网络的训练提供了可能。2017年Hu等[10]提出了SENet,该网络通过学习的方式自动获取每个特征通道的重要程度,在ILSVRC 2017竞赛中以2.251%的Top-5错误率获得了第一名。近年来,由于CNN在图像分类领域取得了优异的性能,在本研究中,提出一种新的方法,通过将静止目标检测与本文设计的专用于车辆识别的CNN分类模型相结合,对停止车辆进行准确检测。本文的内容安排如下:第一部分构建了停车检测算法的结构,并对算法的细节进行了阐述。第二部分描述了所进行的实验,并对相应结果进行了讨论与分析。第三部分对全文做出了总结。

1 结合卷积神经网络的停车检测方法

本文设计的停车检测算法分为三步,如图1所示。第一步,在输入视频帧中提取运动目标。第二步,在第一步提取出的运动目标中检测静止的停车目标。需要注意的是,这里的静止目标不同于总是静止的背景对象,而是先动后停的目标,即行驶的车辆发生了停车行为。然而,上述得到的静止目标中往往不仅包含车辆,还包含非车辆物体的干扰,这将导致错误的检测发生。因此,第三步加入车辆识别,利用CNN分类模型识别第二步的静止目标是否为车辆,最终完成停车检测。

图1 车辆停车检测方法的流程Fig. 1 The flow of vehicle stopping detection methodology

1.1 运动目标提取

运动目标的提取是目标跟踪的前提。因此,要求运动目标提取算法具有较高的处理效率和较强的鲁棒性。常用的运动目标提取算法可以归纳为三类:帧间差分法、光流法和基于GMM的背景差分法。

帧间差分法[11]通过间隔帧中减去相同点的灰度值来获得灰度的变化值,通过对该值进行阈值化来提取运动区域。但是该方法只能提取边界,不能提取运动目标的整个区域。此外,帧间间隔大小对目标识别的结果也有很大的影响。光流法通过对空间运动场的比较,将物体的运动表示为图像上的光流场[12]。然而,此方法计算量大,耗时长,不适用于实时性要求严格的情况。此外,隧道内的车灯可能被误认为光流,从而影响最终的结果。基于GMM的背景差分法[13,14]利用混合高斯模型建立背景,通过背景差分法提取运动目标。此方法能够及时更新背景,降低误检率,并能够提取目标的完整区域,满足实时性的要求。同时,该方法将重复运动的目标判断为背景,有效地减少了摄像机抖动引起的误判。因此,以基于GMM的背景差分法作为提取运动目标的核心算法。

基于GMM的背景差分法在导入图像后通过背景建模及背景差分的方法分离出前景和背景。具体做法为,设t时刻图像中每个像素点的像素值为Xt,则该时刻的混合高斯模型P(Xt)为:

(1)

式中:K是混合高斯模型中高斯概率密度函数的个数,K越大越能描述更复杂的背景,一般取值为3~5,这里取值为5;wk,t为第k个高斯概率密度函数在t时刻的权值,且权值满足条件∑wk,t=1;η(Xt,μk,t,Σk,t)是像素Xt在t时刻的第k个高斯概率密度函数,

(2)

建立混合高斯模型之后,需要不断进行模型的更新,使模型更加鲁棒地适用于隧道灯光及其他干扰因素导致的背景变化。对t时刻的混合高斯模型的更新步骤如下:

1)每个t时刻的像素值Xt与当前K个高斯概率密度函数进行比较,如果满足式(3),即像素值Xt与该高斯概率密度函数的均值μk,t-1的偏差在T1σk,t-1内,则认为像素值Xt与第k个高斯概率密度函数匹配。

|Xt-μk,t-1|≤T1σk,t-1,

(3)

式中T1为匹配阈值,根据文献[4],T1=2.5。

2)在提取运动目标时,若像素值Xt与前Bt-1个高斯概率密度函数中的任一个匹配,则认为该像素为背景;反之为前景。B是由第5)步进行更新的。

3)各个高斯概率密度函数的权值按式(4)更新,

wk,t=(1-α)wk,t-1+α×Mk,t,

(4)

式中α为学习率,这里设为0.002;若像素点Xt与第k个高斯概率密度函数匹配,则Mk,t为1,否则为0。

4)与像素值Xt未匹配的高斯概率密度函数的均值μk,t和标准差σk,t不更新,而与像素值Xt匹配的高斯概率密度函数按公式(5)(6)更新,

(5)

(6)

5)完成参数的更新后,根据wk,t/σk,t从大到小对高斯概率密度函数进行排序,将满足式(7)的前Bt个高斯概率密度函数作为背景:

(7)

式中阈值T2表示背景高斯成分在整个像素的概率分布中所占的比例大小,根据文献[15],T2取经验值0.7。

6)循环上述过程,遍历图像中所有的像素点后即可提取出运动目标。

通过处理连续的输入视频图像,可以连续地检测监控场景中的运动目标。接下来,在第1.2节中执行静止目标检测。

1.2 静止目标检测

该步骤在1.1节所获得的运动目标中检测静止目标,检测过程分为两个阶段,第一阶段通过估计运动目标的速度,从运动目标中检测可疑的静止目标。在第二阶段中,计算相邻间隔帧之间的可疑静止目标区域的相关性,若相关性系数大于一定阈值,则认为该区域是真实静止目标区域。

显然,在第一阶段中,当运动目标的速度为零时,运动目标处于停止状态。因此,可以通过计算运动目标的速度值来检测目标是否停止。具体来说,通过meanshift跟踪算法[16-18]可以获得运动目标质心在间隔N帧中的移动距离,然后利用运动目标质心移动距离和间隔N帧对应时间来计算运动目标的速度,计算公式如式(8)所示:

v=Δd/Δt。

(8)

式中:Δd是运动目标质心在间隔N帧中移动的距离;Δt是间隔N帧相对应的时间。

在理想情况下,如果v等于0,则认为目标是静止的。但是,由于运动目标阴影和摄像机抖动等干扰因素对质心位置的影响,Δt间隔时间后静止目标的质心可能不完全重合。因此,引入了速度阈值λ。当v<λ,目标区域则被确定为可疑的静止目标区域。

第二阶段,计算相邻间隔帧中由第一阶段获取的可疑静止目标区域之间的相关性。相邻间隔帧中需要计算的区域被视为2个变量X,Y,则相关性系数计算公式如式(9)所示:

(9)

式中:cov(X,Y)为区域X和区域Y的协方差;σX和σY分别为区域X和区域Y的标准差。如果相关性系数ρX,Y大于相关性阈值,则将可疑的静止目标区域确定为真实静止目标。

1.3 车辆识别

在检测到静止目标后,利用本文设计的CNN模型对静止目标进行识别。其中,1.2节中获得的静止目标区域作为CNN模型的输入。本文设计的CNN模型由5个卷积层组成,如图2所示。从第一层到第五层使用3×3大小的卷积核,通过多层叠加小卷积核,增强了模型容量和模型复杂度,并且减少了模型中参数的数量,加快训练和推理速度。本文所设计的CNN分类模型结构基于Keras神经网络框架实现。

图2 CNN分类模型的结构Fig. 2 The structure of the CNN classification model

(10)

yi=γxi+β。

(11)

在第一层、第三层、第五层卷积之后采用Max Pooling进行池化,将Feature Map的尺寸减半。在第一层、第三层、第五层和输出层采用Dropout技术[20]。Dropout会随机丢弃一部分神经元及其连接,防止模型训练的过拟合。由于在训练过程中神经元的丢弃是随机的,因此每次训练都相当于处理一个全新的神经网络结构,显著提高本文设计的CNN模型的泛化效果。

利用上述设计的CNN分类模型,可以排除干扰因素引起的虚假检测,确定静止目标是否为车辆,从而提高检测精度。

1.4 算法步骤

1)读取一帧图像frame1,如图3(a)所示,进行前景像素点的检测,得到的前景像素点图像如图3(b)所示。对前景像素点图像进行开运算操作,即先腐蚀后膨胀,去除小颗粒噪声和使较大物体的边界更平滑,基本保持目标原有大小不变,如图3(c)所示。

图3 运动目标检测中的图像Fig. 3 Image in moving object detection

2)检测出前景像素点后,通过连通域分析提取运动目标区域的矩形框(即获得了运动目标区域的形状和位置)。间隔10帧后再取一帧frame2,根据meanshift算法跟踪运动目标,即计算frame1中的运动目标在frame2中相应的位置。

3)计算运动目标质心的移动距离,再结合间隔帧所对应的耗时来计算车辆的粗略速度:

(12)

根据实验中的调试经验,引入速度阈值200,当速度小于速度阈值时判定该运动目标为可疑静止目标。

4)计算farme1和frame2中该可疑静止目标区域的相关性系数,若大于相关性阈值,则将可疑的静止目标区域确定为静止目标。经过实验,相关性阈值设为0.8时获得了最佳效果。

5)将第4步中获取的静止目标区域输入到本文设计的CNN隧道车辆识别模型。通过该模型判断静止目标是否为真实车辆(如图4),如果静止目标被识别为车辆的话则认为发生停车(如图4中的(b)(d)),否则没有发生停车行为(如图4中的(a)(c))。

图4 车辆识别中的图像Fig. 4 Image in vehicle recognition

6)循环以上步骤,持续对高速公路隧道进行停车检测。

2 实验和结果分析

2.1 训练CNN分类模型

在本研究中,建立了隧道车辆数据集,专门用于隧道车辆分类。隧道车辆数据集包含1 664幅图像,其中有车图像832幅,无车图像832幅。训练集和测试集的数量如表1所示。训练集是在样本集中随机抽取组成的,余下的则组成测试集。值得注意的是,本文的数据集中所包含的图片均来自太原市公路管理系统,但是由于保密原因,对图片中敏感位置的标签进行了模糊处理。

表1 CNN分类模型的数据集

在CNN分类模型的训练过程中,每次从训练集中随机抽取32幅图像进行迭代,并计算训练精度和测试精度。图5展示了训练过程中评估指标的变化。黑线是训练损失,它反映了模型训练过程中的学习效果,训练损失值越小,学习效果越好;红线表示训练精度;蓝线表示测试精度。模型迭代结束时,训练精度达到98.81%,测试精度达到99.70%,此精度符合要求。

图5 CNN分类模型的训练损失、训练精度和测试精度Fig. 5 The training loss, training accuracy and test accuracy of the CNN classification model

2.2 停车检测的实验结果

首先,通过在高速公路隧道内连接监控摄像服务器进行实时检测,程序运行一天后没有误检。但在此期间,没有发生停车的情况。因此,又从视频历史存储文件中截取了19个发生停车事件的监控录像片段,视频的帧率为25fps,分辨率为704×576。

为了与传统的图像处理方法进行比较,使用无CNN部分的算法进行了实验对比。基于19个视频的统计检测结果如图6所示,每个视频的详细检测结果如表2所示。本文所设计方法的正检率为84%,误检率为5%,漏检率为11%。在没有CNN分类模型的情况下,正检率为21%,误检率为79%,漏检率为11%。与没有添加CNN的方法相比,本文方法的正检率提高了63%,误检率降低了74%。

图6 基于19个高速公路隧道视频的车辆停车检测结果Fig. 6 Detection results of vehicle stopping based on 19 highway tunnel videos

表2 CNN分类模型的数据集19个高速公路隧道视频停车检测实验结果

续表2

结果表明,如果没有结合CNN模型,检测精度会降低。背后原因在于:受光线或其他干扰因素影响的道路区域很容易被误认为是停车区域,因此会降低检测精度。图7为误检发生时的情况展示,图中矩形框为因干扰因素引起的错误停车检测。然而,由于CNN可以成功地识别非车辆区域,因此这些干扰区域并没有产生误判。CNN分类模型的引入大大减少此类错误的发生,从而提高停车检测算法的可靠性。

图7 某些场景中错误的检测结果Fig. 7 Misidentified detection results in some scenes

2.3 相关性阈值的实验结果

值得注意的是,上述实验结果是在相关性阈值为0.8时获得的,而不同的相关性阈值会对实验结果产生影响。因此,将阈值设置为不同的值作为对比实验,对19个视频进行了检测。实验结果如表3。

表3 相关性阈值的实验结果

当相关性阈值为0.8时,取得了最高的正检率,为84%;同时取得了最低的漏检率,为5%,效果好于其余对比情况。

3 结 语

提出了一种基于监控摄像机的停车检测方法。将传统的运动目标检测和跟踪方法与CNN分类模型有效地结合起来,能准确地对高速公路隧道停车事件进行检测。其中,本文设计的CNN模型包括了先进的3×3小卷积核、批处理规范化和Dropout技术,大大减少了由车灯、环境光等干扰因素引起的误检情况。本文方法在实际高速公路隧道视频中得到了验证,停车检测准确率达到84%。

猜你喜欢
概率密度函数高斯阈值
幂分布的有效估计*
数学王子高斯
小波阈值去噪在深小孔钻削声发射信号处理中的应用
天才数学家——高斯
基于自适应阈值和连通域的隧道裂缝提取
已知f(x)如何求F(x)
比值遥感蚀变信息提取及阈值确定(插图)
室内表面平均氡析出率阈值探讨
有限域上高斯正规基的一个注记
基于概率密度函数的控制系统性能评价