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

[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,适用于多分类的任务。
http://www.xdnf.cn/news/6910.html

相关文章:

  • 基于STM32_HAL库的SPI通信并驱动W25Q64存储模块
  • RK3588 MNN CPU/Vulkan/OpenCL ResNet50推理测试
  • FreeRTOS的学习记录(任务创建,任务挂起)
  • 【数据结构】_二叉树
  • MyBatis 核心组件源码分析
  • JS逆向-某易云音乐下载器
  • 安卓 Audio Stream 类型
  • 【找工作系列①】【大四毕业】【复习】巩固JavaScript,了解ES6。
  • 复旦微FMQL调试笔记:PS网口
  • 大模型学习:Deepseek+dify零成本部署本地运行实用教程(超级详细!建议收藏)
  • 【LUT技术专题】针对降噪优化的通道感知轻量级LUT算法:DnLUT
  • C/C++实践(十)C语言冒泡排序深度解析:发展历史、技术方法与应用场景
  • cadence安装license manager无法开启,显示并行配置不正确
  • 20250517让NanoPi NEO core开发板在Ubuntu core16.04.2下支持TF卡的热插拔
  • Linux中的域名解析服务器
  • Linux下Nginx源码安装步骤详解
  • 告别 pip:使用 uv 加速你的 Python 包管理
  • Android Studio报错Cannot parse result path string:
  • 2023年全国青少年信息素养大赛-图形化编程复赛真题—打气球
  • 网络编程中的直接内存与零拷贝
  • JDBC 的编写步骤及原理详解
  • 素数筛(欧拉筛算法)
  • PIC16F18877 的主时钟 设置方法
  • Python爬虫实战:获取1688商品信息
  • [PMIC]PMIC重要知识点总结
  • 大数据会被AI取代?不!大数据才是AI的“智慧燃料”引擎
  • 烹饪实训室的行业标准实训
  • encrypt-labs AES 固定key
  • HelloWorld
  • 手写tomcat:基本功能实现(4)