YOLOv7

YOLOv7#

标题: YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

作者: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao (Institute of Information Science, Academia Sinica, Taiwan)

摘要: YOLOv7在实时目标检测领域中超越了所有已知的目标检测器,无论是在速度还是准确性方面。在GPU V100上,YOLOv7-E6目标检测器(56 FPS, 55.9% AP)在速度上比基于变换器的检测器SWINL Cascade-Mask R-CNN(9.2 FPS, 53.9% AP)快509%,准确性上高出2%,比基于卷积的检测器ConvNeXt-XL Cascade-Mask R-CNN(8.6 FPS, 55.2% AP)快551%,准确性上高出0.7%。

1. 问题: 论文试图解决实时目标检测中速度与准确性之间的权衡问题,提高目标检测器在不同设备上的运行效率和准确性。

2. 新问题: 这不是一个全新的问题,但是YOLOv7提出了新的解决方案,以实现更好的速度和准确性权衡。

3. 科学假设: 假设通过优化训练过程和模型架构,可以实现不增加推理成本的情况下提高目标检测的准确性。

4. 相关研究:

  • 实时目标检测器:YOLO系列、FCOS、SSD、RetinaNet等。

  • 模型重参数化和动态标签分配:与网络训练和目标检测相关的方法。

  • 领域内值得关注的研究员包括但不限于:Joseph Redmon、Ali Farhadi(YOLO系列的主要贡献者)。

5. 解决方案关键:

  • 设计了可训练的“免费功能包”(trainable bag-of-freebies),包括新的优化模块和方法。

  • 提出了“计划重参数化模型”(planned re-parameterized model)和“粗到细引导标签分配”(coarse-to-fine lead guided label assignment)方法。

6. 实验设计: 实验使用Microsoft COCO数据集进行,所有模型从头开始训练,不使用预训练模型。设计了针对边缘GPU、常规GPU和云GPU的基本模型,并使用提出的复合缩放方法对模型进行扩展。

7. 数据集与代码: 使用的数据集是COCO,源代码已在GitHub上开源:https://github.com/WongKinYiu/yolov7。

8. 实验结果: 实验结果表明,YOLOv7在不同模型尺寸上均取得了优异的性能,支持了论文提出的科学假设。

9. 贡献:

  • 提出了YOLOv7,一个高性能的实时目标检测模型。

  • 引入了新的训练方法和模型优化技术,提高了目标检测的准确性和速度。

  • 提供了不同规模的模型以适应不同的计算设备。

10. 下一步工作:

  • 进一步探索和优化YOLOv7模型,以提高对小目标的检测能力。

  • 在更多的数据集上测试YOLOv7的性能。

  • 探索YOLOv7在不同应用场景中的实用性和效果。

回答问题

  1. 问题: 提高实时目标检测的速度和准确性。

  2. 新问题: 不是新问题,但提出了新的解决方案。

  3. 科学假设: 通过训练过程和模型架构的优化,可以在不增加推理成本的情况下提高检测准确性。

  4. 相关研究: YOLO系列、FCOS、SSD、RetinaNet等。

  5. 解决方案关键: 可训练的“免费功能包”,计划重参数化模型,粗到细引导标签分配。

  6. 实验设计: 在COCO数据集上进行,设计了不同规模的模型。

  7. 数据集与代码: 使用COCO数据集,代码已开源。

  8. 实验结果: 支持假设,YOLOv7在不同模型尺寸上均取得了优异性能。

  9. 贡献: 提出了YOLOv7和一系列新的训练和模型优化技术。

  10. 下一步工作: 提高小目标检测能力,测试更多数据集,探索应用场景。


总结

  • YOLOv7的优势

    • YOLOv7在推理时间和平均精度上均表现出色,推理时间最短,平均精度最高。

    • YOLOv7比其他模型快120%,在实时目标检测任务中具有显著优势。

  • 其他模型的表现

    • YOLO-R和PPYOLOE在推理时间和平均精度上次于YOLOv7,但仍表现良好。

    • YOLOX和Scaled-YOLOv4的推理时间较长,平均精度较低。

    • YOLOv5的推理时间最长,平均精度最低,表现最差。

