yolov3为什么对大目标检测不好_基于改进YOLOv3的交通场景小目标检测方法与流程...

本发明提出一种基于改进yolov3的交通场景小目标检测方法,解决yolov3网络过深问题,提高对小目标检测的精确度和速度,一定程度上避免训练神经网络出现的过拟合现象。属于智能交通领域。

背景技术:

在交通目标识别应用中,小目标的识别与跟踪是研究的关键问题之一。在智能化领域中,检测与识别交通标志是自动驾驶汽车系统中非常重要的一个部分,因此准确的检测与识别交通标志的研究意义也更加突出。

对于常规的目标,采用经典的检测方法可以获得较好的检测结果。但是对于小目标的检测问题都不太理想。这些方法在pascalvoc、coco等数据集上的检测结果来看,他们对于诸如小鸟、船只等小目标检测效果较差,而对于虽然复杂但更大一些的目标检测效果却很好。由此可以说明一方面特征网络缺少学习特定特征和表达特征的能力,另一方面网络提取出来的小目标特征能提供给模型的信息过于匮乏。小目标成为制约通用目标检测方法提升性能的关键问题,越来越多的学者对此展开了研究,通过研究卷积神经网络低层特征和高层特征的信息特点,使用不同层的特征反演目标图像,得出了低层特征富含细节的信息,更适合用于小目标检测任务的结论。本文发明主要针对神经网络yolov3网络过深,在目标检测任务中容易忽略低层位置信息的问题,提出增强浅层特征的表征能力,并引入多尺度检测融合低层特征信息增强对于检测小目标效果的方法,在保证检测速度满足实时性要求的同时提高检测精度。

技术实现要素:

针对上述问题,本发明的是一种基于改进yolov3的交通场景小目标检测方法,通过使用resnet网络改进yolov3较深的特征提取结构darknet-53,增强低层特征的表征能力;利用fpn网络获取目标的4个尺度特征,充分融合浅层特征和深层特征信息,增强小目标物体、相互遮挡物体的检测效果。发明基本流程如图1所示。

本发明采取如下技术方案:一种基于改进yolov3的交通场景小目标检测方法包括如下步骤:

1)构建特征提取网络darknet-50提取输入图像特征,充分提取图像浅层特征信息;

2)将yolov3的3尺度检测增加为4尺度,融合提取的浅层特征信息,构建多尺度特征金字塔网络;

3)利用k-means算法生成12个anchorbox,根据损失函数做boundingbox回归和多标签分类,利用随机梯度下降法优化求解模型;

4)用预训练后的网络模型对输入图片提取特征,送入到简化后的yolo网络中的多尺度检测模块进行预测,采用极大值抑制法(nms)去除冗余框,预测最优的目标对象。

本发明由于采取以上方法,其具有以下优点:

1、通过使用resnet网络改进yolov3较深的特征提取结构darknet-53,增强低层特征的表征能力;

2、利用fpn网络获取目标的4个尺度特征,充分融合浅层特征和深层特征信息,有效增强小目标物体、相互遮挡物体的检测效果。

3、在保证检测速度满足实时性的同时有效提高检测精度,尤其是对小目标的检测能力。

附图说明

图1本发明基本流程图;

图2特征提取网络darket-50结构;

图3本发明网络检测过程;

图4本发明改进尺度后效果;

图5本发明网络整体改进后检测效果;

图6不同网络在小目标中检测效果p-r图。

具体实施方式

下面结合说明书附图通过一个实例对本发明做进一步说明,本实例仅为本发明其中的一种应用实例。

步骤1)获取kitti数据集的7481张图像,其中分为训练集4000张和测试集3481张,将实验数据集按照pascalvoc数据集格式进行整理,按比例将数据分为训练集和测试集。

本发明的特征提取网络darknet-50是在原始yolov3的darknet-53结构的基础上改进,如图2所示,具体步骤为:

s11)将输入输出大小都为208×208的特征图之间的2次卷积操作和1次直连接改为4次卷积操作和2次直连接;将输入输出大小都为104×104的特征图之间的4次卷积操作和2次直连接改为12次卷积操作和6次直连接;将输入输出大小都为52×52的特征图之间的16次卷积操作和8次直连接改为12次卷积操作和6次直连接;将输入输出大小都为26×26的特征图之间的16次卷积操作和8次直连接改为8次卷积操作和4次直连接;将输入输出大小都为13×13的特征图之间的8次卷积操作和4次直连接改为4次卷积操作和2次直连接;

s12)过渡层为交替使用的1×1和3×3卷积层,使用1×1的卷积层有助于平滑提取的特征,避免下采样过程中丢失更多的特征信息。

步骤2)将yolov3的3尺度检测增加为4尺度,构成四个分支结构,如图3所示,输入尺寸为416×416,每个分支共享从resnet网络中提取的特征,并对13×13,26×26,52×52分辨率的分支进行两倍上采样操作,将上采样后的特征层与浅特征层进行级联,在4个尺度的融合特征图上分别作独立的检测。改进后的多尺度融合可以从浅层特征层中学习较强的位置特征,融合上采样后的深层特征进行更确切的细粒度检测。

相比yolov3网络原来的3尺度检测,本发明通过融合更多尺度的浅层特征信息,增强特征金字塔的表征能力,提升小目标的检测精度,降低漏检率,通过map与迭代次数指标评估改进尺度前后的网络性能,实验结果如图4所示。

步骤3)利用k-means算法生成12个anchorbox,根据损失函数做boundingbox回归和多标签分类;采用极大值抑制法(nms)去除冗余框,预测最优的目标对象,具体步骤为:

s31)通过k-means聚类方法在待训练的数据集里面统计目标框的长和宽,通过观察选择k个初始聚类中心点,逐一计算所有数据对象到各个聚类中心点的距离,之后将数据对象分配给距离最短的集合。本发明采用的是选取合适的iou分数,根据iou和anchorbox的关系,采用4个尺度的12个anchorbox分别为(12,26),(15,45)(24,23)(29,51),(33,81),(35,54)(46,100)(54,67),(87,105)(105,170)(150,245),(165,321);

s32)采用极大值抑制法(nms)根据分类器的类别分类概率做排序,通过迭代形式,不断以最大得分的框去与其他框做iou操作,过滤那些iou较大的框,一直重复进行,标记完所有要保留下来的矩形框,去除冗余候选,预测最优的目标对象。

步骤4)具体实施步骤如图3所示,用于提取卷积特征的darknet-50部分先在imagenet上进行预训练,缩短训练时间;

去掉yolo检测层前的两组卷积层,简化网络结构;将提取的4个尺度特征图送入到yolo网络中检测;

本发明设置的最大迭代次数为50000次,初始化学习率为0.001,batch_size设置为64,decay为0.0005,momentum为0.9,根据损失下降的趋势,可以适当调节学习率和batch_size的值,直至训练数据集输出的损失函数值小于等于阈值或达到设置的最大迭代次数时停止训练,得到训练好的改进网络。

通过整合以上所有改进,形成了本文的superior-yolov3(s-yolov3)网络,本发明的实验对比了fastr-cnn、fasterr-cnn、yolo、yolov2、yolov3,ssd等网络在kitti数据集上的检测效果,通过传输速率和map评价指标评估本发明提出的改进网络的性能,如图5所示。

本发明在上述实验结果的基础之上,将选用的四类标签数据按照尺寸大小分为小目标和中等目标以及大目标,分类原则为:(0,32],(32,96],(96,416)。按照这种策略来评估本文提出的检测方法对于小目标的检测效果,实验以查全率(r)和查准率(p)为评估指标。通过比较p-r曲线下方区域(auc)的面积,验证本文提出的模型的性能,如图6所示。

从附图6中可以看出,本文改进的s-yolov3算法在小目标的检测当中获得了最佳的性能,auc值均高于其他模型,说明本文改进的算法有效,且在小目标的车辆检测中效果提升显著。

本发明的保护范围也并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

你可能感兴趣的:(yolov3为什么对大目标检测不好_基于改进YOLOv3的交通场景小目标检测方法与流程...)