《A Survey on Deep Learning-based Fine-grained Object Classification and Semantic Segmentation》阅读笔记

发布时间 2023-11-17 16:02:20作者: AncilunKiang

论文标题

《A Survey on Deep Learning-based Fine-grained Object Classification and Semantic Segmentation》

  • 基于深度学习的细粒度对象分类和语义分割的综述
  • 为什么是 “Object” 而不是 “image”

作者

西南交通大学和新加坡国立大学

2016年7月1日 received;2016年9月30日 accepted;2017年1月18日 published online。

初读

摘要

  • 深度学习强

    深度学习在视觉任务性能优异,在细粒度图像分类领域也很强。

  • 细粒度图像分类是什么:

    下属类别分类(distinguish subordinate-level categories)

  • 细粒度图像分类特点:

    内方差高、类间方差低

  • 本文介绍四种细粒度图像分类方法:

    • 通用卷积神经网络(CNNs)
    • 基于部分检测的方法
    • 基于网络集成的方法
    • 基于视觉注意力的方法
  • 介绍了两种语义分割方法:

    • 基于区域建议的方法
    • 基于全卷积网络的方法

结论

  • 细粒度图像识别的三大方法:

    • 本文介绍了几种可以直接适应于细粒度的图像分类通用的卷积神经网络

      • AlexNet
      • VGG
      • GoogLeNet
    • 定位:

      • 许多方法都采用深度学习技术来提高定位的性能,是因为视觉上相似的细粒度对象的细微差异通常存在于一些常见的相同的部分中,

      • 而一些方法则将定位集成到深度学习框架中,并可以端到端地进行训练。

      • 一些细粒度分类方法还结合了多个神经网络,以获得更多的细粒度图像分类能力。

    • 通过集成注意力机制,一些基于视觉注意力的方法可以在不使用任何边界框或零件注释的情况下自动定位细粒度图像中最具鉴别力的区域。

  • 细粒度图像分类可能增长的方法:

    • 使用更深层次的神经网络来提高性能,比如当年最近提出的 ResNet。
    • 使用强化学习技术来学习任务特定策略也将有利于细粒度对象分类,因为它们可以以端到端的方式学习零件定位和判别表示,并且不需要手动标记对象。
  • 对于语义分割,分别介绍了基于区域建议的方法和基于全卷积网络(FCN)的方法。

再读

Section 1 Introduction

  • 第一段:深度学习的核心——非设计

    深度学习技术的特征层不是由人类工程师设计的,而是使用通用学习程序从数据中学习的。本文主要关注 CNN 和 RNN 的方法。

  • 第二段:CNN

    • 是一种前馈型人工神经网络

    • 结构:一个或多个卷积层+一个或多个全连接层

      • 卷积层:
        • 包括一组可学习滤波器(或核)
        • 具有小的感受野
        • 延伸到输入体积的整个深度。
    • 全卷积网络(FCN):

    • 一种特殊的卷积神经网络

    • 用卷积层取代了细胞神经网络中所有的全连接层。

    • 可以进行端到端、像素到像素的训练,非常适合于语义分割任务。

  • 第三段:RNN

    • 单元之间的连接形成有向循环,因此激活可以在循环中循环,

    • 可以使用其内部记忆来处理任意序列的输入,

    • 适用于诸如未分段的连接手写识别或语音识别之类的任务。

    • 长短期记忆(LSTM)

      • 可以在任意长度的时间内记住一个值。
      • LSTM 单元包含多个门,用于确定输入何时足够重要以被记住,何时应该继续记住或忘记该值,以及何时应该输出该值。
    • 其他 RNN 模型包括GNU、MGU。

  • 第四段:反向传播

    • 反向传播进行端到端高效训练。

      这是一种常见的训练人工神经网络的方法,

    • 与梯度下降等优化方法结合使用。

      该方法计算损失函数相对于网络中所有权重的梯度。

    • 梯度被提供给优化方法,优化方法反过来使用梯度来更新权重,以最小化损失函数。

  • 第五段:强化学习

    • 让网络学习该做什么——如何将情况映射到行动——从而最大化数字奖励信号。
    • 没有像大多数形式的深度学习那样被告知要采取哪些行动,而是需要通过尝试来发现哪些行动产生的回报最大。
    • 在最有效和最具挑战性的情况下,行动不仅会影响即时奖励,还会影响下一种情况,并通过这种情况影响所有后续奖励。
  • 第六段:下文顺序

    1. 首先阐述基于深度学习的细粒度对象分类
    2. 然后阐述基于深度学的图像语义分割。