结论

通过对YOLOv7与其他模型在MS COCO数据集上的性能对比,可以看出YOLOv7在推理时间和平均精度上均表现出色,具有显著的优势。YOLOv7在实时目标检测任务中具有更高的效率和准确性,是当前最先进的目标检测模型之一。根据具体应用场景的需求,可以选择合适的模型进行目标检测任务。


图表内容

  1. VoVNet

    • 结构:包含多个3x3卷积层和1x1卷积层。

    • 特点:使用层聚合策略,通过多个卷积层的堆叠来提取特征。

  2. CSPVoVNet

    • 结构:在VoVNet的基础上增加了部分卷积层(partial convolution)。

    • 特点:通过部分卷积层的引入,进一步提高特征提取的效率。

  3. ELAN

    • 结构:包含多个3x3卷积层和1x1卷积层,并引入了堆叠和计算块(stack & computational block)。

    • 特点:通过堆叠和计算块的引入,增强了特征提取的能力。

  4. E-ELAN

    • 结构:在ELAN的基础上增加了扩展基数(expand cardinality)和混洗基数(shuffle cardinality)。

    • 特点:通过扩展和混洗基数,进一步增强了特征提取的能力,并提高了参数和计算的使用效率。

输入输出流程

  1. 输入

    • 输入图像通过输入层进入模型。

    • 输入层通常是一个卷积层,用于初步提取图像的低级特征。

  2. 特征提取

    • VoVNet:输入图像通过多个3x3卷积层和1x1卷积层进行特征提取。每个卷积层提取不同层次的特征,并通过层聚合策略进行组合。

    • CSPVoVNet:在VoVNet的基础上,部分卷积层(partial convolution)进一步提取特征,提高特征提取的效率。

    • ELAN:输入图像通过多个3x3卷积层和1x1卷积层进行特征提取,并通过堆叠和计算块(stack & computational block)增强特征提取能力。

    • E-ELAN:在ELAN的基础上,扩展基数(expand cardinality)和混洗基数(shuffle cardinality)进一步增强特征提取能力,并提高参数和计算的使用效率。

  3. 特征聚合

    • VoVNet:通过层聚合策略,将不同卷积层提取的特征进行组合。

    • CSPVoVNet:通过部分卷积层的引入,进一步聚合特征。

    • ELAN:通过堆叠和计算块,将不同卷积层提取的特征进行组合。

    • E-ELAN:通过扩展和混洗基数,将不同卷积层提取的特征进行组合,增强特征聚合能力。

  4. 输出

    • 最终的特征通过输出层进行处理,生成目标检测结果。

    • 输出层通常是一个全连接层或卷积层,用于生成目标检测的类别和位置。

总结

  • VoVNet:通过层聚合策略,提取和组合不同层次的特征。

  • CSPVoVNet:在VoVNet的基础上,通过部分卷积层进一步提高特征提取效率。

  • ELAN:通过堆叠和计算块,增强特征提取能力。

  • E-ELAN:在ELAN的基础上,通过扩展和混洗基数,进一步增强特征提取能力,并提高参数和计算的使用效率。

结论

通过对四种模型结构的分析,可以看出每种模型在特征提取和聚合方面都有其独特的策略和优势。E-ELAN在ELAN的基础上,通过扩展和混洗基数,进一步增强了特征提取能力,并提高了参数和计算的使用效率,是当前最先进的特征提取模型之一。根据具体应用场景的需求,可以选择合适的模型进行目标检测任务。

