object detection

本文详细介绍YOLO系列算法的发展历程,从YOLOv1到YOLOv3,包括其基本思想、网络结构、改进之处及多尺度预测等关键特性。深入探讨了YOLOv2的BatchNormalization、高分辨率分类器、AnchorBoxes、细粒度特征和Multi-ScaleTraining等创新,以及YOLOv3的多尺度预测和更好的基础分类网络。

R-CNN

在这里插入图片描述
在这里插入图片描述

SPP-Net

在这里插入图片描述

Fast R-CNN

在这里插入图片描述
在这里插入图片描述

Faster R-CNN

在这里插入图片描述
在这里插入图片描述

FPN

在这里插入图片描述

YOLOv1

基本思想:

将输入图像分成SxS个格子,如果一个物体的 Ground truth 的中心位置的坐标落入到某个格子中,那么这个格子就负责检测出这个物体。
在这里插入图片描述
每个格子预测B个bounding box及其置信度(confidence score),以及C个类别概率。bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,均被归一化.置信度反映是否包含物体以及包含物体情况下位置的准确性。

网络结构:

YOLOv1网络借鉴了 GoogLeNet 分类网络结构,而且使用1x1卷积层和3x3卷积层替代 inception module。
YOLOv1网络在最后使用全连接层进行类别输出,因此全连接层的输出维度是 S×S×(B×5+C)。

缺点:
  • 输入尺寸固定:由于输出层为全连接层,因此在检测时,YOLO训练模型只支持与训练图像相同的输入分辨率。其它分辨率需要缩放成改分辨率.

  • 占比较小的目标检测效果不好.虽然每个格子可以预测B个bounding box,但是最终只选择只选择IOU最高的bounding box作为物体检测输出,即每个格子最多只预测出一个物体。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。

损失函数:

YOLO全部使用了均方和误差作为loss函数.由三部分组成:坐标误差、IOU误差和分类误差。
loss=∑i=0s2coordErr+iouErr+clsErrloss=\sum_{i=0}^{s^2}coordErr+iouErr+clsErrloss=i=0s2coordErr+iouErr+clsErr
考虑每种loss的贡献率,最终的公式如下:
在这里插入图片描述

SSD

YOLOv2(YOLO9000)

相比v1,v2提高了训练图像的分辨率,引入了faster rcnn中anchor box的思想,对网络结构的设计进行了改进,输出层使用卷积层代替全连接层,联合使用coco物体检测标注数据和imagenet物体分类标注数据训练物体检测模型,在识别种类、精度、速度、和定位准确性等方面都有大大提升。

改进之处:
  • Batch Normalization:v1在定位层后边用了dropout,v2中取消了dropout,在卷积层全部使用Batch Normalization。
  • 高分辨率分类器:v1中使用224 × 224训练分类器网络,扩大到448用于检测网络。v2将ImageNet以448×448 的分辨率微调最初的分类网络,迭代10 epochs。
  • Anchor Boxes:v1中直接在卷积层之后使用全连接层预测bbox的坐标。v2借鉴Faster R-CNN的思想预测bbox的偏移。移除了全连接层,并且删掉了一个pooling层使特征的分辨率更大一些。
    YOLOv2对Faster R-CNN的手选先验框方法做了改进,采样k-means在训练集bbox上进行聚类产生合适的先验框。
  • 细粒度特征(fine grain features):添加一个 pass through layer,把浅层特征图(26x26)连接到深层特征图(连接到新加入的三个卷积核尺寸为3 * 3的卷积层最后一层的输入)。通过将浅层特征图与原生的深层特征图相连接,使模型有了细粒度特征。
  • Multi-Scale Training:YOLOv2训练时每迭代10次,就会随机选择新的输入图像尺寸。训练使用的最小的图像尺寸为320 x 320,最大的图像尺寸为608 x 608。
网络结构:

YOLOv2提出了一种新的分类模型Darknet-19,结构如下图。主要使用3x3卷积并在pooling之后channel数加倍(VGG);global average pooling替代全连接做预测分类,并在3x3卷积之间使用1x1卷积压缩特征表示(Network in Network);使用 batch normalization 来提高稳定性,加速收敛,对模型正则化。
在这里插入图片描述
在网络中移除最后一个1x1的层,在最后添加3个3x3x1024的卷积层,再接上输出是类别个数的1x1卷积。

Focal loss

DSSD

YOLOv3

改进之处:
  • 多尺度预测 (类FPN)
  • 更好的基础分类网络(类ResNet)和分类器
分类器-类别预测:

YOLOv3不使用Softmax对每个框进行分类,主要考虑因素有两个:

  • Softmax使得每个框分配一个类别(score最大的一个),而对于Open Images这种数据集,目标可能有重叠的类别标签,因此Softmax不适用于多标签分类。
  • Softmax可被独立的多个logistic分类器替代,且准确率不会下降。分类损失采用binary cross-entropy loss.
多尺度预测:

每种尺度预测3个box,anchor的设计方式仍然使用聚类,得到9个聚类中心,将其按照大小均分给3中尺度。

  • 尺度1:在基础网络之后添加一些卷积层再输出box信息。
  • 尺度2:从尺度1中的倒数第二层的卷积层上采样(x2)再与最后一个16x16大小的特征图相加,再次通过多个卷积后输出box信息.相比尺度1变大两倍。
  • 尺度3:与尺度2类似,使用了32x32大小的特征图。
网络结构:

在这里插入图片描述

RetinaNet

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值