yolov3系列(零)-yolov3详解

参考教程

目标检测算法与EfficientDet讲解

论 文

https://pjreddie.com/media/files/papers/YOLOv3.pdf

翻译

https://zhuanlan.zhihu.com/p/34945787

yoloV3主页:

https://pjreddie.com/darknet/yolo/

参考网站

https://blog.csdn.net/leviopku/article/details/82660381
https://blog.csdn.net/u012746060/article/details/81183006
https://blog.csdn.net/Patrick_Lxc/article/details/80615433
https://www.cnblogs.com/gezhuangzhuang/p/10596545.html
https://blog.csdn.net/m0_37857151/article/details/81330699


yolo系列的目标检测算法可以说是目标检测史上的宏篇巨作,v3算法是在v1、v2基础上形成的,先看下 yolov1、yolov2

0.整体介绍

yolov3系列(零)-yolov3详解_第1张图片

1.网络结构

下图为yolov3的网络结构
yolov3系列(零)-yolov3详解_第2张图片
DBL(Darknetconv2d_BN_Leaky):是 yolov3 的基本组件。就是卷积 + BN + Leaky relu
Res_unit:DBL + DBL ADD
Resn:n 代表数字有 res1、res2…res8 等等,表示这个 res_block 里含有多少个 res_unit。参考 resnet
concat:张量拼接。将 darknet 中间层和后面的某一层进行拼接。拼接的操作和残差层 add 是不一样,拼接会扩张张量的维度,而 add 只是直接相加,不会导致张量维度的改变

yolov3系列(零)-yolov3详解_第3张图片

darknet-53

yolov3系列(零)-yolov3详解_第4张图片
yolov3使用了 darknet53 前面的52层,yolov3这个网络是一个全卷积网络大量使用残差的跳层连接,并且为了降低池化带来的梯度负面效果,作者直接屏弃了 Pooling ,用 conv 的 stride 来实现降采样。在这个网络结构中使用的是步长为2的卷积来降采样 为了加强算法对小目标检测的精确度,yolov3中采用类似 FPN 的 upsample 和融合做法(最后融合了3个scale其他两个scale的大小分别是 26*26、52*52),在多个 scale 的 feature map 上做检测 作者在3条预测支路采用的也是全卷积的结构,其中最后一个卷积层的卷积核个数是255,是针对COCO数据集的80类:3*(80+4+1)=255,3表示一个grid cell包含3个bunding box,4表示框的4个坐标信息,1表示objectness score.

output

yolov3系列(零)-yolov3详解_第5张图片
``所谓多尺寸就是来自这三条预测之路,y1、y2、y3的深度都是255边长的规律是13:26:52。yolov3设定的是每个网络单元预测3个box,所以每个box需要有(x,y,w,h,confidence)五个基本参数,然后还要有80个类别的概率。所以3*(80+4+1)=255

v1、v2、v3是如何来的

–未完待续


参考

  1. 一文看懂YOLO v3
  2. yolo系列之yolo v3【深度解析】

你可能感兴趣的:(人工智能,yolov3,yolo)