图表内容

  1. 基于连接的模型(concatenation-based model)

    • 结构:包含多个卷积层,通过连接操作将特征进行组合。

    • 特点:通过连接操作,将不同卷积层提取的特征进行组合,形成更丰富的特征表示。

  2. 深度扩展的基于连接的模型(scaled-up concatenation-based model)

    • 结构:在基于连接的模型基础上,通过增加卷积层的深度进行扩展。

    • 特点:通过增加卷积层的深度,进一步提取更深层次的特征。

  3. 复合扩展的基于连接的模型(compound scaling up depth and width for concatenation-based model)

    • 结构:在深度扩展的基础上,同时对深度和宽度进行扩展。

    • 特点:通过同时扩展深度和宽度,增强特征提取能力,并提高模型的性能。

输入输出流程

  1. 输入

    • 输入图像通过输入层进入模型。

    • 输入层通常是一个卷积层,用于初步提取图像的低级特征。

  2. 特征提取

    • 基于连接的模型

      • 输入图像通过多个卷积层进行特征提取。

      • 每个卷积层提取不同层次的特征,并通过连接操作将这些特征进行组合。

    • 深度扩展的基于连接的模型

      • 在基于连接的模型基础上,通过增加卷积层的深度,进一步提取更深层次的特征。

      • 连接操作将不同深度的特征进行组合,形成更丰富的特征表示。

    • 复合扩展的基于连接的模型

      • 在深度扩展的基础上,同时对深度和宽度进行扩展。

      • 通过增加卷积层的深度和宽度,增强特征提取能力。

      • 连接操作将不同深度和宽度的特征进行组合,形成更强大的特征表示。

  3. 特征聚合

    • 基于连接的模型:通过连接操作,将不同卷积层提取的特征进行组合。

    • 深度扩展的基于连接的模型:通过增加卷积层的深度,进一步聚合特征。

    • 复合扩展的基于连接的模型:通过同时扩展深度和宽度,进一步增强特征聚合能力。

  4. 输出

    • 最终的特征通过输出层进行处理,生成目标检测结果。

    • 输出层通常是一个全连接层或卷积层,用于生成目标检测的类别和位置。

总结

  • 基于连接的模型:通过连接操作,将不同卷积层提取的特征进行组合,形成更丰富的特征表示。

  • 深度扩展的基于连接的模型:在基于连接的模型基础上,通过增加卷积层的深度,进一步提取更深层次的特征。

  • 复合扩展的基于连接的模型:在深度扩展的基础上,同时对深度和宽度进行扩展,增强特征提取能力,并提高模型的性能。

结论

通过对三种模型结构的分析,可以看出每种模型在特征提取和聚合方面都有其独特的策略和优势。复合扩展的基于连接的模型通过同时扩展深度和宽度,进一步增强了特征提取能力,并提高了模型的性能,是当前最先进的特征提取模型之一。根据具体应用场景的需求,可以选择合适的模型进行目标检测任务。


图表展示了几种不同的模型结构:PlainNet、RepPlainNet、ResNet、RepResNet、P1-RepResNet、P2-RepResNet、P3-RepResNet和P4-RepResNet。每种模型结构都采用了不同的卷积和连接方法,以提高模型的性能。以下是对图表内容的详细分析和总结。

图表内容

  1. PlainNet

    • 结构:包含两个3x3卷积层。

    • 特点:简单的卷积层堆叠,没有任何连接操作。

  2. RepPlainNet

    • 结构:包含一个3x3卷积层和一个RepConv层。

    • 特点:通过RepConv层进行特征提取,增强了特征表示能力。

  3. ResNet

    • 结构:包含两个3x3卷积层,并有一个残差连接(residual connection)。

    • 特点:通过残差连接,解决了深层网络中的梯度消失问题,提高了训练效果。

  4. RepResNet

    • 结构:包含一个3x3卷积层和一个RepConv层,并有一个残差连接。

    • 特点:通过残差连接和RepConv层,进一步增强了特征提取能力。

  5. P1-RepResNet

    • 结构:包含一个RepConv层和一个普通卷积层,并有一个残差连接。

    • 特点:通过残差连接和RepConv层,增强了特征提取能力。

  6. P2-RepResNet

    • 结构:包含一个RepConv层和一个普通卷积层,并有一个残差连接。

    • 特点:与P1-RepResNet类似,但在某些情况下不推荐使用。

  7. P3-RepResNet

    • 结构:包含一个RepConvN层(不含身份连接)和一个普通卷积层,并有一个残差连接。

    • 特点:通过残差连接和RepConvN层,增强了特征提取能力。

  8. P4-RepResNet

    • 结构:包含一个RepConvN层(不含身份连接)和一个普通卷积层,并有一个残差连接。

    • 特点:与P3-RepResNet类似,但在某些情况下不推荐使用。

