
- YOLOv4: Optimal Speed and Accuracy of Object Detection论文地址
- PaperwithCode在目标检测的排名
- Github仓库地址,100Kstar
- 《YOLO1》论文精读:第一次实现端到端的目标检测
- 《YOLO2》论文精读:7项措施和联合训练让YOLO1更好、更快、更强大
- 《YOLO3》论文精读:3项优化和Darknet-53让YOLO3奠定了YOLO系列的基石
- YOLO1论文最新由Facebook AI发表于2016年5月,截止现在2024年10月,引用数是52854次。
- YOLO2由华盛顿大学研究机构于2016年12月发布,截止2024年10月,引用数是23157次。
- YOLO3由华盛顿大学研究机构于2018年4月发布,截止2024年10月,引用数是30304次。
- YOLO4由三位学术大佬于2020年4月发布,截止2024年10月,引用数是17683次。
文章目录
论文内容省流版本阅读这里即可
YOLO4讨论了用于提升卷积神经网络(CNN)性能的不同技术,并且介绍了如何通过组合这些技术来达到最优的结果。但是对这些技术没有做解释,作者是默认读者了解这些后背的技术,所以读完这篇论文,如果不继续往下深究,跟没读过是一个感受
-
介绍:
- 提到有很多特性被认为可以提高CNN的准确性。
- 实际上需要对这些特性的组合在大规模数据集上进行测试,并对结果进行理论上的解释。
-
特性分类:
- 有些特性是专门为某些模型或问题设计的,或者仅适用于小规模的数据集。
- 有些特性,比如批量归一化(Batch-Normalization)和残差连接(Residual-connections),则适用于大多数模型、任务和数据集。
-
通用特性假设:
- 假设有一些通用特性,包括加权残差连接(WRC)、跨阶段部分连接(CSP)、跨Mini-Batch归一化(CmBN)、自我对抗训练(SAT)和Mish激活函数。
-
应用的特性:
- 使用的新特性包括:WRC、CSP、CmBN、SAT、Mish激活、马赛克数据增强(Mosaic data augmentation)、DropBlock正则化、CIoU损失。
- 这些特性被组合起来以实现最先进的成果。
-
实验结果:
- 在MS COCO数据集上,通过组合这些特性,获得了43.5%的平均精度(AP)和65.7%的AP50(即当IoU=0.5时的平均精度)。
- 这个模型在Tesla V100 GPU上运行时能够达到约65 FPS的实时速度。
-
代码资源:
- 有关此工作的源代码可以在https://github.com/AlexeyAB/darknet找到。
复习YOLO3的推理过程
下面逐步描述YOLO3的推理流程:
- 给模型输入一张只有人、狗、自行车三个待检测对象的图像,得到32x32x3+16x16x3+8x8x3=3072+768+192=4032个预测边界框的坐标和边界框的置信度,以及32x32+16x16+8x8=1024+256+64=1344个网格单元格的类别预测分数。
- 将边界框预测值转变成预测边界框的实际坐标,和所有预测边界框的置信度
- 通过非极大值抑制(Non-Maximum Suppression, NMS)挑选出三个预测边界框,分别预测人、狗、自行车。非极大值抑制(Non-Maximum Suppression, NMS)是一种常用的技术,用于消除重复的边界框预测。在目标检测任务中,同一物体可能会被多次预测为不同的边界框,NMS的作用就是从这些重叠的边界框中挑选出最有代表性的那个。
- NMS的工作流程
步骤1 - 排序:首先按照边界框的置信度得分对所有边界框进行降序排序。
步骤2 - 选取最高分:从排序后的列表中选取得分最高的边界框。
步骤3 - 计算IoU:计算得分最高的边界框与其他所有边界框的交并比IOU。
步骤4 - 剔除高IoU:如果某个边界框与已选中的边界框IoU高于设定的阈值,则剔除该边界框。
步骤5 - 迭代:重复步骤2至4,直到没有边界框剩余为止。
复习YOLO3的训练过程
因为YOLO3有三个检测头,每个检测头的损失计算之后,再全部加到一起,就是总损失。三个头的特征尺寸分别是32x32、16x16、8x8,下面就以8x8为例,展示损失的计算过程和训练的过程。
- 给模型输入一张只有人、狗、自行车三个检测对象的图像,得到
8x8x3=192个预测边界框和8x8x3=1521个边界框的置信度数值,以及8x8=64个网格单元格的类别预测分数数值。 - 图像会被分成
8x8=64个网络单元格,图像中有三个检测对象人、狗、自行车,根据YOLO3的核心思想,那么就会有三个网络单元格分别负责检测人、狗、自行车,假设为gridPerson、gridDog、gridBicycle。 - gridPerson这个网格单元格里面的所有预测边界框(这里是3个边界框)只挑选跟Ground Truth的IOU最大的边界框出来,称为最优预测边界框,计算最优预测边界框坐标的平方差损失L1、最优预测边界框的置信度的平方差损失L2;对于gridPerson这个网格单元格,需要计算类别的交叉熵损失L3。
- 对于gridDog、gridBicycle也是需要这么计算得到相对应的损失
- 对于其它
8x8-3=61个网格单元格,需要计算置信度的平方差损失L4 - 上面gridPerson、gridDog、gridBicycle各自的损失和L4都加起来就是这个分类头的损失了。
- 然后再把所有分类头的损失再加起来,就是总损失了
- 然后使用Adam进行优化
主干网络、颈部网络、头部网络概述
目前目标检测模型通常由两部分组成,一个是在ImageNet上预先训练的主干网络模型,另一个是用于预测待检测对象的类别和边界框的检测

最低0.47元/天 解锁文章
285

被折叠的 条评论
为什么被折叠?



