YOLO-V3算法解读

改进方法概述

  • yolo-v3 最大的改进就是网络结构,使其更适合小目标检测
  • 特征做的更细致,融入多持续特征图信息来预测不同规格的物体;
  • 先验框更丰富了,3种 scale,每种3个规格,一共9种
  • yolo-v3希望检测效果变得更好
  • softmax改进,预测多标签任务
    在这里插入图片描述

改进细节

  • 多Scale
  1. 为了能检测到不同大小的物体,设计了3个scale(13x13 、26x26、52x52)
    在这里插入图片描述
  2. scale变换经典方法
    图像金字塔:如果在yolo中使用的话,速度太慢了
    在这里插入图片描述
    FPN(feature pyramid network): 特征金字塔,对不同的特征图分别利用,不同的特征图融合后进行预测,尺寸不同通过上采样实现
    在这里插入图片描述
  • 网络结构改进:Darknet-53
    在这里插入图片描述
    在这里插入图片描述
  1. 残差连接: yolo-v3 的特征提取器是一个残差模型,因为包含53个卷积层,所以称为Darknet-53,从网络结构上看,相比Darknet-19网络使用了残差单元,所以可以构建得更深。
  2. 采用FPN架构: 采用 FPN 架构(Feature Pyramid Networks for Object Detection)来实现多尺度检测。YOLOv3 采用了3个尺度的特征图(当输入为416x416时)—— (13x13),(26x26),(52x52)。YOLOv3 每个位置使用3个先验框,所以使用 k-means 得到9个先验框,并将其划分到 3 个尺度特征图上,尺度更大的特征图使用更小的先验框。
  3. 没有池化和全连接层,下采样通过步长为2实现

在这里插入图片描述

  1. 先验框的设计:使用聚类得到9个聚类中心,然后对它们进行排序,再平均分配到三个尺度上,最后每个尺度有3个anchor。
    在这里插入图片描述
    在这里插入图片描述
  2. softmax改进: 实现多标签任务
    类别预测方面主要是将原来的单标签分类改进为多标签分类,因此网络结构上就将原来用于单标签多分类的softmax层换成用于多标签多分类的逻辑回归层。首先说明一下为什么要做这样的修改,原来分类网络中的softmax层都是假设一张图像或一个object只属于一个类别,但是在一些复杂场景下,一个object可能属于多个类,比如你的类别中有woman和person这两个类,那么如果一张图像中有一个woman,那么你检测的结果中类别标签就要同时有woman和person两个类,这就是多标签分类,需要用逻辑回归层来对每个类别做二分类。逻辑回归层主要用到sigmoid函数,该函数可以将输入约束在0到1的范围内,因此当一张图像经过特征提取后的某一类输出经过sigmoid函数约束后如果大于0.5,就表示属于该类。采用的二值交叉熵损失(binary cross-entropy loss)。
    在这里插入图片描述
    在这里插入图片描述
  • 损失函数
  1. YOLOv3的损失函数也由定位损失bbox loss、置信度损失conf loss和分类损失class loss三部分组成。
  2. 各部分损失函数详解:
    在这里插入图片描述
    其中:
    注意: 位置损失为方差损失(MSE),置信度损失和分类损失都为交叉熵损失(BCE)(binary cross entropy,其中BCE的具体公式计算如下:
    在这里插入图片描述

在这里插入图片描述

  • 参考
  1. 参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值