一种基于多层特征融合的车辆检测方法转让专利

申请号 : CN202110755187.6

文献号 : CN113420706B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王玉李涵宇申铉京黄永平刘同壮

申请人 : 吉林大学

摘要 :

本发明公开了一种基于多层特征融合的车辆检测方法,包括如下步骤:步骤一:获取带有标注的车辆检测数据集;步骤二:针对训练集中车辆的尺寸重新设计先验框大小;步骤三:使用YOLO v4的主干特征提取网络CSPdarknet 53,将提取到的四个不同尺度的特征作为输入传入多层特征融合网络,经过两次多层特征融合网络,将输出的三个不同尺度特征图传入分类回归预测网络得到最终预测结果;步骤四:训练网络模型并测试网络性能。因此本发明能够提高网络对于小目标车辆的检测准确率并提高了检测速度。

权利要求 :

1.一种基于多层特征融合的车辆检测方法,其特征在于,包括如下步骤:

步骤一:获取带有标注的车辆检测数据集,划分训练集、验证集、测试集;

步骤二:针对训练集中车辆的尺寸重新设计先验框大小,使用k‑means聚类方法,得到9个聚类中心作为先验框的尺寸;

步骤三:使用YOLO v4的主干特征提取网络CSPdarknet 53,将提取到的四个不同尺度的特征作为输入传入多层特征融合网络,经过两次多层特征融合网络,将输出的三个不同尺度特征图传入分类回归预测网络得到最终预测结果;

具体包括如下步骤:

(1)CSPdarknet 53包含5个带有残差边的CSPResblock,将第二到第五个CSPResblock输出的四个特征层作为多层特征融合网络的输入;当输入图像大小为608×608×3时,四个特征层大小分别为152×152×128,76×76×256,38×38×512和19×19×1024;

(2)多层特征融合网络包含自下而上和自上而下的两个特征融合路径;在自下而上的特征融合路径中,考虑到不同层特征对于融合的贡献是不同的,当前层特征会与下层所有特征加权后进行融合,其中权重是可以学习的参数;融合结果经过五次卷积后一部分作为自上而下融合路径的输入,一部分上采样后与上层特征进行融合;在自上而下的特征融合路径中,当前层特征会与上层所有特征层加权后进行融合,融合结果经过三次卷积后,一部分作为多层特征融合网络的输出,一部分经过下采样与下层特征层进行融合;以特征层P3为例:in in in td out out

其中,P3 ,P4 ,P5 为对应特征层的输入,P3 是中间特征层,P2 ,P3 为对应特征层的输出,w1,w2,w3是可以学习的权重,up是上采样,down是下采样,cat是特征层拼接操作;其中,权重的计算方式为:wi首先初始化为1,经过Relu激活函数以及归一化操作后,作为一个可以学习的参数参与网络训练;

(3)特征融合网络中的3×3卷积使用深度可分离卷积,每次深度可分离卷积首先进行逐通道的3×3卷积,然后进行逐点的1×1卷积;

(4)将第一个多层特征融合网络的输出作为下一个多层特征融合网络的输入,一共经过两次多层特征融合网络,最终将P3,P4,P5特征图输入分类回归预测网络得到最终的预测结果;

(5)分类回归预测网络预测目标框偏移量、置信度、分类得分,根据置信度判断目标是否为背景,如果不是背景则根据分类得分判断类别,再根据目标框偏移量判断目标实际位置;所有目标框最后会经过非极大值抑制消除冗余目标框,得到最终的预测结果;

步骤四:通过训练集训练网络模型并在训练过程中使用验证集对模型进行验证;最后通过测试集评估网络性能。

2.根据权利要求1所述的基于多层特征融合的车辆检测方法,其特征在于,步骤一中的数据集获取通过提取coco2017数据集中的车辆类别得到,将coco2017‑train中提取的车辆图片90%作为训练集,10%作为验证集,将coco2017‑test中提取的车辆图片作为测试集。

3.根据权利要求1所述的基于多层特征融合的车辆检测方法,其特征在于,步骤二中的针对训练集中车辆的尺寸重新设计先验框大小包含如下步骤:(1)随机选取九个框作为聚类中心框;

(2)计算真实框和聚类中心框的距离,公式如下:

d(B,C)=1‑IOU(B,C)

其中B代表真实框,C代表聚类中心框,IOU代表交并比,d代表聚类中心心框和真实框的距离;将真实框划分到距离最近的一个簇中;

(3)所有真实框划分完毕后,对每个簇重新计算聚类中心;

(4)重复步骤(2)和(3),直到聚类中心收敛,将9个聚类中心作为先验框。

4.根据权利要求1所述的基于多层特征融合的车辆检测方法,其特征在于,步骤四包括如下步骤:训练集包含14643张图片,验证集包含1627张图片,输入尺寸为608×608×3,通过训练集训练网络模型,并通过验证集验证网络性能;在网络收敛后,保存训练好的模型,并通过测试集进行测试。

说明书 :

一种基于多层特征融合的车辆检测方法

技术领域

[0001] 本发明涉及图像目标检测领域,特别涉及一种基于多层特征融合的车辆检测方法。

背景技术

[0002] 随着计算机技术以及人工智能的快速发展,图像目标检测技术近年来取得了突破性进展。车辆检测作为目标检测的一个分支,其目标是在图像或视频中检测出车辆相关信息,其在城市智能交通建设、自动驾驶等领域发挥着重要作用。
[0003] 目标检测技术主要基于卷积神经网络,包括两个分支:两阶段检测方法与一阶段检测方法。两阶段检测方法包括R‑CNN,Fast R‑CNN,Faster R‑CNN等,特点是精度高,但是检测速度较慢。一阶段检测方法包括SDD,YOLO系列等,特点是速度快,但是精度不如二阶段检测方法。由于车辆检测对于速度、精度有一定要求,所以一阶段方法更适合用于车辆检测。YOLO v4是YOLO系列第四代算法,它通过CSPDarknet53网络提取图像不同尺度特征并进行融合,通过不同尺度特征分别检测不同大小目标,使得它在检测速度和精度之间达到了较好的平衡。但是YOLO v4对于小目标的检测效果不够优秀,而车辆检测会包含大量小目标车辆,这使得YOLO v4不能很好的满足车辆检测要求。

发明内容

