目标检测


目标检测的任务:
在这里插入图片描述
发展历程:
在这里插入图片描述

两阶段方法

基于候选区域的目标检测器
先产生候选区域然后再进行CNN分类

R-CNN

在这里插入图片描述
1.输入图像
2.提取一些候选的检测框(约2000个)
3.为每一个候选检测框提取CNN特征
4.为每个检测框分类

候选区域生成(selective search)

选择性搜索(一种层次聚类算法):根据颜色,纹理,尺寸和空间交替相似度提取候选区域。
在这里插入图片描述
如上图,左图自下而上第一层,先用传统方法进行分割(分水岭算法,底层图像处理算法等),可以分割得到许多局部区域,在区域中提取一轮的候选框。之后对这些分割区域进行合并,根据颜色,纹理和空间交叠相似度等,得到第二层,该层分割区域数量变少,区域大小变大,是更加粗粒度区域。在该区域可以再次得到一些候选框。对这些区域进一步合并,可以得到更大尺度的候选框。
存在问题:
1.对于每张图片需要额外步骤去提取候选框
2.存储候选框需要消耗大量的资源
2.由于当时使用的是Alexnet提取特征,输入尺寸固定,需要拉伸候选框,严重影响CNN提取特征的质量

区域分类

为每一个类(包括背景类)训练SVM
存在问题:
SVM需要单独训练,网络更复杂,耗时很长

边界框回归

通过学习一种映射关系,对目标候选框的位置进行精化。
在这里插入图片描述
在这里插入图片描述

SPP-Net

在这里插入图片描述
R-CNN是逐个候选区提取cnn特征,要花费大量的计算时间和存储空间。

SPP-Net是一次性提取cnn特征,再在特征图上找出对应的候选区域。减少了特征提取时间和存储空间

spatial pyramid pooling

在这里插入图片描述
将图片划分为44的小格,每个小格取一个数,22的小格每个小格进行池化和对整张图像进行全局池化,然后在合并起来,这样得到的输出就是固定的
空间池化层实际就是一种自适应的层,这样无论你的输入是什么尺寸,输出都是固定的(21xchannel)

SPP 显著特点
1.不管输入尺寸是怎样,SPP 可以产生固定大小的输出
2.使用多个窗口(pooling window)
3.SPP 可以使用同一图像不同尺寸(scale)作为输入, 得到同样长度的池化特征。

通过SPP可以将任意大小的ROI特征统一成相同尺寸,提升cnn提取的特征质量

Fast R-CNN

将分类损失和回归损失统一在一个框架内
在这里插入图片描述

RoI Pooling

将特征图块转换为固定的大小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不同于SPP-Net的空间金字塔池化,RoI Pooling 输出6x6的特征图,如果不能取整,则向下取整

多任务损失

softmax + regressor
在这里插入图片描述

Faster R-CNN

端到端检测网络,极大提升检测速度
在这里插入图片描述
在Fast R-CNN网络的基础上进行更改,在最后一个卷积层后添加Region Proposal Network(RPN)网络。

候选区域由RPN网络直接生成,不再靠额外的候选区域生成算法,就形成了端对端的训练网络

在这里插入图片描述
Faster R-CNN在单一尺度特征图上使用RPN网络,提取region proposal,并使用单张特征图进行预测

RPN网络

直接在卷积特征图上计算目标可能的位置
检测的是通用目标出现的概率
在这里插入图片描述
参数解释:3*3(2k+4k)的卷积核在特征图上滑动,2k对应k个anchor的前景/背景分类,4k对应k个anchor的位置偏置,k个形状的anchor boxes

具体做法:

在最后一层特征图上使用滑动窗口,构建一个小网络,来判断每个anchor(锚点)区域内是否存在目标,确定anchor边界框的位置(不同形状的锚点框在边界框回归函数中的体现),滑动窗口在特征图上的位置,对应原图上的位置,边界框回归,使anchor位置更加精确,由RPN网络可以定位出原图中可能存在物体的候选区域

FPN

