一种大尺度特征的YOLOv4-tiny目标检测算法

著录项
  • CN202210006548.1
  • 20220105
  • CN114419583A
  • 20220429
  • 西安电子科技大学;陕西理工大学
  • 王兰美;王立哲;王桂宝;廖桂生;王文洋;孙长征
  • G06V20/58
  • G06V20/58 G06V10/44 G06V10/764 G06V10/80 G06V10/82 G06K9/62 G06N3/04 G06N3/08

  • 陕西省西安市雁塔区太白南路2号
  • 陕西(61)
摘要
本发明提出了一种大尺度特征的YOLOv4?tiny目标检测算法,解决原YOLOv4?tiny在小目标检测上精度不高及重叠情况下漏检的问题;首先下载当前目标检测领域通用数据集tt100k数据集与LISA数据集,并进行数据增强;其次使用标准YOLOv4?tiny网络对两个数据增强后的通用数据集进行训练,检测其性能;然后针对原始YOLOv4?tiny模型对小目标进行检测时精度不高且易漏检的问题,提出一种大尺度特征的YOLOv4?tiny目标检测算法,并对改进算法模型进行训练;最后对比标准YOLOv4?tiny模型,分析测试结果;本发明在不改变YOLOv4?tiny模型输出特征图数量、保持模型实时性的情况下,通过改变输出特征图大小,增加了模型感受野改,对小目标检测与重叠情况下目标的检测精度均有提高,且本发明鲁棒性较好,可用于多个数据集的性能提升。
权利要求

1.一种大尺度特征的YOLOv4-tiny目标检测算法,其特征在于:

步骤一、下载当前目标检测领域通用数据集tt100k数据集与LISA数据集,使用这两个数据集可保证算法检测效果与该领域公开的通用数据集保持一致,验证算法实际效果;对下载的数据进行增强,包括翻转、裁剪、加噪、旋转操作;增强后生成的数据不仅可以增加数据集包含的图片数量,且因为增强后的图像与数据集中的原始图像相比更复杂,在保留原始图像特征点的情况下对图片风格、大小进行了改变,图像的模糊程度增加,使增强后的图像更具多样性,与实际情况更接近,可以提升训练后网络的鲁棒性;tt100k数据集的下载地址是:http://cg.cs.tsinghua.edu/traffic-sign/;LISA数据集的下载地址是:http://cvrr.ucsd.edu/LISA/lisa-traffic-sign-dataset.html;

步骤二、使用标准YOLOv4-tiny网络训练与检测交通标志;使用标准YOLOv4-tiny网络对基于步骤一的两个交通标志数据集分别进行训练,下载标准YOLOv4-tiny网络并进行编译,标准YOLOv4-tiny网络下载地址:https://github/AlexeyAB/darknet,为两个交通标志数据集tt100k与LISA分别更改cfg文件夹中tt100k.data与LISA.data文件中的训练集、验证集、测试集目录为下载数据集的地址,并指定类别数量与类别名称;根据精度要求设定迭代次数(epoch)为20000,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到平均精度(mAP)、召回率(Recall)与检测时的帧率(FPS);虽然yolov4-tiny网络的检测速度优于yolov4,但检测精度即mAP与Recall都有比较明显的下降,且yolov4-tiny两个特征图输出的感受野较小,对小目标的检测精度下降较为明显;

步骤三、本发明针对需要检测较小目标时原始YOLOv4-tiny精确度不理想的问题,为了提高小尺度目标的检测精度,本发明方法提出了基于大尺度优化特征图的YOLOv4-tiny目标检测算法,通过改变YOLOv4-tiny网络结构,替换使用大尺度优化特征图策略,旨在解决原YOLOv4-tiny在小目标检测上精度不高及漏检的问题;将增加第三尺度特征图输出的三尺度YOLOv4-tiny网络使用步骤一中的两个数据集进行训练,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与检测时的帧率FPS;

步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果。

2.根据权利要求书1所述的一种大尺度特征的YOLOv4-tiny目标检测算法,步骤一、下载当前目标检测领域通用数据集tt100k数据集与LISA数据集,使用这两个数据集可保证算法检测效果与该领域公开的通用数据集保持一致,验证算法实际效果;对下载的数据进行增强,包括翻转、裁剪、加噪、旋转操作;增强后生成的数据不仅可以增加数据集包含的图片数量,且因为增强后的图像与数据集中的原始图像相比更复杂,在保留原始图像特征点的情况下对图片风格、大小进行了改变,图像的模糊程度增加,使增强后的图像更具多样性,与实际情况更接近,可以提升训练后网络的鲁棒性;tt100k数据集的下载地址是:http://cg.cs.tsinghua.edu/traffic-sign/;LISA数据集的下载地址是:http://cvrr.ucsd.edu/LISA/lisa-traffic-sign-dataset.html;

tt100k的全称是Tsinghua-Tencent 100K,是清华-腾讯互联网创新技术联合实验室提供的一个可用来识别的道路交通标志通用数据集;TT100K数据集中图像的分辨率为2048×2048,共有221种标志类别,大体分为三类:警告标志、禁令标志和指示标志;该数据集覆盖了不同天气条件和不同光照下的交通标志图像,其中训练集包含6105张图像,测试集包含3071张图像;由于原始图像分辨率较大,因此在本发明实验中对原图像进行了裁剪处理,裁剪后的图像尺度为608×608;由于数据集中各个类别之间的数据量存在严重不平衡的问题,因此本发明实验只选择了标注数据量较多的45类交通标志进行识别,并将测试集、验证集与训练集按照6:2:2的比例划分,对每张图像进行翻转、裁剪、加噪、旋转操作;

LISA的全称是Laboratory for Intelligent&Safe Automobiles,是由美国LISA实验室提供的一个可用来识别的道路交通标志通用数据集;通过驾驶车辆拍摄视频,从视频中提取带有交通标志的某一片段,再依据此片段最多提取30帧,对每一帧的视频图片进行标注;每一个交通标志的标注包含类型标签(Tag)、位置(Position)、是否被遮挡(Occluded)、是否在侧路上(On side road)四部分信息;采集图片的过程是在视频中提取的,车辆行驶过程有一定速度而非静止,因此出现模糊,也使得基于该数据集的交通标志识别算法对真实场景的适用性更强;美国LISA数据集中包含了47个类别,但各类别之间标注数量严重失衡,因此为保证数据可用性,本发明实验将选取其中四类标注数量较多的类别进行训练测试;将测试集、验证集与训练集按照6:2:2的比例划分,并对每张图像进行翻转、裁剪、加噪、旋转操作。

3.根据权利要求书1所述的一种基于大尺度特征图的改进的YOLOv4-tiny算法,步骤二、使用标准YOLOv4-tiny网络训练与检测交通标志;使用标准YOLOv4-tiny网络对基于步骤一的两个交通标志数据集分别进行训练,下载标准YOLOv4-tiny网络并进行编译,,标准YOLOv4-tiny网络下载地址:https://github/AlexeyAB/darknet,为两个交通标志数据集tt100k与LISA分别更改cfg文件夹中tt100k.data与LISA.data文件中的训练集、验证集、测试集目录为下载数据集的地址,并指定类别数量与类别名称;根据精度要求设定迭代次数(epoch)为20000,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到平均精度(mAP)、召回率(Recall)与检测时的帧率(FPS);虽然yolov4-tiny网络的检测速度优于yolov4,但检测精度即mAP与Recall都有比较明显的下降,且yolov4-tiny两个特征图输出的感受野较小,对小目标的检测精度下降较为明显;

1)构建YOLOv4-tiny网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;

YOLOv4-tiny由四个部分组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone主干网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;

下载标准YOLOv4-tiny网络后,对YOLOv4-tiny网络使用make命令进行编译,形成可执行文件darknet;为两个交通标志数据集tt100k与LISA分别编辑cfg文件夹中tt100k.data与LISA.data文件,将class、train、valid、names字符串改为对应数据集增强后的目录与参数,这样就编辑好了标准YOLOv4网络Input部分需要的参数,设定epoch后,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;

2)从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,并使用分类器输出预测框Pb1与分类概率CPx;

从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,将两种不同尺度的特征图送入特征金字塔网络(FPN)组成的Neck部分,并将融合后的特征传递到预测层中,与此同时Head部分完成目标的分类并输出预测框Pb1与分类概率CPx,其中x为每个分类的索引;

YOLOv4-tiny的主干网络共有38个卷积层,输出两种不同尺度的特征图;相比YOLOv4,YOLOv4-tiny的backbone主干网络做了大幅简化,使用特征金字塔网络进行32倍下采样与16倍下采样得到两种不同尺寸的特征图进行目标检测,提高检测速度;从Input部分输入图片数据后,经过主干网络,最终会得到38×38×256、19×19×512两种不同尺度的特征图;

3)对这些数据进行IoU与NMS后处理,将预测框Pb2与真实框Gtb对比,并使用Adam算法进行神经网络各层权值更新;

经过Backbone网络生成的预测框Pb1数量太大,对图片中同一物体有大量检测框存在,造成检测结果冗余;YOLOv4-tiny是一种One-stage目标检测算法,故Head部分会同时完成预测框与其对应的分类概率;对这些数据进行IoU与NMS后处理,得到处理好的数据;这里使用的IoU与NMS为标准YOLOv4-tiny的CIoU_loss与NMS;经过这些后处理后就可以得到感兴趣目标的预测框Pb2与其对应的分类概率CPx;同时,使用Adam算法使用后处理过程中得到的loss进行神经网络各层权值更新;

4)循环执行步骤2)和3)继续迭代至epoch值,停止训练,输出记录每一层权重与偏移的文件Q1;利用Q1得到的权重与偏移对测试集进行检测,计算得到mAP、Recall与检测时的帧率FPS;

本发明按照精度要求设置迭代阈值epoch=20000,迭代次数小于阈值时,使用Adam算法进行网络各层权值更新,直到阈值epoch=20000停止训练,计算mAP与Recall,输出记录每一层权重与偏移的文件Q1;

本发明主要使用模型总体评价指标mAP与Recall作为主要评价指标;

同时,YOLOv4-tiny拥有良好的实时性,且输出的模型权重文件较小,可以嵌入低算力的终端中,所以模型检测速度与模型权重文件大小也是非常重要的评价指标;检测速度因硬件配置不同而不同,本发明中所有实验使用同一硬件平台,检测速度的标准为每秒检测的图片数量,单位为f/s(Frame Per Second)。

4.根据权利要求书1所述的一种大尺度特征的YOLOv4-tiny目标检测算法,步骤三、本发明针对需要检测较小目标时原始YOLOv4-tiny精确度不理想的问题,为了提高小尺度目标的检测精度,本发明方法提出了基于大尺度优化特征图的YOLOv4-tiny目标检测算法,通过改变YOLOv4-tiny网络结构,替换使用大尺度优化特征图策略,旨在解决原YOLOv4-tiny在小目标检测上精度不高及漏检的问题;将增加第三尺度特征图输出的三尺度YOLOv4-tiny网络使用步骤一中的两个数据集进行训练,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与检测时的帧率FPS;

感受野(Receptive Field)指的是神经网络中的各个神经元所作用的区域,在卷积神经网络中,特征图上某个元素值的计算受上层输入图像中某块区域的影响,这个区域即该元素所对应的感受野;

若有三层特征图,三个特征图的大小均为5×5,卷积核尺寸均为3×3,步长为1,则Layer3的一个元素便可以作用于Layer1的整个区域;具体来说,卷积核的尺寸为3×3,即前一层3×3的区域可以被后一层1×1的区域覆盖,若特征图大小为5×5,则使用3×3的卷积核经过一次卷积感受野会降为3×3;由此可以总结,若特征图大小为n×n,卷积核大小为f×f,经过一次卷积操作后,矩阵会变为(n-f+1)×(n-f+1);具体地,Layer2中每个神经元可以作用到Layer1上3×3大小的区域,Layer3上每个神经元可以作用到Layer2上3×3大小的区域,该区域又可以作用到Layer1上5×5大小的区域,故某层特征图上的元素作用到前面不同层上的区域范围是不一样的;

原YOLOv4-tiny网络的输出层为32倍与16倍下采样的两尺度特征图,通常情况下,感受野指的是作用到输入图像上的区域,故网络层数越深感受野就越大,故而深层特征图更适合检测大目标,因本文交通标志数据集中存在更多的小目标,所以更多的是需要浅层特征图的信息,基于此,本发明做出如下改进;

删除池化层MaxPool3,将32倍下采样修改为16倍下采样,并且将原来网络层CSP3后的网络通路改路衔接到网络层CSP2后,做8倍下采样,YOLOv4-tiny检测网络的两个尺度输出特征图尺寸由原来的19×19和38×38变为38×38和76×76,从而提高小目标的检测精度;

将改进YOLOv4-tiny模型按照步骤二中的训练过程对步骤一中的两个数据集分别进行训练,迭代至epoch值,使用Adam算法更新权重,并保存权重文件Q2;分别计算改进的YOLOv4-tiny模型的模型检测精度、模型检测召回率、模型检测速度与模型权重文件大小。

5.根据权利要求书1所述的一种大尺度特征的YOLOv4-tiny目标检测算法,步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果。

说明书
技术领域

该发明属于图像识别领域,一种大尺度特征的YOLOv4-tiny目标检测算法,该算法在通用标准数据集上表现出很好的检测性能。

随着计算机技术的不断发展及算力的不断提升,计算机视觉与其中的目标检测成为了近年来热门方向。利用目标检测可以对特定物体进行识别与定位,在驾驶辅助系统、军事预警系统等有广泛的发展前景。目标检测技术包括传统目标检测技术及基于深度学习的目标检测技术,而后者由于在性能与复杂度方面优于前者,已成为当前目标检测领域的主流算法。

基于深度学习的目标检测技术主要分为一阶段(One-stage)与二阶段(Two-stage)两种方法,Two-stage分为两个阶段,第一阶段对输入图像划定候选区域,第二阶段使用卷积神经网络对候选区域进行分类,典型算法有R-CNN、Fast-R-CNN,这种算法准确度较高,但由于使用了两个子网络完成单个目标检测任务,训练成本与检测成本较高,速度较慢;One-stage只有一个阶段,即将输入的图片分为固定数量的块(patch),在每个patch中又有固定数量的锚框(Anchor box),同时输出Anchor box的位置与分类标签,典型的算法有SSD512、YOLOv4,One-stage虽然准确度略逊于Two-stage,但其只使用一个网络完成检测工作,训练成本与检测成本较低,速度较快,适用于需要快速响应的场景。

虽然One-stage检测速度快于Two-stage,但某些情况下需要更快的检测速度来达到应用要求。如车辆辅助驾驶系统,更快的目标检测速度可以缩短传递到驾驶员所需要的时间,使驾驶员快速做出反应,使行车过程更为安全。YOLO4算法虽然在选取的通用数据集tt100k与LISA中能表现出良好的性能,达到很高的准确率,但是网络训练和检测时间较长,不能满足实时性的要求,因此本发明基于YOLOv4的轻量化版本YOLOv4-tiny,针对交通标志数据集中小目标数量较多的特点提出改进策略,修改YOLOv4-tiny的网络结构,使YOLOv4-tiny的感受野变大,更易对小目标进行准确检测,解决原YOLOv4-tiny在小目标检测上精度不高及漏检的问题。以保证在满足实时性的前提下,提高检测精度。

本发明方法提出了基于大尺度优化特征图的YOLOv4-tiny目标检测算法,通过改变YOLOv4-tiny网络结构,替换使用大尺度优化特征图策略,使YOLOv4算法的检测性能有了部分提升。

为了实现上述目的,本发明采取如下的技术解决方案:

步骤一、下载当前目标检测领域通用数据集tt100k数据集与LISA数据集,使用这两个数据集可保证算法检测效果与该领域公开的通用数据集保持一致,验证算法实际效果;对下载的数据进行增强,包括翻转、裁剪、加噪、旋转操作;增强后生成的数据不仅可以增加数据集包含的图片数量,且因为增强后的图像与数据集中的原始图像相比更复杂,在保留原始图像特征点的情况下对图片风格、大小进行了改变,图像的模糊程度增加,使增强后的图像更具多样性,与实际情况更接近,可以提升训练后网络的鲁棒性;tt100k数据集的下载地址是:http://cg.cs.tsinghua.edu/traffic-sign/;LISA数据集的下载地址是:http://cvrr.ucsd.edu/LISA/lisa-traffic-sign-dataset.html;

tt100k的全称是Tsinghua-Tencent 100K,是清华-腾讯互联网创新技术联合实验室提供的一个可用来识别的道路交通标志通用数据集;TT100K数据集中图像的分辨率为2048×2048,共有221种标志类别,大体分为三类:警告标志、禁令标志和指示标志;该数据集覆盖了不同天气条件和不同光照下的交通标志图像,其中训练集包含6105张图像,测试集包含3071张图像;由于原始图像分辨率较大,因此在本发明实验中对原图像进行了裁剪处理,裁剪后的图像尺度为608×608;由于数据集中各个类别之间的数据量存在严重不平衡的问题,因此本发明实验只选择了标注数据量较多的45类交通标志进行识别,并将测试集、验证集与训练集按照6:2:2的比例划分,对每张图像进行翻转、裁剪、加噪、旋转操作;

LISA的全称是Laboratory for Intelligent&Safe Automobiles,是由美国LISA实验室提供的一个可用来识别的道路交通标志通用数据集;通过驾驶车辆拍摄视频,从视频中提取带有交通标志的某一片段,再依据此片段最多提取30帧,对每一帧的视频图片进行标注;每一个交通标志的标注包含类型标签(Tag)、位置(Position)、是否被遮挡(Occluded)、是否在侧路上(On side road)四部分信息;采集图片的过程是在视频中提取的,车辆行驶过程有一定速度而非静止,因此出现模糊,也使得基于该数据集的交通标志识别算法对真实场景的适用性更强;美国LISA数据集中包含了47个类别,但各类别之间标注数量严重失衡,因此为保证数据可用性,本发明实验将选取其中四类标注数量较多的类别进行训练测试;将测试集、验证集与训练集按照6:2:2的比例划分,并对每张图像进行翻转、裁剪、加噪、旋转操作;

步骤二、使用标准YOLOv4-tiny网络训练与检测交通标志;使用标准YOLOv4-tiny网络对基于步骤一的两个交通标志数据集分别进行训练,下载标准YOLOv4-tiny网络并进行编译,标准YOLOv4-tiny网络下载地址:https://github/AlexeyAB/darknet,为两个交通标志数据集tt100k与LISA分别更改cfg文件夹中tt100k.data与LISA.data文件中的训练集、验证集、测试集目录为下载数据集的地址,并指定类别数量与类别名称;根据精度要求设定迭代次数(epoch)为20000,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到平均精度(mAP)、召回率(Recall)与检测时的帧率(FPS);虽然yolov4-tiny网络的检测速度优于yolov4,但检测精度即mAP与Recall都有比较明显的下降,且yolov4-tiny两个特征图输出的感受野较小,对小目标的检测精度下降较为明显;

1)构建YOLOv4-tiny网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;

YOLOv4-tiny由四个部分组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone主干网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;

下载标准YOLOv4-tiny网络后,对YOLOv4-tiny网络使用make命令进行编译,形成可执行文件darknet;为两个交通标志数据集tt100k与LISA分别编辑cfg文件夹中tt100k.data与LISA.data文件,将class、train、valid、names字符串改为对应数据集增强后的目录与参数,这样就编辑好了标准YOLOv4网络Input部分需要的参数,设定epoch后,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;

2)从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,并使用分类器输出预测框Pb1与分类概率CPx;

从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,将两种不同尺度的特征图送入特征金字塔网络(FPN)组成的Neck部分,并将融合后的特征传递到预测层中,与此同时Head部分完成目标的分类并输出预测框Pb1与分类概率CPx,其中x为每个分类的索引;

YOLOv4-tiny的主干网络共有38个卷积层,输出两种不同尺度的特征图;相比YOLOv4,YOLOv4-tiny的backbone主干网络做了大幅简化,使用特征金字塔网络进行32倍下采样与16倍下采样得到两种不同尺寸的特征图进行目标检测,提高检测速度;从Input部分输入图片数据后,经过主干网络,最终会得到38×38×256、19×19×512两种不同尺度的特征图;

3)对这些数据进行IoU与NMS后处理,将预测框Pb2与真实框Gtb对比,并使用Adam算法进行神经网络各层权值更新;

经过Backbone网络生成的预测框Pb1数量太大,对图片中同一物体有大量检测框存在,造成检测结果冗余;YOLOv4-tiny是一种One-stage目标检测算法,故Head部分会同时完成预测框与其对应的分类概率;对这些数据进行IoU与NMS后处理,得到处理好的数据;这里使用的IoU与NMS为标准YOLOv4-tiny的CIoU_loss与NMS;经过这些后处理后就可以得到感兴趣目标的预测框Pb2与其对应的分类概率CPx;同时,使用Adam算法使用后处理过程中得到的loss进行神经网络各层权值更新;

4)循环执行步骤2)和3)继续迭代至epoch值,停止训练,输出记录每一层权重与偏移的文件Q1;利用Q1得到的权重与偏移对测试集进行检测,计算得到mAP、Recall与检测时的帧率FPS;