[0004] 本发明的目的是在于提供一种基于多层特征融合的车辆检测方法,基于YOLO v4网络结构,通过加入新的特征层以及使用多层特征融合网络,提高网络对于小目标的检测精度和检测速度。
[0005] 本发明提供的技术方案为:
[0006] 一种基于多层特征融合的车辆检测方法,包括如下步骤:
[0007] 步骤一:获取带有标注的车辆检测数据集,划分训练集、验证集、测试集。
[0008] 步骤二:针对训练集中车辆的尺寸重新设计先验框大小,使用k‑means聚类方法,得到9个聚类中心作为先验框的尺寸。
[0009] 步骤三:使用YOLO v4的主干特征提取网络CSPdarknet 53,将提取到的四个不同尺度的特征作为输入传入多层特征融合网络,经过两次多层特征融合网络,将输出的三个不同尺度特征图传入分类回归预测网络得到最终预测结果。
[0010] 步骤四:通过训练集训练网络模型并在训练过程中使用验证集对模型进行验证。最后通过测试集评估网络性能。
[0011] 优选的,所述步骤一中的数据集获取通过提取coco2017数据集中的车辆类别得到,将coco2017‑train中提取的车辆图片90%作为训练集,10%作为验证集,将coco2017‑test中提取的车辆图片作为测试集。
[0012] 优选的,所述步骤二中的针对训练集中车辆的尺寸重新设计先验框大小包含如下步骤:
[0013] (1)随机选取九个框作为聚类中心框。
[0014] (2)计算真实框和聚类中心框的距离,公式如下:
[0015] d(B,C)=1‑IOU(B,C)
[0016] 其中B代表真实框,C代表聚类中心框,IOU代表交并比,d代表聚类中心心框和真实框的距离。将真实框划分到距离最近的一个簇中。
[0017] (3)所有真实框划分完毕后,对每个簇重新计算聚类中心。
[0018] (4)重复步骤(2)和(3),直到聚类中心收敛,将9个聚类中心作为先验框。
[0019] 优选的,所述步骤三包括如下步骤:
[0020] (1)CSPdarknet 53包含5个带有残差边的CSPResblock,将第二到第五个CSPResblock输出的四个特征层作为多层特征融合网络的输入。当输入图像大小为608×608×3时,四个特征层大小分别为152×152×128,76×76×256,38×38×512,19×19×
1024。
[0021] (2)多层特征融合网络包含自下而上和自上而下的两个特征融合路径。在自下而上的特征融合路径中,考虑到不同层特征对于融合的贡献是不同的,当前层特征会与下层所有特征加权后进行融合,其中权重是可以学习的参数。融合结果经过五次卷积后一部分作为自上而下融合路径的输入,一部分上采样后与上层特征进行融合。在自上而下的特征融合路径中,当前层特征会与上层所有特征层加权后进行融合,融合结果经过三次卷积后,一部分作为多层特征融合网络的输出,一部分经过下采样与下层特征层进行融合。以特征层P3为例:
[0022]
[0023]
[0024] 其中, 为对应特征层的输入, 是中间特征层, 为对应特征层的输出,w1,w2,w3是可以学习的权重,up是上采样,down是下采样,cat是特征层拼接操作。
其中,权重的计算方式为:
[0025]
[0026] wi首先初始化为1,经过Relu激活函数以及归一化操作后,作为一个可以学习的参数参与网络训练。
[0027] (3)特征融合网络中的3×3卷积使用深度可分离卷积,每次深度可分离卷积首先进行逐通道的3×3卷积,然后进行逐点的1×1卷积。
[0028] (4)将第一个多层特征融合网络的输出作为下一个多层特征融合网络的输入,一共经过两次多层特征融合网络,最终将P3,P4,P5特征图输入分类回归预测网络得到最终的预测结果。
[0029] (5)分类回归预测网络预测目标框偏移量、置信度、分类得分,根据置信度判断目标是否为背景,如果不是背景则根据分类得分判断类别,再根据目标框偏移量判断目标实际位置。所有目标框最后会经过非极大值抑制消除冗余目标框,得到最终的预测结果。
[0030] 优选的,所述步骤四包括如下步骤:
[0031] 训练集包含14643张图片,验证集包含1627张图片,输入尺寸为608×608×3,通过训练集训练网络模型,并通过验证集验证网络性能。在网络收敛后,保存训练好的模型,并通过测试集进行测试。
[0032] 本发明的有益效果:
[0033] 本发明提供了一种基于多层特征融合的车辆检测方法,基于YOLO v4网络模型,通过增加融合的特征层数并使用多层特征融合网络,提高网络对于小目标车辆的检测效果,通过使用深度可分离卷积降低模型参数量。最终得到的网络模型对小目标车辆具有较好的检测准确率并且检测速度较快。

附图说明

[0034] 图1为本发明所述的一种基于多层特征融合的车辆检测方法的流程图。
[0035] 图2为本发明所述的一种基于多层特征融合的车辆检测方法的网络结构图。

具体实施方式

