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

[YOLO模型](4)YOLO V3的介绍

文章目录

  • YOLO V3
    • 一、模型思想
    • 二、模型性能
    • 三、改进的地方
      • 1. 三种scale
      • 2. scale变换经典方法
      • 3. 残差连接
      • 4. 核心网络架构
        • (1) 结构
        • (2) 输出与先验框关系
      • 5. Logistic分类器替代Softmax
    • 四、总结

YOLO V3

一、模型思想

        作者 Redmon 又在 YOLOv2 的基础上做了一些改进:

  • YOLO V3最大的改进就是网络架构,特征提取部分采用Darknet-53网络结构代替原来的Darknet-19
  • 特征做的更细致,融入多持续特征图信息来预测不同规格物体。
  • 先验框更丰富,共9个,分为小、中、大三种scale,每种有三个规格。
  • 分类方法使用Logistic分类器代替了Softmax,在兼顾实时性的同时保证了目标检测的准确性。

二、模型性能

相较于其他的网络模型,YOLO V3有着显著的优越性以及高效性:
在这里插入图片描述

三、改进的地方

1. 三种scale

在这里插入图片描述

2. scale变换经典方法

不太理想的两种方法

  1. 金字塔:每层特征图卷积预测结果。
  2. 单一:将多层特征图融合在一起,这样就和普通的卷积神经网络一样了,没什么意义。

在这里插入图片描述

  • 上述两种方法有一个缺点:不利于yolo的检测速度

理想方法

  • 从大的融合向小的,接着小的返回影响大的特征图输出:

在这里插入图片描述

3. 残差连接

残差网络最大特点:可以搭建更大、更深层次的网络。

引入ResNet的思想,堆叠更多的层来进行提取:
在这里插入图片描述

4. 核心网络架构

YOLO V3采用了Darknet-53作为骨干网络。Darknet-53是一个基于ResNet残差网络思想的深度学习模型,包含53个卷积层,每个卷积层后跟随批量归一化层和Leaky ReLU激活函数。这种结构使得网络在提取特征时更加高效,同时避免了过拟合的问题。

特点:没有池化层和全连接层,只有卷积层。

(1) 结构

在这里插入图片描述

(2) 输出与先验框关系

从上方可以发现,网络结构共有三个输出

YOLO3延续了K-means聚类得到先验框的尺寸方法,为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。

先验框的分配情况:
在这里插入图片描述

网络下采样输入图像一直到第一个检测层,步幅是32;然后,将此层上采样2倍与上面的同样大小的特征图进行按通道堆叠;第二个检测层按步幅16形成;同样地,相同的上采样过程,最后的检测层步幅为8。在每个尺度上,每个cell使用三个先验框预测三个边界框,共9个先验框

在这里插入图片描述

5. Logistic分类器替代Softmax

YOLOv3舍弃了传统的Softmax分类器,改用独立Logistic回归对每个类别进行分类预测,核心改进如下:

  • 多标签支持:每个类别使用Sigmoid激活函数,输出独立的概率值(0-1),允许目标同时属于多个类别。例如,一张图像中的“消防栓”可同时被标记为“公共设施”和“金属物体”。
  • 阈值灵活设定:通过调整类别概率阈值(如0.5),可适应不同场景的检测需求。
  • 计算优化:Logistic分类器无需计算Softmax的全局归一化,计算量减少约30%,推理速度略有提升。
    在这里插入图片描述

四、总结

本篇介绍了:

  • YOLO V3 的网络架构只有卷积层,且有三个输出
  • YOLO V3 先验框共有9个,分为小、中、大三种scale,每种有三个规格。
  • 引入残差网络思想,搭建更深层次的网络。
  • 使用Logistic分类器替代Softmax,适用于多分类的任务。

相关文章:

  • 新的节能技术和一体化解决方案,推动工厂智能升级和产业转型
  • 开源RTOS(实时操作系统):nuttx 编译
  • MyBatis 核心组件源码分析
  • 车载诊断架构 --- 核心网关流控制机制需求
  • 一个指令,让任意 AI 快速生成思维导图
  • 【单机版OCR】清华TH-OCR v9.0免费版
  • Win11下轻松搭建wiki.js,Docker.desktop部署指南(mysql+elasticsearch+kibana+wiki.js)
  • 嘉立创EDA成图:文件管理
  • C++ 蓝桥 STEMA 真题模拟测试卷一
  • 全局异常处理:如何优雅地统一管理业务异常
  • Java 方法向 Redis 里操作字符串有什么需要注意的?​
  • PyTorch实现CrossEntropyLoss示例
  • AMD Vivado™ 设计套件生成加密比特流和加密密钥
  • Linux_ELF文件
  • 【Qt】Qt常见控件的相关知识点
  • Devin 编程智能体
  • Java求职面试:从核心技术到大数据与AI的场景应用
  • 玩转 AI · 思考过程可视化
  • Ocean: Object-aware Anchor-free Tracking
  • 电动调节V型球阀:行业应用与材质选择全解析
  • 蔡建忠已任昆山市副市长、市公安局局长
  • 北邮今年本科招生将首次突破四千人,新增低空技术与工程专业
  • 在美国,为什么夏季出生的孩子更容易得流感?
  • 穆迪下调美国主权信用评级
  • 中国情怀:时代记录与家国镜相|澎湃·镜相第三届非虚构写作大赛暨七猫第六届百万奖金现实题材征文大赛征稿启事
  • 埃尔多安:愿在土耳其促成俄乌领导人会晤