输入输出流程

  1. 输入

    • 输入图像通过输入层进入模型。

    • 输入层通常是一个卷积层,用于初步提取图像的低级特征。

  2. 特征提取

    • PlainNet:输入图像通过两个3x3卷积层进行特征提取。

    • RepPlainNet:输入图像通过一个3x3卷积层和一个RepConv层进行特征提取。

    • ResNet:输入图像通过两个3x3卷积层进行特征提取,并通过残差连接将输入直接传递到输出。

    • RepResNet:输入图像通过一个3x3卷积层和一个RepConv层进行特征提取,并通过残差连接将输入直接传递到输出。

    • P1-RepResNet:输入图像通过一个RepConv层和一个普通卷积层进行特征提取,并通过残差连接将输入直接传递到输出。

    • P2-RepResNet:与P1-RepResNet类似,但在某些情况下不推荐使用。

    • P3-RepResNet:输入图像通过一个RepConvN层(不含身份连接)和一个普通卷积层进行特征提取,并通过残差连接将输入直接传递到输出。

    • P4-RepResNet:与P3-RepResNet类似,但在某些情况下不推荐使用。

  3. 特征聚合

    • PlainNet:通过卷积层的堆叠进行特征聚合。

    • RepPlainNet:通过卷积层和RepConv层的组合进行特征聚合。

    • ResNet:通过卷积层和残差连接进行特征聚合。

    • RepResNet:通过卷积层、RepConv层和残差连接进行特征聚合。

    • P1-RepResNet:通过RepConv层、普通卷积层和残差连接进行特征聚合。

    • P2-RepResNet:与P1-RepResNet类似,但在某些情况下不推荐使用。

    • P3-RepResNet:通过RepConvN层、普通卷积层和残差连接进行特征聚合。

    • P4-RepResNet:与P3-RepResNet类似,但在某些情况下不推荐使用。

  4. 输出

    • 最终的特征通过输出层进行处理,生成目标检测结果。

    • 输出层通常是一个全连接层或卷积层,用于生成目标检测的类别和位置。


图表展示了几种不同的模型结构:普通模型、带辅助头的模型、独立分配器、引导头分配器以及粗到细引导头分配器。每种模型结构都采用了不同的标签分配方法,以提高模型的性能。以下是对图表内容的详细分析和总结。

图表内容

  1. 普通模型(Normal model)

    • 结构:包含多个卷积层和检测层。

    • 特点:传统的目标检测模型,通过卷积层提取特征,并通过检测层进行目标检测。

  2. 带辅助头的模型(Model with auxiliary head)

    • 结构:在普通模型的基础上,增加了一个辅助头(Aux Head)。

    • 特点:辅助头用于辅助主检测头(Lead Head)进行特征提取和目标检测,提高模型的检测性能。

  3. 独立分配器(Independent assigner)

    • 结构:包含主检测头和辅助头,每个头都有独立的标签分配器(Assigner)。

    • 特点:每个检测头独立进行标签分配和损失计算,互不干扰。

  4. 引导头分配器(Lead guided assigner)

    • 结构:包含主检测头和辅助头,标签分配由主检测头引导。

    • 特点:主检测头引导标签分配,辅助头根据主检测头的预测结果进行标签分配和损失计算。

  5. 粗到细引导头分配器(Coarse-to-fine lead guided assigner)

    • 结构:包含主检测头和辅助头,标签分配由粗到细进行。

    • 特点:标签分配过程分为粗略分配和精细分配两个阶段,主检测头进行粗略分配,辅助头进行精细分配,提高标签分配的准确性。