Section 2 Deep fine-grained image classification

深度细粒度图像分类

  • 细粒度分类的挑战性

    • 来自相似从属类别的对象可能具有边际视觉差异,人类甚至难以识别。
    • 由于比例或视点的变化、复杂的背景和遮挡,同一从属类别中的对象可能会出现较大的外观变化。
  • 现有的基于深度学习的细粒度图像分类方法分为以下四组:

    • 直接使用通用深度神经网络(主要是CNN)对细粒度图像进行分类的方法,
    • 使用深度神经网络作为特征提取器来更好地定位细粒度对象的不同部分并进行对齐,
    • 使用多个深度神经网络来更好地区分视觉上高度相似的细粒度图像的,
    • 使用视觉注意力机制来找到细粒度图像中最具鉴别力的区域。
  • 本节顺序

    1. 几种主要用于细粒度图像分类的卷积神经网络
    2. 基于零件检测和对准的方法以及基于网络集成的方法
    3. 回顾基于注意力的方法。

2.1 General CNN for fine-grained image classification

用于细粒度图像分类的通用 CNN

此处介绍了 AlexNet、VGG 和 GoogLeNet,具体内容略。

2.2 Part detection and alignment based approaches

基于零件检测和对准的方法

  • 设计思想:

    语义部分定位可以通过显式地隔离与特定对象部分相关联的细微外观差异来促进细粒度分类,许多传统方法遵循下图所示的流程:

    image

  • 大致步骤:

    • 首先对细粒度对象的各个部分进行定位,例如鸟类分类的头部和躯干
    • 然后进行部分对齐
    • 最后使用对齐部分上提取的特征进行分类
  • 当前工作:

    • POOF 使用数据挖掘技术学习一组中间特征。这些特征中的每一个都专门基于特定部分的外观来区分两个特定类别。
    • 为了找到狗的面部和眼睛等准确部位,刘等人建立了基于样本的犬种及其面部几何和外观模型。
    • 杨等人提出了一个模板模型来发现物体零件的常见几何图案和图案的共现统计。在对齐的共生模式中提取特征以进行细粒度识别。
    • Gavves 等人和 Chai 等人以无监督的方式分割图像并对齐图像片段。然后使用对齐将零件注释从训练图像转移到测试图像,并提取用于分类的特征。

在本小节中,我们将介绍基于深度学习的零件检测方法。

2.2.1 Part-based R-CNN

  • 设计思想:

    基于部分的 R-CNN 通过利用根据自下而上的区域提案计算的深度卷积特征来学习部分检测器。它扩展了 R-CNN 来检测对象并在几何先验下定位它们的部分。

  • 一般步骤:

    image

    • 从使用选择性搜索(selective search)的几个区域提案(region proposals)开始,基于深度卷积特征对对象和部分检测器进行训练。

    • 在测试过程中,所有检测器对所有提案进行评分,并应用非参数几何约束来重新筛选方案并选择最佳的物体和零件检测。

    • 最后一步是提取本地化语义部分的特征,用于姿势归一化(pose-normalized)表示的细粒度识别,然后训练分类器进行最终分类。

  • 特殊处理:

    • 为了使深度 CNN 衍生的特征对细粒度鸟类分类的目标任务更有鉴别力,ImageNet 预训练的 CNN 首先根据原始 CUB 图像的地面实况边界框裁剪对 200 路鸟类分类任务进行微调。
    • 特别是,CaffeNet 中最初的1000 路 fc8 分类层(与 AlexNet 几乎相同)被新的 200 路 fc8 层所取代。
    • 全对象边界框注释和一组固定的语义部分注释都用于训练多个检测器。所有对象及其每个部分最初都被视为独立的对象类别:
      • 在区域提案上提取的卷积特征描述符上训练一对一线性 SVM。
      • 由于单个零件检测器不太完美,因此具有最高单个零件检测器分数的窗口并不总是正确的,尤其是当存在遮挡时。考虑相对于对象位置的零件布局的几何约束,以过滤不正确的检测。
  • 在测试中,所有检测器对自下而上的区域提案进行评分,并施加非参数几何约束来重新搜索窗口并选择最佳的对象和零件检测。在最后一步,提取预测的整个对象或部分区域的特征,并使用针对该特定整个对象或局部微调的网络进行连接。然后,使用最终的特征表示来训练一对一线性 SVM 分类器。

2.2.2 Part localization using multi-proposal consensus

