【技术实现步骤摘要】
一种改进损失函数的YOLOv4目标检测算法
[0001]该专利技术属于图像识别领域,尤其涉及一种改进损失函数的YOLOv4目标检测算法,该算法在通用标准数据集上表现出很好的检测性能。
技术介绍
[0002]随着计算机技术的不断发展,计算机视觉与其中的目标检测成为了热门方向。利用目标检测可以对特定物体进行识别与定位,在驾驶辅助系统、军事预警系统有广泛的发展前景。目标检测技术包括传统目标检测技术及基于深度学习的目标检测技术,而后者由于在性能与复杂度方面优于前者,已成为当前目标检测领域的主流算法。
[0003]基于深度学习的目标检测技术主要分为一阶段与两阶段两种方法,两阶段方法的第一阶段对输入图像划定候选区域,第二阶段使用卷积神经网络对候选区域进行分类,典型算法有R
‑
CNN、Fast
‑
R
‑
CNN,这种算法准确度较高,但由于使用了两个子网络完成单个目标检测任务,训练成本与检测成本较高,速度较慢;一阶段方法将输入的图片分为固定数量的patch,在每个patch中又有固 ...
【技术保护点】
【技术特征摘要】
1.一种改进损失函数的YOLOv4目标检测算法,包含以下步骤:步骤一、下载当前目标检测领域通用数据集tt100k数据集与LISA数据集,使用这两个数据集可保证算法检测效果与该领域公开的通用数据集保持一致,验证算法实际效果;对下载的数据进行增强,包括翻转、裁剪、加噪、旋转操作;增强后生成的数据不仅可以增加数据集包含的图片数量,且因为增强后的图像与数据集中的原始图像相比更复杂,在保留原始图像特征点的情况下对图片风格、大小进行了改变,图像的模糊程度增加,使增强后的图像更具多样性,与实际情况更接近,可以提升训练后网络的鲁棒性;tt100k数据集的下载地址是:http://cg.cs.tsinghua.edu.cn/traffic
‑
sign/;LISA数据集的下载地址是:http://cvrr.ucsd.edu/LISA/lisa
‑
traffic
‑
sign
‑
dataset.html;步骤二:使用标准YOLOv4网络训练与检测交通标志;使用标准YOLOv4网络对基于步骤一的两个交通标志数据集分别进行训练,下载标准YOLOv4网络并进行编译,标准YOLOv4网络下载地址:https://github.com/AlexeyAB/darknet,为两个交通标志数据集tt100k与LISA分别更改cfg文件夹中tt100k.data与LISA.data文件中的训练集、验证集、测试集目录为下载数据集的地址,并指定类别数量与类别名称;根据精度要求设定epoch=20000,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4.cfq,程序即可开始训练;训练过程中使用标准YOLOv4网络的的损失函数CIoU_Loss;保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到mAP与Recall;对得到的mAP、Recall与训练过程中的损失进行分析,发现CIoU_Loss损失函数在处理小目标时,目标长宽比变化幅度较大时回归损失也较大,不利于模型训练稳定性;步骤三、本发明为解决CIoU_Loss损失函数在处理小目标时,目标长宽比变化幅度较大时回归损失也较大的问题,提出一种基于CIoU_Loss的损失函数SCIoU(SigmoidCompleteIntersectionoverUnion),通过改进的长宽比度量指标ν
s
,并以Sigmoid函数原型代替arctan函数,将其嵌入YOLOv4中,获得了性能提升,同时该模型也没有引入更多计算量,实时性不受影响,也可替换其他目标检测算法的损失函数,拥有较好的适用性;将替换损失函数SCIoU的YOLOv4网络使用步骤一中的两个数据集进行训练,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP与Recall;步骤四、将步骤三与步骤二得到的mAP与Recall进行对比,并设置不同的IoU_thresh重新进行训练,比较步骤二与步骤三在不同设置下的mAP与Recall性能,分析测试结果。2.根据权利要求书1所述的一种改进损失函数的YOLOv4目标检测算法,步骤一、下载当前目标检测领域通用数据集tt100k数据集与LISA数据集;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 rode四部分信息;采集图片的过程是在视频中提取的,车辆行驶过程有一定速度而非静止,因此出现模糊,也使得基于该数据集的交通标志识别算法对真实场景的适用性更强;美国LISA数据集中包含了47个类别,但各类别之间标注数量严重失衡,因此为保证数据可用性,本文实验将选取其中四类标注数量较多的类别进行训练测试;将测试集、验证集与训练集按照6∶2∶2的比例划分,并对每张图像进行翻转、裁剪、加噪、旋转操作。3.根据权利要求书1所述的一种改进损失函数的YOLOv4目标检测算法,步骤二、使用标准YOLOv4网络训练与检测交通标志;使用标准YOLOv4网络对基于步骤一的两个交通标志数据集分别进行训练,下载标准YOLOv4网络并进行编译,标准YOLOv4网络下载地址:https://github.com/AlexeyAB/darknet,为两个交通标志数据集tt100k与LISA分别更改cfg文件夹中tt100k.data与LISA.data文件中的训练集、验证集、测试集目录为下载数据集的地址,并指定类别数量与类别名称;根据精度要求设定epoch=20000,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4.cfg,程序即可开始训练;训练过程中使用标准YOLOv4网络的的损失函数CIoU_Loss;保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到mAP与Recall;对得到的mAP、Recall与训练过程中的损失进行分析,发现CIoU_Loss损失函数在处理小目标时,目标长宽比变化幅度较大时回归损失也较大,不利于模型训练稳定性;1)构建YOLOv4网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;YOLOv4由四个部分连接组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone主干网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;下载标准YOLOv4网络后,对YOLOv4网络使用make命令进行编译,形成可执行文件darknet;为两个交通标志数据集tt100k与LISA分别编辑cfg文件夹中tt100k.data与LISA.data文件,将class、train、valid、names字符串改为对应数据集增强后的目录与参数,这样就编辑好了标准YOLOv4网络Input部分需要的参数,设定epoch后,根据本次实验数据集加载tt100k.data或LISA.data,同时加载yolov4.cfg,程序即可开始训练;程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;2)从Input部分输入图片数据,经过Backbone部分,最终输出三个尺度的特征图,并使用分类器输出预测框Pb2与分类概率...
【专利技术属性】
技术研发人员:王立哲,王兰美,王桂宝,廖桂生,贾建科,孙长征,
申请(专利权)人:陕西理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。