DL_5_ 卷积网络的应用

卷积网络的应用概述

    1. 自然语言处理
      a. 语言模型 根据前几个单词输入进行分析,预测下一个词;
      b. 文本图像合成 根据文本生成理想的图片;
      c. 语音识别;
      d. 自动问答 计算机阅读文字后,回答一些与文字相关的问题。
    1. 计算机视觉
      计算机视觉与很多技术会融合在一起,它的作用只是从图像中提取信息。
      a. 人脸识别;
      b. 目标检测;
      c. 语义分割 对图像或视频中的像素点进行预测;
      d. 人体姿态估计 定位人在图像中的位置。
    1. 图像处理
      a. 图像去雾;
      b. 图像去雨;
      c. 医学图像去噪声;
      d. 抠图。
    1. 医学影像分析

分类与检测

图像分类

在这里插入图片描述
端到端的学习:
整个学习过程不用人为划分过程,完全交给深度学习模型,一次性得到结果。

训练阶段:
在这里插入图片描述

分类与定位
基础知识

介于分类和目标检测之间,不过是单对象的。

关于定位,采用的评估指标是交并比(Intersection over Union)。

目标定位的输出值是 ( x , y , h , w ) (x,y,h,w) (x,y,h,w),在图片中可视化为一个矩形框,分别对应着矩形中心坐标、矩形高和矩形宽。

IoU的计算公式为
在这里插入图片描述

定位问题可以转化为目标框回归问题;

在这里插入图片描述

由于还需要进行分类,所以分类定位问题的真值有五个;

预测正确的标准为:

  1. 类别预测正确;
  2. 目标框的预测与真值的交叉比大于0.5。
实施步骤

Step-1:
训练一个分类网络(VGG、GoogleNet、ResNet、DenseNet);

Step-2:
在网络末端增加一个新的全连接“回归分支”;

于是,整体网络:
在这里插入图片描述

Step-3:
训练定位的“回归分支”(或两个分支联合训练);

Step-4:
测试时,两个分支均进行预测。
在这里插入图片描述

目标检测

在这里插入图片描述
对图像中所有物体均预测其类别和目标框。

Region Proposals
  1. 首先找到或设定图像中可能存在物体的所有区域;
  2. 对这些区域进行检测、分类。
    在这里插入图片描述
  3. 得到候选区域。

其中,区域分类是一个二分类问题,判断是框中是否有物体。

R-CNN

R-CNN的Region Proposal用的是SS算法:
在这里插入图片描述

ROI

ROI是Region of Interest的简称,其实就是Region Proposal。

缺点
  1. SS算法十分耗时;
  2. 产生的ROI需要经过wrap操作再送入后续网络,会导致图像变形和扭曲(统一图像尺寸);
    在这里插入图片描述
  3. 一张图像提取2k个候选区域,需要提取2k次CNN的特征,存在大量重复计算;
  4. 特征提取、图像分类、边框回归是三个独立的步骤,需要分别训练,测试效率低。
SPP-Net

SPP-Net解决了两个问题:

  1. 重复提取特征;——只需提取一次特征
  2. wrap操作。——Spatial Pyramid Pooling

在这里插入图片描述

SPP

其特点是:

  1. 不管输入尺寸大小,SPP可以产生固定尺寸的输出;
  2. 使用多个不同大小的pooling窗口;
  3. SPP可以使用同一图像的不同尺寸作为输入,但得到的特征是同样长度的。

其优点有:

  1. 可以处理不同尺度的图片,提高了图像的尺度不变性;
  2. 降低了过拟合风险;

思想:
将任意尺寸的feature map用三个尺度的金字塔层分别池化,再将池化后的结果拼接得到固定长度的特征向量(图中的256为filter的个数),送入全连接层进行后续操作。

举例来说:
在这里插入图片描述
具体流程:
输入:与候选区域对应的feature map 上的一块区域,约2000多个

输出:将feature map 分成4x4、2x2、1x1个块(Spatial Bins),然后对每块进行全局池化,得到21x256维特征向量。所以SPP层的输出,不随输入尺度的变化而变化

Fast R-CNN

在这里插入图片描述

Fast R-CNN的中间流程和SPP-Net是类似的。不过其用ROI Pooling代替了SPP。

但是SPP没有解决训练分散的问题:extractor需要训练、SVM需要训练、Box Regression也需要训练,这是Fast R-CNN需要解决的问题。

我们首先介绍RoIPooling。

RoIPooling

利用特征采样,将不同空间大小的特征,变成空间大小一致的特征。

RoIPooling是单尺度的SPP。

SPP也好、RoIPooling也好,都是为了统一特征尺度。
目的是便于后续处理。一方面是之后的全连接层的要求,另一方面是可以组成batch进行处理。
在这里插入图片描述

相比于SPP-Net,Fast R-CNN将Box Regression和Classification共同放在了网络中,实现了一定程度上的端到端训练,提升了训练速度、也提升了训练精度。

但是,Fast R-CNN仍然保留了SS算法,这也是一个很耗时的部分。

Faster R-CNN

Faster R-CNN最大的亮点就是RPN,它将生成候选区域的步骤融入到了网络中,实现了真正的端到端训练,极大地提升了速度。

Faster R-CNN论文详解

总体流程就是提取特征图后,在特征图的每个像素点上生成k个锚框,将这些锚框送入RPN中进行回归和分类,得到合适的候选区域,再与特征图一起送入RoIPooling中。

R-CNN系列对比

结构对比:
在这里插入图片描述
简化结构:
在这里插入图片描述
性能对比:
在这里插入图片描述

YOLO

在这里插入图片描述
包含了24个卷积层和2个全连接层。

卷积层用于提取图像特征,全连接层用于预测图像位置和类别概率。

YOLO首先将输入图像划分为了 S × S S\times S S×S个格子,每个格子负责检测落入格子中的物体。

每个格子输出B个bounding box的信息以及C个物体属于某种类别的概率信息。

bounding box的信息包含五个数据,分别是 ( x , y , w , h , c o n f i d e n c e ) (x,y,w,h,confidence) (x,y,w,h,confidence)。其中 c o n f i d e n c e confidence confidence反应了当前bounding box是否包含物体以及物体位置的准确性。

综上所述,一共返回 S × S × ( B × 5 + C ) S\times S\times(B\times5+C) S×S×(B×5+C)个值。

需要注意的是:

  1. 由于输出层是全连接层,因此检测时,只支持与训练图像相同输入分辨率的图像;
  2. 虽然每个格子可以预测B个bounding box但是最终只选择IOU高的bounding box。
评估指标
分类问题

混淆矩阵带来的一系列评价标准,对于多分类问题:在这里插入图片描述

目标检测

通用目标检测一般有20、80、100类问题,我们检测精度的评价指标一般是每类单独计算,再多类之前求取平均值。

以单类物体检测为例,
在这里插入图片描述

被检测到的就是正例。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
其中, P r e c i s i o n = T P T P + F P = 80 % Precision = \frac{TP}{TP+FP}=80\% Precision=TP+FPTP=80%

由精度和召回率,引申出了AP(平均精度)和mAP(平均精度均值)

平均精度 = 精度-召回率曲线下的面积。

平均精度均值 = 不同类别的平均精度的均值。

一般,我们令 I o U ≥ 0.5 IoU \ge 0.5 IoU0.5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

右边是我女神

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

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

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

打赏作者

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

抵扣说明:

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

余额充值