本发明按照精度要求设置迭代阈值epoch=20000,迭代次数小于阈值时,使用Adam算法进行网络各层权值更新,直到阈值epoch=20000停止训练,计算mAP与Recall,输出记录每一层权重与偏移的文件Q1;

最基础的网络性能评价指标分为四个分类,分别为TP(True Positives):正样本被正确识别为正样本;TN(True Negatives):负样本被正确识别为负样本,;FP(FalsePositives):负样本被错误识别为正样本;FN(False Negatives):正样本被错误识别为负样本;准确率(Accuracy)代表预测正确的样本数量与总样本数量的比值,用来评价算法模型的整体准确性能,计算方法为精确率(Precision)即查准率,指的是识别正确的样本数占总识别样本数的比例,计算方法为而召回率(Recall)即查全率,是指正确识别为正例的样例占所有正例样例的比例,计算方法为如果一个算法模型性能好,那么应该满足如下条件:在保证较高准确率的情况下,召回率也应维持在较高水平;为了更形象化表示该条件,使用Precision-Recall(P-R)曲线,来展示算法模型在准确率与召回率之间的权衡;AP指的是在某一阈值下获得的准确率与召回率所绘制的P-R曲线图与横纵坐标轴围成的面积大小,衡量模型在每个类别上检测性能的好坏,即mAP指的是多个目标类别的AP再取平均值,用来衡量算法模型在所有待测类别上检测性能的好坏;设有N个类别,则mAP的计算方法为本发明主要使用模型总体评价指标mAP与Recall作为主要评价指标;

同时,YOLOv4-tiny拥有良好的实时性,且输出的模型权重文件较小,可以嵌入低算力的终端中,所以模型检测速度与模型权重文件大小也是非常重要的评价指标;检测速度因硬件配置不同而不同,本发明中所有实验使用同一硬件平台,检测速度的标准为每秒检测的图片数量,单位为f/s(Frame Per Second);

步骤三、本发明针对需要检测较小目标时原始YOLOv4-tiny精确度不理想的问题,为了提高小尺度目标的检测精度,本发明方法提出了基于大尺度优化特征图的YOLOv4-tiny目标检测算法,通过改变YOLOv4-tiny网络结构,替换使用大尺度优化特征图策略,旨在解决原YOLOv4-tiny在小目标检测上精度不高及漏检的问题;将增加第三尺度特征图输出的三尺度YOLOv4-tiny网络使用步骤一中的两个数据集进行训练,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与检测时的帧率FPS;

感受野(Receptive Field)指的是神经网络中的各个神经元所作用的区域,在卷积神经网络中,特征图上某个元素值的计算受上层输入图像中某块区域的影响,这个区域即该元素所对应的感受野;

若有三层特征图,三个特征图的大小均为5×5,卷积核尺寸均为3×3,步长为1,则Layer3的一个元素便可以作用于Layer1的整个区域;具体来说,卷积核的尺寸为3×3,即前一层3×3的区域可以被后一层1×1的区域覆盖,若特征图大小为5×5,则使用3×3的卷积核经过一次卷积感受野会降为3×3;由此可以总结,若特征图大小为n×n,卷积核大小为f×f,经过一次卷积操作后,矩阵会变为(n-f+1)×(n-f+1);具体地,Layer2中每个神经元可以作用到Layer1上3×3大小的区域,Layer3上每个神经元可以作用到Layer2上3×3大小的区域,该区域又可以作用到Layer1上5×5大小的区域,故某层特征图上的元素作用到前面不同层上的区域范围是不一样的;

原YOLOv4-tiny网络的输出层为32倍与16倍下采样的两尺度特征图,通常情况下,感受野指的是作用到输入图像上的区域,故网络层数越深感受野就越大,故而深层特征图更适合检测大目标,因本文交通标志数据集中存在更多的小目标,所以更多的是需要浅层特征图的信息,基于此,本发明做出如下改进;

删除池化层MaxPool3,将32倍下采样修改为16倍下采样,并且将原来网络层CSP3后的网络通路改路衔接到网络层CSP2后,做8倍下采样,YOLOv4-tiny检测网络的两个尺度输出特征图尺寸由原来的19×19和38×38变为38×38和76×76,从而提高小目标的检测精度;

将改进YOLOv4-tiny模型按照步骤二中的训练过程对步骤一中的两个数据集分别进行训练,迭代至epoch值,使用Adam算法更新权重,并保存权重文件Q2;分别计算改进的YOLOv4-tiny模型的模型检测精度、模型检测召回率、模型检测速度与模型权重文件大小;

步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果。

本发明提出了一种大尺度特征的YOLOv4-tiny目标检测算法,修改了YOLOv4-tiny的网络结构,替换使用大尺度优化特征图策略,增加了YOLOv4-tiny网络的感受野,旨在解决原YOLOv4-tiny在小目标检测上精度不高及漏检的问题;该算法可在不影响实时性的情况下提升检测精度。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中需要使用的附图做简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明方法的流程图;

图2是使用YOLOv4-tiny进行训练的流程图;

图3是原版YOLOv4-tiny模型结构图;

图4是感受野示意图;

图5是改进YOLOv4-tiny模型结构图;

表1是原版YOLOv4-tiny模型与改进YOLOv4-tiny模型在tt100k验证数据集上的总体性能;

图6是原版YOLOv4-tiny模型与改进YOLOv4-tiny模型在tt100k标准评价指标对比图;

表2是原版YOLOv4-tiny模型与改进YOLOv4-tiny模型在LISA验证数据集上的总体性能;

图7是原版YOLOv4-tiny模型与改进YOLOv4-tiny模型在LISA标准评价指标对比图;

图8是改进YOLOv4-tiny模型部分检测结果对比图;

为了让本发明的上述和其它目的、特征及优点能更明显,下面特举本发明实施例,并配合所附图示,做详细说明如下:

图1为本方法具体流程图,可分为四个步骤:

步骤一、下载当前目标检测领域通用数据集tt100k数据集与LISA数据集,使用这两个数据集可保证算法检测效果与该领域公开的通用数据集保持一致,验证算法实际效果;对下载的数据进行增强,包括翻转、裁剪、加噪、旋转操作;增强后生成的数据不仅可以增加数据集包含的图片数量,且因为增强后的图像与数据集中的原始图像相比更复杂,在保留原始图像特征点的情况下对图片风格、大小进行了改变,图像的模糊程度,使增强后的图像更具多样性,与实际情况更接近,可以提升训练后网络的鲁棒性;tt100k数据集的下载地址是:http://cg.cs.tsinghua.edu/traffic-sign/;LISA数据集的下载地址是:http://cvrr.ucsd.edu/LISA/lisa-traffic-sign-dataset.html;

tt100k的全称是Tsinghua-Tencent 100K,是清华-腾讯互联网创新技术联合实验室提供的一个可用来识别的道路交通标志通用数据集;TT100K数据集中图像的分辨率为2048×2048,共有221种标志类别,大体分为三类:警告标志、禁令标志和指示标志;该数据集覆盖了不同天气条件和不同光照下的交通标志图像,其中训练集包含6105张图像,测试集包含3071张图像;由于原始图像分辨率较大,因此在本发明实验中对原图像进行了裁剪处理,裁剪后的图像尺度为608×608;由于数据集中各个类别之间的数据量存在严重不平衡的问题,因此本发明实验只选择了标注数据量较多的45类交通标志进行识别,并将测试集、验证集与训练集按照6:2:2的比例划分,对每张图像进行翻转、裁剪、加噪、旋转操作;

LISA的全称是Laboratory for Intelligent&Safe Automobiles,是由美国LISA实验室提供的一个可用来识别的道路交通标志通用数据集;通过驾驶车辆拍摄视频,从视频中提取带有交通标志的某一片段,再依据此片段最多提取30帧,对每一帧的视频图片进行标注;每一个交通标志的标注包含类型标签(Tag)、位置(Position)、是否被遮挡(Occluded)、是否在侧路上(On side road)四部分信息;采集图片的过程是在视频中提取的,车辆行驶过程有一定速度而非静止,因此出现模糊,也使得基于该数据集的交通标志识别算法对真实场景的适用性更强;美国LISA数据集中包含了47个类别,但各类别之间标注数量严重失衡,因此为保证数据可用性,本发明实验将选取其中四类标注数量较多的类别进行训练测试;将测试集、验证集与训练集按照6:2:2的比例划分,并对每张图像进行翻转、裁剪、加噪、旋转操作;

步骤二、使用标准YOLOv4-tiny网络训练与检测交通标志;使用标准YOLOv4-tiny网络对基于步骤一的两个交通标志数据集分别进行训练,下载标准YOLOv4-tiny网络并进行编译,,标准YOLOv4-tiny网络下载地址:https://github/AlexeyAB/darknet,为两个交通标志数据集tt100k与LISA分别更改cfg文件夹中tt100k.data与LISA.data文件中的训练集、验证集、测试集目录为下载数据集的地址,并指定类别数量与类别名称;根据精度要求设定迭代次数(epoch)为20000,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到平均精度(mAP)、召回率(Recall)与检测时的帧率(FPS);虽然yolov4-tiny网络的检测速度优于yolov4,但检测精度即mAP与Recall都有比较明显的下降,且yolov4-tiny两个特征图输出的感受野较小,对小目标的检测精度下降较为明显;

参照图2,训练过程可分为4步:

1)构建YOLOv4-tiny网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;

YOLOv4-tiny由四个部分组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone主干网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;

下载标准YOLOv4-tiny网络后,对YOLOv4-tiny网络使用make命令进行编译,形成可执行文件darknet;为两个交通标志数据集tt100k与LISA分别编辑cfg文件夹中tt100k.data与LISA.data文件,将class、train、valid、names字符串改为对应数据集增强后的目录与参数,这样就编辑好了标准YOLOv4网络Input部分需要的参数,设定epoch后,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4-tiny.cfg,程序即可开始训练;程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;

2)从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,并使用分类器输出预测框Pb1与分类概率CPx;

从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,将两种不同尺度的特征图送入特征金字塔网络(FPN)组成的Neck部分,并将融合后的特征传递到预测层中,与此同时Head部分完成目标的分类并输出预测框Pb1与分类概率CPx,其中x为每个分类的索引;

参照图3:YOLOv4-tiny的主干网络共有38个卷积层,输出两种不同尺度的特征图;相比YOLOv4,YOLOv4-tiny的backbone主干网络做了大幅简化,使用特征金字塔网络进行32倍下采样与16倍下采样得到两种不同尺寸的特征图进行目标检测,提高检测速度;从Input部分输入图片数据后,经过主干网络,最终会得到38×38×256、19×19×512两种不同尺度的特征图;

3)对这些数据进行IoU与NMS后处理,将预测框Pb2与真实框Gtb对比,并使用Adam算法进行神经网络各层权值更新;

