参考教程
论 文
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.整体介绍
1.网络结构
下图为yolov3的网络结构
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 只是直接相加,不会导致张量维度的改变
darknet-53
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
``所谓多尺寸就是来自这三条预测之路,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是如何来的
–未完待续
参考