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 仍然是目标检测领域中最受欢迎的模型之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37337.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC工具平台-百叶窗卡点视频

本模块通过智能算法自动分析音频节奏,精准识别高潮卡点,并生成与音乐高度同步的动态视频。同时支持 百叶窗样式的个性化设置,增强视觉冲击力,助力用户打造节奏感强、富有创意的视频作品。 此外用户可灵活管理图片素材&#xff0c…

【原创】通过S3接口将海量文件索引导入elasticsearch

在医院海量影像文件通过s3传到蓝光存储时,要找一个文件需要全部文件遍历一遍,效率非常非常低。 S3 是对象存储服务,本身不是专门为快速文件查找设计的,而 Elasticsearch 是搜索引擎,在查找特定文件或数据方面具有明显…

MyBatis注解方式:从CRUD到数据映射的全面解析

目录 1. MyBatis是什么?2.准备工作2.1创建工程2.2 数据准备2.3 持久层代码2.4 单元测试 3.Mybatis的增删改查操作(使用注解方式)3.1 增(insert)3.2 删(delete)3.3 改(update&#xf…

Java 大视界 -- 基于 Java 的大数据机器学习模型的多模态融合技术与应用(143)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

进程管理笔记1-进程线程基础知识

5.1 进程线程基础知识 进程 进程的基本定义: 进行的程序。代码经过编译,变成二进制可执行文件,运行这个可执行文件后,装载到内存中,然后CPU执行其中指令。 并行和并发: 并行指两个任务并列前行&#x…

【VolView】纯前端实现CT三维重建-CBCT

文章目录 什么是CBCTCBCT技术路线使用第三方工具使用Python实现使用前端实现 纯前端实现方案优缺点使用VolView实现CBCT VolView的使用1.克隆代码2.配置依赖3.运行4.效果 进阶:VolView配合Python解决卡顿1.修改VtkThreeView.vue2.新增Custom3DView.vue3.Python生成s…

OpenEuler kinit报错找不到文件的解决办法

客户一套华为大数据集群平台,在一台arm平台openEuler服务器上面安装完集群客户端之后,使用kinit认证出现报错No such file or directory: 最终定位是操作系统/lib64缺少ld包导致,执行下面的命令恢复: ln -sv /lib/ld-linux-aarch64.so.1 /lib64/ld-linux-aarch64.s…

国内首家,百度智能云千帆AppBuilder全面兼容MCP协议

百度智能云千帆 AppBuilder 已兼容 MCP 协议!作为国内首家支持 MCP 协议的大模型应用开发平台(Claude、LangGraph、Cursor、Cline、N8N等海外平台已支持),千帆 AppBuilder 完成兼容后,用户可通过千帆 AppBuilder 轻松调…

uniapp自身bug | uniapp+vue3打包后 index.html无法直接运行

前提: 已经修改了基础路径 打开打包文件,双击运行index.html报错,无法访问页面 uniappvue2项目是可以正常运行的 vue3修改publicPath: ./后,也是可以正常访问打包文件中的index.html 点进控制台提供的链接:https:/…

Ubuntu快速安装使用gRPC C++

目录 引言一、快速安装1. 安装必要依赖库2. 安装gRPC 二、测试使用三、参考博客 引言 关于gRPC随着云原生微服务的火热也流行了起来,而且学好一个gRPC框架对目前来说也是必须的了。然而对于一个基础的小白来说,这个gRPC的框架运用起来是及其的困难&…

AES 简介 以及 C# 和 js 实现【加密知多少系列_3】

〇、AES 简介 AES 的全称是 Advanced Encryption Standard,意思是高级加密标准。它的出现主要是为了取代 DES(Data Encryption StandardData Encryption Standard)加密算法的,因为我们都知道 DES 算法的密钥长度是 56Bit&#xf…

在Django模型中的Mysql安装

安装mysql驱动 文章目录 安装mysql驱动1.打开PowerShell 安装mysql的驱动2.安装mysqlclient驱动2.1开始安装2.2 pip list 进行验证 出现mysqlclient 以及pymysql即可 3.正式安装mysql3.1打开mysql官网 www.mysql.com3.2点击下载 然后划到最后点击mysql社区下载 3.3 点击适合win…

AI赋能企业协作6-FizEIM的功能探索

本系列文章AI赋能企业协作与第一个系列IM工具对比中反复比较了国内外、商业、开源的IM工具以及IM工具的AI支持,在之前的比较对象中,由于信息偏差,Workplus(BeeWorks)已不再开源,这里向各位读者致歉&#xf…

java项目之基于ssm的旅游论坛(源码+文档)

项目简介 旅游论坛实现了以下功能: 用户信息管理: 用户信息新增 用户信息修改 景点信息管理: 景点信息添加 景点信息删除 景点信息修改 论坛类型管理 论坛类型添加 论坛类型修改 论坛类型删除 公告类型管理: 公告类型添加 公…

Linux安装Elasticsearch集群-----docker安装es集群

目录 技术背景 1.2 实验目标 二、实验内容 1.1 服务器规划 二、传统方式安装Elasticsearch集群 2.1 安装Java环境(10.1.1.6/8) 2.3 配置集群节点(以10.1.1.6) 2.4 启动服务 ES Data节点1(10.1.1.8)…

【嵌入式】复刻SQFMI开源的Watchy墨水屏电子表——(2)软件部分

书接上文 基于乐鑫 ESP32-PICO-D4 模块的墨水屏智能手表开源项目Watchy 完成了硬件部分,接下来就是软件部分: 一 开发环境配置(Arduino ESP32) 首先需要进行 Arduino ESP32 开发环境的安装配置,过程参考之前的帖子&a…

关于微信小程序端base64解码问题

由于atob是浏览器端的,对于微信小程序不支持,导致模拟器【开发工具】显示正常,但真机异常解析失败问题,微信小程序原有的api,官方文档中也废弃了 解决方案: 调用: const decodedString ba…

如何通过Odoo 18创建与配置服务器操作

如何通过Odoo 18创建与配置服务器操作 服务器操作是Odoo实现业务流程自动化的核心工具,允许你在服务器端执行自动化任务,通常由按钮点击或自动化工作流等事件触发。这些操作使用 Python 编写,能够执行复杂的业务逻辑,从而增强 Od…

Windows主机、虚拟机Ubuntu、开发板,三者之间文件互传

以下内容源于日常学习的整理,欢迎交流。 下图是Windows主机、虚拟机Ubuntu、开发者三者之间文件互传的方式示意图: 注意,下面谈及的所有方式,都要求两者的IP地址处于同一网段,涉及到的软件资源见felm。 一、Windows主…

[设计模式与源码]1_Spring三级缓存中的单例模式

欢迎来到啾啾的博客🐱,一个致力于构建完善的Java程序员知识体系的博客📚,记录学习的点滴,分享工作的思考、实用的技巧,偶尔分享一些杂谈💬。 欢迎评论交流,感谢您的阅读&#x1f604…