输入输出流程

  1. 输入

    • 输入图像通过输入层进入模型。

    • 输入层通常是一个卷积层,用于初步提取图像的低级特征。

  2. 特征提取

    • 普通模型:输入图像通过多个卷积层进行特征提取,最后通过检测层进行目标检测。

    • 带辅助头的模型:输入图像通过多个卷积层进行特征提取,特征同时传递给主检测头和辅助头,辅助头辅助主检测头进行目标检测。

    • 独立分配器:输入图像通过多个卷积层进行特征提取,特征同时传递给主检测头和辅助头,每个头独立进行标签分配和损失计算。

    • 引导头分配器:输入图像通过多个卷积层进行特征提取,特征同时传递给主检测头和辅助头,主检测头引导标签分配,辅助头根据主检测头的预测结果进行标签分配和损失计算。

    • 粗到细引导头分配器:输入图像通过多个卷积层进行特征提取,特征同时传递给主检测头和辅助头,标签分配过程分为粗略分配和精细分配两个阶段,主检测头进行粗略分配,辅助头进行精细分配。

  3. 标签分配

    • 普通模型:通过检测层直接进行目标检测。

    • 带辅助头的模型:辅助头辅助主检测头进行标签分配和目标检测。

    • 独立分配器:主检测头和辅助头独立进行标签分配和损失计算。

    • 引导头分配器:主检测头引导标签分配,辅助头根据主检测头的预测结果进行标签分配和损失计算。

    • 粗到细引导头分配器:标签分配过程分为粗略分配和精细分配两个阶段,主检测头进行粗略分配,辅助头进行精细分配。

  4. 损失计算

    • 普通模型:通过检测层直接进行损失计算。

    • 带辅助头的模型:辅助头辅助主检测头进行损失计算。

    • 独立分配器:主检测头和辅助头独立进行损失计算。

    • 引导头分配器:主检测头引导标签分配,辅助头根据主检测头的预测结果进行损失计算。

    • 粗到细引导头分配器:标签分配过程分为粗略分配和精细分配两个阶段,主检测头进行粗略分配,辅助头进行精细分配,并进行损失计算。

  5. 输出

    • 最终的特征通过输出层进行处理,生成目标检测结果。

    • 输出层通常是一个全连接层或卷积层,用于生成目标检测的类别和位置。

总结

  • 普通模型:传统的目标检测模型,通过卷积层提取特征,并通过检测层进行目标检测。

  • 带辅助头的模型:通过增加辅助头,辅助主检测头进行特征提取和目标检测,提高模型的检测性能。

  • 独立分配器:主检测头和辅助头独立进行标签分配和损失计算,互不干扰。

  • 引导头分配器:主检测头引导标签分配,辅助头根据主检测头的预测结果进行标签分配和损失计算。

  • 粗到细引导头分配器:标签分配过程分为粗略分配和精细分配两个阶段,主检测头进行粗略分配,辅助头进行精细分配,提高标签分配的准确性。

通过对几种模型结构的分析,可以看出每种模型在特征提取、标签分配和损失计算方面都有其独特的策略和优势。带辅助头的模型和引导头分配器通过引入辅助头和引导标签分配,提高了模型的检测性能和标签分配的准确性。


图表内容

  1. 模型结构

    • 左侧图:展示了一个包含三层3x3卷积层的堆叠结构,每层卷积层的输出通道数为c。

    • 右侧图:展示了五种不同的RepConv替换位置(a, b, c, d, e),蓝色圆圈表示用RepConv替换常规卷积层的位置。

  2. RepConv

    • RepConv是一种改进的卷积操作,通常用于提高模型的特征提取能力和计算效率。

    • 在图中,蓝色圆圈标记了用RepConv替换常规卷积层的位置。