[0036] 下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字后能据以实施。
[0037] 如图1所示,本发明提供了一种基于多层特征融合的车辆检测方法,首先建立车辆数据集,然后根据车辆尺寸重新设计先验框大小,再在YOLO v4网络模型上进行改进,通过将第二层特征加入融合,使用四个不同尺度的特征经过两次多层特征融合网络,将最后三层特征图传入分类回归预测网络进行预测。最后将网络在训练集上训练,保存模型后,在测试集上测试网络性能。所提出的方法对于小目标车辆检测具有较好效果,检测速度也高于YOLO v4。
[0038] 其步骤如下:
[0039] 步骤一:获取带有标注的车辆检测数据集,划分训练集、验证集、测试集。
[0040] coco2017数据集作为常用的目标检测数据集,其具有丰富的类别,包含各种场景的图片,检测难度较大。选择coco数据集作为训练集,可以训练出更加鲁棒的网络。提取coco2017数据集中的车辆类别,coco2017包含80个类别,其中属于车辆的类别为car,bus,truck。将coco2017‑train中的车辆图片提取出来,共16270张图片,其中90%作为训练集,10%作为验证集,将coco2017‑test中的车辆图片提取出来,共707张图片,作为测试集。
[0041] 步骤二:选择适合车辆尺寸的先验框有利于加速网络的回归和准确率,针对训练集中车辆的尺寸重新设计先验框大小,使用k‑means聚类方法,得到9个聚类中心作为先验框的尺寸,其步骤如下:
[0042] (1)随机选取九个框作为聚类中心框。
[0043] (2)计算真实框和聚类中心框的距离,公式如下:
[0044] d(B,C)=1‑IOU(B,C)
[0045] 其中B代表真实框,C代表聚类中心框,IOU代表交并比,d代表聚
[0046] 类中心心框和真实框的距离。将真实框划分到距离最近的一个簇中。
[0047] (3)所有真实框划分完毕后,对每个簇重新计算聚类中心。
[0048] (4)重复步骤(2)和(3),直到聚类中心收敛,将9个聚类中心作为先验框。
[0049] 最终得到的9个先验框尺寸分别为(12,10),(21,19),(29,38),(43,24),(48,72),(74,42),(108,93),(193,188),(447,388)。
[0050] 步骤三:网络结构如图2所示,因为YOLO v4的主干特征提取网络CSPdarknet 53具有较好的性能,能够提取出图片不同尺度的特征,使用CSPdarknet 53网络提取特征,额外将第二层特征加入融合,使用四个不同尺度的特征经过两次多层特征融合网络,将最后三层特征图传入分类回归预测网络进行预测。其步骤如下:
[0051] (1)CSPdarknet 53包含5个带有残差边的CSPResblock,将第二到第五个CSPResblock输出的四个特征层作为多层特征融合网络的输入。当输入图像大小为608×608×3时,四个特征层大小分别为152×152×128,76×76×256,38×38×512,19×19×
1024。
[0052] (2)多层特征融合网络包含自下而上和自上而下的两个特征融合路径。在自下而上的特征融合路径中,考虑到不同层特征对于融合的贡献是不同的,当前层特征会与下层所有特征加权后进行融合,其中权重是可以学习的参数。融合结果经过五次卷积后一部分作为自上而下融合路径的输入,一部分上采样后与上层特征进行融合。在自上而下的特征融合路径中,当前层特征会与上层所有特征层加权后进行融合,融合结果经过三次卷积后,一部分作为多层特征融合网络的输出,一部分经过下采样与下层特征层进行融合。以特征层P3为例:
[0053]
[0054]
[0055] 其中, 为对应特征层的输入, 是中间特征层, 为对应特征层的输出,w1,w2,w3是可以学习的权重,up是上采样,down是下采样,cat是特征层拼接操作。
其中,权重的计算方式为:
[0056]
[0057] wi首先初始化为1,经过Relu激活函数以及归一化操作后,作为一个可以学习的参数参与网络训练。
[0058] (3)为了降低模型参数量,加快模型速度,特征融合网络中的3×3卷积使用深度可分离卷积,每次深度可分离卷积首先进行逐通道的3×3卷积,然后进行逐点的1×1卷积。使用深度可分离卷积,在保持网络检测精度的同时,融合网络的参数量下降到1/3。
[0059] (4)将第一个多层特征融合网络的输出作为下一个多层特征融合网络的输入,一共经过两次多层特征融合网络,通过多次特征融合使融合的特征更加精细。最终将P3,P4,P5特征图输入分类回归预测网络得到最终的预测结果。
[0060] (5)分类回归预测网络预测目标框偏移量、置信度、分类得分,根据置信度判断目标是否为背景,阈值设定为0.5,如果不是背景则根据分类得分判断类别,再根据目标框偏移量判断目标实际位置。所有目标框最后会经过非极大值抑制消除冗余目标框,得到最终的预测结果。
[0061] 步骤四:通过训练集训练网络模型并在训练过程中使用验证集对模型进行验证。最后通过测试集评估网络性能。其步骤如下:
[0062] 训练集包含14643张图片,验证集包含1627张图片,输入尺寸为608×608×3,选择adam优化器,为了加速模型训练,加载预训练的YOLO v4中CSPDarknet53模型参数作为预训练权重,首先冻结CSPDarknet53部分,批量大小设置为16,初始学习率为0.001,采用余弦退火衰减法,进行50000次迭代。然后解冻整个网络,学习率调整为0.0001,进行50000次迭代,保存最终的网络模型参数。测试集包含707张图片,将网络模型在测试集上进行评估。尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。