摘要:本文将详细介绍Yolov3的网络结构相关内容。

Yolov3 网络结构

在博客“Yolo发展历史及网络结构”中我们已经详细的解释了Yolov1的网络结构,并简要的提到了Yolov2与Yolov3对于网络结构的改进,本篇博客将详细介绍Yolov3的网络结构,内容比较简单。

Yolov3网络结构图

从图中可以看出,Yolov3主要有以下几部分组成:

  • 输入
  • 基础网络:基础网络是可以根据具体的需求选择,作者原文用的是自己设计的:Darknet-53
  • YOLOv3网络的三个分支:Y1,Y2,Y3

网络部件介绍

DBL: 如图1左下角所示,也就是代码中的Darknetconv2d_BN_Leaky,是yolo_v3的基本组件。就是卷积+BN+Leaky relu。对于v3来说,BN和leaky relu已经是和卷积层不可分离的部分了(最后一层卷积除外),共同构成了最小组件。

resn:n代表数字,有res1,res2, … ,res8等等,表示这个res_block里含有多少个res_unit。这是yolo_v3的大组件,yolo_v3开始借鉴了ResNet的残差结构,使用这种结构可以让网络结构更深(从v2的darknet-19上升到v3的darknet-53,前者没有残差结构)。对于res_block的解释,可以在图1的右下角直观看到,其基本组件也是DBL。

concat:张量拼接。将darknet中间层和后面的某一层的上采样进行拼接。拼接的操作和残差层add的操作是不一样的,拼接会扩充张量的维度,而add只是直接相加不会导致张量维度的改变。

YOLOv3网络的三个分支

多尺度检测-Y1

适用目标:大目标

路径:绿色线标注

输出维度:13×13×255

输出维度具体解释:13×13:图片大小;255=(80+5)×3;80:识别物体种类数;5=x,y,w,h和c(置信度);3:每个点预测3个bounding box。

多尺度检测-Y2

适用目标:中目标

路径:黄色线标注

输出维度:26×26×255

输出维度具体解释:26×26:图片大小;255=(80+5)×3;80:识别物体种类数;5=x,y,w,h和c(置信度);3:每个点预测3个bounding box。

多尺度检测-Y3

适用目标:小目标

路径:紫色线标注

输出维度:52×52×255

输出维度具体解释:52×52:图片大小;255=(80+5)×3;80:识别物体种类数;5=x,y,w,h和c(置信度);3:每个点预测3个bounding box。

点击关注,第一时间了解华为云新鲜技术~

【小白学YOLO】YOLOv3网络结构细致解析的更多相关文章

  1. 小白学 Python 爬虫(21):解析库 Beautiful Soup(上)

    小白学 Python 爬虫(21):解析库 Beautiful Soup(上) 人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前 ...

  2. 小白学 Python 爬虫(22):解析库 Beautiful Soup(下)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. 小白学 Python 爬虫(23):解析库 pyquery 入门

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. 【JVM从小白学成大佬】3.深入解析强引用、软引用、弱引用、幻象引用

    关于强引用.软引用.弱引用.幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用. 在java语言中, ...

  5. 小白学react之网页获取微信用户信息

    通过上一篇<小白学react之EJS模版实战>我们学习了怎样通过EJS模版生成我们高定制化的index.html文件. 本篇我们将会继续延续我们的alt-tutorial项目的实战计划.去 ...

  6. 【JVM从小白学成大佬】6.创建对象及对象的访问定位

    <JVM从小白学成大佬>系列推出到现在,收到了很多小伙伴的好评,也收到了一些小伙伴的建议,在此表示感谢. 有几个小伙伴提出了希望出一篇介绍对象的创建及访问,猿人谷向来是没有原则的,小伙们要 ...

  7. 小白学 Python(10):基础数据结构(列表)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  8. 小白学 Python 爬虫(2):前置准备(一)基本类库的安装

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 本篇内容较长,各位同学可以先收藏后再看~~ 在开始讲爬虫之前,还是先把环境搞搞好,工欲善其事必先利其器嘛~~~ 本篇 ...

  9. 小白学 Python 爬虫(7):HTTP 基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  10. 小白学 Python 爬虫(8):网页基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

随机推荐

  1. 04-华为HyperReplication中的多时间片技术

    简介 多时间片技术,是应用于HyperReplication的异步远程复制:提高效率, 在同步远程复制中,没有这个概念: 时间片:在Cache中管理一段时间内写入数据的逻辑空间(数据大小没有限定): ...

  2. CF707B

    题目简化和分析: 这题看着玄胡很水实际. 我们需要做什么? 只需对每个工厂周围的面包店遍历一遍打擂台取最小 注意只对面包店遍历,所以对工厂设标记 如果打完擂台发现 \(ans=inf\) 则说明全是工 ...

  3. Noi-Linux 2.0 装机+使用整合

    写在前面 网上的东西比较多,也比较杂乱,不是很方便,所以我整合了一些关于 Noi-Linux2.0 虚拟机装机方法+代码编辑环境+实地编程的介绍,看完至少能用起来打代码了. NOI 官网公告(JS 开 ...

  4. TOBO

    然而并不会做. 最后就照着题解码了一遍/kk 真的好长啊.看时间就知道写了多久... upd in 2022: 我现在已经找不到原题面是什么了( 不过感觉把这样一篇不算题解的东西放进"题解& ...

  5. List集合异常:list All elements are null

    查询数据库,返回空数据,但是List中显示有一个数据,点开以后显示  All elements are null ObjectUtils.isEmpty 和 List.isEmpty判断都失败,后续会 ...

  6. 向量数据库Chroma极简教程

    引子 向量数据库其实最早在传统的人工智能和机器学习场景中就有所应用.在大模型兴起后,由于目前大模型的token数限制,很多开发者倾向于将数据量庞大的知识.新闻.文献.语料等先通过嵌入(embeddin ...

  7. CDQZ DS 题单总结(上)

    Preview: 个人认为是一套非常好的题单,能在各个方面练习 DS 水平,并且很多题型也是比赛当中的经典题 题单链接 Challenge 0: 简单的数组,懒得写了. Challenge 1: 考虑 ...

  8. C#操作Microsoft.Office.Interop.Word类库完整例子

    使用Microsoft.Office.Interop.Word类库操作wor文档 一.准备工作 首先在工厂中,引用[Microsoft.Office.Interop.Word],本地安装了world, ...

  9. Android 11 后的应用数据和文件

    Android应用数据的保存方式有四种,分别是应用专属存储空间.共享存储.偏好设置.数据库. 应用专属存储空间 应用专属存储空间:存放应用专属文件,主要包括两个空间,卸载后移除 内部存储空间:位于系统 ...

  10. java中Calendar日历类型常见方法

    Calendar是Java中常用的时间处理工具之一,它提供了很多日历类型常见方法,下面是一些常用的方法及对应的代码和运行结果. 1. 如何创建 Calendar 日历对象 Calendar 是一个抽象 ...