使用多方案共识的零件定位

  • 设计思想:

    多方案共识(multi-proposal consensus)使用基于 AlexNet 架构的单个神经网络来预测关键点和区域(头部、躯干、身体)。

  • 网络结构:

    • 首先,多提案共识修改了 AlexNet,以同时预测任何给定图像补丁的所有关键点位置及其可见性(visibilities)。

      • 最后的 fc8 层被替换为两个单独的输出层,分别用于关键点定位和可见性。
      • 该网络在从每个图像中提取的边缘盒裁剪上进行训练,并使用在 ImageNet 数据集上训练的预训练 AlexNet 进行初始化。
    • 在得到关键点预测及其可见性后,将删除可见性置信度较低的预测。剩余的预测将围绕真实情况呈现峰值分布。因此,中位数(medoid)被用作该峰值的鲁棒估计器。

  • 示例:

    • 下图展示了找到右眼关键点的过程。右眼的最佳位置是通过执行置信阈值并找到髓样体来确定的。没有相关点的黑边框的预测置信度低于设定的阈值,绿色表示置信度得分高的异常值。

      image

    • 使用关键点,从每只鸟身上识别出三个区域:头部、躯干和全身。

      • 头部被定义为围绕喙、冠、前额、眼睛、颈背和喉咙的最紧的盒子。
      • 躯干是围绕背部、胸部、翅膀、尾巴、喉咙、腹部和腿部的盒子。
      • 全身边界框是注释中提供的对象边界框。
      • 为了进行分类,从这些本地化区域中提取 AlexNet 的 fc6 特征。然后将这些 CNN 特征连接到长度为 \(4096\times3\) 的特征向量中,并用于 200 路线性一对多 SVM 分类。

2.2.3 Pose normalized nets

姿态归一化网络

  • 设计思想:

    首先计算对象姿态的估计,用于计算局部图像特征,再将局部特征依次用于分类

  • 特征集成:

    通过将深度卷积网络应用于通过姿势定位和归一化的图像块来计算特征,如下图所示:

    image

    • 姿态归一化网络将较低级别的特征层(conv5,fc6)与姿态归一化提取的特征集成
    • 并将较高级别的特征层次(fc8)与未对齐的图像特征集成。
  • 一些细节:

    • 在训练中

      • 姿势归一化网络使用 DPM 来预测 13 个语义部分关键点的 2D 位置和可见性,或者直接使用预先提供的对象边界框和部分注释来学习姿势原型。
      • 然后,对象的不同部分将被扭曲并输入不同的深度神经网络(AlexNet)以提取特征。最后,使用从每个原型区域和整个图像中提取的级联卷积特征来训练分类器。
    • 在测试中

      • 给定测试图像,使用检测到的关键点组或 oracle 零件注释来计算与原型模型对齐的多个扭曲图像区域。
      • 然后将多个扭曲的图像区域与原型模型对齐后分别输入到特征提取器中,该提取器是深度卷积神经网络。
  • 优点:

    它改进了将较低级别的特征层与姿态归一化提取例程相结合,将较高级别的特征层次与未对齐的图像特征相结合的模型效果最好。

2.2.4 Part-stack CNN

零件堆栈 CNN

  • 设计思想:

    基于手动标记的强零件注释,零件堆叠 CNN(PS-CNN)模型由一个用于定位多个对象零件的全卷积网络和一个同时编码对象级和零件级线索的双流分类网络组成。

    image

  • 网络选择:

    • 使用全卷积网络(FCN)

      FCN 是通过用具有 \(1\times1\) 核的卷积层代替标准 CNN 架构中的参数丰富的全连接层来实现的。

      • 给定输入 RGB 图像,与输入相比,FCN 的输出是降维的特征图。
      • 特征图中每个单元的计算仅对应于输入图像中具有固定大小的区域内的像素,该区域被称为其感受野。
    • 原因:

      由于以下三个原因,在 PS-CNN 中首选 FCN:

      • FCN 生成的特征图可以直接用作分类网络中的零件定位结果。
      • 使用 FCN 可以同时获得多个目标零件的结果。
      • FCN 在学习和推理方面都非常有效。
  • 一些细节:

    • 使用注释在每个对象部分中心的 M 个关键点训练定位网络(一个完全卷积网络)生成密集的输出特征图,用于定位对象部分。
    • 高斯核用于去除特征图中的孤立噪声。
    • 定位网络的最终输出是 conv5 特征图中的 M 个位置,每个位置都被计算为一个对象部分具有最大响应的位置。
    • 然后,将零件位置输入到分类网络中,在分类网络中采用两级架构来分析对象级别(边界框)和零件级别(零件地标)的图像。
    • 在零件级别,多个零件的计算首先通过共享的特征提取路线进行,然后通过零件裁剪层进行分离。零件裁剪层的输入是一组特征图,例如,conv5 层的输出,以及来自先前定位网络的预测零件位置,它们也存在于 conv5 特征图中。对于每个零件,零件裁剪层提取以检测到的零件位置为中心的局部邻域
    • 在对象级别,边界框监督用于提取对象级别的 CNN 特征,即 pool 5 特征。三个完全连接的层基于包含来自所有零件和边界框的信息的连接特征图来实现最终分类结果。

