• 【小白学YOLO】YOLOv3网络结构细致解析


    摘要:本文将详细介绍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。

  • 相关阅读:
    优思学院|抽样检验的意义是什么?
    InVideo AI:用人工智能轻松制作视频
    怎样在电脑上设置路由器的WiFi密码
    极简运行Vue打包文件:让你的网页快速启动,高效展现!
    慧都MES系统怎么实施?有哪些注意事项?
    在博客园随笔中插入3D分子模型
    jwt 保证前端刷新不掉线
    详细解读DALLE 3技术报告:Improving Image Generation with Better Captions
    Linux磁盘暴涨如何解决?
    完整的代码
  • 原文地址:https://blog.csdn.net/javastart/article/details/127892324