经过Backbone网络生成的预测框Pb1数量太大,对图片中同一物体有大量检测框存在,造成检测结果冗余;YOLOv4-tiny是一种One-stage目标检测算法,故Head部分会同时完成预测框与其对应的分类概率;对这些数据进行IoU与NMS后处理,得到处理好的数据;这里使用的IoU与NMS为标准YOLOv4-tiny的CIoU_loss与NMS;经过这些后处理后就可以得到感兴趣目标的预测框Pb2与其对应的分类概率CPx;同时,使用Adam算法使用后处理过程中得到的loss进行神经网络各层权值更新;

4)循环执行步骤2)和3)继续迭代至epoch值,停止训练,输出记录每一层权重与偏移的文件Q1;利用Q1得到的权重与偏移对测试集进行检测,计算得到mAP、Recall与检测时的帧率FPS;

本发明按照精度要求设置迭代阈值epoch=20000,迭代次数小于阈值时,使用Adam算法进行网络各层权值更新,直到阈值epoch=20000停止训练,计算mAP与Recall,输出记录每一层权重与偏移的文件Q1;

最基础的网络性能评价指标分为四个分类,分别为TP(True Positives):正样本被正确识别为正样本,即狗被正确识别为狗;TN(True Negatives):负样本被正确识别为负样本,即猫被正确识别为猫;FP(False Positives):负样本被错误识别为正样本,即猫被错误识别为狗;FN(False Negatives):正样本被错误识别为负样本,即狗被错误识别为猫;准确率(Accuracy)代表预测正确的样本数量与总样本数量的比值,用来评价算法模型的整体准确性能,计算方法为精确率(Precision)即查准率,指的是识别正确的样本数占总识别样本数的比例,计算方法为而召回率(Recall)即查全率,是指正确识别为正例的样例占所有正例样例的比例,计算方法为如果一个算法模型性能好,那么应该满足如下条件:在保证较高准确率的情况下,召回率也应维持在较高水平;为了更形象化表示该条件,使用Precision-Recall(P-R)曲线,来展示算法模型在准确率与召回率之间的权衡;AP指的是在某一阈值下获得的准确率与召回率所绘制的P-R曲线图与横纵坐标轴围成的面积大小,衡量模型在每个类别上检测性能的好坏,即mAP指的是多个目标类别的AP再取平均值,用来衡量算法模型在所有待测类别上检测性能的好坏;设有N个类别,则mAP的计算方法为本发明主要使用模型总体评价指标mAP与Recall作为主要评价指标;

同时,YOLOv4-tiny拥有良好的实时性,且输出的模型权重文件较小,可以嵌入低算力的终端中,所以模型检测速度与模型权重文件大小也是非常重要的评价指标;检测速度因硬件配置不同而不同,本发明中所有实验使用同一硬件平台,检测速度的标准为每秒检测的图片数量,单位为f/s(Frame Per Second);

步骤三、本发明针对需要检测较小目标时原始YOLOv4-tiny精确度不理想的问题,为了提高小尺度目标的检测精度,本发明方法提出了基于大尺度优化特征图的YOLOv4-tiny目标检测算法,通过改变YOLOv4-tiny网络结构,替换使用大尺度优化特征图策略,旨在解决原YOLOv4-tiny在小目标检测上精度不高及漏检的问题;将增加第三尺度特征图输出的三尺度YOLOv4-tiny网络使用步骤一中的两个数据集进行训练,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与检测时的帧率FPS;

参照图4:感受野(Receptive Field)指的是神经网络中的各个神经元所作用的区域,在卷积神经网络中,特征图上某个元素值的计算受上层输入图像中某块区域的影响,这个区域即该元素所对应的感受野;

若有三层特征图,三个特征图的大小均为5×5,卷积核尺寸均为3×3,步长为1,则Layer3的一个元素便可以作用于Layer1的整个区域;具体来说,卷积核的尺寸为3×3,即前一层3×3的区域可以被后一层1×1的区域覆盖,若特征图大小为5×5,则使用3×3的卷积核经过一次卷积感受野会降为3×3;由此可以总结,若特征图大小为n×n,卷积核大小为f×f,经过一次卷积操作后,矩阵会变为(n-f+1)×(n-f+1);具体地,Layer2中每个神经元可以作用到Layer1上3×3大小的区域,Layer3上每个神经元可以作用到Layer2上3×3大小的区域,该区域又可以作用到Layer1上5×5大小的区域,故某层特征图上的元素作用到前面不同层上的区域范围是不一样的;

原YOLOv4-tiny网络的输出层为32倍与16倍下采样的两尺度特征图,通常情况下,感受野指的是作用到输入图像上的区域,故网络层数越深感受野就越大,故而深层特征图更适合检测大目标,因本文交通标志数据集中存在更多的小目标,所以更多的是需要浅层特征图的信息,基于此,本发明做出如下改进;

参照图5:删除池化层MaxPool3,将32倍下采样修改为16倍下采样,并且将原来网络层CSP3后的网络通路改路衔接到网络层CSP2后,做8倍下采样,YOLOv4-tiny检测网络的两个尺度输出特征图尺寸由原来的19×19和38×38变为38×38和76×76,从而提高小目标的检测精度;

将改进YOLOv4-tiny模型按照步骤二中的训练过程对步骤一中的两个数据集分别进行训练,迭代至epoch值,使用Adam算法更新权重,并保存权重文件Q2;分别计算改进的YOLOv4-tiny模型的模型检测精度、模型检测召回率、模型检测速度与模型权重文件大小;