2.2.5 Deep LAC

  • 设计思想:

    深度 LAC 将零件定位、对齐和分类集成到一个深度神经网络中,其框架如下图所示:

    image

    提出了一种用于反向传播链的阀门连接函数(VLF),并形成了深度定位、对准和分类(LAC)系统。在训练LAC模型时,VLF 可以自适应地折衷分类和对准的误差。这反过来又有助于更新本地化。

  • 局部定位子网络(The part localization sub-network)

    • 由 5 个卷积层和 3 个完全连接的卷积层组成。
    • 它输出左上角和右下角边界框的常用坐标,给定用于细粒度识别的输入自然图像。
    • 在训练阶段,深层LAC回归部分区域的边界框。地面实况边界框是使用零件注释生成的。
  • 对齐子网络(The alignment sub-network)

    • 从定位子网络接收零件位置(即边界框),执行模板对齐,并将姿势对齐的零件图像提供给分类。
    • 对齐子网络偏移平移、缩放和旋转,用于生成姿势对齐的零件区域,这对于准确分类很重要。
    • 除了姿态对齐之外,该子网络在桥接整个 LAC 模型的后向传播(BP)阶段方面发挥着至关重要的作用,这有助于利用分类和对齐结果来细化定位。
    • 重要性:在深层 LAC 框架中,对齐子网络中的 VLF 是优化连接定位和分类模块的最重要部分。
      • 它不仅连接了所有的子网络,而且还起到了信息阀门的作用,以减少分类和对准误差。
      • 如果在前向传播阶段对准足够好,则 VLF 保证相应的准确分类。否则,从分类传播的错误会对以前的模块进行微调。这些效应使整个网络达到稳定状态。

2.3 Ensemble of networks based approaches

基于网络的方法集成

在本小节中介绍将细粒度数据集划分为多个视觉相似的子集或直接使用多个神经网络来提高分类性能是另一种广泛使用的方法。

2.3.1 Subset feature learning networks

子集特征学习网络

image

  • 网络结构:

    子集特征学习网络由两个主要部分组成:

    1. 在第一部分中,有一个领域通用卷积神经网络和几个特定的卷积神经网络。域通用卷积神经网络首先在与目标数据集相同域的大规模数据集上预训练,然后在目标数据集上进行微调。
    2. 在第二部分中,使用具有线性判别分析(LDA)的 fc6 特征来降低其维数,将视觉相似的物种聚类为 K 个子集,以训练多个特定的细胞神经网络。
  • 核心问题:

    如何为图像选择最佳的特定卷积神经网络是子集特征学习网络的核心问题。

  • 子集选择器 CNN(SCNN):

    SCNN 用于选择最相关的 CNN 来对给定图像进行预测。

    • 使用预聚类的输出作为类标签,通过改变 softmax 层 fc8 使其具有 K 个输出来训练 SCNN。
    • softmax 层预测测试图像属于特定子集的概率,然后将最大投票应用于该预测以选择最可能的子集。
    • 与先前训练的 CNN 一样,SCNN 的权重是通过反向传播和随机梯度下降(SGD)使用 AlexNet 作为起点来训练的。

2.3.2 Mixture of deep CNN

