CN112738470B - 一种高速公路隧道内停车检测的方法 - Google Patents
一种高速公路隧道内停车检测的方法 Download PDFInfo
- Publication number
- CN112738470B CN112738470B CN202011572493.8A CN202011572493A CN112738470B CN 112738470 B CN112738470 B CN 112738470B CN 202011572493 A CN202011572493 A CN 202011572493A CN 112738470 B CN112738470 B CN 112738470B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- matching
- target
- appearance
- tracking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及高速公路隧道内停车检测领域。一种高速公路隧道内停车检测的方法,对高速公路隧道内进行实时拍照获得监控视频,建立车辆检测模型,制作数据集,将监控视频输入车辆检测模型,利用停车检测算法实现隧道内车辆停车的检测,车辆检测模型采用YOLOv3‑TunnelVehicle网络结构,YOLOv3‑TunnelVehicle网络结构为在YOLOv3网络结构上的改进网络结构。本发明可以较好地在高速公路隧道中完成停车检测的任务,进一步提高停车检测的效率,为高速公路管理***赋予更多的智能化与高效化。
Description
技术领域
本发明涉及高速公路隧道内停车检测领域。
背景技术
随着高速公路建设快速发展,高速公路隧道的运营里程不断增加,为人们带来很多便利。然而,由于隧道内空间狭小、具有一定密闭性、光照受限等特点,发生在高速公路隧道的交通事故比例最高。因此,高速公路隧道内的停车检测是十分必要的,对促进高速公路隧道管理***的智能化发展意义重大。
在基于视频图像的检测研究初期,研究主要集中于传统图像处理方向并且大多数是针对露天的场景,在2007年已经提出了基于Peripheral多目标***从背景减法获得的前景中确定每辆车的位置,但该方法会将快速变化的背景错误地检测为车辆。在同一年还提出了一种基于双背景的异常事件检测方法,该方法用于建立长、短背景的时间常数时,存在很大不确定性。在2014年,发表在《计算机测量与控制》的文章“露天场景下高速公路违章停车视频检测算法”提出基于混合高斯模型检测静止目标,根据车辆的区域特征对静止目标中的停车车辆进行识别,但仍然缺乏对车辆识别的鲁棒性。随着卷积神经网络在图像检测与识别领域的快速发展,在停车检测中也引入了卷积神经网络。在传统图像处理方法的基础上引入卷积神经网络模型识别车辆,这样在一定程度上克服了灯光干扰带来的误检,但并不能从车辆检测的根本上改进。
目前,基于深度学习的目标检测模型已经有了广泛应用,然而这些模型并不是面向高速公路车辆检测来设计的。
发明内容
本发明所要解决的技术问题是:如何对高速公路隧道内停车状况进行检测。
本发明所采用的技术方案是:一种高速公路隧道内停车检测的方法,对高速公路隧道内进行实时拍照获得监控视频,建立车辆检测模型,制作数据集,将监控视频输入车辆检测模型,利用停车检测算法实现隧道内车辆停车的检测,车辆检测模型采用YOLOv3-TunnelVehicle网络结构,YOLOv3-TunnelVehicle网络结构为在YOLOv3网络结构上的改进网络结构,利用停车检测算法实现隧道内车辆停车的检测具体步骤如下
步骤一、采用YOLOv3-TunnelVehicle网络结构作为车辆检测模型检测出车辆的位置;
步骤二、在获得车辆的具***置后,将其输入给Deep SORT多目标跟踪算法来跟踪车辆,进而计算被跟踪车辆的速度判断是否停车。
YOLOv3-TunnelVehicle网络结构采用YOLOv3网络结构深度残差网络提取车辆特征,将YOLOv3网络结构深度残差网络结构的第11层、第36层、第61层和第79层分别修改为获得128*128*128、64*64*256、32*32*512和16*16*512的特征图尺寸,在YOLOv3网络结构残差网络之后添加多个卷积层,并将其分成4个分支,形成多尺度预测网络,预测网络中的特征图通过上采样的方式提高特征图的尺寸,与深度残差网络中相对应的特征图进行融合,即第85层32*32*256与第61层32*32*512融合获得32*32*768的特征图,第97层64*64*128与第36层64*64*256融合获得64*64*384的特征图,第109层128*128*128与第11层128*128*128融合获得128*128*256的特征图;对YOLOv3网络结构的先验框采用K-means算法聚类得到适合高速公路隧道车辆边界框尺寸的先验框,具体步骤如下
(1)用于聚类的原始数据是拥有标注框的目标检测数据集,每张图对应的TXT标注文件中包含标注框的位置和类别。其中每一行是真实框相对于原图的坐标(xj,yj,wj,hj),j∈{1,2,...,N},(xj,yj)是边界框的中心点,(wj,hj)是边界框的宽和高,N是这张图上标注框的数量;
(2)设定k个聚类中心(Wi,Hi),i∈{1,2,...,k},其中Wi,H是先验框的宽和高。因为先验框位置不是固定的,所以没有框的中心坐标,只有宽和高;
(3)计算每个标注框和每个聚类中心的距离度量(1-IOU),计算时每个标注框的中心都与聚类中心重合,即每个标注框和每个聚类中心的距离d=1-IOU[(xj,yj,wj,hj),(xj,yj,Wi,Hi)],其中j∈{1,2,...,N}和i∈{1,2,...,k}。将标注框分配给距离度量最小的聚类中心。
(4)所有标注框分配完毕后,对每个聚类簇重新计算其聚类中心的坐标,即Wi'=(1/ni)∑wi,H'i=(1/ni)∑hi,ni为第i聚类簇的标注框数量,这个步骤也就是求各个聚类簇中所有标注框宽和高的均值;
(5)重复第(3)、(4)步,直到聚类中心改变量为0,也就是聚类中心不变了。
制作数据集时,对公开数据集Pascal VOC进行修整,筛选出与高速公路隧道内车辆高度相似的数据;根据筛选出与高速公路隧道内车辆高度相似的数据制作高速公路隧道车辆数据集。Deep SORT多目标跟踪算法是基于SORT算法的改进,利用运动信息和外观信息进行数据关联,在Deep SORT算法中,卡尔曼滤波器用于估计当前视频帧中车辆跟踪目标的位置和形状,将预测结果与当前视频帧中车辆检测结果进行匹配,最后根据匹配结果将车辆检测边界框分配给车辆跟踪目标,将当前帧中检测到的车辆边界框与上一帧的车辆跟踪目标进行匹配,在匹配过程中,采用卡尔曼滤波估计车辆跟踪目标的状态再完成匹配,车辆检测目标的跟踪分配包括运动匹配、外观匹配和级联匹配,其中,运动匹配是通过平方马氏距离来测量历史帧中跟踪目标的卡尔曼状态与当前帧中车辆检测边界框之间的运动匹配程度,在外观匹配中,采用余弦深度特征表示车辆检测目标和跟踪目标的外观,在获得外观特征后,使用余弦深度特征之间的余弦距离测量两者的外观相似度,从而进行外观匹配,级联匹配将运动匹配和外观匹配结合在一起,实现车辆检测边界框与最近出现的跟踪目标相匹配;
在车辆目标的卡尔曼滤波中,车辆边界框的状态用8维状态空间来描述:
X=[x,y,γ,h,x',y',γ',h']
其中(x,y)、γ、h分别为车辆边界框的中心点坐标、宽高比、高;x',y',γ',h'为各自变量的变化速度,每个速度值都初始化为0,设***的观测变量为x,y,γ,h,即Z=[x,y,γ,h]。在卡尔曼滤波器中,首先对状态进行预测,即根据时间k-1的***状态对时间k的***状态进行预测,并计算观测前误差的协方差矩阵。然后进行***的估计更新,将时间k的预测值和时间k的观测值相结合,计算卡尔曼增益矩阵,最后估计***状态,并更新误差协方差;具体的卡尔曼滤波公式为:
其中表示基于k-1时间的***状态对k时间***状态的预测值,A为状态转移矩阵;是基于k-1时间的协方差计算k时间协方差的预测值,Q为***噪声(高斯白噪声)的协方差矩阵,代表整个***的可靠程度;Kk表示k时间的卡尔曼增益矩阵,卡尔曼增益用于估计误差的重要程度,H是***测量矩阵,R是测量噪声(高斯白噪声)的协方差矩阵,它是一个4x4对角矩阵,对角线上的值是中心点的两个坐标以及宽高的噪声;是k时间***状态的最优结果,Zk是k时间的***测量值;是k时间***最优结果对应的协方差,协方差表示目标边界框信息的不确定性,矩阵中的数字越大,不确定性越大。本专利中根据X和Z的形式得出状态转移矩阵与状态观测矩阵:
通过卡尔曼滤波公式即可对车辆跟踪过程中每辆车的状态进行估计,在卡尔曼滤波后进行跟踪指派,跟踪指派中的运动匹配是通过马氏距离来测量卡尔曼滤波器预测的车辆跟踪目标状态与车辆检测模型获得的车辆检测边界框之间的运动匹配度,马氏距离由P.C.Mahalanobis提出,它代表数据的协方差距离,是一种计算两个未知样本集相似度的有效度量准则。假设存在两个特征向量X和Y,则两个向量之间的马氏距离D(X,Y)为:
其中S为待测量的向量之间的协方差矩阵;
Deep SORT中跟踪指派的运动匹配度是:
其中dj为当前帧检测模型检测到的第j个车辆边界框的状态向量;yi为第i个跟踪目标在当前帧中的预测的卡尔曼状态;Si为卡尔曼滤波器预测的第i个跟踪目标在当前帧中的协方差矩阵;d(1)(i,j)则为第j个车辆边界框与第i个跟踪目标之间的运动匹配度,对于是否匹配的判断准则通过阈值的形式来完成:
其中t(1)即为运动匹配度的阈值,其值为t(1)=9.4877,这一数值是对四维变量空间(x,y,γ,h)在逆卡方分布上要求能达到95%以上的置信度计算出的结果;
运动匹配适用于运动不确定性较低的情况,使用卡尔曼滤波器估计图像空间中的运动状态是一种粗略的预测,当相机抖动和目标被遮挡时,很容易出现ID切换现象,在跟踪多个目标时,将为每个跟踪的目标分配一个编号,而ID切换指的是图像序列中目标编号变化的次数,使用车辆的外观信息来匹配目标的方法,也就是Deep SORT中跟踪指派的外观匹配,通过Cosine深度特征来测量第j个车辆检测目标与第i个跟踪目标之间的外观相似性;
通过Cosine深度特征提取网络对每个检测目标dj都计算一个外观描述符rj,对每个跟踪目标来说,保存它最新的100个成功关联的特征集,记作然后,第i个跟踪目标和第j个检测目标在外观空间中的距离测量是它们各自的外观描述符的最小余弦距离:
同样引入阈值以排除在外观匹配度量中相距太远的匹配组合:
通过以上运动匹配和外观匹配的分析,可以知道运动匹配更加适合短期预测且区分度更差,而外观匹配更擅长长期预测,适用于目标在长时间遮挡后恢复匹配。用加权的方式对这两种度量方法进行组合:
通过以上运动匹配和外观匹配的分析,可以知道运动匹配更加适合短期预测且区分度更差,而外观匹配更擅长长期预测,适用于目标在长时间遮挡后恢复匹配,用加权的方式对这两种度量方法进行组合:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)
如果既满足运动匹配又满足外观匹配,则表示匹配成功,因此该组合度量方法的阈值为:
除了运动匹配和外观匹配外,通过级联匹配来优先将车辆检测边框指派给被遮挡时间较短的车辆跟踪目标,卡尔曼滤波器用于预测多车辆目标跟踪的车辆边界框,使用级联匹配算法来匹配具有不同遮挡持续时间的目标,级联匹配算法为:
(1)输入:跟踪目标T={1,2,...,N};车辆检测得到的车辆边界框D={1,2,...,M};连续被遮挡的最大帧数Amax,
(2)计算车辆跟踪目标与车辆检测目标的运动和外观组合匹配度C=[ci,j]。
(3)计算车辆跟踪目标与车辆检测目标的阈值矩阵B=[bi,j],
(5)初始化未匹配的车辆检测目标集合U←D,
(6)按照车辆跟踪目标被遮挡的帧数Tn←{i∈T|ai=n}从小到大与车辆检测目标进行匹配,公式表示为[xi,j]←min_cost_matching(C,Tn,U);将匹配结果应用于M和U的更新,更新公式为M←M∪{(i,j)|bi,j·xi,j>0}和U←U\{j|∑ibi,j·xi,j>0},
(7)输出:匹配集合M和未匹配集合U;
计算被跟踪车辆的质心移动距离,如果该距离小于5像素则判定该车辆区域为疑似停车的区域;之后对于被判定为疑似停车的车辆进行“更严格”地判断,即当车辆的质心移动距离小于2像素时,判定该车辆区域为确认停车的区域。
本发明的有益效果是:本发明对改进的车辆检测模型进行了对比实验。实验分为:采用VOC-carbustrain三类目标数据集训练YOLOv3模型;采用VOC-vehicle一类目标数据集训练YOLOv3模型;采用VOC-vehicle一类目标数据集分别训练YOLOv3模型和YOLOv3-TunnelVehicle模型;采用Tunnel-vehicle一类目标数据集分别训练YOLOv3模型和YOLOv3-TunnelVehicle模型。本实验中采用轻型的深度学习框架Darknet进行训练与测试。在整个训练过程中,进行10000轮次的迭代,其中动量和权重衰减分别配置为0.9和0.0005,批量大小设置为64,学习率初始为0.001。
在模型训练完成后,各个实验分别取得的mAP为:85.06%、85.44%、86.50%、97.54%和98.19%。第一个对比实验针对原始YOLOv3,采用剔除无用目标的VOC-carbustrain数据集来训练,车辆检测的mAP提高了0.56%,表明VOC-carbustrain数据集对于提升车辆检测的准确率是有效的。第二个对比实验是为了验证将car、bus、train三类目标变为vehicle一类目标的有效性,采用相同网络结构和先验框进行对比实验,实验结果表明:将car、bus、train三类目标变为vehicle一类目标使得mAP提高了0.38%。第三个对比实验是用来验证本发明设计的YOLOv3-TunnelVehicle网络结构的有效性,实验中采用相同的先验框和相同的数据集,结果表明YOLOv3-TunnelVehicle相比于YOLOv3在VOC-vehicle数据集和Tunnel-vehicle数据集上车辆检测的mAP分别提升了1.06%和0.65%。最终,本发明在Tunnel-vehicle数据集上训练得到的高速公路隧道车辆检测模型mAP为98.19%。
(2)提出的高速公路隧道内停车检测方法
在本发明的停车检测实验中,改进的YOLOv3车辆检测模型是基于Darknet训练得到的,但是Darknet对于停车检测算法的实现并不便捷,因此在停车检测的部分采用Keras框架来构建。Keras是用Python编写的高级神经网络API,它具有模块化和易扩展性的优点,使得代码紧凑,易于调试。经过模型文件的转换,将Darknet框架下的“.weights”文件转换为Keras框架下的“.h5”文件。
在实验中,采用实际高速公路隧道场景下的视频做测试。为了验证本文方法的广泛适用性,我们所测试的视频包括了高速公路隧道内各种典型的车辆:近距离大型车、一般中型车和远距离小型车。
在19个高速公路隧道测试视频的实验中,最终获得的正检率为95%,误检率为5%,漏检率为0。实验结果表明基于改进YOLOv3车辆检测的停车检测可以较好地在高速公路隧道中完成停车检测的任务,进一步提高停车检测的效率,为高速公路管理***赋予更多的智能化与高效化。对于引起误检的情况进行分析,发生误检停车检测的主要原因是:1)该大型货车行驶速度缓慢;2)车身长度较长;3)绿色的车篷布在一段时间内表现出几乎完全相同的特征。因此,停车检测算法出现了误判。
附图说明
图1高速公路隧道内停车检测方法结构图;
图2交并比(IOU)示例图;
图3车辆检测模型(YOLOv3)网络结构图;
图4张量示意图;
图5车辆边界框的预测图;
图6多尺度预测示意图;
图7本发明车辆检测模型(YOLOv3-TunnelVehicle)网络结构图。
具体实施方式
本发明提出了一种基于改进YOLOv3的高速公路隧道内停车检测方法,克服了现有技术的不足,提供了一种高精度的停车检测方法,为高速公路隧道的交通安全提供了很好的保障。
本发明利用高速公路隧道内所实时拍摄的视频图像对停车检测展开研究。该项研究来自于某省高速公路隧道管理的实际需求。相比于露天环境,高速公路隧道所具有的特有性质为停车检测行为增加了难度。其中包括:
(1)距离摄像头远近不同的车辆在画面中的大小显著不同,尤其是大型车在近距离和小型车在远距离的时候尺寸差异尤为明显。
(2)车灯、环境照明灯光及路面的反射光等干扰,影响检测的准确率。
因此,本专利申请所要解决的技术问题包括:
(1)建立车辆检测模型。在停车检测中首先需要建立车辆检测模型,从视频中检测出车辆,然后再判断是否发生停车。而对于深度学习车辆检测模型来说,模型的网络结构和用于训练的数据集起到了非常关键的作用。因此,首先选取检测精度和检测速度在均衡性上表现优秀的YOLOv3作为车辆检测的基础网络结构,并对其进行改进。
(2)制作数据集。由于当前公开数据集没有针对隧道内车辆的图片,因此数据集的整理和制作将是十分必要的。
(3)高速公路隧道内停车检测方法。在建立车辆检测模型和训练模型之后,需要融合相应的停车检测算法,实现隧道内车辆停车的检测。也就是说,如何判定检测的车辆是否发生停车行为。
图1是本专利提出的高速公路隧道内停车检测方法结构图。首先,通过改进的YOLOv3模型进行车辆检测,然后通过多目标跟踪算法(Deep SORT,Deep Simple Onlineand Realtime Tracking)进行车辆跟踪并判断车辆是否发生停车。在多目标跟踪算法中,首先通过卡尔曼滤波预测车辆在当前画面中的位置,然后通过运动匹配、外观匹配和级联匹配修正车辆在视频画面中的位置,最终得到车辆的跟踪结果并判断车辆是否发生停车。整个实验是使用Python语言在Ubuntu编译环境下进行的。
因此,在本专利的技术方案中,首先提出了改进的YOLOv3的网络结构,然后制作训练模型的数据集,最后结合多目标跟踪算法提出高速公路隧道内停车检测方法(图1)。改进YOLO3的车辆检测模型。
改进的主要方法是采用了多级联的方式融合了卷积层,达到满足于本专利车辆检测的要求。这部分分为两块内容进行介绍:原始的YOLOv3算法原理和改进的YOLOv3。
YOLOv3算法原理。YOLO算法的基本思想是:通过特征提取网络处理输入图像以获得特定尺寸大小的特征图。输入图像被划分为特定大小S×S的网格。如果目标的真实边界框的中心坐标位于某个单元格中,则该单元格负责预测该目标。
每个单元格预测固定数量的大小不同的边界框。在YOLOv3中是每个网格三个边界框,每个预测边界框包含边界框的形状、位置和置信度。边界框的形状和位置由边界框中心点坐标(x,y)和宽高(w,h)组成。值得注意的是,中心坐标的预测值(x,y)是相对于每个单元格左上角坐标点的偏移值,并且单位是相对于单元格大小的。边界框的宽高是相对于整幅图像的归一化比例,这样理论上这4个数值的大小应该在[0,1]范围。
边界框的置信度其实包含两个方面,一是这个边界框含有目标的可能性大小,二是这个边界框形状和位置的好坏(或者边界框的准确率)。前者记为P(object),当边界框包含目标时P(object)=1,不包含目标(即背景)时P(object)=0。这里衡量边界框的准确率即衡量2个边界框之间的相似度。而Jaccard系数(Jaccard index)可评估两个集合的相似性。假设有集合X和Y,则其Jaccard系数是其交集大小和并集大小的商:
对于边界框来说,边界框中的图像可被视为像素的集合。这样,可以通过两个边界框内像素集合的Jaccard系数来表示这两个边界框的相似度。在计算边界框之间的相似度时,Jaccard系数一般称为两个边界框的相交面积与相并面积之比,即交并比(Intersection Over Union,IOU),如图2所示。交集与并集比的取值范围在0~1,0表示两个边界框没有重合像素,1表示两个边界框完全重合。则预测框和真实框的交并比记作
因此,边界框的置信度可以表示为:
假设一个单元格预测个B边界框,则每个单元格预测(B*5+C)个数值。如果特征图被划分为S×S的网格,那么最终预测值的数量为S*S(B*5+C)。
图3为原始的YOLOv3网络结构图,在YOLOv3网络结构图中最左边的一列是Darknet-53特征提取网络,也称为主干网络。这个网络主要是有一系列的1×1和3×3的卷积层组成的卷积层组成,因为网络中有53个卷积层,所以将其称为Darknet-53(作者说的53包括了全连接层,但不包括残差层)。主干网络中使用了5个“Residual Block n×”结构,n代表的数字表示这个残差结构里含有n个残差单元。特征提取网络是YOLOv3的重要组成部分,这部分从YOLOv2的Darknet-19上升到YOLOv3的Darknet-53,YOLOv3开始借鉴ResNet的残差结构(跳层连接方式),使用这种结构可以让网络结构更深。Darknet-53网络采用全卷积结构。在YOLOv3的正向传播过程中,张量的大小通过更改卷积核的步长大小而更改。卷积步长为2,每次卷积后,图像边长减小一半。如图2所示,Darknet-53中有5次卷积的步长为2。经过5次缩小,特征图缩小为原输入尺寸的1/32。特征图尺寸的计算公式如下:
其中O是输出特征图的尺寸,I是输入的尺寸,K是卷积核的尺寸,S是移动步幅,P是填充数。例如对输入256×256来说,这里P是1,所以输出O=((256-3+2*1)/1)+1=256。
在YOLOv3网络结构图中有“Concat”操作,也就是融合,这是张量拼接。在YOLOv3中,对Darknet-53中间层和中间层之后的某一层进行上采样以进行拼接。值得注意的是,张量拼接将扩大张量的维度。对于张量有如下的定义,如图4所示是一个实例。
这里的X,Y,Z分别表示维度0,1,2。由图4左图可以看到和X这个方括号同维度的有[01],[23]两个,所以维度0的长度为2;而和Y同维度的有0,1两个,所以维度1的长度为2。所以左边张量的尺寸为[2,2]。同理右图的张量,和X方括号同维度的只有[[456][789]],所以维度0长度为1;和Y方括号同维度的有[456],[789]两个,所以维度1长度为2;和Z同维度的有4,5,6,所以维度2长度为3。所以右边张量的尺寸为[1,2,3]。
YOLOv3同YOLOv2一样使用K-means聚类进行边界框的初始化。这种先验知识的机制对于边界框的初始化非常有帮助。该机制基于Faster R-CNN中的Anchor机制。区别在于,采用K-means聚类确定默认框的大小,而不是人工手动指定。
YOLOv3通过直接预测相对位置来获得预测边界框的形状和大小。如图5所示,tx,ty,tw,th就是模型直接的预测输出值。cx,cy为单元格的坐标,是相对于左上角的坐标,每个小格的长度为1,图中示例为cx=1,cy=1。tx,ty分别经过sigmoid函数输出偏移量,与cx,cy相加后得到边界框中心点的位置(bx,by)。pw,ph是边界框初始化后的宽和高,tw,th分别与pw,ph作用后得到边界框的宽和高bw,bh,在宽度和高度的计算中引入了对数空间的变化,以使计算出的宽度和高度始终不为负,这样确保在训练过程中针对具有不等条件约束的优化问题解决求梯度过程。这样就能得到预测边界框的形状和位置。
YOLOv3采用多尺度融合方法进行预测,分别是在下采样的32倍、16倍和8倍时进行检测,并采用类似于FPN的上采样和融合方法(融合后共三个尺度,尺度大小分别为13×13、26×26和52×52)。在网络中使用上采样的原因:网络越深,特征表达的效果越好。例如,在16倍下采样检测中,如果直接将第四个下采样特征用于检测,则将浅层特征用于检测,因此效果通常不好。如果要在32倍下采样后使用特征,但是深层特征的尺寸太小,因此使用2倍上采样将32倍下采样所获得的特征图的尺寸加倍,这将成为16倍下采样后的尺寸。同样,8倍采样也是对16倍下采样的特征进行2倍上采样,因此可以将更深的特征用于检测。另外,特征图网格越精细,可以检测到的物体越精细。这对小目标的检测效果明显提高。如图6所示是忽略神经网络结构细节的多尺度预测示意图,对于一张输入图像,YOLOv3将其映射到3个不同尺度的输出张量。对于416×416的输入图像,在每个尺度特征图的每个网格中都设置了三个先验框,总计13×13×3+26×26×3+52×52×3=10647个预测。每个预测都是一个(4+1+20)=25维向量,其中包含边界框坐标(4个值),边界框置信度(1个值),对象类别的概率(对于PASCAL VOC数据集,有20个类别,即20个值)。
为了解决针对同一目标的多个检测结果的问题,采用NMS(Non-MaximumSuppression,NMS)算法对检测结果进行过滤。首先,设置置信度阈值以去除置信度小于阈值的边界框,然后使用NMS算法过滤所有剩余的边界框。算法步骤如下:
(1)对所有边界框按照置信度得分从高到低排序;
(2)选择得分最高的边界框到输出队列;
(3)计算(2)中剩余边界框和选定边界框的IOU;
(4)在本文中,将IOU阈值设为0.5,并删除大于该阈值的边界框;
(5)返回步骤(1),直到处理完所有边界框(从最后剩余的边界框中再找到得分最高的那个,然后返回(1)重复执行);
(6)输出队列的边界框为检测结果。
在目标检测任务中,有几个要获得的关键信息:边界框(x,y,w,h)、置信度、类别。根据关键信息的特点损失函数可分为三类,每个部分的损失函数根据各自的特点确定。最后,将其组合以形成最终的损失函数,这也是端到端训练的损失函数。
loss=bbox loss+confidence loss+class loss
边界框位置和形状的损失函数为:
其中tx,ty,tw,th是模型输出关于边界框中心坐标、宽度和高度的预测值。将sigmoid变换应用于中心坐标模型的输出值tx,ty,tw,th,并通过均方损失函数计算预测坐标和真实坐标的损失值。此部分损失函数计算每个单元格中每个边界框的坐标损失值的总和。如果在特征图的网络单元i中有一个目标,并且第j个边界框预测值对该预测有效,则该值为1。其他不相关的边界框的值为0,对于不相关的边界框不进行损失计算。在YOLOv3中,一个单元格具有三个先验框,当目标的中心落在某单元格中时,该单元格负责这个目标并选择具有最高置信度的先验框和真实框做损失的计算。如果某个单元格没有目标中心点落在其中,则不计算损失。
边界框的置信度损失函数采用二分类交叉熵计算得出:
其中xobj是模型输出并做sigmoid变换。当一个边界框是有效的情况下yobj为1,无效则为0。
目标类别损失函数也采用二分类交叉熵计算得出:
车辆检测网络的优化
YOLOv3在YOLOv1和YOLOv2的基础上进行了许多改进,但仍有进一步改进的空间。在高速公路隧道场景中的车辆检测,还有更多需要改进的地方。例如,优化网络结构并基于车辆边界框架的大小设置先验框的尺寸。
改进网络结构。
图7所示为本发明设计的车辆检测网络结构,将其命名为YOLOv3-TunnelVehicle。YOLOv3-TunnelVehicle网络结构的输入是监控视频的整幅图像,通过一系列不同的卷积层进行运算,输出检测到的所有车辆边界框的位置及尺寸。详细地来讲,首先该网络结构采用现有技术深度残差网络提取车辆特征,在深度残差网络结构的第11层、第36层、第61层和第79层分别获得128*128*128、64*64*256、32*32*512和16*16*512的特征图尺寸。其次,在残差网络之后添加多个卷积层,并将其分成4个分支,形成多尺度预测网络。为了获得更丰富的语义信息,YOLOv3-TunnelVehicle将预测网络中的特征图通过上采样的方式提高特征图的尺寸,与深度残差网络中相对应的特征图进行融合(第85层32*32*256与第61层32*32*512融合获得32*32*768的特征图,第97层64*64*128与第36层64*64*256融合获得64*64*384的特征图,第109层128*128*128与第11层128*128*128融合获得128*128*256的特征图)。
得到适合高速公路隧道车辆边界框尺寸的先验框。
YOLOv3使用K-means聚类得到先验框的尺寸,在YOLOv3中为3种不同尺度的检测特征图分别设定3种先验框,总计是9个不同大小的先验框,合适的先验框可以使网络训练更易于收敛。先验框按照尺寸从小到大的顺序排布,在9个先验框中前3个较小的先验框是属于较大的52x52特征图,中间3个先验框属于26x26特征图,最后3个先验框属于13x13特征图。较大的特征图拥有较小的感受野,这样有利于检测小目标,反之有利于较大目标的检测。COCO数据集是微软提供的一个大型图像数据集,包含了80类目标,因此聚类得到的先验框并不完全适合于高速公路隧道中的车辆。本文将针对高速公路隧道车辆检测对特定数据集进行K-means算法聚类,得到适合高速公路隧道车辆边界框尺寸的先验框。
K-means聚类中的距离度量是很关键的,假如使用标准的欧氏距离,则尺寸大的边界框会比尺寸小的边界框计算得到更多的误差。比如(100-75)2=625,(10-7.5)2=6.25,因此标准欧氏距离是不合理的。而目标检测中聚类的目的是先验框和临近的真实框有更大的IOU值,因此使用的距离度量公式是d(x,y)=1-IOU(x,y)。这样使得边界框到聚类中心的距离越小越好时候IOU值越大越好。
K-means聚类先验框的具体步骤是:
(1)用于聚类的原始数据是拥有标注框的目标检测数据集,每张图对应的TXT标注文件中包含标注框的位置和类别。其中每一行是真实框相对于原图的坐标(xj,yj,wj,hj),j∈{1,2,...,N},(xj,yj)是边界框的中心点,(wj,hj)是边界框的宽和高,N是这张图上标注框的数量;
(2)设定k个聚类中心(Wi,Hi),i∈{1,2,...,k},其中Wi,H是先验框的宽和高。因为先验框位置不是固定的,所以没有框的中心坐标,只有宽和高;
(3)计算每个标注框和每个聚类中心的距离度量(1-IOU),计算时每个标注框的中心都与聚类中心重合,即d=1-IOU[(xj,yj,wj,hj),(xj,yj,Wi,Hi)],其中j∈{1,2,…,N}和i∈{1,2,...,k}。将标注框分配给距离度量最小的聚类中心。
(4)所有标注框分配完毕后,对每个聚类簇重新计算其聚类中心的坐标,即Wi'=(1/ni)∑wi,H'i=(1/ni)∑hi,ni为第i聚类簇的标注框数量。这个步骤也就是求各个聚类簇中所有标注框宽和高的均值;
(5)重复第(3)、(4)步,直到聚类中心改变量为0,也就是聚类中心不变了。
制作符合本专利的数据集
制作数据集时,展开了两项工作,1)对公开数据集Pascal VOC进行修整,筛选出与高速公路隧道内车辆高度相似的数据;2)为了进一步体现高速公路隧道内车辆的特点,还制作了高速公路隧道车辆数据集。在对VOC数据集的修整中,为了防止冗余数据拖慢网络训练效率。所做处理如下:1)从原始VOC数据集的20类目标中筛选出car、bus和train这三类。VOC数据集经过筛选后,含有car、bus、train中一类或多类的样本情况为:VOC2007为2249个样本,VOC2012为2134个样本。2)将VOC数据集中car、bus和train这三类合并为一个类别并命名为vehicle。挑选出的VOC数据集中的车辆图片与实际高速公路隧道内的车辆图片仍然存在较大差别,因此,制作高速公路隧道数据集是十分必要的。所制作的高速公路隧道数据集所有图片均来源于实际的高速公路隧道监控视频,总共为1599张。对于修整完的数据集xml标签文件,需将将其转换为深度学习框架Darknet所需的txt样式标签文件。其中,各个目标标注框的坐标做如下转换:
x=(xmin+xmax)/(2*width)
y=(ymin+ymax)/(2*height)
w=(xmax-xmin)/width
h=(ymax-ymin)/height
其中(xmin,ymin),(xmax,ymax)分别为标注框的左上角坐标和右下角坐标,而width和height为图像的宽和高。
提出高速公路隧道内停车检测方法
本发明提出的高速公路隧道内停车检测方法的结构图如图1所示。首先,采用上述提出的改进的YOLOv3车辆检测模型检测出车辆的位置;其次,在获得车辆的具***置后,将其输入给Deep SORT多目标跟踪算法来跟踪车辆,进而计算被跟踪车辆的速度来判断是否停车。Deep SORT是基于SORT算法改进的,利用运动信息和外观信息进行数据关联。在DeepSORT算法中,卡尔曼滤波器用于估计当前视频帧中车辆跟踪目标的位置和形状,将预测结果与当前视频帧中车辆检测结果进行匹配,最后根据匹配结果将车辆检测边界框分配给车辆跟踪目标。对于视频输入,通过车辆检测模型可以得到车辆的边界框,但是无法判断每个边界框属于哪个跟踪目标,因此需要匹配算法将当前帧中检测到的车辆边界框与上一帧的车辆跟踪目标进行匹配。在匹配过程中,由于车辆跟踪目标常常是运动的,因此先采用卡尔曼滤波来估计车辆跟踪目标的状态再完成匹配。车辆检测目标的跟踪分配包括运动匹配、外观匹配和级联匹配。其中,运动匹配是通过平方马氏距离来测量历史帧中跟踪目标的卡尔曼状态与当前帧中车辆检测边界框之间的运动匹配程度。在外观匹配中,采用余弦深度特征表示车辆检测目标和跟踪目标的外观。在获得外观特征后,使用余弦深度特征之间的余弦距离测量两者的外观相似度,从而进行外观匹配。级联匹配将运动匹配和外观匹配结合在一起,实现车辆检测边界框与最近出现的跟踪目标相匹配。
在车辆目标的卡尔曼滤波中,车辆边界框的状态用8维状态空间来描述:
X=[x,y,γ,h,x',y',γ',h']
其中(x,y)、γ、h分别为车辆边界框的中心点坐标、宽高比、高;x',y',γ',h'为各自变量的变化速度,每个速度值都初始化为0。设***的观测变量为x,y,γ,h,即Z=[x,y,γ,h]。在卡尔曼滤波器中,首先对状态进行预测,即根据时间k-1的***状态对时间k的***状态进行预测,并计算观测前误差的协方差矩阵。然后进行***的估计更新,将时间k的预测值和时间k的观测值相结合,计算卡尔曼增益矩阵,最后估计***状态,并更新误差协方差。具体的卡尔曼滤波公式为:
其中表示基于k-1时间的***状态对k时间***状态的预测值,A为状态转移矩阵;是基于k-1时间的协方差计算k时间协方差的预测值,Q为***噪声(高斯白噪声)的协方差矩阵,代表整个***的可靠程度;Kk表示k时间的卡尔曼增益矩阵,卡尔曼增益用于估计误差的重要程度,H是***测量矩阵,R是测量噪声(高斯白噪声)的协方差矩阵,它是一个4x4对角矩阵,对角线上的值是中心点的两个坐标以及宽高的噪声;是k时间***状态的最优结果,Zk是k时间的***测量值;是k时间***最优结果对应的协方差,协方差表示目标边界框信息的不确定性,矩阵中的数字越大,不确定性越大。本专利中根据X和Z的形式得出状态转移矩阵与状态观测矩阵:
通过卡尔曼滤波公式即可对车辆跟踪过程中每辆车的状态进行估计。在卡尔曼滤波后进行跟踪指派,跟踪指派中的运动匹配是通过马氏距离来测量卡尔曼滤波器预测的车辆跟踪目标状态与车辆检测模型获得的车辆检测边界框之间的运动匹配度。马氏距离由P.C.Mahalanobis提出,它代表数据的协方差距离,是一种计算两个未知样本集相似度的有效度量准则。假设存在两个特征向量X和Y,则两个向量之间的马氏距离D(X,Y)为:
其中S为待测量的向量之间的协方差矩阵。
Deep SORT中跟踪指派的运动匹配度是:
其中dj为当前帧检测模型检测到的第j个车辆边界框的状态向量;yi为第i个跟踪目标在当前帧中的预测的卡尔曼状态;Si为卡尔曼滤波器预测的第i个跟踪目标在当前帧中的协方差矩阵;d(1)(i,j)则为第j个车辆边界框与第i个跟踪目标之间的运动匹配度,对于是否匹配的判断准则通过阈值的形式来完成:
其中t(1)即为运动匹配度的阈值,其值为t(1)=9.4877,这一数值是对四维变量空间(x,y,γ,h)在逆卡方分布上要求能达到95%以上的置信度计算出的结果。
运动匹配适用于运动不确定性较低的情况。使用卡尔曼滤波器估计图像空间中的运动状态是一种粗略的预测,当相机抖动和目标被遮挡时,很容易出现ID切换现象。在跟踪多个目标时,将为每个跟踪的目标分配一个编号,而ID切换指的是图像序列中目标编号变化的次数。为了克服上述问题,需要一种可以使用车辆的外观信息来匹配目标的方法,也就是Deep SORT中跟踪指派的外观匹配。通过Cosine深度特征来测量第j个车辆检测目标与第i个跟踪目标之间的外观相似性。Cosine深度特征提取网络如表1所示。
表1深度特征提取网络(Cosine)
通过Cosine深度特征提取网络对每个检测目标dj都计算一个外观描述符rj。对每个跟踪目标来说,保存它最新的100个成功关联的特征集,记作然后,第i个跟踪目标和第j个检测目标在外观空间中的距离测量是它们各自的外观描述符的最小余弦距离:
同样引入阈值以排除在外观匹配度量中相距太远的匹配组合:
通过以上运动匹配和外观匹配的分析,可以知道运动匹配更加适合短期预测且区分度更差,而外观匹配更擅长长期预测,适用于目标在长时间遮挡后恢复匹配。用加权的方式对这两种度量方法进行组合:
通过以上运动匹配和外观匹配的分析,可以知道运动匹配更加适合短期预测且区分度更差,而外观匹配更擅长长期预测,适用于目标在长时间遮挡后恢复匹配。用加权的方式对这两种度量方法进行组合:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)
如果既满足运动匹配又满足外观匹配,则表示匹配成功。因此该组合度量方法的阈值为:
除了运动匹配和外观匹配外,通过级联匹配来优先将车辆检测边框指派给被遮挡时间较短的车辆跟踪目标。卡尔曼滤波器用于预测多车辆目标跟踪的车辆边界框。当跟踪目标长时间被遮挡时,跟踪目标长时间不匹配。此时,卡尔曼滤波器中的观测值将长期丢失,因此预测具有很大的不确定性。长时间缺少跟踪目标后,运动匹配中的马氏距离会因遮挡时间较长而变小,因此,通过车辆检测获得的车辆边界框更有可能被分配给遮挡时间较长的跟踪目标,但这会破坏多目标跟踪的准确性。例如,假设原始协方差矩阵是正态分布,则连续不更新预测将导致该正态分布的方差变得越来越大,然后远离平均欧氏距离的点可能与先前离得近的分布点得到相同的马氏距离值。为了解决这个问题,使用级联匹配算法来匹配具有不同遮挡持续时间的目标。级联匹配算法为:
(1)输入:跟踪目标T={1,2,…,N};车辆检测得到的车辆边界框D={1,2,…,M};连续被遮挡的最大帧数Amax。
(2)计算车辆跟踪目标与车辆检测目标的运动和外观组合匹配度C=[ci,j]。
(3)计算车辆跟踪目标与车辆检测目标的阈值矩阵B=[bi,j]。
(5)初始化未匹配的车辆检测目标集合U←D。
(6)按照车辆跟踪目标被遮挡的帧数Tn←{i∈T|ai=n}从小到大与车辆检测目标进行匹配,公式表示为[xi,j]←min_cost_matching(C,Tn,U);将匹配结果应用于M和U的更新,更新公式为M←M∪{(i,j)|bi,j·xi,j>0}和U←U\{j|∑ibi,j·xi,j>0}。
(7)输出:匹配集合M和未匹配集合U。
以上为Deep SORT跟踪算法的详细过程,接下来是提出的融合深度学习目标检测YOLOv3-TunnelVehicle和Deep SORT跟踪算法的停车检测算法。首先,通过在高速公路隧道数据集上训练的YOLOv3-TunnelVehicle模型进行车辆的检测,获得监控场景中车辆的位置坐标和形状参数;接着,将车辆检测的结果输入给Deep SORT跟踪算法获得当前车辆跟踪的情况,这些情况总共分为新加入跟踪序列的车辆、正在跟踪序列中的车辆和离开跟踪序列的车辆;对于“正在跟踪序列中的车辆”,经过了Deep SORT跟踪算法后将获得车辆在当前帧中的质心坐标位置,而该车辆在上一个检测帧中的质心坐标位置也是可知的。因此本文基于车辆在相邻检测帧中的质心坐标信息检测停车,具体为:计算被跟踪车辆的质心移动距离,如果该距离小于5(像素)则判定该车辆区域为疑似停车的区域;之后对于被判定为疑似停车的车辆进行“更严格”地判断,即当车辆的质心移动距离小于2时,判定该车辆区域为确认停车的区域。值得注意的是,上文中提及到的判定疑似停车的阈值“5”和判定确认停车的阈值“2”是在实际的高速公路隧道视频的实验中获得的经验值。
Claims (3)
1.一种高速公路隧道内停车检测的方法,对高速公路隧道内进行实时拍照获得监控视频,建立车辆检测模型,制作数据集,将监控视频输入车辆检测模型,利用停车检测算法实现隧道内车辆停车的检测,其特征在于:车辆检测模型采用YOLOv3-TunnelVehicle网络结构,YOLOv3-TunnelVehicle网络结构为在YOLOv3网络结构上的改进网络结构,YOLOv3-TunnelVehicle网络结构采用YOLOv3网络结构深度残差网络提取车辆特征,将YOLOv3网络结构深度残差网络结构的第11层、第36层、第61层和第79层分别修改为获得128*128*128、64*64*256、32*32*512和16*16*512的特征图尺寸,在YOLOv3网络结构残差网络之后添加多个卷积层,并将其分成4个分支,形成多尺度预测网络,预测网络中的特征图通过上采样的方式提高特征图的尺寸,与深度残差网络中相对应的特征图进行融合,即第85层32*32*256与第61层32*32*512融合获得32*32*768的特征图,第97层64*64*128与第36层64*64*256融合获得64*64*384的特征图,第109层128*128*128与第11层128*128*128融合获得128*128*256的特征图;对YOLOv3网络结构的先验框采用K-means算法聚类得到适合高速公路隧道车辆边界框尺寸的先验框,具体步骤如下
(1)用于聚类的原始数据是拥有标注框的目标检测数据集,每张图对应的TXT标注文件中包含标注框的位置和类别,其中每一行是真实框相对于原图的坐标(xj,yj,wj,hj),j∈{1,2,...,N},(xj,yj)是边界框的中心点,(wj,hj)是边界框的宽和高,N是这张图上标注框的数量;
(2)设定k个聚类中心(Wi,Hi),i∈{1,2,...,k},其中Wi,Hi是先验框的宽和高,因为先验框位置不是固定的,所以没有框的中心坐标,只有宽和高;
(3)计算每个标注框和每个聚类中心的距离度量(1-IOU),计算时每个标注框的中心都与聚类中心重合,即每个标注框和每个聚类中心的距离d=1-IOU[(xj,yj,wj,hj),(xj,yj,Wi,Hi)],其中j∈{1,2,...,N}和i∈{1,2,...,k},将标注框分配给距离度量最小的聚类中心;
(4)所有标注框分配完毕后,对每个聚类簇重新计算其聚类中心的坐标,即Wi'=(1/ni)∑wi,H′i=(1/ni)∑hi,ni为第i聚类簇的标注框数量,这个步骤也就是求各个聚类簇中所有标注框宽和高的均值;
(5)重复第(3)、(4)步,直到聚类中心改变量为0,也就是聚类中心不变了;利用停车检测算法实现隧道内车辆停车的检测具体步骤如下
步骤一、采用YOLOv3-TunnelVehicle网络结构作为车辆检测模型检测出车辆的位置;
步骤二、在获得车辆的具***置后,将其输入给Deep SORT多目标跟踪算法来跟踪车辆,进而计算被跟踪车辆的速度判断是否停车。
2.根据权利要求1所述的一种高速公路隧道内停车检测的方法,其特征在于:制作数据集时,对公开数据集PascalVOC进行修整,筛选出与高速公路隧道内车辆高度相似的数据;根据筛选出与高速公路隧道内车辆高度相似的数据制作高速公路隧道车辆数据集。
3.根据权利要求1所述的一种高速公路隧道内停车检测的方法,其特征在于:DeepSORT多目标跟踪算法是基于SORT算法的改进,利用运动信息和外观信息进行数据关联,在Deep SORT算法中,卡尔曼滤波器用于估计当前视频帧中车辆跟踪目标的位置和形状,将预测结果与当前视频帧中车辆检测结果进行匹配,最后根据匹配结果将车辆检测边界框分配给车辆跟踪目标,将当前帧中检测到的车辆边界框与上一帧的车辆跟踪目标进行匹配,在匹配过程中,采用卡尔曼滤波估计车辆跟踪目标的状态再完成匹配,车辆检测目标的跟踪分配包括运动匹配、外观匹配和级联匹配,其中,运动匹配是通过平方马氏距离来测量历史帧中跟踪目标的卡尔曼状态与当前帧中车辆检测边界框之间的运动匹配程度,在外观匹配中,采用余弦深度特征表示车辆检测目标和跟踪目标的外观,在获得外观特征后,使用余弦深度特征之间的余弦距离测量两者的外观相似度,从而进行外观匹配,级联匹配将运动匹配和外观匹配结合在一起,实现车辆检测边界框与最近出现的跟踪目标相匹配;
在车辆目标的卡尔曼滤波中,车辆边界框的状态用8维状态空间来描述:
X=[x,y,γ,h,x',y',γ',h']
其中(x,y)、γ、h分别为车辆边界框的中心点坐标、宽高比、高;x',y',γ',h'为各自变量的变化速度,每个速度值都初始化为0,设***的观测变量为x,y,γ,h,即Z=[x,y,γ,h],在卡尔曼滤波器中,首先对状态进行预测,即根据时间k-1的***状态对时间k的***状态进行预测,并计算观测前误差的协方差矩阵,然后进行***的估计更新,将时间k的预测值和时间k的观测值相结合,计算卡尔曼增益矩阵,最后估计***状态,并更新误差协方差;具体的卡尔曼滤波公式为:
其中表示基于k-1时间的***状态对k时间***状态的预测值,A为状态转移矩阵;是基于k-1时间的协方差计算k时间协方差的预测值,Q为***噪声的协方差矩阵,代表整个***的可靠程度;Kk表示k时间的卡尔曼增益矩阵,卡尔曼增益用于估计误差的重要程度,H是***测量矩阵,R是测量噪声的协方差矩阵,它是一个4x4对角矩阵,对角线上的值是中心点的两个坐标以及宽高的噪声;是k时间***状态的最优结果,Zk是k时间的***测量值;是k时间***最优结果对应的协方差,协方差表示目标边界框信息的不确定性,矩阵中的数字越大,不确定性越大;根据X和Z的形式得出状态转移矩阵与状态观测矩阵:
通过卡尔曼滤波公式即可对车辆跟踪过程中每辆车的状态进行估计,在卡尔曼滤波后进行跟踪指派,跟踪指派中的运动匹配是通过马氏距离来测量卡尔曼滤波器预测的车辆跟踪目标状态与车辆检测模型获得的车辆检测边界框之间的运动匹配度,马氏距离由P.C.Mahalanobis提出,它代表数据的协方差距离,是一种计算两个未知样本集相似度的有效度量准则,假设存在两个特征向量X和Y,则两个向量之间的马氏距离D(X,Y)为:
其中S为待测量的向量之间的协方差矩阵;
Deep SORT中跟踪指派的运动匹配度是:
其中dj为当前帧检测模型检测到的第j个车辆边界框的状态向量;yi为第i个跟踪目标在当前帧中的预测的卡尔曼状态;Si为卡尔曼滤波器预测的第i个跟踪目标在当前帧中的协方差矩阵;d(1)(i,j)则为第j个车辆边界框与第i个跟踪目标之间的运动匹配度,对于是否匹配的判断准则通过阈值的形式来完成:
其中t(1)即为运动匹配度的阈值,其值为t(1)=9.4877,这一数值是对四维变量空间(x,y,γ,h)在逆卡方分布上要求能达到95%以上的置信度计算出的结果;
运动匹配适用于运动不确定性较低的情况,使用卡尔曼滤波器估计图像空间中的运动状态是一种粗略的预测,当相机抖动和目标被遮挡时,很容易出现ID切换现象,在跟踪多个目标时,将为每个跟踪的目标分配一个编号,而ID切换指的是图像序列中目标编号变化的次数,使用车辆的外观信息来匹配目标的方法,也就是Deep SORT中跟踪指派的外观匹配,通过Cosine深度特征来测量第j个车辆检测目标与第i个跟踪目标之间的外观相似性;
通过Cosine深度特征提取网络对每个检测目标dj都计算一个外观描述符rj,对每个跟踪目标来说,保存它最新的100个成功关联的特征集,记作然后,第i个跟踪目标和第j个检测目标在外观空间中的距离测量是它们各自的外观描述符的最小余弦距离:
同样引入阈值以排除在外观匹配度量中相距太远的匹配组合:
通过以上运动匹配和外观匹配的分析,可以知道运动匹配更加适合短期预测且区分度更差,而外观匹配更擅长长期预测,适用于目标在长时间遮挡后恢复匹配,用加权的方式对这两种度量方法进行组合:
通过以上运动匹配和外观匹配的分析,可以知道运动匹配更加适合短期预测且区分度更差,而外观匹配更擅长长期预测,适用于目标在长时间遮挡后恢复匹配,用加权的方式对这两种度量方法进行组合:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)
如果既满足运动匹配又满足外观匹配,则表示匹配成功,因此该组合度量方法的阈值为:
除了运动匹配和外观匹配外,通过级联匹配来优先将车辆检测边框指派给被遮挡时间较短的车辆跟踪目标,卡尔曼滤波器用于预测多车辆目标跟踪的车辆边界框,使用级联匹配算法来匹配具有不同遮挡持续时间的目标,级联匹配算法为:
(1)输入:跟踪目标T={1,2,...,N};车辆检测得到的车辆边界框D={1,2,...,M};连续被遮挡的最大帧数Amax,
(2)计算车辆跟踪目标与车辆检测目标的运动和外观组合匹配度C=[ci,j];
(3)计算车辆跟踪目标与车辆检测目标的阈值矩阵B=[bi,j],
(5)初始化未匹配的车辆检测目标集合U←D,
(6)按照车辆跟踪目标被遮挡的帧数Tn←{i∈T|ai=n}从小到大与车辆检测目标进行匹配,公式表示为[xi,j]←min_cost_matching(C,Tn,U);将匹配结果应用于M和U的更新,更新公式为M←M∪{(i,j)|bi,j·xi,j>0}和U←U\{j|∑ibi,j·xi,j>0},
(7)输出:匹配集合M和未匹配集合U;
计算被跟踪车辆的质心移动距离,如果该距离小于5像素则判定该车辆区域为疑似停车的区域;之后对于被判定为疑似停车的车辆进行“更严格”地判断,即当车辆的质心移动距离小于2像素时,判定该车辆区域为确认停车的区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572493.8A CN112738470B (zh) | 2020-12-25 | 2020-12-25 | 一种高速公路隧道内停车检测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572493.8A CN112738470B (zh) | 2020-12-25 | 2020-12-25 | 一种高速公路隧道内停车检测的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738470A CN112738470A (zh) | 2021-04-30 |
CN112738470B true CN112738470B (zh) | 2022-10-21 |
Family
ID=75616955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011572493.8A Active CN112738470B (zh) | 2020-12-25 | 2020-12-25 | 一种高速公路隧道内停车检测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738470B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420067B (zh) * | 2021-06-22 | 2024-01-19 | 贝壳找房(北京)科技有限公司 | 目标地点的位置可信度评估方法和装置 |
CN113487878A (zh) * | 2021-07-12 | 2021-10-08 | 重庆长安新能源汽车科技有限公司 | 一种机动车违章压线行驶检测方法及*** |
CN113850995B (zh) * | 2021-09-14 | 2022-12-27 | 华设设计集团股份有限公司 | 一种基于隧道雷视数据融合的事件检测方法、装置及*** |
CN115049993B (zh) * | 2022-08-17 | 2022-11-15 | 成都考拉悠然科技有限公司 | 一种基于深度学习的车辆异常停止监测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232835A (zh) * | 2019-06-27 | 2019-09-13 | 浙江工业大学 | 一种基于图像处理的地下车库停车位检测方法 |
CN110264736A (zh) * | 2019-07-15 | 2019-09-20 | 李元胜 | 一种应用于停车场的避免车辆无信息的交互*** |
CN110472496A (zh) * | 2019-07-08 | 2019-11-19 | 长安大学 | 一种基于目标检测与跟踪的交通视频智能分析方法 |
CN111369439A (zh) * | 2020-02-29 | 2020-07-03 | 华南理工大学 | 基于环视的自动泊车车位识别全景环视图像实时拼接方法 |
CN112084900A (zh) * | 2020-08-26 | 2020-12-15 | 浙江工业大学 | 一种基于视频分析的地下车库乱停检测方法 |
-
2020
- 2020-12-25 CN CN202011572493.8A patent/CN112738470B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232835A (zh) * | 2019-06-27 | 2019-09-13 | 浙江工业大学 | 一种基于图像处理的地下车库停车位检测方法 |
CN110472496A (zh) * | 2019-07-08 | 2019-11-19 | 长安大学 | 一种基于目标检测与跟踪的交通视频智能分析方法 |
CN110264736A (zh) * | 2019-07-15 | 2019-09-20 | 李元胜 | 一种应用于停车场的避免车辆无信息的交互*** |
CN111369439A (zh) * | 2020-02-29 | 2020-07-03 | 华南理工大学 | 基于环视的自动泊车车位识别全景环视图像实时拼接方法 |
CN112084900A (zh) * | 2020-08-26 | 2020-12-15 | 浙江工业大学 | 一种基于视频分析的地下车库乱停检测方法 |
Non-Patent Citations (4)
Title |
---|
Research on Detection Method of Traffic Anomaly Based on Improved YOLOv3;Xinwen Gao et.al;《2020 7th International Conference on Information Science and Control Engineering》;20201220;摘要、正文第II、III节,附图1-3 * |
基于YOLOv3和多目标跟踪的智能交通视频监控***;曾星宇;《中国优秀硕士论文全文数据库信息科技辑》;20191215;全文 * |
基于YOLO-v3的高速公路交通事件检测***研究;朱金凤;《万方数据库》;20200902;全文 * |
基于改进YOLO算法的车位自动检测***;陈俊松等;《软件导刊》;20200415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112738470A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hassaballah et al. | Vehicle detection and tracking in adverse weather using a deep learning framework | |
CN112738470B (zh) | 一种高速公路隧道内停车检测的方法 | |
CN108447080B (zh) | 基于分层数据关联和卷积神经网络的目标跟踪方法、***和存储介质 | |
CN110796186A (zh) | 基于改进的YOLOv3网络的干湿垃圾识别分类方法 | |
CN115995063A (zh) | 作业车辆检测与跟踪方法和*** | |
CN110348384B (zh) | 一种基于特征融合的小目标车辆属性识别方法 | |
CN112836639A (zh) | 基于改进YOLOv3模型的行人多目标跟踪视频识别方法 | |
CN113361464B (zh) | 一种基于多粒度特征分割的车辆重识别方法 | |
CN112750150A (zh) | 基于车辆检测和多目标跟踪的车流量统计方法 | |
CN113420607A (zh) | 无人机多尺度目标检测识别方法 | |
CN103902960A (zh) | 一种实时人脸识别***及其方法 | |
CN112651995A (zh) | 基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 | |
CN110008899B (zh) | 一种可见光遥感图像候选目标提取与分类方法 | |
JP2001148019A (ja) | 移動物体間動作分類方法及び装置、画像認識装置並びに移動物体認識方法及び装置 | |
CN114913498A (zh) | 一种基于关键点估计的并行多尺度特征聚合车道线检测方法 | |
CN111144462B (zh) | 一种雷达信号的未知个体识别方法及装置 | |
CN114627339B (zh) | 茂密丛林区域对越境人员的智能识别跟踪方法及存储介质 | |
Rani et al. | ShortYOLO-CSP: a decisive incremental improvement for real-time vehicle detection | |
CN111832463A (zh) | 一种基于深度学习的交通标志检测方法 | |
CN110532904B (zh) | 一种车辆识别方法 | |
Zhang et al. | A comparative analysis of object detection algorithms in naturalistic driving videos | |
CN117173697A (zh) | 细胞团分类识别方法、装置、电子设备及存储介质 | |
Zhang et al. | Bus passenger flow statistics algorithm based on deep learning | |
KR102485359B1 (ko) | 현장 적응형 인공지능 모델 강화 방법 | |
CN111126271B (zh) | 卡口抓拍图像车辆检测方法、计算机存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |