图像检测:目标检测(下)

R-FCN

R-CNN系列的结构
  • 基于旧形态的CNN的结构(AlexNet,VGG) :全卷积子网络,全连接子网络
  • 相应的结构设计 : 全卷积子网络(5层/组),独立于ROI,计算共享;ROI-wise子网络(3层),计算无法共享 。

CNN的全卷积化形式(只剩一个全连接层),相应的,基于就结构设计的R-CNN会出现问题

  • 结构 :ROI-wise子网络相当于隐含层
  • 性能:检测性能和分类性能不一致
  • 应用两难: 检测网络的变换敏感性,分类网络的变换不变性,卷积层越深,不变性越强,对变换不敏感。
  • 不适应设计:ResNet101->Conv91+ROI池化+Conv10,准确率提升,但速度下降

适应全卷积化CNN结构,提出全卷积设计

  • 共享ResNet的所有卷积层
  • 引入变换敏感性:(1)位置敏感分值图:特殊设计的卷积层,Grid位置信息+类别分值。(2)位置敏感池化:无训练参数,无全连接网络的类别判断。

R-FCN的结构
在这里插入图片描述

R-FCN的位置敏感卷积层
使用kk(C+1)个通道对(位置,类别)组合进行编码

  • 类别:C个物体类+1个背景类
  • 相对位置:k*k个Grid(k=3)
  • 位置敏感分值图:每个分类k*k个score map,score map尺寸=图片尺寸
    在这里插入图片描述

R-FCN的位置敏感ROI池化层
显式地编码相对位置信息

  • 将wh尺寸的ROI拆分成kk个(w/k)* (h/k)尺寸的bin
  • 不同颜色bin对应不同颜色通道层(score map)
  • Bin内做均值池化
  • 输出尺寸kk(C+1)
    在这里插入图片描述
    在这里插入图片描述

R-FCN的Score map可视化
在这里插入图片描述
在这里插入图片描述

R-FCN的多任务损失函数
在这里插入图片描述

R-FCN的训练

  • OHEM(Online Hard Example Mining) :首先对RPN获得的候选ROI(正负样本分别进行排序)进行排序操作;然后在含有正样本(目标)的ROI中选择前N个ROI,将正负样本的比例维持在1:3的范围内,保证每次抽取的样本中都会含有一定的正样本,这样训练可以提高网络的分类能力。
  • Faster R-CNN的4步训练法:RPN和R-FCN交替训练

YOLO v1

YOLO将物体检测任务当做一个regression问题来处理,通过YOLO,每张图只需要看一眼就能得出图像中都有哪些物体和这些物体的位置。将图像resize到448*448作为神经网络的输入,使用一个神经网络,直接从一整张图像来预测出bbox的坐标,box中包含物体的置信度和物体的可能性,然后进行非极大值抑制,筛选Boxes。
在这里插入图片描述
在这里插入图片描述

  • 首先利用ImageNet 1000-class的分类任务数据集Pretrain卷积层。使用上述网络中的前20个卷积层,加上一个average-pooling layer,最后加一个全连接层,作为Pretrain的网络。
  • 将Pretrain的结果的前20层卷积层应用到Detection中,并加入剩下的4个卷积层及2个全连接。
  • 同时为了获取更精细化的结果,将输入图像的分辨率由224224提升到448448。
  • 将所有的预测结果都归一化到0~1,使用LeakyRELU作为激活函数。
  • 为了防止过拟合,在第一个全连接层后面接了一个ratio=0.5 的 Dropout层。
  • YOLO网络结构由24个卷积层与2个全连接层构成,网络入口为448x448,图片进入网络先经过resize网络的输出结果为一个张量。YOLO网络结构由24个卷积层与2个全连接层构成,网络入口为448x448,图片进入网络先经过resize网络的输出结果为一个张量。
    输出的维度为:S* S*(B5+C),
    在 Pascal VoC上,预测的结果维度是7
    7*(2*5+20)。其中,S为划分网格数,B为每个网格负责目标个数,C为类别个数。
    在这里插入图片描述

**将一幅图像分成SxS个网格(grid cell),如图所示。右图中物体“狗”的中心点(红色原点)落入第5行、第2列的格子内,所以这个格子负责预测图像中的狗。每一个栅格预测B(B=2)个bboxes,以及这些bboxes的confidence scores.confidence scores反映了模型对于这个栅格的预测:该栅格是否含有物体,以及这个box的坐标预测的有多准。
公式定义如下:
在这里插入图片描述

如果这个栅格中不存在object,则confidence score应该为0;否则的话,confidence score则为predicted bounding box与 groundtruth box之间的IOU ( intersection over union) 。**
在这里插入图片描述