深层 CNN 的混合

  • 设计思想:

    • 与子集特征学习网络类似,MixDCNN 系统也将学习 K 个特定的 CNN。

    • 然而,它不需要将图像预先划分为相似图像的 K 个子集。图像将被馈送到所有 K 个 CNN 中,并且来自每个 CNN 的输出被组合以形成单个分类决策。

    • 与子集特征学习网络相比,MixDCNN 采用占用概率方程同时对 K 个 CNN 进行联合端到端训练。

      image

  • 占用概率

    占用概率方程定义如下(其中 \(C_k\) 是第 \(k\) 个 CNN 的最佳分类结果):

    \[\alpha_k=\frac{e^{C_k}}{\sum^K_{c=1}e^{C_c}} \]

    • 占用概率为对其预测有信心的组件赋予更高的权重
    • 每个子集的占用概率基于来自每个分量的分类置信度,这使得联合训练 K 个 DCNN(分量)成为可能,而不必像在子集特征学习网络中那样估计单独的标签向量 y 或训练单独的门控网络。
  • 分类:

    • 分类是通过将每个分量的最终层的输出乘以占用概率,然后对 K 个分量求和来执行的。
    • 这将网络输出混合在一起,然后通过应用 softmax 函数来产生每个类别的概率。

2.3.3 CNN tree

CNN 树

image

  • 设计思想:
    • 由于观察到一个类通常会被称为混淆集的其他一些类混淆,在多类分类中,特定的 CNN 可以学习更多的判别特征,以仅区分该集中的类。基于这一观察结果,CNN 树用于逐步学习不同混淆集的细粒度特征
    • CNN-tree 通过只在类之间学习特征逐步学习细粒度特征来区分类的子集。与为所有类学习的特征相比,这样的特征预计更具鉴别力。此外,被根 CNN 模型错误分类的测试图像可能被其后代正确分类。
  • 网络结构:
    • 给定树的一个节点,首先在其类集上训练 CNN 模型。
    • 接下来,通过使用训练的模型来估计每个类的混淆集。
    • 然后,这些混淆集被打包成几个混淆超集,并且每个混淆超集都被分配给一个新的子节点用于进一步学习。重复此过程,直到达到最大深度。

2.3.4 Multiple granularity CNN

多粒度 CNN

  • 设计思想:

    • 一个核心观察结果是,下级标签携带隐含的标签层次,每个标签对应于领域本体中的一个级别。
      • 例如,形态啄木鸟也被称为橡子啄木鸟,在属级别上也可以被称为黑嘴鹬,在科级别上也可被称为白嘴鹬。
    • 上述层次化的标签可以自由地提取其相应的判别补丁和特征。
      • 这些免费标签可以用来训练一系列基于 CNN 的分类器,每个分类器都在一个粒度级别上专门化。
      • 这些网络的内部表示具有不同的兴趣区域,允许构建多粒度描述符,对覆盖所有粒度级别的信息和判别特征进行编码。

    image

  • 网络结构:

    • 多粒度 CNN 包含一组平行的深度卷积神经网络,每个网络都经过优化,以在给定的粒度进行分类。换句话说,多粒度 CNN 由一组单粒度描述符组成。
    • 其隐藏层中的显著性指导从自下而上提出的图像补丁的公共池中选择感兴趣区域(ROI)
      • 因此,ROI 选择根据定义是粒度相关的,从某种意义上说,所选择的补丁是给定粒度的相关分类器的结果。
      • 同时,ROI的选择也取决于跨粒度:更详细粒度的 ROI 通常是从较粗粒度的 ROI 中采样的。
    • 最后,将每粒度ROI输入到框架的第二阶段,以提取每粒度描述符,然后将其合并以给出分类结果。

2.3.5 Bilinear deep network models

双线性深度网络模型

image

  • 设计思想:

    • 双线性模型是一种识别体系结构,由两个特征提取器组成,其输出在图像的每个位置使用外积相乘,并合并以获得图像描述符。
    • 该架构可以以翻译不变的方式对局部成对特征交互进行建模,这对于细粒度分类特别有用。
  • 网络结构:

    • 用于图像分类的双线性模型由四元组 \(\mathcal{B}=(f_A,f_B,\mathcal{P},\mathcal{C})\) 组成。

      • \(f_A\)\(f_B\) 是特征函数

        特征函数是映射 \(f:\mathcal{L}\times\mathcal{I}\to\boldsymbol{\mathrm{R}}^{c\times D}\),该映射将图像 \(I\) 和位置 \(L\) 作为输入,并输出大小为 \(c\times D\) 的曲率。

        • 位置通常可以包括位置和比例。使用矩阵外积在每个位置组合特征输出,即位置 \(l\) 处的\(f_A\)\(f_B\) 的双线性特征组合由双线性 \((l,\mathcal{I},f_A,f_B)=f_A(l,\mathcal{I})^Tf_B(l,\mathcal{I})\) 给出。
        • f_A 和 f_B 都必须具有特性维度 \(c\) 才能兼容。
      • \(\mathcal{P}\) 是池函数

        • 为了获得图像描述符,池函数 \(\mathcal{P}\) 聚合图像中所有位置的双线性特征
        • 池化的一种选择是简单地求和所有双线性特征,即 \(\phi(\mathcal{I})=\sum_{l\in\mathcal{L}}\) 双线性 \((l,\mathcal{I},f_A,f_B)\)
          • 如果 \(f_A\)\(f_B\) 分别提取大小为 \(C\times M\)\(C\times N\) 的特征,则 \(\phi(\mathcal{I})\) 等于大小为 \(M\times N\)
        • 另一种选择是最大池。两者都忽略了特征的位置,因此都是无序的。
      • \(\mathcal{C}\) 是分类函数。

        • 通过将 \(\phi(\mathcal{I})\) 整形为大小 \(MN\times1\) 获得的双线性向量是一个通用的图像描述符,可以与分类函数 \(C\) 一起使用。
    • 直观地,双线性形式允许特征提取器 \(f_A\)\(f_B\) 的输出通过考虑它们的所有成对相互作用而相互制约,类似于二次核展开。

2.4 Visual attention based approaches

基于视觉注意力的方法

2.4.1 Two-level attention

image

  • 注意力构成:

    两级注意力模型集成了三种类型的注意力:

    • 提出候选补丁的自下而上的注意力
    • 为某个对象选择相关补丁的对象级自上而下的注意力
    • 以及定位有区别部分的部分级自上而下的注意。
  • 网络结构:

    • 将上述三种注意力类型组合起来训练特定领域的深度网,然后用于查找前景对象或对象部分以提取判别特征。该模型易于推广,因为它不需要对象边界框或零件注释。
    • 然后,使用 FilterNet 选择的补丁来训练 DomainNet。本质上,对相似性矩阵 S 执行频谱聚类,以将中间层中的滤波器划分为 k 组。每个集群充当一个部分检测器。
    • 然后,由部件检测器选择的补丁被包装回 DomainNet 的输入大小以生成激活。不同部分的激活和原始图像被连接起来,并用于训练 SVM 作为基于部分的分类器。
    • 最后,将对象级注意力和部分级注意力的预测结果合并,以利用两级注意力的优势。

2.4.2 Attention for fine-grained categorization

用于细粒度分类的注意力机制

image

  • 设计思想:

    对细粒度分类(AFGC)系统的注意力是一个深度循环神经网络,在每一步,它都会处理输入图像的多分辨率裁剪,称为一瞥。网络使用来自一瞥的信息来更新其输入的内部表示,并输出下一个一瞥位置,可能还有序列中的下一个对象。

  • 网络结构:

    • 使用 RNN 和强大的视觉网络(GoogLeNet)来执行细粒度分类。该系统作为一个整体,将任何大小的图像作为输入,并使用 softmax 分类器输出 N 向分类分数,这是一项类似于查找数字和数字加法的任务。
    • 该模型是一个递归神经网络,有 N 个步骤与输入图像中的 \(N\) 个“一瞥”相关。在步骤 \(n\),模型接收行和列坐标 \(l_n\),其描述输入图像中的点。该网络从这些坐标处的输入图像中提取多分辨率补丁,使像素通过与上一次浏览步骤的激活相结合的全连接层,并输出下一次浏览的坐标 \(\hat{l}_n\) 或最终分类 \(y_s\)

2.4.3 FCN attention

FCN 注意力

image

  • 设计思想:
    • FCN 注意力是一种基于强化学习的全卷积注意力定位网络,用于自适应地选择多个任务驱动的视觉注意力区域。
    • 与以前的基于强化学习的模型相比,由于其完全卷积的架构,所提出的方法在训练和测试过程中的计算效率明显更高,并且能够同时将视线集中在多个视觉注意力区域。
  • 网络结构:
    • 它可以使用注意力机制定位多个对象部分。不同的零件可以具有不同的预定义尺寸。该网络包含两个组件:零件定位组件和分类组件。
    • 零件定位组件使用全卷积神经网络来定位零件位置。给定输入图像,使用在 ImageNet 数据集上预训练的 VGG-16 模型提取基础卷积特征图,并针对目标细粒度数据集进行微调。
    • 注意力定位网络通过使用基础卷积特征图为每个部分生成分数图来定位多个部分。使用两个堆叠的卷积层和一个空间 softmax 层来生成每个得分图。
    • 第一个卷积层使用 64 个 \(3\times3\) 核,第二个卷积层则使用一个 \(3\times3\) 卷积来输出单通道置信图。
    • 将空间 softmax 层应用于置信度图以将置信度得分转换为概率。选择具有最高概率的关注区域作为零件位置。相同的过程适用于多个零件位置的固定数量的时间步长。每个时间步长生成特定零件的位置。
    • 分类组件包含用于每个部分以及整个图像的一个深度 CNN 分类器。不同的零件可能具有不同的尺寸,并且根据其尺寸在每个零件位置周围裁剪局部图像区域。针对每个局部图像区域以及整个图像分别训练图像分类器。
    • 最终分类结果是来自各个分类器的所有分类结果的平均值。为了区分细微的视觉差异,每个局部图像区域都被调整为高分辨率。针对每个部分分别训练深度卷积神经网络进行分类。

