CN110796168B - 一种基于改进YOLOv3的车辆检测方法 - Google Patents
一种基于改进YOLOv3的车辆检测方法 Download PDFInfo
- Publication number
- CN110796168B CN110796168B CN201910915495.3A CN201910915495A CN110796168B CN 110796168 B CN110796168 B CN 110796168B CN 201910915495 A CN201910915495 A CN 201910915495A CN 110796168 B CN110796168 B CN 110796168B
- Authority
- CN
- China
- Prior art keywords
- layer
- yolo
- vehicle detection
- frame
- anchor
- 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
-
- 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/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明属于深度学***均精度,对远处的车辆以及小尺度目标进行检测时,漏检率更低,定位也更准确。
Description
技术领域
本发明属于深度学习和智能车道路检测领域,具体涉及一种基于改进YOLOv3的车辆检测方法。
背景技术
近年来,随着人工智能(Artificial Intelligence,AI)理论和技术的不断完善和发展,高级驾驶辅助***(Advanced Driving Assistant System,ADAS)对汽车行业的发展起到了举足轻重的作用,各大车企也在逐渐从传统车向智能车方向过渡。
目标检测是智能车的研究热点和难点之一,传统的目标检测方法大多是基于手工特征实现的,比如基于HOG特征的检测方法,其通过滑动窗口(Sliding Window)遍历整张图像获取HOG特征,将提取到的特征输入到SVM分类器中进行目标检测,这种方法在行人检测上能够取得不错的效果,但是需要人工选取特征并进行大量计算,泛化能力较差。2012年Hinton及其学生Alex Krizhevsky构建了AlexNet卷积神经网络,在ImageNet图像识别竞赛上以近乎碾压的方式击败了第二名基于SVM分类器的方法,获得了冠军,卷积神经网络也因此得到了更多研究者的关注,基于深度学习的目标检测算法开始成为主流。
CN106203506B公开了一种基于深度学习技术的行人检测方法,该方法步骤如下:(1)对模型进行微调实现初始化;(2)基于改进的Faster RCNN算法进行模型训练;(3)利用前两步得到的模型进行测试。该方法检测行人时能够获得较好的检测效果,但是也存在一些不足:(1)仅使用了一个固定尺度的候选框,若需要进行多标签分类时,检测效果和精度会变差,泛化能力较差;(2)虽然修改候选窗的长宽比为1:2能够获得更加准确的定位,但若是无法保证样本的数量和多样性,误检率会增加;(3)在检测远景目标以及小尺度目标时,漏检率会增加。
CN109002807A公开了一种基于SSD神经网络的驾驶场景车辆检测方法,该方法包括:(1)构建数据集;(2)在SSD网络的基础上融合了SqueezeNet网络,在Caffe深度学习框架中构建了训练模型;(3)初始化训练模型得到预训练模型;(4)利用DSD的方法对模型进行多次训练,得到最终的检测模型;(5)通过非极大值抑制的方法过滤掉冗余的检测框,获取最终的检测结果。然而,该方法在检测小目标的时候仍然无法获得较好的检测效果。
发明内容
本发明针对现有目标检测方法存在的不足,提出了一种基于改进的YOLOv3的车辆检测方法,以提高车辆的检测精度和实时性,尤其是在检测小尺度目标时能够获得较高的精度,降低了漏检率。
为实现上述目的,本发明提供了一种基于改进YOLOv3的车辆检测方法,包括以下步骤:
1)修改卷积神经网络结构,在Darknet层与三个yolo层之间设计三个平行分支的网络,即YOLO-TN网络,三个平行分支网络都加入具有不同膨胀率(dilation rate)的空洞卷积(dilated convolution),使得三个平行分支网络具有不同的感受野(receptivefield),并共享三个平行分支网络的参数;
2)构建车辆检测数据集,并对车辆检测数据集中的车辆位置信息进行标注;
3)定义损失函数,通过K-means聚类方法生成锚框(anchor box),训练基于YOLO-TN和YOLOv3的车辆检测模型;
4)基于BN(Batch Normalization)层中的γ系数对YOLO-TN网络进行模型剪枝,压缩YOLO-TN网络;
5)利用训练好的车辆检测模型对车辆进行检测,对比两者的检测结果。
进一步地,上述步骤(1)中的YOLO-TN网络包含大小为1×1的卷积层、大小为3×3的卷积层、BN(Batch Normalization)层、上采样层、路由层(route)、shortcut层、yolo层,各层含义及作用如下:
卷积层:用于提取图像的特征,参数为Wi,i由卷积的大小决定;
BN层:用于加速训练过程,BN层对卷积层传递来的参数Wi进行归一化处理,引入两个可学习的参数γ和β,重新分布归一化的参数;
上采样层:用于扩大特征图,提高分辨率;
路由层:将低层卷积层的输出与上采样层的输出合并;
shortcut层:一种跨层连接,将输入层与输出层一起作为最终的输出层;
yolo层:网络的最后一层,输出三个尺度的特征图,通过K-means方法聚类得到的锚框(anchor box),对边界框进行回归,得到最终的预测框。
进一步地,上述BN层的归一化处理过程如下:
1.1)给定一批训练数据b={X1,X2,……,Xm},求数据均值和方差,公式如下:
1.2)对数据进行归一化处理,公式如下:
其中,ε是一个极小值,防止分母为零时计算出错;
1.3)对归一化的数据进行变换重构,公式如下:
其中,γ和β为待学习的参数;
1.4)为了恢复数据中原来的特征分布,γ和β按如下公式进行计算:
β=ub。
进一步地,上述步骤(2)中构建的车辆检测数据集包括训练集、测试集、验证集,所述训练集用于训练YOLO-TN和YOLOv3网络模型,所述测试集用于测试训练得到的模型的精度,验证集主要用于评估训练得到的模型的泛化能力;所述对车辆位置信息进行标注,获得标注框(ground truth)的中心点坐标宽和高/>以及该标注框的标签,标记为Car。
进一步地,上述步骤(3)中的损失函数定义如下:
边界框的位置信息损失计算公式如下:
其中λcoord=5,用于增大含有目标的grid cell的损失权重;表示第i个gridcell中的第j个边界框中是否存在待检测的车辆,如果存在则取1,否则取0,即不计算边界框位置损失;x,y,w,h为预测的边界框的位置,/>为标注框的坐标信息;/>为一个权重系数,用于加大对小目标的损失;
置信度损失包括含有目标和不含目标的损失,计算公式如下:
上式左边为grid cell中存在车辆时的置信度损失,计算3个边界框与标注框(ground truth)之间的交并比即IOU大小,选择其中的最大值Ci进行置信度损失的计算;上式右边为grid cell中不存在车辆时的置信度损失,其中λnoobj=0.5,用于减小不含有目标的grid cell的损失权重;
目标的分类损失计算公式如下:
进一步地,上述步骤(3)中通过K-means聚类生成锚框的方法包括如下步骤:
3.1)观察车辆检测数据集中标注框坐标信息分布,选择k个聚类中心(Wi,Hi),i∈{1,2,……,k},其中,Wi和Hi为锚框的宽和高;
3.2)计算每个标注框和每个聚类中心的距离d,计算公式如下:
其中,IOU表示交并比,anchor表示锚框,truth表示标注框,计算公式如下:
其中,分子表示锚框和标注框相交的面积大小,分母表示锚框和标注框相并的面积大小,当IOU值最大时,即标注框和锚框匹配得最好,此时d最小,将标注框分配给该聚类中心;
3.3)将所有标注框分配完毕后,分别计算每个聚类中心所属的标注框宽和高的平均值,作为新的聚类中心;
3.4)重复步骤3.2)、3.3)n次,直到dn-dn-1趋于0时,输出聚类结果。
进一步地,上述步骤(3)中所述的车辆检测模型的训练过程步骤如下:
3.a)采用在ImageNet数据集上预先训练好的Darknet模型参数作为YOLO-TN和YOLOv3的初始化权重以减少训练时间;
3.b)将训练集中的图片分辨率调整为416×416,分别输入到YOLO-TN和YOLOv3网络中,图片在网络层中经过卷积层、BN层、上采样层、路由层、shortcut层处理后,传递给yolo层;
3.c)yolo层中特征图被划分成S×S个网格(grid cell),利用K-means聚类得到的锚框,得到锚框相对于标注框的偏移值:tx,ty,tw,th,具体计算公式如下:
tx=Gx-Cx
ty=Gy-Cy
其中,Gx和Gy表示特征图中标注框的坐标,Gw和Gh表示特征图中标注框的宽和高,Cx和Cy表示特征图中grid cell的左上角坐标,Pw和Ph是锚框映射到特征图上的宽和高;
3.d)训练集中的图片经过步骤3.b)和3.c)处理后,最终得到包括卷积层、BN层以及偏移值:tx,ty,tw,th这些待学习的参数。
进一步地,上述步骤(4)中的模型剪枝基于BN层的γ系数进行,方法如下:
对所有BN层中的γ系数按从小到大的规则进行排序,设定阈值为0.3,舍去前30%的γ值,即舍弃这些γ值所在的BN层以及与该BN层相关联的卷积层,最终得到剪枝后的模型。
进一步地,上述步骤(5)中车辆检测过程包括以下步骤:
5.1)将测试集中的图片大小调整为416×416,分别输入到训练好的YOLOv3和YOLO-TN车辆检测模型中;
5.2)车辆检测模型对输入的图片进行特征提取,经过yolo层时,根据车辆检测模型所学习到的锚框相对于标注框的偏移值,得到所预测的边界框的位置信息,计算公式如下:
bx=(σ(tx)+Cx)/W
by=(σ(ty)+Cy)/H
其中,W和H是输入到yolo层中特征图的大小,bx,by,bw,bh即是最终输出的边界框。
5.3)yolo层特征图中每个grid cell都分配三个锚框,通过非极大值抑制(non-maximum suppression,NMS)的方法,过滤掉冗余的窗口,得到最优检测框。
进一步地,上述步骤5.3得到最优检测框的具体步骤如下:
5.3.1)计算出所有锚框中置信度得分最高的一个,记为A;
5.3.2)设定阈值为0.5,计算剩下的锚框与A的IOU值,若IOU≥0.5,则舍弃该框;
5.3.3)保留IOU<0.5的锚框,重复5.3.1)和5.3.2)直到遍历完所有的锚框。
本发明的有益效果为:
本发明以YOLOv3网络结构为基础,设计了YOLO-TN网络,包括了三个参数共享的平行分支网络,通过模型剪枝,大大降低了计算量,精简了检测模型的同时也保证了检测精度;网络加入了空洞卷积后,改变了感受野的大小,能够更好的提取不同尺度目标的特征,提升了小尺度目标的检测效果,降低了漏检率;本发明不仅具有较高的检测精度和良好的实时性,在对多标签类别进行检测时同样能够取得较好的效果,泛化能力较强。
附图说明
图1为本发明的整体流程图;
图2为本发明的YOLO-TN卷积神经网络结构图;
图3为测试集中的一张图片;
图4为基于YOLOv3车辆检测模型的检测效果;
图5为基于YOLO-TN车辆检测模型的检测效果。
具体实施方式
下面结合附图对本发明具体实例作进一步详细描述:
本发明提出了一种基于改进的YOLOv3的车辆检测方法,该方法的整体流程如图1所示,具体包括以下步骤:
(1)构建如图2所示的YOLO-TN网络,重新设计了Darknet层与三个yolo层之间的卷积神经网络结构,借鉴了TridentNet权重共享的想法,设计了三个平行分支的网络,每个分支都加入了空洞卷积(dilated convolution),设置三个分支网络的dilation rate分别为3、2、1使得各个分支具有不同的感受野(receptive field),同时设计了scale-aware训练方案,保证了各个分支能够训练与该分支感受野相匹配的目标。除了dilation rate不同外,各分支的卷积层和BN层参数都进行了共享。
上述步骤(1)中的YOLO-TN网络包含大小为1×1的卷积层、大小为3×3的卷积层、BN(Batch Normalization)层、上采样层、路由层(route)、shortcut层、yolo层,各层含义及作用如下:
卷积层:用于提取图像的特征,参数为Wi,i由卷积的大小决定;
BN层:用于加速训练过程,BN层对卷积层传递来的参数Wi进行归一化处理,引入两个可学习的参数γ和β,重新分布归一化的参数;
上采样层:用于扩大特征图,提高分辨率;
路由层:将低层卷积层的输出与上采样层的输出合并;低层某一卷积层能够学习到颜色、边缘信息这些基本特征,上采样层能够学习到一些具有区别性的如车头、车灯等关键特征,两者的输出合并则能够获得更加丰富的特征信息;
shortcut层:一种跨层连接,将输入层与输出层一起作为最终的输出层;
yolo层:网络的最后一层,输出三个尺度的特征图,通过K-means方法聚类得到的锚框(anchor box),对边界框进行回归,得到最终的预测框。
进一步地,上述BN层的归一化处理过程如下:
1.1)给定一批训练数据b={X1,X2,……,Xm},求数据均值和方差,公式如下:
1.2)对数据进行归一化处理,公式如下:
其中,ε是一个极小值,防止分母为零时计算出错;
1.3)对归一化的数据进行变换重构,公式如下:
其中,γ和β为待学习的参数;
1.4)为了恢复数据中原来的特征分布,γ和β按如下公式进行计算:
β=ub。
步骤(1)中空洞卷积卷积核的大小与普通的卷积相同,不同点在于空洞卷积额外引入了一个超参数即膨胀率,根据膨胀率的不同,相当于在卷积核之间添加了(dilationrate-1)个0,从而改变了感受野的大小。感受野大小的计算公式如下:
其中,ln-1是第n-1层感受野的大小,Si是第i层的步长,dn是膨胀率的大小,kn是当前层卷积核的大小,默认初始感受野大小为1,即l0=1。
(2)构建车辆检测数据集,该数据集由训练集、测试集和验证集组成,训练集主要用来训练YOLO-TN和YOLOv3网络模型,测试集主要用于测试训练得到的模型的精度,验证集主要用于评估训练得到的模型的泛化能力,构建过程如下:
收集了不同交通场景下的行车视频,对视频进行解帧,此外还加入了KITTI车辆检测数据集,增加了样本的多样性,将所有图片按7:2:1的比例分为训练集、测试集和验证集;
利用标注软件对图像中的汽车目标进行标注,获取其位置信息,包括中心点坐标(x,y)、边界框宽高(w,h)和目标类别,此处只对汽车类进行检测,标签名记为Car,以txt格式存储标注文件。
(3)定义损失函数,通过K-means聚类方法生成锚框(anchor box),训练基于YOLO-TN和YOLOv3的车辆检测模型,具体训练流程如下:
采用在ImageNet数据集上预先训练好的Darknet模型参数作为YOLO-TN和YOLOv3的初始化权重以减少训练时间;
将训练集中的图片分辨率调整为416×416,然后分别输入到YOLO-TN和YOLOv3网络中,图片在网络层中经过卷积层、BN层、上采样层、路由层等处理后,传递给yolo层;
yolo层中特征图被划分成13×13个网格(grid cell),利用K-means聚类得到的锚框,得到锚框相对于标注框的偏移值:tx,ty,tw,th,具体计算公式如下:
tx=Gx-Cx
ty=Gy-Cy
其中,Gx和Gy表示特征图中标注框的坐标,Gw和Gh表示特征图中标注框的宽和高,Cx和Cy表示特征图中grid cell的左上角坐标,Pw和Ph是锚框映射到特征图上的宽和高;
训练集中的图片经过以上处理后,最终得到了包括卷积层、BN层以及偏移值:tx,ty,tw,th这些待学习的参数。
在训练基于YOLO-TN的车辆检测模型时,设置最大迭代次数为10000次,前2000次每训练200次保存一个模型的权重文件,之后每隔1000次保存一次权重文件,直至训练结束;当训练到8000次和9000次时,令学习率分别在之前的基础上衰减10倍。YOLO-TN网络的训练参数如表1所示:
表1训练参数
步骤(3)中所定义的损失函数主要组成如下:
边界框的位置信息损失主要由中心点坐标(x,y)、宽和高(w,h)损失组成,计算公式如下:
其中λcoord=5,主要是为了增大含有目标的grid cell的损失权重;表示第i个grid cell中的第j个边界框中是否存在待检测的车辆,如果存在则取1,否则取0,即不计算边界框位置损失;x,y,w,h是预测的边界框的位置,/>是标注的真实值;/>是一个权重系数,目的是加大对小目标的损失;置信度损失包括含有目标和不含目标的损失,计算公式如下:
上式左边是grid cell中存在车辆时的置信度损失,模型会计算3个边界框与真实值(ground truth)之间的交并比即IOU大小,选择其中的最大值Ci进行置信度损失的计算;上式右边是grid cell中不存在车辆时的置信度损失,其中λnoobj=0.5,主要是减小不含有目标的grid cell的损失权重;目标的分类损失计算公式如下:
步骤(3)中所述的通过K-means聚类生成锚框的具体方法如下:
观察训练集中标注的车辆位置的坐标信息分布,选择k个聚类中心(Wi,Hi),i∈{1,2,……,k},Wi和Hi是锚框的宽和高;
计算每个标注框和每个聚类中心的距离d,计算公式如下:
其中,IOU表示交并比,anchor表示锚框,truth表示标注框,计算公式如下:
其中,分子表示锚框和标注框相交的面积大小,分母表示锚框和标注框相并的面积大小,当IOU值最大时,即标注框和锚框匹配得最好,此时d最小,将标注框分配给该聚类中心;
将所有标注框分配完毕后,分别计算每个聚类中心所属的标注框宽和高的平均值,作为新的聚类中心;
重复步骤以上两步n次,直到dn-dn-1趋于0时,输出聚类结果。
(4)基于BN(Batch Normalization)层中的γ系数对YOLO-TN网络进行模型剪枝,压缩了YOLO-TN网络,减少了计算量,具体方法如下:
对所有BN层中的γ系数按从小到大的规则进行排序,设定阈值为0.3,舍去前30%的γ值,即舍弃这些γ值所在的BN层以及与该BN层相关联的卷积层,最终得到了剪枝后的模型。
(5)进行车辆检测,具体方法如下:
将测试集中的图片大小调整为416×416,分别输入到训练好的YOLOv3和YOLO-TN车辆检测模型中;
检测模型对输入的图片进行特征提取,最后经过yolo层时,根据模型所学习到的锚框相对于标注框的偏移值,得到所预测的边界框的位置信息,计算公式如下:
bx=(σ(tx)+Cx)/W
by=(σ(ty)+Cy)/H
其中,W和H是输入到yolo层中特征图的大小,bx,by,bw,bh即是最终输出的边界框。
yolo层特征图中每个grid cell都分配了三个锚框,因此需要通过非极大值抑制(non-maximum suppression,NMS)的方法,过滤掉冗余的窗口,得到最优的检测框,具体实现方法如下:
模型直接计算出所有锚框中置信度得分最高的一个,记为A;
设定阈值为0.5,计算剩下的锚框与A的IOU值,若IOU≥0.5,则舍弃该框;
保留IOU<0.5的锚框,重复以上步骤直到遍历完所有的锚框。
最后获得了YOLOv3和YOLO-TN车辆检测模型的平均精度,如表2所示:
表2检测结果
网络结构 | 学习框架 | AP50/% |
YOLOv3 | Darknet-53 | 91.29 |
YOLO-TN | Darknet-53 | 92.35 |
如上表所示,在IOU≥0.5时,基于YOLO-TN的车辆检测模型能够获得92.35%的平均精度,比YOLOv3提高了1.06%,这说明相对于原来的基于YOLOv3的车辆检测方法,本发明设计的基于YOLO-TN的车辆检测方法具有更好的检测效果。
任意选取测试集中的一张图片,如图3,基于YOLOv3和YOLO-TN检测模型对该图片进行检测,分别得到了如图4和图5的检测结果,通过对比可知,基于YOLO-TN的车辆检测模型能够检测到更多的车辆,特别是在检测小尺度目标车辆时,漏检率更低,检测效果更好。
本发明以YOLOv3网络结构为基础,设计了YOLO-TN网络,包括了三个参数共享的平行分支网络,通过模型剪枝,大大降低了计算量,精简了检测模型的同时也保证了检测精度;网络加入了空洞卷积后,改变了感受野的大小,能够更好的提取不同尺度目标的特征,提升了小尺度目标的检测效果,降低了漏检率;本发明不仅具有较高的检测精度和良好的实时性,在对多标签类别进行检测时同样能够取得较好的效果,泛化能力较强。
Claims (10)
1.一种基于改进YOLOv3的车辆检测方法,其特征在于,包括以下步骤:
1)修改卷积神经网络结构,在Darknet层与三个yolo层之间设计三个平行分支的网络,即YOLO-TN网络,三个平行分支网络都加入具有不同膨胀率(dilation rate)的空洞卷积(dilated convolution),使得三个平行分支网络具有不同的感受野(receptive field),并共享三个平行分支网络的参数;
2)构建车辆检测数据集,并对车辆检测数据集中的车辆位置信息进行标注;
3)定义损失函数,通过K-means聚类方法生成锚框(anchor box),训练基于YOLO-TN和YOLOv3的车辆检测模型;
4)基于BN(Batch Normalization)层中的γ系数对YOLO-TN网络进行模型剪枝,压缩YOLO-TN网络;
5)利用训练好的车辆检测模型对车辆进行检测,对比两者的检测结果。
2.如权利要求1所述的基于改进YOLOv3的车辆检测方法,其特征在于,所述步骤(1)中的YOLO-TN网络包含大小为1×1的卷积层、大小为3×3的卷积层、BN(BatchNormalization)层、上采样层、路由层(route)、shortcut层、yolo层,各层含义及作用如下:
卷积层:用于提取图像的特征,参数为Wi,i由卷积的大小决定;
BN层:用于加速训练过程,BN层对卷积层传递来的参数Wi进行归一化处理,引入两个可学习的参数γ和β,重新分布归一化的参数;
上采样层:用于扩大特征图,提高分辨率;
路由层:将低层卷积层的输出与上采样层的输出合并;
shortcut层:一种跨层连接,将输入层与输出层一起作为最终的输出层;
yolo层:网络的最后一层,输出三个尺度的特征图,通过K-means方法聚类得到的锚框(anchor box),对边界框进行回归,得到最终的预测框。
5.如权利要求1所述的基于改进YOLOv3的车辆检测方法,其特征在于,所述步骤(3)中的损失函数定义如下:
边界框的位置信息损失计算公式如下:
其中λcoord=5,用于增大含有目标的grid cell的损失权重;表示第i个grid cell中的第j个边界框中是否存在待检测的车辆,如果存在则取1,否则取0,即不计算边界框位置损失;x,y,w,h为预测的边界框的位置,/>为标注框的坐标信息;/>为一个权重系数,用于加大对小目标的损失;
置信度损失包括含有目标和不含目标的损失,计算公式如下:
上式左边为grid cell中存在车辆时的置信度损失,计算3个边界框与标注框(groundtruth)之间的交并比即IOU大小,选择其中的最大值Ci进行置信度损失的计算;上式右边为gridcell中不存在车辆时的置信度损失,其中λnoobj=0.5,用于减小不含有目标的gridcell的损失权重,表示第i个grid cell中的第j个边界框中是否存在待检测的车辆,如果存在则取0,即不计算该损失,否则取1;
目标的分类损失计算公式如下:
6.如权利要求1所述的基于改进YOLOv3的车辆检测方法,其特征在于,所述步骤(3)中通过K-means聚类生成锚框的方法包括如下步骤:
3.1)观察车辆检测数据集中标注框坐标信息分布,选择k个聚类中心(Wi,Hi),i∈{1,2,……,k},其中,Wi和Hi为锚框的宽和高;
3.2)计算每个标注框和每个聚类中心的距离d,计算公式如下:
其中,IOU表示交并比,anchor表示锚框,truth表示标注框,计算公式如下:
其中,分子表示锚框和标注框相交的面积大小,分母表示锚框和标注框相并的面积大小,当IOU值最大时,即标注框和锚框匹配得最好,此时d最小,将标注框分配给该聚类中心;
3.3)将所有标注框分配完毕后,分别计算每个聚类中心所属的标注框宽和高的平均值,作为新的聚类中心;
3.4)重复步骤3.2)、3.3)n次,直到dn-dn-1趋于0时,输出聚类结果。
7.如权利要求1所述的基于改进YOLOv3的车辆检测方法,其特征在于,步骤(3)中所述的车辆检测模型的训练过程步骤如下:
3.a)采用在ImageNet数据集上预先训练好的Darknet模型参数作为YOLO-TN和YOLOv3的初始化权重以减少训练时间;
3.b)将训练集中的图片分辨率调整为416×416,分别输入到YOLO-TN和YOLOv3网络中,图片在网络层中经过卷积层、BN层、上采样层、路由层、shortcut层处理后,传递给yolo层;
3.c)yolo层中特征图被划分成S×S个网格(grid cell),利用K-means聚类得到的锚框,得到锚框相对于标注框的偏移值:tx,ty,tw,th,具体计算公式如下:
tx=Gx-Cx
ty=Gy-Cy
其中,Gx和Gy表示特征图中标注框的坐标,Gw和Gh表示特征图中标注框的宽和高,Cx和Cy表示特征图中grid cell的左上角坐标,Pw和Ph是锚框映射到特征图上的宽和高;
3.d)训练集中的图片经过步骤3.b)和3.c)处理后,最终得到包括卷积层、BN层以及偏移值:tx,ty,tw,th这些待学习的参数。
8.如权利要求1所述的基于改进YOLOv3的车辆检测方法,其特征在于,所述步骤(4)中的模型剪枝基于BN层的γ系数进行,方法如下:
对所有BN层中的γ系数按从小到大的规则进行排序,设定阈值为0.3,舍去前30%的γ值,即舍弃这些γ值所在的BN层以及与该BN层相关联的卷积层,最终得到剪枝后的模型。
9.如权利要求1所述的基于改进YOLOv3的车辆检测方法,其特征在于,所述步骤(5)中车辆检测过程包括以下步骤:
5.1)将测试集中的图片大小调整为416×416,分别输入到训练好的YOLOv3和YOLO-TN车辆检测模型中;
5.2)车辆检测模型对输入的图片进行特征提取,经过yolo层时,根据车辆检测模型所学习到的锚框相对于标注框的偏移值,得到所预测的边界框的位置信息,计算公式如下:
bx=(σ(tx)+Cx)/W
by=(σ(ty)+Cy)/H
5.3)yolo层特征图中每个grid cell都分配三个锚框,通过非极大值抑制(non-maximum suppression,NMS)的方法,过滤掉冗余的窗口,得到最优检测框。
10.如权利要求9所述的基于改进YOLOv3的车辆检测方法,其特征在于,所述步骤5.3得到最优检测框的具体步骤如下:
5.3.1)计算出所有锚框中置信度得分最高的一个,记为A;
5.3.2)设定阈值为0.5,计算剩下的锚框与A的IOU值,若IOU≥0.5,则舍弃该框;
5.3.3)保留IOU<0.5的锚框,重复5.3.1)和5.3.2)直到遍历完所有的锚框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915495.3A CN110796168B (zh) | 2019-09-26 | 2019-09-26 | 一种基于改进YOLOv3的车辆检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915495.3A CN110796168B (zh) | 2019-09-26 | 2019-09-26 | 一种基于改进YOLOv3的车辆检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110796168A CN110796168A (zh) | 2020-02-14 |
CN110796168B true CN110796168B (zh) | 2023-06-13 |
Family
ID=69439757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910915495.3A Active CN110796168B (zh) | 2019-09-26 | 2019-09-26 | 一种基于改进YOLOv3的车辆检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110796168B (zh) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428558A (zh) * | 2020-02-18 | 2020-07-17 | 东华大学 | 一种基于改进YOLOv3方法的车辆检测方法 |
CN111401148B (zh) * | 2020-02-27 | 2023-06-20 | 江苏大学 | 一种基于改进的多级YOLOv3的道路多目标检测方法 |
CN111461291B (zh) * | 2020-03-13 | 2023-05-12 | 西安科技大学 | 基于YOLOv3剪枝网络和深度学习去雾模型的长输管线巡检方法 |
CN113408561B (zh) * | 2020-03-17 | 2024-06-18 | 北京京东乾石科技有限公司 | 模型生成方法、目标检测方法、装置、设备及存储介质 |
CN111310773B (zh) * | 2020-03-27 | 2023-03-24 | 西安电子科技大学 | 一种高效的卷积神经网络的车牌定位方法 |
CN111553201B (zh) * | 2020-04-08 | 2024-03-29 | 东南大学 | 一种基于YOLOv3优化算法的交通灯检测方法 |
CN111508093A (zh) * | 2020-04-26 | 2020-08-07 | 王素云 | 一种用于高速公路的过路费预算*** |
CN111553282B (zh) * | 2020-04-29 | 2024-03-29 | 北京百度网讯科技有限公司 | 用于检测车辆的方法和装置 |
CN111598158B (zh) * | 2020-05-14 | 2023-05-12 | 汇鼎数据科技(上海)有限公司 | 一种基于ai分析技术的仓储库存状态感知方法 |
CN111768365B (zh) * | 2020-05-20 | 2023-05-30 | 太原科技大学 | 基于卷积神经网络多特征融合的太阳能电池缺陷检测方法 |
CN111461083A (zh) * | 2020-05-26 | 2020-07-28 | 青岛大学 | 基于深度学习的快速车辆检测方法 |
CN111709310B (zh) * | 2020-05-26 | 2024-02-02 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
CN111695448B (zh) * | 2020-05-27 | 2022-06-17 | 东南大学 | 一种基于视觉传感器的路侧车辆识别方法 |
CN111797993B (zh) * | 2020-06-16 | 2024-02-27 | 东软睿驰汽车技术(沈阳)有限公司 | 深度学习模型的评价方法、装置、电子设备及存储介质 |
CN111709381A (zh) * | 2020-06-19 | 2020-09-25 | 桂林电子科技大学 | 基于YOLOv3-SPP的道路环境目标检测方法 |
CN111709489B (zh) * | 2020-06-24 | 2022-04-08 | 广西师范大学 | 一种基于改进YOLOv4的柑橘识别方法 |
CN111832548B (zh) * | 2020-06-29 | 2022-11-15 | 西南交通大学 | 一种列车定位方法 |
CN111746521B (zh) * | 2020-06-29 | 2022-09-20 | 芜湖雄狮汽车科技有限公司 | 泊车路线的规划方法、装置、设备及存储介质 |
CN114037885B (zh) * | 2020-07-21 | 2023-06-20 | 四川大学 | 一种基于可选择的膨胀卷积核大小的目标检测方法 |
CN111881831A (zh) * | 2020-07-28 | 2020-11-03 | 南京拟态智能技术研究院有限公司 | 一种基于深度学习的多尺度特征融合目标检测*** |
CN111915583B (zh) * | 2020-07-29 | 2024-02-09 | 西安电子科技大学 | 复杂场景中基于车载红外热像仪的车辆和行人检测方法 |
CN111860679B (zh) * | 2020-07-29 | 2022-04-26 | 浙江理工大学 | 一种基于YOLO v3改进算法的车辆检测方法 |
CN112263217B (zh) * | 2020-08-27 | 2023-07-18 | 上海大学 | 一种基于改进卷积神经网络的非黑素瘤皮肤癌病理图像病变区域检测方法 |
CN112183255A (zh) * | 2020-09-15 | 2021-01-05 | 西北工业大学 | 一种基于深度学习的水下目标视觉识别与姿态估计方法 |
CN111862096B (zh) * | 2020-09-23 | 2021-06-18 | 平安科技(深圳)有限公司 | 图像分割方法、装置、电子设备及存储介质 |
CN112132025B (zh) * | 2020-09-23 | 2023-02-07 | 平安国际智慧城市科技股份有限公司 | 应急车道图像处理方法、装置、计算机设备及存储介质 |
CN112200089B (zh) * | 2020-10-12 | 2021-09-14 | 西南交通大学 | 一种基于车辆计数感知注意力的稠密车辆检测方法 |
CN112200186B (zh) * | 2020-10-15 | 2024-03-15 | 上海海事大学 | 基于改进yolo_v3模型的车标识别方法 |
CN112232199A (zh) * | 2020-10-15 | 2021-01-15 | 燕山大学 | 基于深度学习的佩戴口罩检测方法 |
CN112307919B (zh) * | 2020-10-22 | 2023-03-24 | 福州大学 | 一种基于改进YOLOv3的单证图像中数字信息区域识别方法 |
CN112329768A (zh) * | 2020-10-23 | 2021-02-05 | 上善智城(苏州)信息科技有限公司 | 一种基于改进的yolo的加油站卸油停车牌标志的识别方法 |
CN112347938B (zh) * | 2020-11-09 | 2023-09-26 | 南京机电职业技术学院 | 一种基于改进YOLOv3的人流检测方法 |
CN112364800B (zh) * | 2020-11-19 | 2023-07-14 | 金陵科技学院 | 一种基于人工智能的自动驾驶偏离处理方法 |
CN112381049A (zh) * | 2020-11-30 | 2021-02-19 | 长光卫星技术有限公司 | 一种基于高分辨率光学遥感图像的储油罐检测方法 |
CN112418410A (zh) * | 2020-12-14 | 2021-02-26 | 上海卓繁信息技术股份有限公司 | 多目标检测方法、装置和存储介质 |
CN112711996A (zh) * | 2020-12-22 | 2021-04-27 | 中通服咨询设计研究院有限公司 | 一种用于消防通道占用检测的*** |
CN113033284B (zh) * | 2020-12-22 | 2022-10-25 | 迪比(重庆)智能科技研究院有限公司 | 一种基于卷积神经网络的车辆实时超载检测方法 |
CN112580558A (zh) * | 2020-12-25 | 2021-03-30 | 烟台艾睿光电科技有限公司 | 红外图像目标检测模型构建方法、检测方法、装置及*** |
CN112686124A (zh) * | 2020-12-25 | 2021-04-20 | 朗坤智慧科技股份有限公司 | 基于5g网络的电厂输煤皮带堆煤检测方法及装置 |
CN112668663B (zh) * | 2021-01-05 | 2024-03-22 | 南京航空航天大学 | 一种基于YOLOv4的航拍小汽车检测方法 |
CN112906485B (zh) * | 2021-01-25 | 2023-01-31 | 杭州易享优智能科技有限公司 | 基于改进的yolo模型的视障人士辅助障碍物感知方法 |
CN113034828A (zh) * | 2021-02-26 | 2021-06-25 | 中国电子科技集团公司第三十八研究所 | 基于嵌入式计算终端实现目标检测和识别***及布设方法 |
CN112949500A (zh) * | 2021-03-04 | 2021-06-11 | 北京联合大学 | 一种基于空间特征编码改进的YOLOv3车道线检测方法 |
CN113239813B (zh) * | 2021-05-17 | 2022-11-25 | 中国科学院重庆绿色智能技术研究院 | 一种基于三阶级联架构的YOLOv3的远景目标检测方法 |
CN113435324B (zh) * | 2021-06-25 | 2023-10-13 | 深圳大学 | 一种车辆目标检测方法、装置及计算机可读存储介质 |
CN113705423B (zh) * | 2021-08-25 | 2024-05-17 | 西安电子科技大学 | 基于改进YOLOv3算法的红外车辆快速检测方法 |
CN113887420A (zh) * | 2021-09-30 | 2022-01-04 | 浙江浩腾电子科技股份有限公司 | 一种基于ai的城市公共车位智能化检测识别*** |
CN113903009B (zh) * | 2021-12-10 | 2022-07-05 | 华东交通大学 | 一种基于改进YOLOv3网络的铁路异物检测方法与*** |
CN114841931A (zh) * | 2022-04-18 | 2022-08-02 | 西南交通大学 | 一种基于剪枝算法的轨枕实时缺陷检测方法 |
CN115080051B (zh) * | 2022-05-31 | 2023-05-09 | 武汉大学 | 一种基于计算机视觉的gui代码自动生成方法 |
CN115187982B (zh) * | 2022-07-12 | 2023-05-23 | 河北华清环境科技集团股份有限公司 | 藻类检测方法、装置及终端设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059554A (zh) * | 2019-03-13 | 2019-07-26 | 重庆邮电大学 | 一种基于交通场景的多支路目标检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447033A (zh) * | 2018-11-14 | 2019-03-08 | 北京信息科技大学 | 基于yolo的车辆前方障碍物检测方法 |
-
2019
- 2019-09-26 CN CN201910915495.3A patent/CN110796168B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059554A (zh) * | 2019-03-13 | 2019-07-26 | 重庆邮电大学 | 一种基于交通场景的多支路目标检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110796168A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110796168B (zh) | 一种基于改进YOLOv3的车辆检测方法 | |
CN109919072B (zh) | 基于深度学习和轨迹跟踪的精细车型识别与流量统计方法 | |
CN109447018B (zh) | 一种基于改进Faster R-CNN的道路环境视觉感知方法 | |
CN111091105B (zh) | 基于新的边框回归损失函数的遥感图像目标检测方法 | |
CN107563372B (zh) | 一种基于深度学习ssd框架的车牌定位方法 | |
CN106228125B (zh) | 基于集成学习级联分类器的车道线检测方法 | |
CN111814623A (zh) | 一种基于深度神经网络的车辆车道偏离视觉检测方法 | |
WO2023097971A1 (zh) | 4d毫米波雷达数据处理的方法 | |
CN111709381A (zh) | 基于YOLOv3-SPP的道路环境目标检测方法 | |
CN111553201B (zh) | 一种基于YOLOv3优化算法的交通灯检测方法 | |
CN111368769B (zh) | 基于改进锚点框生成模型的船舶多目标检测方法 | |
CN113486764B (zh) | 一种基于改进的YOLOv3的坑洼检测方法 | |
CN112464911A (zh) | 基于改进YOLOv3-tiny的交通标志检测与识别方法 | |
CN112052802B (zh) | 一种基于机器视觉的前方车辆行为识别方法 | |
CN109800692A (zh) | 一种基于预训练卷积神经网络的视觉slam回环检测方法 | |
CN112084890B (zh) | 基于gmm和cqfl的多尺度识别交通信号标志的方法 | |
CN114913498A (zh) | 一种基于关键点估计的并行多尺度特征聚合车道线检测方法 | |
CN115861619A (zh) | 一种递归残差双注意力核点卷积网络的机载LiDAR城市点云语义分割方法与*** | |
CN115143950A (zh) | 一种智能汽车局部语义栅格地图生成方法 | |
Liu et al. | A new multi-channel deep convolutional neural network for semantic segmentation of remote sensing image | |
CN114549909A (zh) | 一种基于自适应阈值的伪标签遥感图像场景分类方法 | |
CN106529391A (zh) | 一种鲁棒的限速交通标志检测与识别方法 | |
Meihong | Vehicle detection method of automatic driving based on deep learning | |
CN113989296A (zh) | 基于改进U-net网络的无人机麦田遥感图像分割方法 | |
CN116630702A (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 |