当前位置: 首页 > news >正文

Yolo系列之Yolo v3的概述、网络结构以及与v1,v2对比

Yolo v3的概述、模型理解以及与v1,v2对比

目录

  • Yolo v3的概述、模型理解以及与v1,v2对比
    • 1 YOLOv3概述
      • 1.1 概念
      • 1.2 主要特点
      • 1.3 优缺点
    • 2 网络结构理解
      • 2.1 核心网络框架
      • 2.2 先验框
      • 2.3 特征图
      • 2.4 Softmax层替换
    • 3 Yolo v3与v1,v2对比
      • 3.1 网络结构
      • 3.2 多尺度预测
      • 3.3 分类器与损失函数
      • 3.4 Anchor Boxes 与边界框预测
      • 3.5 性能与优缺点

1 YOLOv3概述


1.1 概念

YOLOv3(You Only Look Once version 3)是YOLO系列的第三个版本,是一种流行的实时目标检测算法,由 Joseph Redmon 和 Ali Farhadi 在 2018 年提出。YOLOv3 在速度和精度之间取得了良好的平衡,广泛应用于计算机视觉任务中。YOLO v3在YOLO v2的基础上进行了多项改进,进一步提升了检测性能。

1.2 主要特点

  • 多尺度预测:YOLO v3采用FPN(Feature Pyramid Network)结构,通过三个不同尺度的特征图进行预测,分别检测大、中、小目标,提升了检测精度。

  • Darknet-53 骨干网络:YOLOv3 使用 Darknet-53 作为特征提取网络结合了残差结构(Residual Blocks),在保持速度的同时提高了精度。

  • 多类别分类:使用独立的逻辑回归分类器进行多类别分类,支持多标签分类,适用于目标可能属于多个类别的情况。

  • 损失函数改进:采用二元交叉熵损失函数替代Softmax,简化了计算并提升了性能。

  • Anchor Boxes:使用K-means聚类生成9个Anchor Boxes,提升了边界框预测的准确性。

1.3 优缺点

  • 优点:
    • 速度快:在保持高精度的同时,YOLO v3的检测速度依然很快,适合实时应用
    • 精度高:相比前代,YOLO v3在精度上有显著提升,尤其在检测小目标时表现更好
    • 灵活性支持多类别分类适用于复杂场景
  • 缺点:
    • 计算资源需求高:由于网络更深,YOLO v3对计算资源的需求较高,尤其在训练时。
    • 小目标检测仍有局限:尽管有所改进,但在小目标密集场景中,YOLO v3的表现仍有提升空间

2 网络结构理解


2.1 核心网络框架

没有池化和全连接层,全部卷积,下采样通过stride为2实现,使用残差网络,更好的提取特征,有3种scale,9个先验框基本上当下经典做法全融入了。
在这里插入图片描述

2.2 先验框