2.4.4 Diversified visual attention

多样化的视觉注意力

image

  • 设计思想:

    一种多样化的视觉注意力网络(DVAN)用来追求注意力的多样性,并能够最大限度地收集判别信息。DVAN 模型的架构包括四个组成部分:注意力画布生成、CNN特征学习、多样化的视觉注意力和分类。

  • 模型结构:

    • DVAN 首先以不同的比例定位输入图像的几个区域,并将它们作为跟随视觉注意力的“画布”。
    • 然后采用卷积神经网络(即 VGG-16)来从每个注意力画布学习卷积特征。
    • 为了在每个画布内定位对象的重要部分或组件,引入了一个多样化的视觉注意力组件来预测注意力图,从而突出显示每个画布内的重要位置,并最大限度地提高多个注意力画布之间的信息增益。
    • 与传统的专注于单一判别位置的注意力模型不同,DVAN 借助于精心设计的多样性促进损失函数来联合识别不同的位置。根据生成的注意力图,卷积特征将被动态汇集并累积到多样化的注意力模型中。
    • 同时,注意力模型将预测每个时间步长的对象类别。将对所有预测进行平均以获得最终分类结果。
    • DVAN 中采用的视觉注意力组件由两个模块组成:注意力特征集成和注意力图预测
    • 为了使每个时间步长的注意力区域多样化,在 DVAN 中提出了一种多样化的损失函数和注意力画布生成方法。

2.5 Performance comparison and analysis

性能对比分析

  • 数据集选择:CUB200-2011

    • 分类准确度定义为类别分类准确度的平均值。
    • CUB-2002011 数据集由来自 200 个鸟类类别的 11778 张图像组成。
    • 它提供了丰富的注释,包括图像级标签、对象边界框、属性注释和零件地标。
    • 有 5994 张图像用于训练,5794 张图像用于测试。
  • 分组:方法分为三组

    • 第一组方法基于部分检测和对齐
    • 第二组方法集成多个神经网络以提高分类性能。
    • 第三组中基于视觉注意力的模型模拟了人类的观察过程,通常不需要边界框信息或零件注释。
    • PS:这些方法基于不同的神经网络,如 AlexNet、VGGNet 或 GoogLeNet。有些方法可能在训练和测试中使用边界框和零件注释,而有些方法只使用类别标签来训练网络。

image

  • 结果分析:
    • 零件标注的短板:
      • 通常,基于零件定位的细粒度识别算法可以使用一组预定义的零件来定位重要区域。但是,通常很难获得详细的零件注释。
      • 最近的细粒度对象分类方法能够通过强化学习仅从类别标签中学习有区别的区域定位器。然而,如果不利用任何明确的零件信息,他们就无法准确地找到多个不同的区域。
      • 与细粒度对象分类的劳动和耗时的零件注释相比,属性标记更容易。因此,属性标签信息可以作为零件定位的薄弱环节,进一步提高分类精度。
    • 注意力相关:
      • 同时,循环视觉注意力模型能够有效地定位零件,并以端到端的方式学习其判别表示。近年来提出了许多循环视觉注意力模型。现有的视觉注意力模型可以分为软注意力或硬注意力。
        • 软注意力模型以确定性的方式预测注意力区域。因此,它是可微分的,并且可以使用反向传播进行训练。
        • 硬注意力模型预测图像的注意力点,这是随机的。它们通常通过强化学习或最大化近似变分下界来训练。一般来说,软注意力模型比硬注意力模型更有效,因为硬注意力模型需要采样进行训练,而软注意力模型可以端到端地训练。
      • 视觉注意力模型在实践中存在的一些缺点。
        • 首先,到目前为止,软注意力模型只会带来很小的性能改进。更强大的视觉注意力模型有望提高分类精度。
        • 其次,使用强化学习技术的硬注意方法通常不如软注意方法有效。应该进一步探索能够提高硬注意模型效率的方法。

