欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【华为云技术分享】小白学YOLO:YOLOv3网络结构细致解析

程序员文章站 2024-01-03 20:14:58
本文将详细介绍Yolov3的网络结构相关内容。...

Yolov3 网络结构

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

Yolov3网络结构图

【华为云技术分享】小白学YOLO: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网络的三个分支

【华为云技术分享】小白学YOLO: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】-YOLOv1 Testing

本文地址:https://blog.csdn.net/devcloud/article/details/107481894

上一篇:

下一篇: