YOLO学习笔记(四):YOLOv3

改进策略

1.多scale预测

为了能检测到不同大小的物体,借鉴特征金字塔网的思想,YOLOv3设计了三个scale(52×52;26×26;13×13),每一个scale又有三种规格的候选框,一共九种预测框,利用多尺度特征图融合后进行预测。如果使用coco数据集,其有80个类别,因此一个先验框需要80维的边框类别预测值、4个位置预测(x,y,w,h)及1个置信度预测,3个预测框一共需要3×(80+5)=255维,也就是每一个特征图的通道数。
在这里插入图片描述

2.网络架构

YOLOv3特征提取部分采用darknet-53网络结构代替原来的darknet-19。darknet-53的改进:

  • darknet-53去掉了池化层和全连接层,全部使用卷积层。下采样使用了步长为2的卷积层。
  • 为了防止过拟合,在每个卷积层之后加入了一个BN层和一个Leaky ReLU函数。
  • 引入了残差网络的思想(借鉴resnet),目的是为了让网络可以提取到更深层的特征,同时避免出现梯度消失或爆炸。
  • 将网络的中间层和后面某一层的上采样进行张量拼接,达到多尺度特征融合的目的。

在这里插入图片描述

3.多标签分类

  • YOLOv3在类别预测方面将YOLOv2的单标签分类改进为多标签分类,使用逻辑回归Logistic函数代替了softmax函数,以处理类别的预测得分。
  • 原因在于,Softmax函数输出的多个类别预测之间会相互抑制,只能预测出一个类别,而Logistic分类器相互独立,可以实现多类别的预测。
    实验证明,Softmax可以被多个独立的Logistic分类器取代,并且准确率不会下降,这样的设计可以实现物体的多标签分类。
  • 在YOLOv2中,算法认定一个目标只从属于一个类别,根据网络输出类别的得分最大值,将其归为某一类。然而在一些复杂的场景中,单一目标可能从属于多个类别。
  • 比如在一个交通场景中,某目标的种类既属于汽车也属于卡车,如果用softmax进行分类,softmax会假设这个目标只属于一个类别,这个目标只会被认定为汽车或卡车,这种分类方法就称为单标签分类。如果网络输出认定这个目标既是汽车也是卡车,这就被称为多标签分类。

总结

YOLOv3最大的改进就是网络结构,采用darknet-53网络结构代替原来的darknet-19,使其更适合小目标检测;并且特征做的更细致,利用特征金字塔网络结构实现了多尺度检测,融入多持续特征图信息来预测不同规格物体;使用Logistic函数改进softmax函数,可以预测多目标任务。

参考:
https://blog.csdn.net/wjinjie/article/details/107509243
https://blog.csdn.net/frighting_ing/article/details/123468039

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值