步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果。

本发明提出了一种大尺度特征的YOLOv4-tiny目标检测算法,修改了YOLOv4-tiny的网络结构,替换使用大尺度优化特征图策略,形成了一种新的神经网络算法;与标准YOLOv4-tiny网络相比,本发明使用大尺度优化特征图策略更改了部分标准YOLOv4-tiny网络结构,增加了感受野,且本发明算法在不影响实时性的情况下提升了不同数据集的检测精度,可解决标准YOLOv4-tiny在小目标检测上精度不高及重叠情况下漏检的问题。

下面结合仿真实例对该发明做进一步的描述。

仿真实例:

本发明使用原始YOLOv4-tiny作为对比样本,训练数据集与测试数据集均来自通用数据集tt100k与LISA,以验证算法对不同数据集的普适性。该改进算法策略并未增加尺度特征图数量,而是在网络结构中减少了一次下采样操作,将原来两个低分辨率的特征图同时扩大其分辨率达到增加特征图尺寸的目的。

表1为基于tt100k数据集在原始YOLOv4-tiny模型与改进YOLOv4-tiny模型的测试结果,原始YOLOv4-tiny算法模型的mAP值为46.34%,Recall值为57.23%;而改进YOLOv4-tiny算法模型采用改进大尺度优化特征图策略,mAP值与Recall值分别提升2.82%和4.41%,可见虽然改进大尺度策略在没有增加特征图输出个数的情况下对模型性能的提升作用明显,但是mAP值与Recall值却有双提升,这是因为tt100k数据集的特殊性,该数据集中绝大部分目标为小尺寸目标,因为分辨率高的浅层特征图的感受野较小且空间信息丰富,因而比较适合检测小目标,所以对此类特征图的优化有利于小目标的检测与识别。

图6为在tt100k数据集上的算法模型轻量化标准参量图。可以看出相比二尺度策略的原始YOLOv4-tiny模型,引入大尺度策略的改进YOLOv4-tiny模型参数量原始YOLOv4-tiny模型参数来相同,检测时差异FPS可以忽略不计。相比原始YOLOv4-tiny模型,引入大尺度策略的改进YOLOv4-tiny模型的mAP值与Recall值得到较大幅度的双提升,因此该改进策略对提升模型的检测性能有较大帮助。

表2为基于LISA数据集在原始YOLOv4-tiny模型与改进YOLOv4-tiny模型测试的结果,原始YOLOv4-tiny算法模型的mAP值为91.35%,Recall值为91.27%;而改进YOLOv4-tiny算法模型采用改进大尺度优化特征图策略,mAP值与Recall值分别提升1.51%和4.01%,由于分辨率高的大尺度特征图的存在,LISA数据集中的小目标被分配到该层检测,因此对于小尺寸目标较为集中的LISA数据集,改进策略的实施使得算法模型的性能取得了进一步的提升。

图7为在LISA数据集上的算法模型轻量化标准参量图。可以看出采用改进大尺度优化特征图算法模型的改进YOLOv4-tiny模型mAP值与Recall值相比原始YOLOv4-tiny模型有一定提升,且该模型并未引入更多的参数量,检测速度即FPS值与原始YOLOv4-tiny模型基本保持一致。故该改进策略的引进对提高LISA数据集上的检测性能有较大帮助,在基本未损失速度的前提下提高了检测精度与召回率,模型性能优异。

图8改进YOLOv4-tiny模型部分检测结果对比图。其中(a)、(c)、(e)图为待测图片,(b)、(d)、(f)图为相对应的检测结果图,(a)、(c)两图为TT100K数据集中的测试图,(e)图为LISA数据集中的测试图。由图可知,对于具有较小尺寸目标物体的检测图,如图(a)、(c),其检测结果图分别为图(b)、(d),检测结果显示,在(b)图中被检目标类别及置信度分别为pne:100%、i5:100%、pl60:100%、pn:100%、pm55:99%、io:96%、io:99%;在(d)图中被检目标类别及置信度分别为pl40:100%、wo:99%、p11:99%、w55:99%、pn:100%。对于具有较大尺寸目标物体的检测图,如图(e),其检测结果图为图(f),检测结果显示,在(f)图中被检目标类别及置信度分别为pedestrianCrossing:100%。由上检测结果可以看出,图片中不论大小尺寸的目标,该算法模型均能正确检测并给出较高的置信度值,可以发现其检测准确率极高,召回率也维持在100%,说明此算法模型的检测性能优异,且被检测图均取自于真实场景,故该模型对真实场景下的交通标志识别与定位具有一定的指导意义。

综上仿真结果表明,与原始YOLOv4-tiny算法模型相比,本发明采用大尺度优化特征图策略的改进YOLOv4-tiny算法模型同时考虑了小目标检测时原始YOLOv4-tiny算法模型的不足以及检测时的实时性,大尺度特征图的引入,对模型性能的提升作用明显,这是大尺度特征图的引入改善了固定Anchor box中感受野的大小,使YOLOv4-tiny算法模型更容易对小目标进行检测,使改进的YOLOv4-tiny算法模型在对实时性影响不大的前提下,提升模型训练的稳定性,检测效果优于使用原始YOLIv4-tiny模型。同时,此采用大尺度优化特征图策略的改进YOLOv4-tiny算法模型拥有普适性,对tt100k与LISA数据集均有检测性能提升。

本文发布于:2024-09-25 04:33:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/84416.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议