Yolo v3

Yolo v3

1、Yolo v3算法思想

首先通过特征提取层,对输入图像进行特征提取,然后得到一定size的feature map,比如说size是26 ×26,然后就将输入图像分成26×26个grid cell;然后,如果某个ground truth 的 object的中心坐标落入某个grid cell,就由这个grid cell来负责预测该object,每个grid cell都会预测一定数量的bounding box,Yolo v3这里取的是3个,然后这3个bounding box和ground truth 做IOU计算,最大的那个即来预测此object。

2、网络结构

首先是Yolo v3 的网络结构,相比于Yolo v2有以下几点改进:

1、其采用了DarkNet53的网络结构,网络更深

2、借鉴与ResNet引入了residual结构,来防止层数过深而引起的梯度问题

3、预测支路采用全卷积结构,同时利用FPN的思想,将DarkNet53特征提取层与预测支路进行特征融合,提高了对小目标的检测能力

以下是Yolo v3的网络结构图:

在这里插入图片描述
(其中:convolutional是指Conv2d+BN+LeakyReLU)

最后3个预测层的输出:
预测输出1:(C,255,13,13)
预测输出2:(C,255,26,26)
预测输出3:(C,255,52,52)
其中,255 = k*(4+1+c),这里k取3,代表预测边界框的个数;c代表预测的种类,这里采用COCO数据集,取80;4代表的是预测框的4个坐标信息;1是物体预测分数。

3、bounding box的坐标预测方式

下图很好的阐述了这个计算过程:
1、(tx,ty,tw,th)是模型的预测输出
2、(cx,cy)是grid cell 的坐标,比如说 (0,0),(0,1)这样子
3、(pw,ph)是预测前bounding box的size ,这个好像是作者采用聚类的方法得到的一组size
4、(bx,by,bw,bh)便是最终计算得到的bounding box的预测坐标
5、σ 是sigmoid函数,目的是使其放缩到0-1之间,似乎是可以加快收敛
在这里插入图片描述

4、损失函数

1、目标置信度损失
采用的是二值交叉熵损失函数:
在这里插入图片描述
其中,目标置信度即预测目标矩形框中存在目标的概率,o取{0,1},即表示{不存在,存在};c代表预测目标框内存在目标的Sigmoid概率。

2、目标类别损失
采用的也是二值交叉熵损失函数:
在这里插入图片描述
O含义同上述o;C_ij表示预测目标框i存在第j类object的Sigmoid概率。

3、目标定位损失
采用的是均方损失函数:
在这里插入图片描述
其中,l 为前面所说的网络预测所得出的bounding box的坐标(bx,by,bw,bh)。

5、算法性能

不得不说,Yolo在速度这方面是真的赞。
在这里插入图片描述

参考:

参考链接1:YOLO v3网络结构分析
参考链接2:YOLO v3算法笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值