特征融合,多层预测以提升精度
在这里插入图片描述
b:典型的目标检测过程,先进行特征提取,再在特征图上预测。
a:图像金字塔:在不同尺度上检测,再把结果合并。
c:特征金字塔:输入图像,提取它的浅层特征(上下文信息),中层特征,高层特征(语义信息),在不同特征层上做预测,在做结果融合。
d:特征金字塔网络:先正常提取特征,再反卷积放大,把相应层的图像1x1卷积,传过来,进行融合,再进行预测。
在这里插入图片描述
在这里插入图片描述
FPN在特征金字塔上使用RPN网络提取region proposal,并在特征金字塔的多个尺度上进行预测

Mask-RCNN

检测与分割一体化,优化了RoI Pooling,提出RoI Align,解决了misalignment问题,强化了基础网络,使用了ResNet-101+FPN用作特征提取网络,处理分割任务使用全卷积网络
在这里插入图片描述

RoI Align

在这里插入图片描述
RoI Align采用双线性插值

一阶段方法

单次目标检测器

直接对输入图像应用算法,直接在输出层回归边界框的位置及其所属的类别。

没有显式的目标区域位置检测

YOLO:实时检测

检测速度非常快。在做预测的时候,使用的是全局图像,背景错误分类为目标的概率低。学到物体更泛化的特征表示。

YOLO将物体检测任务当做一个regression问题来处理,使用一个神经网络,直接从一整张图像来预测出bounding box 的坐标、box中包含物体的置信度和物体的probabilities。

使用的是 GoogLeNet 架构
在这里插入图片描述
流程:
1.将输入图像划分成S*S个网格
2.每个网格预测B个边界框和这个边界框是物体概率,每个边界框会预测出5个值:x,y,width,height和置信度-(Pr(Object)*IoU(truth&pred)),分别是含有 object 的置信度和这个 box 预测的有多准的信息
3.每个网格预测C个类的概率

损失函数

在这里插入图片描述
YOLO检测:
在这里插入图片描述
在 test 的时候,每个网格预测的 class 信息和边界框预测的置信度相乘,就得到每个 bounding box 的 class-specific confidence score:

得到每个 box 的 class-specific confidence score 以后,设置阈值,滤掉得分低的 boxes,对保留的 boxes 进行 NMS 处理,就得到最终的检测结果。

对于一张特征图,在每一个位置上提取预设数量的default box,直接在特征图上提取,进行预测,使网络不需要先提取候选目标区域

SSD

在这里插入图片描述
VGG16 + 多个卷积层(分辨率逐渐降低) +在6个不同尺度上进行预测(预测前直接提取预设数量的default box) + NMS(非极大值抑制)

损失函数

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

default box

指在feature map的每个小格(cell)上都有一系列固定大小的box,预设一些目标预选框,后续通过softmax分类+bounding box regression获得真实目标的位置。对于不同尺度的feature map 上使用不同的Default boxes。
在这里插入图片描述

NMS(非极大值抑制)

产生proposal后使用分类网络给出每个框的每类置信度,使用回归网络修正位置,最终应用NMS.

消除冗余的检测框
在这里插入图片描述
将同一类的所有检测框,按照分类置信度排序,分类置信度最高的检测框与其它检测框的重叠面积(IoU)大于一定阈值的检测框删除。再从未处理的框中重复上述操作,直至没有候选框。

IoU-Net

解决的问题:
在这里插入图片描述
分类置信度和定位准确度不对齐:
仅依靠分类置信度来作为NMS中的关键依据,可能会导致大量高质量边界框丢失。

网络结构:
在这里插入图片描述
1.PrRoI-Pooling更好的解决misalignment
2.单独的IoU分支,提取每个边界框的定位置信度
3.使用Jittered RoIs提取RoI,更好的训练IoU分支

Jittered RoIs:偏置和打乱,来创建更多的训练样本

PrRoI-Pooling

在这里插入图片描述
PrRoI Pooling直接使用积分取均值

IoU

在这里插入图片描述
存在的问题:
1.IoU与常用的损失没有强相关性
在这里插入图片描述
2.如果对象不重叠,则IoU值为0,不会反映两个形状间的距离
在这里插入图片描述
3.IoU无法正确区分两个对象的对齐方式(左对齐,还是右对齐)
在这里插入图片描述

GIoU

损失函数
在这里插入图片描述
“c”的含义:
两个区域的最小外接凸多边形
在这里插入图片描述
在这里插入图片描述
实验表明,只需将边界框回归分支的损失改为GIoU-Loss,即可获得2%-14%的检测性能提升

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Ma.01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值