信丰县建设局网站,个人网站cms,群辉授权wordpress权限,小羚羊网站怎么建设论文标题
《Fine-Grained Image Analysis with Deep Learning: A Survey》
作者
魏秀参#xff0c;南京理工大学
初读
摘要 与上篇综述相同#xff1a; 细粒度图像分析#xff08;FGIA#xff09;的任务是分析从属类别的视觉对象。 细粒度性质引起的类间小变化和类内…论文标题
《Fine-Grained Image Analysis with Deep Learning: A Survey》
作者
魏秀参南京理工大学
初读
摘要 与上篇综述相同 细粒度图像分析FGIA的任务是分析从属类别的视觉对象。 细粒度性质引起的类间小变化和类内大变化使其成为一个具有挑战性的问题。 本文还涵盖了 FGIA 的其他一些重要问题例如公开的基准数据集及其相关的特定领域应用。 最后在总结这项调查时强调了几个方向和有待社会进一步探索的问题。 与上篇综述不同 本文试图通过整合两个基本的细粒度研究领域——细粒度图像识别和细粒度图像检索重新定义和拓宽 FGIA 的领域。
结论
这篇有 CONCLUSION 了哈 : )
本文对基于深度学习的细粒度图像分析FGIA的最新进展进行了全面的调查。 主张通过整合细粒度识别和细粒度检索方面的工作扩大 FGIA 的定义。列举了现有研究中的差距指出了一系列新兴课题强调了未来重要的研究方向并说明了 FGIA 问题仍远未解决。 鉴于过去十年中性能的显著提高随着我们朝着更现实、更有影响力的应用程序迈进我们对未来的进展仍持乐观态度。
再读
Section 1 Introduction 第一段细粒度图像分析FGIA目标 人类视觉系统天生具有精细的图像推理能力——我们不仅能够区分狗和鸟还知道西伯利亚哈士奇和阿拉斯加雪橇之间的区别。 细粒度图像分析FGIA被引入学术界的目的完全相同即教机器以细粒度的方式“看”。 FGIA方法在工业和研究中有着广泛的应用例如生物多样性自动监测、智能零售和智能交通并在保护和商业等领域产生了积极影响。 第二段FGIA 与深度学习 FGIA 在计算机视觉中的目标是检索和识别属于超类别也称为元类别或基层类别的多个下级类别的图像例如不同种类的动物/植物、不同型号的汽车、不同种类的零售产品等。关键的挑战在于理解细粒度的视觉差异这些差异足以区分总体外观高度相似但细粒度特征不同的对象。深度学习已经成为判别特征学习的一种强大方法并在FGIA领域取得了显著突破。支持深度学习的 FGIA 极大地推动了这些方法在各种应用场景中的实际部署。 第三段大量文章与竞赛 粗略统计数据显示在每一次高级视觉和机器学习会议上平均每年都会发表超过 10 篇关于基于深度学习的 FGIA 的会议论文。许多关于 FGIA 的有影响力的比赛经常在在线平台上举行。代表包括一系列的自然学家竞赛针对大量自然物种、自然保护协会渔业监测针对鱼类物种分类、座头鲸鉴定针对鲸鱼身份分类等。每场比赛都吸引了来自世界各地的数百名参赛者有些甚至超过了 2000 支队伍。针对 FGIA 主题的特定教程和研讨会也在顶级国际会议上举行。 第四段本文工作 问题 对深度学习的 FGIA 的研究仍然是零散的。 本次调查的目的 全面调查 FGIA 的最新成就特别是深度学习技术带来的成就通过整合 FGIA 不同方面的研究提出一个统一的研究前沿。 与现有调查的不同 现有的调查只关注细粒度识别/分类问题正如我们所说这只是FGIA更大研究的一部分。本文试图通过强调细粒度识别与细粒度图像检索这一并行但互补的任务之间的协同作用重新定义和拓宽细粒度图像分析的领域这也是 FGIA 的一个组成部分。 第五段 五个贡献 拓宽了 FGIA 的领域通过提供一个统一的景观促进细粒度图像分析中相关问题之间的协同作用。对基于深度学习的 FGIA 技术进行了全面的综述包括公认的问题定义、基准数据集、不同的 FGIA 方法家族以及涵盖特定领域的 FGIA 应用。特别是我们对这些方法进行了分类组织为读者提供了该领域最先进技术的快速快照。在几个公开可用的数据集上整合了现有方法的性能并提供了讨论和见解为未来的研究提供信息。讨论了现有的挑战和悬而未决的问题并确定了新的趋势和未来的方向为社区解决这些问题提供了一个合理的路线图。为了持续跟踪这一快速发展领域的最新进展我们提供了一个附带的网页根据我们基于问题的分类法对解决 FGIA 问题的论文进行了编目http://www.weixiushen.com/project/Awesome_FGIA/Awesome_FGIA.html
Section 2 RECOGNITION VS. RETRIEVAL
识别与检索
先前对 FGIA 的调查主要集中在细粒度识别上没有揭示 FGIA 问题的所有方面。本文涵盖了细粒度图像分析的两个基本领域即识别和检索以便全面回顾基于深度学习的 FGIA 技术的最新进展。 细粒度识别Fine-Grained Recognition将不同的细粒度识别方法家族组织为三种范式 通过定位分类子网络进行识别通过端到端特征编码进行识别利用外部信息进行识别。 细粒度识别是FGIA研究最多的领域因为识别是大多数视觉系统的基本能力因此值得长期持续研究。 细粒度检索Fine-Grained Retrieval根据查询图像的类型将细粒度检索方法分为两组 基于内容的细粒度图像检索基于草图的细粒度图片检索。 与细粒度识别相比细粒度检索是近年来FGIA的一个新兴领域越来越受到学术界和工业界的关注。 识别和检索差异Recognition and Retrieval Differences细粒度识别和检索都旨在识别不同细粒度对象之间有区别但微妙的差异 细粒度识别是一项封闭世界的任务具有固定数量的从属类别。相比之下细粒度检索将问题扩展到具有无限子类别的开放世界环境中。此外细粒度检索还旨在对所有实例进行排名以便根据查询中的细粒度细节对描述感兴趣概念例如相同的子类别标签的图像进行最高排名。 识别和检索协同效应Recognition and Retrieval Synergies 细粒度识别和检索的进展具有共性可以相互受益。 常见的技术 深度度量学习方法、多模态匹配方法以及选择有用的深度描述符的基本思想等。 此外在现实世界的应用中细粒度识别和检索也相互补充 检索技术能够通过利用来自细粒度识别模型的学习表示来支持新的子类别识别。
Section 3 BACKGROUND: PROBLEM AND CHALLENGES
背景问题和挑战 第一段FGIA 的地位 FGIA 通常涉及的两个中心任务细粒度图像识别和细粒度图像检索。 细粒度分析位于基本级别的类别分析即通用图像分析和实例级别的分析例如个体识别之间的连续体中。 第二段FGIA 与通用图像分析的区别 在通用图像分析中目标对象属于粗粒度元类别即基本级别类别因此在视觉上非常不同例如确定图像是否包含鸟、水果或狗。 在 FGIA 中由于对象通常来自同一元类别的子类别因此问题的细粒度性质导致它们在视觉上相似。 细粒度性质具有挑战性因为高度相似的子类别导致了小的类间变化以及姿态、尺度和旋转方面的大的类内变化。这与一般图像分析即小的类内变化和大的类间变化相反也是 FGIA 成为一个独特且具有挑战性的问题的原因。下图分别展示了图中每行四种燕鸥中的每一种。 第三段一些如归 FGIA 的问题 虽然实例级分析通常针对对象的特定实例而不仅仅是对象类别甚至是对象子类别但如果我们向下移动粒度范围在极端情况下个人识别例如人脸识别可以被视为细粒度识别的一个特殊实例其中粒度处于个人身份级别。人/车再识别可以被视为一项细粒度任务旨在确定是否拍摄了同一特定人/车的两张图像。在实践中这些工作使用 FGIA 的相关方法来解决相应的领域特定问题例如通过捕捉对象人脸、人和车辆的辨别部分发现从粗到细的结构信息、开发基于属性的模型等。这些实例级问题的研究也非常活跃。然而由于此类问题不在经典 FGIA 的范围内见图3有关更多信息我们请读者参阅这些特定主题的调查论文。在下文中我们首先制定我们对经典 FGIA 的定义。 下面是一些看不下去的公式化的定义看不了一点略了。
Section 4 BENCHMARK DATASETS
基准数据集 视觉界发布了许多盖了不同领域的细粒度的基准数据集 例如鸟类、狗、汽车、飞机、花卉、蔬菜、水果、食品、时尚、零售产品等。 值得注意的是即使是最流行的大规模图像分类数据集 ImageNet也包含细粒度的类涵盖了许多狗和鸟的子类别。 下图示例了一些细粒度基准数据集的代表性图像 下表总结了最常用的图像数据集并指出了它们的元类别、图像数量、类别数量、它们的主要任务和额外的可用监督例如边界框、零件注释、层次标签、属性标签和文本描述 “# images” 是指这些数据集的图像总数。“BBox” 表示此数据集是否提供对象边界框监督。“Part anno 零件注释” 表示提供了关键零件注释。“HRCHY” 对应分层标签。“ATR” 表示属性标签例如翅膀颜色、雄性、雌性等。“Texts 文本” 表示是否提供图像的细粒度文本描述。 示例图像及其与 CUB200-2011 相关的监督。如图所示多种类型的监督包括图像标签、零件注释也称为关键点定位、对象边界框即绿色边界框、属性标签即“ATR”和自然语言的文本描述。 CUB200-2011 记首功 具体来说其中 CUB200-2011 是最受欢迎的细粒度数据集之一。几乎所有的 FGIA 方法都选择它来与现有技术进行比较。此外CUB200-2011 不断为进一步的研究做出贡献例如收集细粒度图像的文本描述用于多模态分析。 这两年的新数据集及其引入的新特征 近年来提出了更具挑战性和实用性的细粒度数据集例如包含不同植物和动物物种的 iNat2017以及零售产品的 RPC。这些数据集的新特性包括它们是大规模的具有层次结构表现出域间隙并形成长尾分布。这些挑战说明了 FGIA 在现实世界中的实际要求并激发了新的有趣的研究挑战。 一系列基于草图的细粒度图像检索数据集 如 QMUL-Shoe、QMUL-Chair、QMSL-手提包、SBIR-2014、SBIR-2017、Sketchy、QMUL-Shoe-V2进一步推进细粒度检索的发展。 构建了一些新的数据集和基准 如 FG-Xmedia以将细粒度图像检索扩展到细粒度跨媒体检索。
Section 5 FINE-GRAINED IMAGE RECOGNITION
细粒度图像识别 从广义上讲现有的细粒度识别方法可以分为以下三个主要范式 通过本地化分类子网络进行识别通过端到端特征编码进行识别利用外部信息进行识别。 其中前两种范式通过仅利用与细粒度图像相关的监督来限制自己如图像标签、边界框、零件注释等。 为了进一步解决模糊的细粒度问题有大量工作使用了额外的信息如图像拍摄的地点和时间、网络图像或文本描述。 为了直观地展示这些具有代表性的基于深度学习的细粒度识别方法在下图中显示了按时间顺序排列的概述将它们组织成前面提到的三个范式。 对于性能评估当测试集是平衡的即每个类别都有相似数量的测试示例时细粒度识别中最常用的度量是数据集所有下级类别的分类准确性。它被定义为 A c c u r a c y ∣ I c o r r e c t ∣ ∣ I t o t a l ∣ 模型正确分类的图像数量 测试集中所有子类别的图像数量 \mathrm{Accuracy}\frac{|I_\mathrm{correct}|}{|I_\mathrm{total}|}\frac{\mathrm{模型正确分类的图像数量}}{\mathrm{测试集中所有子类别的图像数量}} Accuracy∣Itotal∣∣Icorrect∣测试集中所有子类别的图像数量模型正确分类的图像数量
5.1 Recognition by Localization-Classification Subnetworks
通过本地化分类子网络进行识别 设计思想 研究人员试图创建模型捕捉细粒度对象的判别语义部分然后构建与这些部分相对应的中级表示用于最终分类。 具体设计 设计了一个定位子网络来定位关键零件然后获得相应的零件级局部特征向量。这通常与用于表示细粒度对象的对象级全局图像特征相结合。然后是一个分类子网络它执行识别。这两个协作子网络的框架形成了第一个范式即具有本地化分类子网络的细粒度识别。这些模型的动机是首先找到相应的零件然后比较它们的外观。即需要捕获在细粒度类别中共享的语义部分例如头部和躯干并发现这些部分表示之间的细微差异。 第一范式中的现有方法可分为四大类 采用检测或分割技术利用深度滤波器利用注意力机制其他方法。
5.1.1 Employing Detection or Segmentation Techniques
采用检测或分割技术 设计思想 使用检测或分割技术来定位与细粒度对象部分相对应的关键图像区域是很简单的例如鸟头、鸟尾、车灯、狗耳朵、狗躯干等。得益于定位信息即零件级边界框或分割掩模模型可以获得相对于这些零件的更具鉴别力的中级零件级表示。进一步增强分类子网络的学习能力从而显著提高最终识别的准确性。 相关工作 该范式中的早期工作使用了**额外的密集部分注释也称为关键点定位**来定位对象的语义关键部分。 Branson 等人提出使用检测到的零件关键点组来计算多个扭曲的图像区域并通过姿态归一化进一步获得相应的零件级特征。 张等人首先基于基本事实零件注释生成零件级边界框然后训练 R-CNN 模型来执行零件检测。 Di 等人进一步提出了一种阀门连接函数VLF该函数不仅连接了所有子网络而且根据零件对准结果细化了定位。 为了集成语义零件检测和抽象SPDA-CNN 设计了一种自上而下的方法通过继承先前的几何约束来生成零件级提案然后使用 Faster R-CNN 返回零件定位预测。 其他方法利用了分割信息。 PS-CNN 和 Mask-CNN 采用分割模型来获得零件/对象掩码以帮助零件/对象定位。与检测技术相比分割可以实现更准确的零件定位因为分割侧重于更精细的像素级目标而不仅仅是粗略的边界框。 注释依赖与弱监督 使用传统的检测器或分割模型需要密集的零件注释来进行训练这是劳动密集型的并且会限制现实世界细粒度应用程序的可扩展性和实用性。因此希望仅使用图像级标签来准确定位细粒度零件这组方法被称为“弱监督”。 值得注意的是自2016年以来在弱监督环境中开发细粒度方法的趋势明显而不是在强监督环境中即使用零件注释和边界框。张等人采用了空间金字塔策略从对象提案中生成部分提案。然后通过使用聚类方法他们生成了零件建议原型聚类并进一步选择有用的聚类来获得有区别的零件级特征。基于联合分割的方法也通常用于这种弱监督的情况。一种方法是在没有监督的情况下使用共同分割来获得对象掩码然后执行启发式策略例如零件约束或零件对齐以定位细粒度零件。 内部语义相关性 以前的大多数工作都忽略了区分零件级特征之间的内部语义相关性。上述方法独立地挑选出判别区域并直接利用它们的特征而忽略了对象的特征在语义上是相互关联的并且区域组可以更具判别性。因此最近的一些方法试图联合学习零件级特征之间的相互依赖性以获得更通用、更强大的细粒度图像表示。通过执行不同的特征融合策略例如LSTM 或知识提取这些联合零件特征学习方法产生了比以前的独立零件特征学习法高得多的识别精度。
5.1.2 Utilizing Deep Filters
使用深层过滤器 设计思想 在深度卷积神经网络CNN中深度滤波器即CNN 滤波器是指卷积层的学习权重。来自这些深度过滤器的响应/激活可以被视为本地化描述符。深度描述符具有以下属性 局部性它们描述并对应于相对于整个输入图像的局部图像区域空间性它们还能够对空间信息进行编码。 中间的 CNN 输出例如局部深度描述符可以与常见对象的语义部分联系起来。因此细粒度社区试图将这些滤波器输出用作部分检测器并因此依赖它们来进行定位分类细粒度识别。这里的一个主要优点是这不需要任何零件级注释。 相关工作 使用深度滤波器从预训练的分类 CNN 中获得检测到的部分后使用基于部分的特征向量来训练离线分类器例如 SVM 或决策树以进行最终识别任务。 肖等人对这些深度滤波器进行光谱聚类以形成组然后使用滤波器组作为部分检测器。NAC 利用 CNN 的通道作为部分检测器。刘等通过使用来自两个连续卷积层的激活作为指导聚合基于部分的深度描述符开发了一种跨层池化方法。PDFS 被提出选择与零件相对应的深度滤波器然后迭代更新学习到的“检测器”从而发现了具有判别性和一致性的基于零件的图像区域。 便于学习零件检测和基于零件分类的统一的端到端训练的细粒度模型。 王等人使用了一个额外的可学习的 1 × 1 1\times1 1×1 卷积滤波器作为小块即部分检测器。随后是全局最大池化以保持最高激活率相对于最终分类的过滤器。基于类响应映射S3N 利用类峰值响应即局部最大值作为零件定位的基础。S3N 也以相互部分学习的方式考虑部分相关性。
5.1.3 Leveraging Attention Mechanisms
利用注意力机制 设计思想 以前的定位分类细粒度方法的主要缺点之一是需要对对象部分进行有意义的定义。然而在许多应用中可能很难表示甚至定义某些对象类的公共部分例如非结构化对象如菜或具有重复部分的花。与这些定位分类方法相比寻找零件的一个更自然的解决方案是利用注意力机制作为子模块。这使得 CNN 能够关注细粒度对象的松散定义区域因此成为一个有前景的方向。 相关工作 Fu 等人和 Zheng等人率先引入注意力处理来提高细胞神经网络的细粒度识别精度。 RA-CNN 使用循环视觉注意力模型来选择一系列注意力区域对应于对象的“部分”这里的“部分”是指细粒度对象的松散定义的注意区域这与手动注释中明确定义的对象部分不同。RA-CNN 以先前的预测为参考以从粗到细的方式迭代生成区域注意力图。MA-CNN 配备了多注意力 CNN可以并行返回多个区域注意力。 Peng 等人和 Zheng 等人提出了多层次注意力模型来获得层次注意力信息即对象级和部分级。 He 等人应用多层次注意力通过 n 路端到端判别定位网络为每个图像同时定位多个判别区域该网络同时定位判别区域并对其特征进行编码。与上述单层次注意力方法相比这种多层次注意力可以产生多样化和互补的信息。 Sun 等人结合了渠道关注和度量学习以加强不同关注区域之间的相关性。郑等人开发了一个三线性注意力采样网络从数百个部分建议中学习细粒度的细节并有效地将学习到的特征提取到单个 CNN 中。Ji 等人提出了一种基于注意力的卷积二元神经树该树将注意力机制与树结构相结合以促进从粗到细的分层细粒度特征学习。尽管注意力机制在细粒度识别中实现了很强的准确性但在小规模数据的情况下它往往会过度拟合。
5.1.4 Other Methods
其他方法
空间变换器网络STN STN 最初是为了以端到端可学习的方式显式执行空间变换而引入的。STN 可以配备多个并行的转换器以进行细粒度识别。STN 中的每个变换器可以对应于具有空间变换能力的零件检测器。 王等人开发了一个具有几何约束的三元组补丁作为模板以自动挖掘判别三元组然后用挖掘的三元组生成中级表示进行分类。其他方法通过引入反馈机制获得了更好的精度 NTS-Net 采用多智能体协作学习方案来解决细粒度识别的核心问题即准确识别图像中的信息区域。M2DRL 是第一个在对象和零件级别上利用深度强化学习使用其定制的奖励函数来捕获多粒度判别定位和多尺度表示。 受自然语言处理中低秩机制的启发Wang 等人提出了 DF-GMM 框架以缓解高级特征图中的区域扩散问题用于细粒度零件定位。 DF-GMM 首先通过构造低秩基从高级特征图中选择判别区域然后应用低秩基的空间信息来重构低秩特征图。零件相关性也可以通过重组处理进行建模从而提高准确性。
5.2 Recognition by End-to-End Feature Encoding
通过端到端特征编码进行识别
设计思想 与其他视觉任务一样特征学习在细粒度识别中也发挥着重要作用。由于子类别之间的差异通常是非常微妙和局部的因此仅使用完全连接的层捕获全局语义信息限制了细粒度模型的表示能力从而限制了最终识别性能的进一步提高。因此现有的一些方法旨在学习统一但有区别的图像表示。 细粒度类别之间的细微差异的建模方法分为三类 通过执行高阶特征交互通过设计新的损失函数通过其他方式。
5.2.1 Performing High-Order Feature Interactions
执行高阶特征交互 设计思想 特征学习在几乎所有的视觉任务中都起着至关重要的作用如检索、检测、跟踪等。深度卷积网络的成功主要归功于学习到的判别性深度特征。 在深度学习的最初时代全连接层的特征即激活通常用作图像表示。后来更深卷积层的特征图被发现包含中高级信息例如对象部分或完整对象这导致了卷积特征/描述符的广泛使用。 此外与完全连接的输出相比将编码技术应用于这些局部卷积描述符已经带来了显著的改进。在某种程度上编码技术的这些改进来自于最终特征中编码的高阶统计信息。 特别是对于细粒度识别当 SIFT 特征的 Fisher Vector 编码在几个细粒度任务中优于微调的 AlexNet时对高阶统计的端到端建模的需求变得明显。 基于协方差矩阵的表示是一种具有代表性的高阶即二阶特征交互技术 设 V d × n [ v 1 , v 2 , … , v n ] \boldsymbol{V}_{d\times n}[\boldsymbol{v}_1,\boldsymbol{v}_2,\dots,\boldsymbol{v}_n] Vd×n[v1,v2,…,vn] 表示数据矩阵其中每列包含从图像中提取的局部描述符 v i ∈ R d \boldsymbol{v}_i\in\mathcal{R}^d vi∈Rd。 V \boldsymbol{V} V 上对应的 d × d d\times d d×d 样本协方差矩阵表示为 ∑ V ˉ V ˉ T \boldsymbol{\sum\bar{V}\bar{V}}^T ∑VˉVˉT或简称为 V V T \boldsymbol{VV}^T VVT其 V ˉ \boldsymbol{\bar{V}} Vˉ 表示中心 V \boldsymbol{V} V。最初提出该协方差矩阵作为区域描述符。例如表征图像块中像素的颜色强度的协方差。近年来它已被用作视觉识别的一种很有前途的二阶混合图像表示。 相关工作 其中最具代表性的方法是双线性 CNN 双线性 CNN 将图像表示为从两个深层 CNN 导出的特征的合并外积从而编码卷积激活的二阶统计从而显著提高了细粒度识别。当两个 CNN 设置为相同时该外积本质上导致协方差矩阵以 V V T \boldsymbol{VV}^T VVT 的形式。然而外积运算产生了极高维的特征即双线性合并特征被重塑为向量 z v e c ( V V T ) ∈ R d 2 \boldsymbol{z}\mathrm{vec}(\boldsymbol{VV}^T)\in\mathcal{R}^{d^2} zvec(VVT)∈Rd2。这导致深度网络的分类模块中的参数数量大幅增加这可能会导致过拟合并使其不适用于实际应用尤其是大规模应用。为了解决这个问题: Gao 等人应用张量草图来近似原始双线性池操作的二阶统计量并降低特征维数。Kong等人对协方差矩阵采用了低秩近似并进一步学习了低秩双线性分类器。所得到的分类器可以在不显式计算双线性特征矩阵的情况下进行评估这导致参数大小的大幅减小。李等人还通过执行具有低秩约束的二次变换来对成对特征交互进行建模。Yu 等人在双线性池之前使用降维投影来缓解维度爆炸。郑等人将双线性池应用于特征通道组其中双线性变换通过计算每个组内的成对交互来表示。这也导致计算成本的大幅度节省。 一些方法试图捕捉特征的高阶超过二阶相互作用以生成更强、更具鉴别力的特征表示。 崔等人介绍了一种内核池化方法该方法通过紧凑的特征映射捕获任意有序和非线性的特征。蔡等人提出了一种基于多项式核的预测器用于对多层卷积激活的高阶统计进行建模以对零件交互进行建模。随后开发了 DeepKSPD以端到端可训练的方式联合学习深度局部描述符和基于核矩阵的协方差表示。 基于奇异值分解SVD或本征分解EIG的非线性缩放 原因 由于 l 2 l_2 l2 特征归一化可以抑制高响应的常见模式从而增强这些判别特征即视觉突发性问题上述基于双线性池的方法通常执行逐元素平方根归一化然后对协方差矩阵进行 l 2 l_2 l2 归一化以提高性能。然而仅仅采用“ l 2 l_2 l2 -归一化”会导致高阶信息不稳定也会导致收敛缓慢。为此许多方法已经探索了基于奇异值分解SVD或本征分解EIG的非线性缩放以获得二阶表示的更多稳定性。 相关工作 李等人提出将幂指数应用于双线性特征的特征值以实现更好的识别精度。G2DeNet 通过高斯嵌入和矩阵平方根归一化进一步组合了互补的一阶和二阶信息。iSQRT COV 和改进的 B-CNN 使用 Newton-Schulz 迭代来近似矩阵平方根归一化只使用矩阵乘法来减少训练时间。MOMN 被提出在多目标优化框架内根据平方根、低秩和稀疏性同时规范双线性表示。
5.2.2 Designing Specific Loss Functions
设计特定损失函数 阻止低熵 与一般图像识别不同在细粒度分类中属于不同类别的样本在视觉上可能非常相似有理由防止分类器对其输出过于自信即阻止低熵。 在细粒度任务上训练网络时还最大化了输出概率分布的熵。Dubey 等人使用成对混淆优化程序通过将不同类别的条件概率分布更紧密地结合在一起并混淆深度网络来解决细粒度识别中的过拟合和样本特定伪影。这允许降低预测的置信度从而提高泛化性能。 比较图像对 人类可以通过比较图像对来有效地识别对比线索这种类型的度量/对比学习在细粒度识别中也很常见。 Sun 等人首先学习多个部分对应的注意力区域然后利用度量学习将相同注意力的同类特征拉近同时将不同注意力或不同类别特征推开。此外他们的方法可以在训练过程中连贯地加强不同对象部分之间的相关性。CIN 通过对比通道交互模块拉近正对同时推开负对该模块还利用样本之间的通道相关性。API-Net 也建立在度量学习框架的基础上可以从一对图像中自适应地发现对比线索并通过基于成对注意力的交互来区分它们。 用于定位零件级模式和进一步聚集图像级表示的单损失函数 Sun 等人开发了一个基于梯度增强的损失函数和一个多样化块以迫使网络快速移动来区分难分类。 多样化块抑制了类激活图的判别区域因此网络被迫寻找替代的信息特征。梯度引导损失集中在每个图像的困难即令人困惑类上并提高它们的梯度。MC Loss 通过关注不同的零件级区域鼓励特征通道具有更强的鉴别力。他们提出了一种不需要任何特定网络修改的单一损失用于细粒度对象的部分定位。
上述这些基于损失函数的细粒度识别方法与骨干网无关通常可以通过使用更强大的骨干网架构来提高其性能。
5.2.3 Other Methods
其他方法 细粒度定制的辅助任务 除了对高阶特征之间的相互作用建模和设计新的损失函数外另一组方法还涉及构建细粒度定制的辅助任务以获得统一和有区别的图像表示。 相关工作 BGL 被提出将丰富的二分图标签结合到 CNN 训练中以对细粒度类之间的重要关系进行建模。DCL 执行了一个**“破坏和构建”过程来提高识别的难度以引导网络专注于细粒度识别的判别部分即通过破坏学习**然后对对象各部分之间的语义相关性进行建模即通过构建学习。与 DCL 类似Du 等人使用拼图生成器代理任务处理细粒度表示学习以鼓励网络在不同粒度级别进行学习并同时将这些级别的特征融合在一起。一种更直接的细粒度特征学习方法其目标是以对抗性学习方式生成身份保留的细粒度图像以直接获得统一的细粒度的图像表示。作者表明这种直接特征学习方法不仅保留了生成图像的身份而且在其他具有挑战性的任务中显著提高了视觉识别性能如细粒度少镜头学习。
5.3 Recognition with External Information
外部信息识别
5.3.1 Noisy Web Data
有噪声的Web数据 设计思想 为了应对标注数据集难以获得的问题一些细粒度的识别方法试图利用免费但有噪声的网络数据来提高识别性能。这一行的大多数现有工作可以大致分为两个方向 网络监督学习 第一个方向涉及抓取感兴趣类别的带噪声标签的网络数据作为训练数据这些方法通常集中在 克服了容易获取的 web 图像和来自标准数据集的标记良好的数据之间的领域差距减少由噪声数据引起的负面影响。 相关工作 HARCNN 利用细粒度数据中固有的易于注释的元类还从网络中获取了大量标记有元类的图像以正则化模型从而以多任务的方式提高识别精度即对于细粒度数据和元类数据识别任务。徐等人研究了细粒度网络图像是否可以提供弱标记信息来增强深层特征从而通过构建多实例MI学习器即将图像视为MI包将建议部分边界框视为MI实例来有助于鲁棒的对象分类器。Krause 等人介绍了一种替代方法通过排除出现在多个类别的搜索结果中的图像将通用分类模型与网络数据相结合以对抗跨域噪声。受对抗性学习的启发提出了一种对抗性判别损失以鼓励标准数据和网络数据之间的表示一致性。 知识转移 第二个方向是将具有良好标记的训练数据的辅助类别的知识转移到测试类别这通常采用零样本学习或元学习。相关工作 Niu 等人利用零样本学习将知识从带注释的细粒度类别转移到其他细粒度类别。张等人、杨等人和张等人研究了选择高质量网络训练图像以扩展训练集的不同方法。 张等人提出了一种新的正则化元学习目标来指导网络参数的学习使其最适合于目标细粒度类别。杨等人设计了一种迭代方法通过使用多个标签修改标签分配来逐步选择有用的图像以减少标签对噪声网络数据的影响。张等人利用不同训练时期的预测分数来监督有用和不相关的噪声网络图像的分离。
5.3.2 Multi-Modal Data
多模态数据 设计思想 在细粒度识别中多模态数据可以通过合并多模态数据来建立联合表示/嵌入以提高细粒度识别的准确性。在实践中**文本描述text descriptions和知识库knowledge bases**都是推进细粒度图像表示学习的有用的额外指导。 与来自细粒度图像的强语义监督例如零件注释相比文本描述是一种较弱的监督形式即它们只提供图像级别的监督。然而一个优点是非专家可以相对准确地生成文本描述。因此它们既容易收集又便宜。此外高级知识库在可用时可以包含丰富的知识例如DBpedia。 相关工作 文本描述 Reed 等人收集了文本描述并通过结合文本和图像为零样本细粒度图像识别引入了结构化联合嵌入。He 和 Peng 以端到端的联合方式将视觉和语言双流相结合以保留模态内和模态间信息从而生成互补的细粒度表示。PMA 提出了一种基于掩模的自注意机制以捕捉视觉模态中最具鉴别力的部分。此外他们还探索了使用具有查询关系注意的语言来使用视觉领域外的知识。使用所提出的渐进掩模策略对视觉和语言模式的多个PMA块进行聚合和堆叠。 知识库 T-CNN 使用知识库和文本中的语义嵌入进行了探索然后训练 CNN 将图像特征线性映射到语义嵌入空间以聚合多模态信息。为了将知识表示纳入图像特征KERL 采用门控图网络通过图传播节点消息以生成知识表示。结合了与感兴趣的细粒度视觉类别相关的音频信息以提高识别精度。
5.3.3 Humans-in-the-Loop
人在循环
人在循环方法将人类知识的互补优势与计算机视觉算法相结合。在循环中使用人类的细粒度识别通常是以迭代的方式提出的并且需要视觉系统在询问人类寻求帮助时保持智能。通常对于这些类型的识别方法在每一轮中系统都试图了解人类是如何进行识别的 通过要求专家标记图像类别或者通过识别关键部分定位并选择判别特征进行细粒度识别。
5.4 Summary and Discussion
总结与讨论
CUB200-2011、Stanford Dogs、Stanford Cars 和 FGVC Aircraft 基准是细粒度识别中最具影响力的数据集。下表总结了属于上述三种识别学习范式的细粒度方法所取得的结果。 主要观察结果总结如下 有挑战亦有解决 所审查的方法与上述细粒度识别的挑战之间存在明确的对应关系。具体而言捕捉细微视觉差异的挑战可以通过定位分类方法或通过特定的基于构造的任务以及人在环方法来克服。通过执行高阶特征交互或利用多模态数据可以缓解表征细粒度定制特征的挑战。最后通过设计特定的损失函数可以在一定程度上解决 FGIA 的挑战性以实现更好的精度。 在不同的学习范式中“定位分类子网络识别” 和 “端到端特征编码识别” 是研究最频繁的两种范式。 细粒度对象类别的部分级推理提高了细粒度识别的准确性尤其是对于非刚性对象如鸟类。近年来对判别部分之间的内部语义交互/相关性进行建模引起了越来越多的关注。 非刚性细粒度物体识别如鸟类或狗比刚性细粒度对象如汽车或飞机更具挑战性这在一定程度上是由于物体外观的变化。 细粒度图像识别性能随着图像分辨率的提高而提高。不同图像分辨率的 CUB200-2011 的对比结果如下表所示。 “定位分类子网络识别” 范式在识别和定位能力之间存在权衡这可能会影响单个集成网络的识别精度。当试图获得更好的识别结果时这种权衡也反映在实践中因为训练通常涉及两个网络的交替优化或者分别训练两个网络然后进行联合调谐。交替或多级策略使集成网络的调整复杂化。 虽然有效但与定位分类子网络相比大多数端到端编码网络在非刚性和刚性视觉域中的人工可解释性较差准确性也较差。最近据观察几种高阶池化方法试图通过呈现视觉解释或从优化角度来理解这类方法。 当细粒度部分在元类别中不一致时基于“本地化分类子网络识别”的方法很难应用例如iNaturalist。在这里统一的端到端特征编码方法更合适。
Section 6 FINE-GRAINED IMAGE RETRIEVAL
细粒度图像检索 细粒度检索简介 细粒度检索与细粒度识别的区别在于除了正确估计子类别外还需要对所有实例进行排名以便根据查询中的细粒度细节对属于同一子类别的图像进行最高排名。 在细粒度检索中我们得到了一个相同元类别例如鸟类或汽车的图像数据库和一个查询目标是基于相关细粒度特征返回与查询相关的图像。 与基于内容相似性如纹理、颜色和形状检索近似重复图像的通用图像检索相比细粒度检索侧重于检索相同类别类型的图像如相同的从属动物物种或相同的车辆型号。 更具挑战性的是细粒度类别的对象表现出细微的差异可能在姿势、比例和方向上有所不同或者可能包含较大的跨模态差异例如在基于草图的检索的情况下。 应用领域 细粒度检索技术已广泛用于商业应用例如电子商务搜索细粒度产品、触摸屏设备通过草图搜索细粒度对象、犯罪预防搜索人脸照片等。 根据查询图像的类型细粒度图像检索研究最多的领域可以分为两组细粒度基于内容的图像检索FG-CBIR和细粒度基于草图的图像检索。 细粒度图像检索也可以扩展为细粒度跨媒体检索它可以利用一种媒体类型来检索任何媒体类型例如使用图像来检索相关的文本、视频或音频。 性能评估 性能评估遵循标准约定 FG-CBIR 性能通常使用 R e c a l l K RecallK RecallK 是测试集中所有 M M M 个查询图像的平均召回分数。对于每个查询返回前 K K K 个相关图像。如果在前 K K K 个返回的图像中至少有一个阳性图像则召回分数将为 1否则为 0。根据公式 R e c a l l K RecallK RecallK 如下 R e c a l l K 1 M ∑ i 1 M s c o r e i RecallK\frac{1}{M}\sum^M_{i1}\mathrm{score}_i RecallKM1i1∑Mscorei 为了测量 FG-SBIR 性能 A c c u r a c y K AccuracyK AccuracyK 是常用的这是真实匹配照片排名前 K K K 的草图的百分比 A c c u r a c y K ∣ I c o r r e c t K ∣ K AccuracyK\frac{|I^K_\mathrm{correct}|}{K} AccuracyKK∣IcorrectK∣ 其中 ∣ I c o r r e c t K ∣ |I^K_\mathrm{correct}| ∣IcorrectK∣ 是前 K K K 中的真实匹配照片的数量。
6.1 Content-based Fine-Grained Image Retrieval
基于内容的细粒度图像检索 相关工作 SCDA SCDA 是使用深度学习的细粒度图像检索的最早例子之一。它使用预先训练的 CNN通过在不使用明确的定位监督的情况下定位图像中的主要对象来选择有意义的深度描述符。他们表明通过去除背景特征只选择有用的深度描述符可以在这种无监督的检索环境中即不需要图像标签显著提高检索性能。 基于监督度量学习的方法 最近已经提出了基于监督度量学习的方法来克服无监督检索的检索精度限制。这些方法仍然包括专门为细粒度对象定制的附加子模块例如[170]中提出的弱监督定位模块该模块又受到[32]的启发。CRL-WSL 采用集中排序损失和弱监督定位方法来训练其特征提取器。DGCRL 在训练和测试阶段通过添加归一化标度层来消除内积和欧几里得距离之间的差距以增强类内可分性和类间紧凑性及其不相关的全局感知集中排名损失。 通过降低细粒度模型的置信度来修改传统的交叉熵函数提出了分段交叉熵损失这类似于遵循细粒度类别的自然预测置信度得分的基本思想。 基于细粒度内容的图像检索方法的性能分析 尽管基于监督度量学习的检索方法优于无监督方法但检索任务的绝对回忆得分仍有进一步提高的空间。一个有前景的方向是将高级技术例如注意力机制或高阶特征交互成功地将细粒度识别集成到 FG-CBIR 中以实现更好的检索精度。然而需要新的大规模 FG-CBIR 数据集来推动未来的进展这也需要与其他特征或挑战相关联例如开放世界子类别检索参见第2节。
6.2 Sketch-based Fine-Grained Image Retrieval
基于草图的细粒度图像检索 细粒度基于草图的图像检索FGSBIR简介 FGSBIR 的目标是使用徒手草图作为查询模式来匹配特定的照片实例。与之前讨论的基于内容的方法不同额外的草图照片域间隙位于 FG-SBIR 的中心。因此关键是引入一种跨模态表示该表示不仅捕捉草图中存在的细粒度特征而且具有遍历草图和图像域间隙的能力。 相关工作 现有的 FG-SBIR 解决方案通常旨在训练联合嵌入空间在该空间中可以以最近邻的方式比较草图和照片。 李等人提出了 FG-SBIR 的第一种方法在该方法中他们学习了基于可变形零件的模型DPM作为中级表示以独立地发现和编码草图和图像域中的各种姿势。随后在 DPM 上执行图形匹配操作以建立两个域之间的姿势对应关系。 Yu 等人首先将深度学习用于该任务利用具有阶段性预训练策略的三元组排序模型来学习两个领域的联合嵌入空间。该三元组排序模型通过辅助语义属性预测和属性排序层进行了进一步扩展以提高泛化能力。 FG-SBIR 中由于草图-照片-域间隙大而遇到的隐含挑战是通过使用跨域翻译的判别生成混合模型来解决的。受这些方法的启发 Song 等人引入了一个注意力模块对视觉特征的空间位置进行了编码并结合了粗略和细粒度的语义知识。 李等人介绍了一种部分感知学习方法通过对细粒度属性执行子空间对齐来减少实例级域间隙。 尽管对细粒度 SBIR 的研究多年来蓬勃发展但一个难题仍然存在——与其他替代方案如文本或属性相比草图是否是细粒度图像检索的更好输入模式。为了回答这个问题Song 等人展示了在细粒度检索中草图优于文本的优越性表明当联合建模时每种模态都可以互补。 与这些早期的工作主要基于暹罗三元组网络相比最近有几次尝试提高 FG-SBIR 的性能 Pang 等人发现当暴露于看不见的类别时基于基线三元组的模型无法进行推广。因此通过领域泛化设置引入了跨类别泛化其中对原型视觉草图的通用流形进行建模以动态表示草图/照片。Bhunia 等人通过强化学习开发了一种即时检索设置该设置在用户开始绘图时就开始检索照片。ImageNet 预训练的权重被认为是初始化 FG-SBIR 的草图/照片嵌入网络的事实选择。然而随着自监督学习的最新进展Pang 等人在特定照片及其边缘图之间的混合模态补丁上执行了拼图求解策略。他们表明这是一项有效的自我监督预训练策略的文本前任务它提高了 FG-SBIR 的性能。Sain 等人没有像在几乎所有以前的工作中那样执行独立的草图和照片嵌入而是通过使用跨模态共同注意和层次笔划/区域特征融合来使用成对嵌入以处理不同级别的草图细节。尽管性能显著提高但值得注意的是与其他最先进的方法相比成对嵌入会产生显著的计算开销至少是画廊照片数量的倍数。 最近研究了一种新的场景级细粒度 SBIR 任务。刘等人提出利用局部特征如对象实例及其视觉细节以及全局上下文例如场景布局来处理这样的任务。 除了之前的 FG-SBIR 方法外Zhang 等人和 Radenovic 等人还对流行的 FG-SBIR 数据集以及类别级 SBIR 数据集进行了评估。在下表中比较了最近的 FG-SBIR 方法的结果。请注意我们只提供评估策略统一和一致的方法因此排除了涉及特定问题评估协议的方法如零样本 FG-SBIR。
Section 7 COMMON TECHNIQUES SHARED BY BOTH FINEGRAINED RECOGNITION AND RETRIEVAL
细粒度识别和检索共享的通用技术 常见方法 在深度学习的背景下细粒度识别和检索任务都需要有区别的深度特征嵌入以区分细粒度对象之间的细微差异。识别的目的是区分类别标签而检索的目的是返回准确的排名。为了实现这些目标深度度量学习和多模式匹配可以被视为两组常见的技术适用于细粒度识别和检索。 深度度量学习试图将图像数据映射到嵌入空间在嵌入空间中相似的细粒度图像靠得很近而不同的图像相距很远。通常细粒度识别通过分类损失来实现度量学习其中它包括将嵌入空间转换为细粒度类 logits 的向量的权重矩阵。 而细粒度检索任务大多数情况下没有明确的图像标签的度量学习总是通过嵌入损失来实现的嵌入损失对批量中细粒度样本之间的关系进行操作。 最近多模式匹配方法已经成为强大的表示学习方法可以同时促进细粒度的识别和检索任务。 Mafla 等人利用文本信息和视觉线索来理解两种模态之间存在的内在关系。[30] 采用图卷积网络进行多模态推理获得关系增强的多模态特征。这种方法揭示了 FGIA 中多模式学习的新发展趋势。 常见的基本思想 除了这些常见的方法之外细粒度识别和检索都有许多基本思想例如 选择有用的深度描述符降低细粒度预测的不确定性解构/构建细粒度图像以学习细粒度模式。 这些观察结果进一步说明了在本文中合并细粒度识别和细粒度检索工作的好处。
Section 8 FUTURE DIRECTIONS
未来方向 “细粒度”的精确定义 这么多年以来 FGIA 这个词仍然缺乏精确的定义。 具体来说社区总是通过粗略地声明其目标对象属于一个元类别将所谓的细粒度数据集/问题定性地描述为“细粒度”。然而“细粒度”的精确定义可以使我们能够定量评估数据集的粒度。此外它不仅可以更好地了解当前算法在不同粒度任务上的性能还可以为细粒度社区带来更多的见解。 下一代细粒度数据集 CUB200-2011、Stanford Dogs、Stanford Cars 和 Oxford Flowers 等经典细粒度数据集中绝大多数用于FGIA的性能基准测试。然而按照现代标准这些数据集相对较小在性能方面基本饱和。在未来看到更多的大规模细粒度数据集被推广以取代这些现有的基准将是有价值的例如 iNat-2017、Dogs In the wild、RPC。 这些数据集的最新结果分别为 72.6%、78.5%、80.5%这表明还有很大的改进空间。这些新的基准除了具有规模就子类别和图像的数量而言外还应包含并体现与细粒度学习相关的所有挑战包含在现实环境中捕获的各种图像并包括丰富的注释。 然而高质量的细粒度数据集通常需要领域专家进行注释。这在一定程度上限制了细粒度数据集的开发。作为一种潜在的解决方案构建一个未标记的大规模细粒度数据库并采用无监督特征学习技术例如自监督学习可以有利于判别特征学习并进一步促进无监督下游任务。合成数据是一种越来越流行的训练深度模型的工具为 FGIA 的进一步探索提供了很有希望的机会。 应用于 3D 细粒度任务 大多数现有的 FGIA 方法都以 2D 细粒度图像为目标而 3D 信息例如3D 姿势标签或 3D 形状信息的价值还没有得到充分探索。3D 对象表示如何提高 2D FGIA 方法的性能是一个有趣而重要的问题。另一方面2D FGIA 方法如何推广到 3D 细粒度应用例如机器人垃圾箱拾取、机器人感知或增强现实也值得未来关注。为了在这一领域取得进展存在与难以获得许多对象类别例如动物或其他非刚性对象的精确 3D 注释相关的悬而未决的问题。 稳健的细粒度表示 使 FGIA 具有独特挑战性的一个重要因素是真实世界细粒度图像的巨大可变性包括视点、对象尺度、姿态的变化以及零件变形、背景杂波等因素。同时FGIA 通常规定要识别细粒度模式源自有区别但微妙的部分来驱动预测这使其对图像分辨率、破坏和扰动以及对抗性示例更加敏感。尽管深度学习取得了进展但当前的模型仍然对这些变化或干扰缺乏鲁棒性这大大限制了它们在许多现实世界应用中的可用性在这些应用中高精度至关重要。因此如何有效地获得稳健的细粒度表示即不仅包含有鉴别力的细粒度视觉线索而且抵抗无关信息的干扰需要进一步深入探索。如上所述当与下一代细粒度数据集结合时存在与自监督学习在这些领域中的效用相关的问题。例如自监督学习是否有助于改进 FGIA以及我们是否对细粒度数据执行自监督以生成稳健的细粒度表示 可解释的精细学习 与非专业人类相比单方面实现更高的准确性可能不再是 FGIA 的主要目标。细粒度模型不仅具有高精度而且具有可解释性这一点非常重要。更具可解释性的 FGIA 可以帮助社区在使用深度学习处理细粒度任务时解决几个挑战例如语义调试网络表示、通过语义级别的人机通信进行学习、设计更有效的、特定于任务的深度模型等。 细粒度少镜头学习 人类能够在很少的监督下学习一个新的细粒度概念例如用一种新鸟类的一些图像但我们最好的深度学习细粒度系统需要数百或数千个标记的例子。更糟糕的是细粒度图像的监督既耗时又昂贵因为细粒度对象需要由领域专家准确标记。因此需要开发细粒度少镜头学习FGFS方法。FGFS 的任务要求学习系统从几个例子例如少于10个中为新的细粒度类别构建分类器。稳健的FGFS 方法可以显著增强细粒度识别的可用性和可扩展性。 细粒度哈希 最近已经发布了更大规模的细粒度数据集。在细粒度图像检索等实际应用中在参考数据库非常大的情况下找到精确的最近邻居的计算成本可能高得令人望而却步。图像哈希是一种流行且有效的近似最近邻搜索技术也有可能帮助处理大规模细粒度数据。因此针对大数据挑战细粒度哈希是一个值得进一步探索的有前景的方向。 自动细粒度模型 自动机器学习AutoML和神经结构搜索NAS最近引起了越来越多的关注。 AutoML 的目标是自动化将机器学习应用于现实世界任务的过程NAS 是自动化神经网络架构设计的过程。 在各种计算机视觉应用中AutoML 和 NAS 的最新方法可能具有可比性甚至优于手工设计的体系结构。因此AutoML 和 NAS 技术可以为 FGIA 找到更好、更量身定制的深度模型这也是合乎逻辑的。 在更真实的环境中进行细粒度分析 现有的 FGIA 基准中的绝大多数都是在静态和封闭的环境中定义的。当前 FGIA 数据集的另一大限制是它们通常包含对象的大型实例即感兴趣的对象占据图像帧的大部分。然而这些设置并不能代表许多现实世界的应用例如通过用在受控环境中收集的图像训练的模型识别货架上的零售产品或者识别/检测野生数千种自然物种的趋势。需要在领域自适应、长尾分布、开放世界设置、规模变化、细粒度视频理解、知识转移和资源受限嵌入式部署等领域进行更多研究。