输入输出流程

  1. 输入

    • 输入图像通过输入层进入模型。

    • 输入层通常是一个卷积层,用于初步提取图像的低级特征。

  2. 特征提取

    • 输入图像通过三层堆叠的3x3卷积层进行特征提取。

    • 每层卷积层的输出通道数为c。

    • 在特定位置(由右侧图中的蓝色圆圈标记)用RepConv替换常规卷积层,以提高特征提取的效果。

  3. RepConv替换位置

    • 位置a:在第一层卷积层的位置用RepConv替换。

    • 位置b:在第二层卷积层的位置用RepConv替换。

    • 位置c:在第三层卷积层的位置用RepConv替换。

    • 位置d:在第一层和第二层卷积层的位置用RepConv替换。

    • 位置e:在第一层、第二层和第三层卷积层的位置用RepConv替换。

  4. 输出

    • 最终的特征通过输出层进行处理,生成目标检测或分类结果。

    • 输出层通常是一个全连接层或卷积层,用于生成最终的预测结果。

总结

  • 模型结构:该模型使用了三层堆叠的3x3卷积层,并在特定位置用RepConv替换常规卷积层,以提高特征提取的效果。

  • RepConv替换位置:右侧图展示了五种不同的RepConv替换位置(a, b, c, d, e),每种替换位置可能对模型的性能产生不同的影响。

  • 输入输出流程:输入图像通过三层堆叠的3x3卷积层进行特征提取,在特定位置用RepConv替换常规卷积层,最终通过输出层生成预测结果。

结论

通过对模型结构和输入输出流程的分析,可以看出该模型通过在特定位置用RepConv替换常规卷积层,提高了特征提取的效果。根据具体应用场景的需求,可以选择合适的RepConv替换位置,以优化模型的性能。


图表展示了四种不同的卷积块结构:Dark block、CSPDark block、RDark block 和 RCSPDark block。这些块结构通过调整1x1卷积层和3x3卷积层的位置来适应重新参数化的模型设计策略。以下是对图表内容的详细分析和总结。

图表内容

  1. Dark block

    • 结构:包含一个1x1卷积层和一个3x3卷积层。

    • 输入通道数为c,1x1卷积层的输出通道数为c/2,3x3卷积层的输出通道数为c。

  2. CSPDark block

    • 结构:包含两个并行的路径,每个路径包含一个1x1卷积层和一个3x3卷积层。

    • 输入通道数为c,1x1卷积层的输出通道数为c/2,3x3卷积层的输出通道数为c/2。

  3. RDark block

    • 结构:与Dark block相反,包含一个3x3卷积层和一个1x1卷积层。

    • 输入通道数为c,3x3卷积层的输出通道数为c/2,1x1卷积层的输出通道数为c。

  4. RCSPDark block

    • 结构:与CSPDark block相反,包含两个并行的路径,每个路径包含一个3x3卷积层和一个1x1卷积层。

    • 输入通道数为c,3x3卷积层的输出通道数为c/2,1x1卷积层的输出通道数为c/2。

输入输出流程

  1. 输入

    • 输入图像通过输入层进入模型。

    • 输入层通常是一个卷积层,用于初步提取图像的低级特征。

  2. 特征提取

    • Dark block

      • 输入特征图通过1x1卷积层,输出通道数为c/2。

      • 然后通过3x3卷积层,输出通道数为c。

    • CSPDark block

      • 输入特征图分为两条并行路径,每条路径通过1x1卷积层,输出通道数为c/2。

      • 然后每条路径通过3x3卷积层,输出通道数为c/2。

      • 最后将两条路径的输出特征图进行拼接。

    • RDark block

      • 输入特征图通过3x3卷积层,输出通道数为c/2。

      • 然后通过1x1卷积层,输出通道数为c。

    • RCSPDark block

      • 输入特征图分为两条并行路径,每条路径通过3x3卷积层,输出通道数为c/2。

      • 然后每条路径通过1x1卷积层,输出通道数为c/2。

      • 最后将两条路径的输出特征图进行拼接。

  3. 输出

    • 最终的特征通过输出层进行处理,生成目标检测或分类结果。

    • 输出层通常是一个全连接层或卷积层,用于生成最终的预测结果。

