1.一种基于深度学习的道路溢出实时检测方法,其特征在于,包括如下步骤:
1)相机预置位设置以及相机标定,所述的相机预置位为进行道路溢出区域检测时相机所处的固定位置;
2)卷积神经网络模型初始化;
3)获取实时视频流;
4)检查相机工作状态;
5)使用卷积神经网络模型对兴趣区域进行车辆目标检测;
6)进行基于IoU匹配的车辆多目标跟踪;
7)道路溢出分析,具体包含以下步骤:
7.1:计算拥堵检测区域内的平均像素速度:
7.1.1:选择跟踪队列中车辆跟踪次数达到TTrackingFrame帧的目标为有效目标;其中TTrackingFrame为预先设置的可调值,单位为帧,其取值要求为TTrackingFrame≥1;
7.1.2:如果不存在有效目标,则将平均像素速度 置为无穷大;否则根据公式(5)‑(7)计算平均像素速度计算 表示车辆在单位时间内移动距离为 个车身长度;
其中, 为第i个有效目标的平均车身长度,Sij为第i有效目标的第j个时刻的车身长度; 为第i有效目标的移动速度,Xend和Xbegin分别为该有效目标结束跟踪tend和开始跟踪tbegin时刻的目标位置;n为该目标跟踪次数,m为有效目标数量;
7.2:道路溢出分析:如果当前的平均速度 大于Tspeed,则当前不存在道路溢出现象,否则进一步判断;如果在道路溢出检测区域被停止线等分的两个区域都满足同一个车道内存在Nroad个目标,或者该道路溢出区域总共存在Ntotal个车辆目标,且前Tduring时刻同样满足以上条件,则判断该道路出现溢出;其中Tspeed,Nroad,Ntotal,Tduring为预先设置的可调值,Tduring的单位为秒,其取值要求为Tspeed≥0,Nroad≥1,Ntotal≥1,Tduring≥1;
8)道路溢出事件上报并设置睡眠状态。
2.如权利要求1所述的一种基于深度学习的道路溢出实时检测方法,其特征在于,步骤
1)中的相机预置位设置为将摄像头调整到道路溢出区域检测位置,并将当前相机位置设置为预置位。
3.如权利要求1所述的一种基于深度学习的道路溢出实时检测方法,其特征在于,步骤
1)中,所述的相机标定为截取相机视频流的一帧图像,在其上进行车道线(3)、兴趣区域ROI(1)、道路溢出检测区域(2)的标定,并且道路溢出检测区域(2)要求被入口停车线等分,且单车道上能容纳4辆车。
4.如权利要求1所述的一种基于深度学习的道路溢出实时检测方法,其特征在于,步骤
2)中,所述的卷积神经网络模型为tiny‑YOLO v3,卷积神经网络模型初始化为卷积网络模型加载到GPU显卡中以及权重参数恢复。
5.如权利要求1所述的一种基于深度学习的道路溢出实时检测方法,其特征在于,步骤
4)中的检查相机工作状态具体包括以下步骤:
4.1:如果当前相机处于休眠状态,则不进行道路溢出检测;
4.2:获取当前相机的位置信息,与预置位比较是否相同,若相同则进行道路溢出检测;
否则,不进行道路溢出检测;
4.3:根据公式(1)计算当前视频帧时间Tcur与前一帧时间Tpre的时间间隔Tspace,单位均为秒,若Tspace≥T0,则将目标跟踪队列重置;否则,进行正常的道路溢出检测;
Tspace=Tcur‑Tpre (1),其中,T0表示时间阈值,单位为秒。
6.如权利要求1所述的一种基于深度学习的道路溢出实时检测方法,其特征在于,步骤(6)中的基于IoU匹配的车辆多目标跟踪包含以下步骤:
6.1:得到当前帧的车辆目标检测结果后,过滤掉不在车道线内以及道路溢出检测区域内的车辆;
6.2:基于IoU匹配的车辆目标跟踪:
6.2.1:计算当前帧检测到的车辆目标D和跟踪队列中目标Q的IoU和宽高误差Ew、Eh;IoU根据公式(2)计算;宽高误差Ew、Eh分别根据公式(3)、公式(4)计算:其中,Dbox为当前帧的车辆目标D的边界框,QTrackingBox为跟踪队列中目标Q的实时跟踪边界框,∩为求交集,∪为求并集;Dw和Dh分别为当前帧的车辆目标D实时跟踪边界框的宽高,Qw和Qh分别为跟踪队列中目标Q的实时跟踪边界框的宽高;
6.2.2:如果IoU≥IoUt,Ew≤Ewt,Eh≤Eht,则认为D和Q是同一辆车,将D标记为已匹配,将Q标记为已检测,并记录实时跟踪框为当前目标D的边界框;其中IoUt,Ewt,Eht为预先设置的阈值,IoUt的取值范围为0~1.0,Ewt和Eht的取值要求大于等于0;
6.2.3:将处于过车检测区域且未匹配的车辆目标D加入跟踪队列中,初始边界框以及实时跟踪框为当前目标D的边界框,初始图像为当前视频帧,初始时间Qinit_time为当前视频帧的时间;
6.3:维护跟踪队列:若跟踪队列中存在跟踪目标Q在当前帧中没有检测到且前Etolerate_frame帧也没有得到更新,则认为该目标已经驶离,并将该跟踪目标Q从跟踪队列中移除;其中Etolerate_frame为预先设置的可调值,其取值要求为Etolerate_frame≥1。
7.如权利要求1所述的一种基于深度学习的道路溢出实时检测方法,其特征在于,步骤
8)中的道路溢出上报并设置睡眠状态包含以下步骤:
8.1:如果成功检测出道路溢出,选择在前Tduring时刻的视频帧和当前视频帧上绘制出当前的道路溢出检测区域,并在视频帧底边添加视频帧时间和地点信息后将两张图像左右排列合并,最后将道路溢出信息以及合成图进行上报;
8.2:如果成功将道路溢出事件上报,则设置为睡眠状态,直至Tsleep后重新开启道路溢出检测,其中Tsleep为预先阈值的阈值,单位为秒,其取值范围为Tsleep≥1。