YOLO3延续了K-means聚类得到先验框的尺寸方法,为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。在COCO数据集这9个先验框是:(10x13),(16x30),(33×23),(30x61),(62×45),(59×119),(116x90),(156x198),(373×326)。

  • 最小的13*13特征图上(有最大的感受野应用较大的先验框(116×90),(156x198),(373x326),适合检测较大的对象。
  • 中等的26*26特征图上(中等感受野应用中等的先验框(30x61),(62×45),(59×119),适合检测中等大小的对象
  • 较大的52*52特征图上(较小的感受野应用较小的先验框(10x13),(16x30),(33x23),适合检测较小的对象
    在这里插入图片描述
    如下:
    小特征图对应的先验框可以框住更大面积便于大物体检测,大特征图小的先验框,可以框住小面积的物体,便于小物体检测。
    在这里插入图片描述

2.3 特征图

在这里插入图片描述

2.4 Softmax层替换

Softmax 被替换为独立的逻辑回归分类器(Logistic Classifier),解决多标签分类问题
每个类别使用一个独立的二元分类器(Binary Classifier),通过 Sigmoid 函数计算该类别的概率。
每个类别的概率是独立的,不依赖于其他类别的概率。由于每个类别的概率是独立的,YOLOv3 可以同时预测多个类别。损失函数使用二元交叉熵损失(Binary Cross-Entropy Loss)代替多类交叉熵损失(Softmax Loss)

在这里插入图片描述

3 Yolo v3与v1,v2对比


YOLOv3 是 YOLO(You Only Look Once)系列的第三代版本,相较于 YOLOv1 和 YOLOv2,它在网络结构、检测精度、多尺度预测等方面进行了显著改进。

3.1 网络结构

  • YOLOv1

    • 使用 GoogLeNet 作为骨干网络,包含 24 个卷积层2 个全连接层
    • 输出为 7×7×30 的张量,每个网格预测 2 个边界框(Bounding Box)和 20 个类别概率
  • YOLOv2

    • 引入 Darknet-19 作为骨干网络,去除了全连接层采用卷积层替代
    • 使用 Anchor Boxes 提高检测精度,并通过 K-means 聚类生成先验框
  • YOLOv3

    • 使用 Darknet-53 作为骨干网络,引入残差结构(Residual Blocks),网络更深且更高效。
    • 支持多尺度预测(类似 FPN),通过三个不同尺度的特征图进行检测,提升小目标检测能力

3.2 多尺度预测

YOLOv1:仅使用单一尺度的特征图进行预测,对小目标检测效果较差
YOLOv2:引入 Passthrough LayerFine-Grained Features(细粒度特征)的机制,将浅层特征与深层特征结合,实现特征融合,但是仅融合了单一尺度的特征图,提升对小目标的检测能力。
YOLOv3:采用三尺度预测(13x13、26x26、52x52),分别检测大、中、小目标通过上采样和特征融合(Concatenation)实现多尺度特征提取,显著提升小目标检测效果。

3.3 分类器与损失函数

  • YOLOv1:使用 Softmax 进行单标签分类,每个边界框只能预测一个类别。
  • YOLOv2:沿用 Softmax 分类器,但通过 Anchor Boxes 提高了检测的召回率16。
  • YOLOv3:使用独立的逻辑回归分类器(Binary Cross-Entropy Loss)替代 Softmax支持多标签分类。适用于复杂场景(如目标类别重叠),提升了分类的灵活性

3.4 Anchor Boxes 与边界框预测

YOLOv1:直接预测边界框的坐标(x, y, w, h),未使用 Anchor Boxes
YOLOv2:引入 Anchor Boxes,通过 K-means 聚类生成 5 个先验框,提高了边界框预测的精度。
YOLOv3:使用 9 个 Anchor Boxes3 个尺度,每个尺度 3 个先验框),进一步优化边界框预测。

3.5 性能与优缺点

  • YOLOv1:
    • 优点:速度快,适合实时检测;
    • 缺点:定位精度低,小目标检测效果差。
  • YOLOv2:
    • 优点:引入 Anchor Boxes 和 Passthrough Layer,提升了召回率和检测精度;
    • 缺点:仍存在小目标检测不足的问题。
  • YOLOv3:
    • 优点:多尺度预测和残差网络显著提升了小目标检测能力和整体精度;
    • 缺点:计算复杂度增加,速度略有下降。。

YOLOv3 在 YOLOv1 和 YOLOv2 的基础上,通过引入 Darknet-53、多尺度预测、逻辑回归分类器等改进显著提升了检测精度和小目标检测能力,同时保持了较高的实时性。尽管计算复杂度有所增加,但 YOLOv3 仍然是目标检测领域中最受欢迎的模型之一。

相关文章:

  • Ubuntu20.04 Bevfusion TensorRt部署
  • Burp Suite 代理配置与网络通信
  • 昆泰芯KTH2582系列高灵敏度、锁存型霍尔开关传感器
  • 如何缓解大语言模型推理中的“幻觉”(Hallucination)?
  • 如何用CAPL定制化输出内容到Write窗口
  • 苍穹外卖学习笔记
  • 京东API数据清洗与结构化存储:从JSON原始数据到MySQL实战
  • gin-路由handler封装思路
  • upload-labs靶场学习记录2
  • OpenCV图像拼接(2)基于羽化(feathering)技术的图像融合算法拼接类cv::detail::FeatherBlender
  • CVPR2025 | 对抗样本智能安全方向论文汇总 | 持续更新中~
  • 《C++智能指针:建议使用 make_shared 代替 shared_ptr》
  • PostgreSQL 数据库源码编译安装全流程详解 Linux 8
  • SysVinit和Systemd的系统运行级别
  • 探秘 WRF DA:多维度剖析其在气象研究中的卓越效能
  • C++具名转型的功能和用途
  • 奇怪的异形选项卡样式、弧形边框选项卡
  • Go语言中package的使用规则《二》
  • java基础之windows电脑基础命令
  • 【其他】在线安装DataEase后无法远程访问
  • 华夏幸福:去年营业收入237.65亿元,同比减亏12亿元
  • 总书记考察的上海“模速空间”,要打造什么样的“全球最大”?
  • 西藏阿里地区日土县连发两次地震,分别为4.8级和3.8级
  • “五一”假期,又有多地将向社会开放政府机关食堂
  • 对话|贝聿铭设计的不只是建筑,更是生活空间
  • 民调显示特朗普执政百日支持率为80年来美历任总统最低