总结

  • Dark block:包含一个1x1卷积层和一个3x3卷积层,用于特征提取。

  • CSPDark block:包含两个并行的路径,每个路径包含一个1x1卷积层和一个3x3卷积层,用于特征提取和拼接。

  • RDark block:与Dark block相反,包含一个3x3卷积层和一个1x1卷积层,用于特征提取。

  • RCSPDark block:与CSPDark block相反,包含两个并行的路径,每个路径包含一个3x3卷积层和一个1x1卷积层,用于特征提取和拼接。

结论

通过对模型结构和输入输出流程的分析,可以看出这些卷积块结构通过调整1x1卷积层和3x3卷积层的位置,适应了重新参数化的模型设计策略。根据具体应用场景的需求,可以选择合适的卷积块结构,以优化模型的性能。


图表展示了不同方法在辅助头和主头上的目标性图(Objectness Map)预测结果。以下是对图表内容的详细分析和总结。

图表内容

  1. 输入图像

    • 图(a)展示了一个包含多个人物的输入图像。

  2. 目标性图预测

    • 图(b)和图(c)展示了独立辅助头和独立主头的目标性图预测结果。

    • 图(d)和图(e)展示了引导辅助头和引导主头的目标性图预测结果。

  3. 红色圆圈

    • 红色圆圈标记了目标性图中高目标性区域的位置,这些区域通常对应于输入图像中的目标物体(如人物)。

详细分析

  1. 独立辅助头和独立主头

    • 图(b)和图(c)分别展示了独立辅助头和独立主头的目标性图预测结果。

    • 从图中可以看出,独立辅助头和独立主头在某些区域的目标性预测较为分散,可能存在漏检或误检的情况。

  2. 引导辅助头和引导主头

    • 图(d)和图(e)分别展示了引导辅助头和引导主头的目标性图预测结果。

    • 从图中可以看出,引导辅助头和引导主头在目标性预测上更加集中,红色圆圈标记的高目标性区域更为明显,预测结果更加准确。

总结

  • 输入图像:图(a)展示了一个包含多个人物的输入图像。

  • 独立辅助头和独立主头:图(b)和图(c)展示了独立辅助头和独立主头的目标性图预测结果,预测结果较为分散,可能存在漏检或误检的情况。

  • 引导辅助头和引导主头:图(d)和图(e)展示了引导辅助头和引导主头的目标性图预测结果,预测结果更加集中,红色圆圈标记的高目标性区域更为明显,预测结果更加准确。

结论

通过对不同方法在辅助头和主头上的目标性图预测结果的分析,可以看出引导辅助头和引导主头在目标性预测上表现更为优越,预测结果更加集中和准确。这表明引导方法在目标检测任务中具有更好的性能,能够更准确地识别输入图像中的目标物体。


这个图表展示了在MS COCO min-val数据集上不同目标检测模型的性能比较。横轴表示V100 GPU上单个批次的推理时间(毫秒),纵轴表示平均精度(AP)百分比。图表中的每个点代表一个模型的性能,点的位置由其推理时间和平均精度决定。

以下是对图表中模型性能的分析:

  1. YOLOv7 系列模型:

    • YOLOv7在推理时间和平均精度上表现出色,尤其是YOLOv7-E6E,达到了56.80%的AP,推理时间约为30ms。

    • YOLOv7的多个变体(如YOLOv7-E6、YOLOv7-D6等)在推理时间和精度上均表现优异,显示了其在不同配置下的强大性能。

  2. YOLOv6 系列模型:

    • YOLOv6系列模型的性能也相当不错,尤其是YOLOv6-L,达到了52.30%的AP,推理时间约为20ms。

    • 这些模型在推理时间和精度上与YOLOv7系列相近,但略逊色于YOLOv7。

  3. YOLOv5 系列模型:

    • YOLOv5系列模型的性能稍逊于YOLOv6和YOLOv7,但仍然表现良好。例如,YOLOv5-X的AP为50.70%,推理时间约为15ms。

  4. 其他模型

    • 图表中还包括了一些其他模型,如EfficientDet-D7、DETR-R101-DC5等。这些模型的推理时间较长,精度也不如YOLO系列。

    • 例如,EfficientDet-D7的AP为52.20%,但推理时间超过100ms,显示了其在速度上的劣势。

  5. 性能总结

    • 总体来看,YOLOv7系列模型在推理时间和平均精度上均表现出色,尤其是YOLOv7-E6E,显示了其在目标检测任务中的强大性能。

    • YOLOv6和YOLOv5系列模型也表现良好,但在某些配置下略逊于YOLOv7。

    • 其他模型虽然在某些方面表现不错,但在推理时间和精度的平衡上不如YOLO系列。