YOLO v1:每个栅栏格两个bbox。对每个bbox有5个预测值,x,y,w,h,confidence。作为预测的结果每一行中前10个元素。
在这里插入图片描述
在这里插入图片描述

每一个栅格还要预测C条件类别概率(conditional class probability):Pr(Class,/Object)。即在一个栅格包含一个Object的前提下,它属于某个类的概率
在这里插入图片描述

条件类别概率:是针对每个栅格的。
Confidence:是针对每个bbox的。

在测试阶段,将每个栅格的条件类别概率与每个bbox的confidence相乘:
在这里插入图片描述
在这里插入图片描述

NMS(非极大值抑制) :首先从所有的检测框中找到置信度最大的那个框,然后挨个计算其与剩余框的IOU,如果其值大于一定阈值(重合度过高),那么就将该框剔除;之后对剩余的检测框重复上述过程,直到处理完所有的检测框。
在这里插入图片描述

Yolo的实际策略是先使用NMS,然后再确定各个box的类别,其基本过程如图所示:对于98个boxes,首先将小于置信度阈值的值归0,然后分类别地对置信度值采用NMS。这里NMS处理,结果不是剔除,而是将其置信度值归为0。最后才是确定各个box的类别,当其置信度不为0时才做出检测结果输出。
在这里插入图片描述

YOLO v1的优点:

  • 检测物体的速度很快
  • 假阳性率低
  • 能够学到更加抽象的物体的特征

YOLO v1的不足:

  • YOLO的物体检测精度低于其他state-of-the-art的物体检测系统
  • YOLO容易产生物体的定位错误
  • YOLO对小物体的检测效果不好,尤其是密集的小物体,因为一个栅格智能检测2个物体。

YOLO v2

Batch Normalization :Batch Normalization可以提高模型收敛速度,减少过拟合。在所有卷积层都应用了BN,是结果提升了2%。
High Resolution Classifier : 基于ImageNet数据集预训练模型,大部分类器输入图像尺寸小于256×256。
在YOLOv2中,首先采用448×448分辨率的
ImageNet数据fine tune使网络适应高分辨率输入;然后将该网络用于目标检测任务finetune。高分辨率输入使结果提升了4%mAP。
Convolution With Anchor Boxes :在这一版本中借鉴了Faster R-CNN中的anchor思想,用anchor boxes来预测bounding boxes。准确率只有小幅度的下降,而召回率则提升了7%

Dimension Clusters :使用了K-means聚类方法类训练bounding boxes,可以自动找到更好的boxes宽高维度。

Direct location prediction : 在YOLO模型上采用anchor boxes的是模型不稳定性,大部分不稳定因素来源于预测boxes位置(x,y) 。将预测偏移量改变为YOLO的预测grid cell的位置匹配性(location coordinate ),将预测值限定在0-1范围内,增强稳定性。

Fine-Grained Features :改进后的YOLO对13×13的feature map进行目标检测。更精确的特征(finer grained features)可以提高对于小目标的检测。加入passtrough层以增加特征。passthrough类似于ResNet,将高分辨率特征和低分辨率特征结合,使26×26×512的特征图转化为13×13×2048的特征图。该改进增加了1%的性能。

Multi-Scale Training :模型只包含卷积层和pooling层,因此可以随时改变输入尺寸。每经过10次训练,就会随机选择新的图片尺寸进行训练。

YOLO v2的基础模型是Darknet-19,其结构如表所示。

  • 使用较多的3*3卷积核,在每一次池化操作后把通道数翻1首。
  • 网络使用了全局平均池化,把11的卷积核置于33的卷积核之间,用来压缩特征。
  • 也用了BN稳定模型训练。
    在这里插入图片描述

YOLO v3

YOLO v3中使用了一个53层的卷积网络,这个网络由残差单元叠加而成。YOLO v3使用逻辑回归预测每个边界框的分数。为了实现多标签分类,模型不再使用softmax函数作为最终的分类器,而是使用binary。cross-entropy作为损失函数。

多尺度预测 :YOLO v3从三种不同尺度的特征图谱上进行预测任务
在Darknet-53得到的特征图的基础上,经过7个卷积得到第一个特征图谱,在这个特征图谱上做第一次预测。然后从后向前获得倒数第3个卷积层的输出,进行一次卷积一次x2上采样,将上采样特征与第43个卷积特征连接,经过7个卷积得到第二个特征图谱,在这个特征图谱上做第二次预测。然后从后向前获得倒数第3个卷积层的输出,进行一次卷积一次x2上采样,将上采样特征与第26个卷积特征连接,经过7个卷积得到第三个特征图谱,在这个特征图谱上做第三次预测。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值