Section 3 Deep image semantic segmentation

深度图像语义分割

  • 设计思想:

    基于深度学习的图像语义分割旨在为每个图像像素预测一个类别标签

  • 近期进展:

    • 最近的方法已将卷积神经网络(CNNs)应用于该像素级标记任务,并取得了显著的成功。
    • 许多基于 CNN 的分割方法都是基于区域提案的方法,它们首先生成区域建议,然后为每个区域分配类别标签。
    • FCN 由于其有效的特征生成和端到端训练,已成为语义分割的热门选择。

3.1 Region proposal based approaches

基于区域提案的方法

image

  • R-CNN 设计思想:
    • 在 R-CNN 中,基于对象检测结果执行语义图像分割。对输入图像使用选择性搜索来提取大约 2000 个自下而上的区域提案。
    • 卷积神经网络以仿射扭曲区域为输入,生成固定大小的 CNN 特征,而不考虑区域的形状。
    • 然后,使用几个特定于类的线性 SVM 来对不同的区域进行分类。
    • 最后,使用来自 CNN 的特征来预测幸存候选者的类别特定掩码。

image

  • SDS 设计思想:
    • 与 R-CNN 类似,同时检测和分割(SDS)通过独立于类别的自下而上的对象建议开始语义分割。
    • 本文选择了多尺度组合分组(MCG),为每张图像生成 2000 个候选区域。
    • 训练两个CNN(bBox-CNN和region-CNN)来从区域的边界框和裁剪的、扭曲的区域中提取特征,其中区域的背景被掩盖(具有平均图像)。
    • 与对两个输入(图像窗口和区域掩码)使用相同的 CNN 相比,使用单独的网络,其中每个网络都根据其各自的角色进行了微调,从而显著提高了性能。
    • 然后使用 CNN 特征来训练区域分类器,以将每个类别的分数分配给每个候选者。
    • 为了生成最终的语义分割,SDS 首先学习预测每个区域的粗略、自上而下的图形基础掩码。通过向每个超级像素分配该超级像素中的粗略掩模的平均值,将粗略掩模投影到超级像素来生成最终分割。

3.2 FCN based approaches

基于FCN的方法

image

  • 设计思想:

    DAG 是一种在语义分割上进行端到端、像素到像素训练的全卷积网络(FCN)。它将完全连接的层转换为卷积层,并使分类网能够输出热图。空间损耗用于端到端高效地训练 FCN。

  • 缺点:

    该方法不利用预处理和后处理的复杂性,包括超像素、建议或通过随机字段或局部分类器进行的事后细化。

image

  • 反卷积网络由两部分组成:卷积网络和反卷积网络。
    • 卷积网络对应于将输入图像转换为多维特征表示的特征提取器,
    • 反卷积网络是根据从卷积网络提取的特征产生对象分割的形状生成器。
    • 网络的最终输出是与输入图像大小相同的概率图,指示属于预定义类别之一的每个像素的概率。
  • VGG-16 用于去除了其最后一个分类层的卷积部分。
    • 反卷积网络总共有 13 个卷积层,其中有时在卷积之间执行校正和池化操作,并且在末端增加 2 个完全连接的层以施加特定类别的投影。
    • 反卷积网络是卷积网络的镜像版本,具有多个系列的去极化、反卷积和校正层。
    • 与通过前馈减小激活大小的卷积网络相反,反卷积网络通过组合去极化和反卷积操作来放大激活。最后,通过多系列的去极化、去卷积和校正操作,构建了密集像素类预测图。

image

  • DeepLab 采用了带有上采样滤波器的卷积或 “atrous 卷积” 作为图像分割的强大工具。
    • Atrous 卷积明确控制在深度卷积神经网络中计算特征响应的分辨率。它还有效地扩大了滤波器的视野,以包含更大的上下文,而不增加参数的数量或计算量。
    • 萎缩空间金字塔池(ASPP)用于在多个尺度上分割对象。ASPP 在多个采样率和有效视场下使用滤波器探测传入的卷积特征层,从而在多个尺度上捕获对象和图像上下文。
    • DeepLab 的另一个贡献是,它通过结合 DCNN 和全连通条件随机场(CRF)的方法来改进对象边界的定位,这在定性和定量上都被证明可以提高定位性能。