图表中的注释还指出,YOLOv7比其他模型快了1200%,进一步强调了其在速度上的优势。


这个图表展示了在MS COCO数据集上不同目标检测模型的性能比较,分别在单个批次(batch=1)和批次为32(batch=32)的情况下进行评估。横轴表示V100 GPU上的推理时间(毫秒),纵轴表示平均精度(AP)百分比。图表中的每个点代表一个模型的性能,点的位置由其推理时间和平均精度决定。

左图:V100 batch=1 推理时间

  1. YOLOv7 系列模型

    • YOLOv7在推理时间和平均精度上表现出色,尤其是YOLOv7-E6E,达到了56.8%的AP,推理时间约为30ms。

    • YOLOv7的多个变体(如YOLOv7-E6、YOLOv7-D6等)在推理时间和精度上均表现优异,显示了其在不同配置下的强大性能。

  2. YOLOv6 系列模型

    • YOLOv6系列模型的性能也相当不错,尤其是YOLOv6-L,达到了52.3%的AP,推理时间约为20ms。

    • 这些模型在推理时间和精度上与YOLOv7系列相近,但略逊色于YOLOv7。

  3. YOLOv5 系列模型

    • YOLOv5系列模型的性能稍逊于YOLOv6和YOLOv7,但仍然表现良好。例如,YOLOv5-X的AP为50.7%,推理时间约为15ms。

  4. Scaled-YOLOv4

    • Scaled-YOLOv4的性能也不错,但在推理时间和精度上略逊于YOLOv7和YOLOv6。

右图:V100 batch=32 平均推理时间

  1. YOLOv7 系列模型

    • YOLOv7在批次为32的情况下依然表现出色,尤其是YOLOv7-E6E,达到了56.8%的AP,推理时间约为3ms。

    • YOLOv7的多个变体在推理时间和精度上均表现优异,显示了其在不同配置下的强大性能。

  2. YOLOv6 系列模型

    • YOLOv6系列模型在批次为32的情况下也表现良好,尤其是YOLOv6-L,达到了52.3%的AP,推理时间约为2ms。

  3. YOLOv5 系列模型

    • YOLOv5系列模型在批次为32的情况下表现稍逊于YOLOv6和YOLOv7,但仍然表现良好。例如,YOLOv5-X的AP为50.7%,推理时间约为1.5ms。

  4. Scaled-YOLOv4

    • Scaled-YOLOv4在批次为32的情况下表现也不错,但在推理时间和精度上略逊于YOLOv7和YOLOv6。

性能总结

  • YOLOv7 系列模型在单个批次和批次为32的情况下均表现出色,显示了其在推理时间和平均精度上的强大性能。

  • YOLOv6 系列模型在推理时间和精度上也表现良好,但略逊色于YOLOv7。

  • YOLOv5 系列模型在推理时间和精度上稍逊于YOLOv6和YOLOv7,但仍然表现良好。

  • Scaled-YOLOv4 在推理时间和精度上表现也不错,但略逊于YOLOv7和YOLOv6。

图表中的注释还指出,YOLOv7在单个批次情况下比其他模型快了1200%,在批次为32的情况下快了1500%,进一步强调了其在速度上的优势。