《Deep learning for fine-grained image analysis: A survey》
魏秀参,旷世研究院
细粒度图像分析(FGIA)的任务是分析从属类别的视觉对象。
细粒度性质引起的类间小变化和类内大变化使其成为一个具有挑战性的问题。
本文旨在系统地调查基于深度学习的 FGIA 技术的最新进展。
本文将现有的 FGIA 技术研究分为三大类:
细粒度图像识别
细粒度图像检索
细粒度图像生成
本文还涵盖了 FGIA 的其他一些重要问题,例如公开的基准数据集及其相关的特定领域应用。
最后在总结这项调查时强调了几个方向和有待社会进一步探索的问题。
这篇文章主要是未来展望,后面写。
第一段:介绍 CV
第二段:介绍细粒度图像分析(FGIA)
FGIA 的目标是检索、识别和生成属于超类别(也称为元类别)的多个次级类别的图像,例如不同种类的动物/植物、不同型号的汽车、不同种类的零售产品等。
关于 FGIA 的一些有影响力的学术竞赛经常在 Kaggle 上举行。几项具有代表性的竞赛,例如自然保护协会渔业监测(用于鱼类物种分类)、座头鲸识别(用于鲸鱼身份分类)等。每项竞赛都吸引了全球 300 多个团队参加,有些甚至超过了 2000 支队伍。
第三段:深度学习+FGIA 很火
根据每年的粗略统计,平均每年约有十篇基于深度学习的 FGIA 技术的会议论文发表在人工智能和简历的高级会议上,如 IJCAI、AAAI、CVPR、ICCV、ECCV 等。
第四段:本文工作亮点
在文献中,已有一项与细粒度任务相关的调查 [Zhao et al., 2017](上一篇读的那个),其中仅包括几种用于比较的细粒度识别方法。
本文工作更全面。
本文还分析和讨论了另外两个核心且不可忽视的细粒度分析任务,即细粒度图像检索和细粒度图像生成。
此外,在环太平洋国家举行的另一次重要的人工智能会议上,PRICAI、Wei 和 Wu 组织了一场针对细粒度图像分析主题的专题辅导会。我们推荐感兴趣的读者参考教程,该教程提供了一些额外的详细信息。
第五段 三大贡献:
对基于深度学习的 FGIA 技术进行了全面的综述,包括问题背景、基准数据集、具有深度学习的一系列 FGIA 方法、特定领域的 FGIA 应用等。
以分层和结构化的方式对基于深度学习的 FGIA 技术的最新进展进行了系统概述,参见下图。
讨论了挑战和悬而未决的问题,并确定了新的趋势和未来方向,为细粒度的研究人员或广泛的人工智能社区中的其他感兴趣的读者提供了一个潜在的路线图。
第六段:其他部分
背景:问题和主要挑战
细粒度识别(FGIA)是干啥的:
FGIA 专注于处理属于同一元类别的多个子类别的对象(如鸟、狗和汽车),通常涉及细粒度图像识别、细粒度图像检索、细粒度图片生成等核心任务。
FGIA 与一般图像分析的区别:
在一般图像分析中,目标对象属于粗粒度的元类别(例如,鸟类、橙子和狗),因此在视觉上截然不同。
然而,在 FGIA 中,由于对象来自一个元类别的子类别,细粒度的特性使它们在视觉上非常相似。
以图像识别为例。在细粒度识别中,需要识别多个类似物种的狗,例如哈士奇、萨摩耶和阿拉斯加。为了准确识别,需要通过捕捉细微的差异(如耳朵、鼻子、尾巴)来区分它们,这也满足了其他 FGIA 任务(如检索和生成)的需求。
FIGA 的挑战:
细粒度性质还带来了由高度相似的子类别引起的小的类间变化,以及姿态、尺度和旋转方面的大的类内变化,
它与一般图像分析(即小的类内变化和大的类间变化)相反,这使得细粒度图像分析成为一个具有挑战性的问题。下图分别展示了图中每行四种燕鸥中的每一种。
基准数据集
数据集介绍:
在过去的十年里,视觉社区发布了许多基准细粒度数据集,涵盖了不同的领域,如鸟类、狗、汽车、飞机、花卉、蔬菜、水果,零售产品等等。下表列出了细粒度社区常用的一些图像数据集,并具体指出了它们的元类别、细粒度图像的数量、细粒度类别的数量、额外不同类型的可用监督,即边界框、零件注释、层次标签、属性标签和文本视觉描述,下图为示例。
示例图像及其与 CUB200-2011 相关的监督。如图所示,多种类型的监督包括:图像标签、零件注释(也称为关键点定位)、对象边界框(即绿色边界框)、属性标签(即“ATR”)和自然语言的文本描述。
这些数据集功不可没:
这些数据集是该领域取得长足进展的最重要因素之一,不仅是衡量和比较竞争方法性能的共同基础,而且将该领域推向越来越复杂、实用和具有挑战性的问题。
CUB200-2011 记首功:
这两年的新数据集及其引入的新特征:
细粒度图像识别
地位:
在过去的十年里,细粒度图像识别一直是 FGIA 最活跃的研究领域。
从广义上讲,这些细粒度识别方法可以分为三个主要范式:
第一和第二范式通过仅利用与细粒度图像相关联的监督来限制自身,所述细粒度图像诸如图像标签、边界框、零件注释等。
多模态趋势:
由于细粒度的挑战,自动识别系统还不能获得优异的性能。因此,研究人员逐渐尝试将外部但廉价的信息(如网络数据、文本描述)纳入细粒度识别,以进一步提高准确性,这与细粒度识别的第三范式相对应。
评估指标:
细粒度识别中常用的评估指标是数据集所有次级类别的平均分类精度。
按本地化分类的子网络
第一个范式——具有本地化分类子网络的细粒度识别
思想:
为了缓解类内变异的挑战,细粒度社区的研究人员关注捕捉细粒度对象的判别语义部分,然后构建与这些部分相对应的中级表示,用于最终分类。
架构:
定位信息的作用:
定位信息,例如零件级边界框或分割掩码,可以获得与这些细粒度零件相比更具鉴别力的中级(零件级)表示。进一步增强了分类子网络的学习能力,可以显著提高最终识别的准确性。
注释依赖:
克服注释依赖的新趋势:
通过端到端特征编码
第二范式思想:
与第一种范式不同,第二种范式,即端到端特征编码,倾向于通过开发用于细粒度识别的强大深度模型来直接学习更具鉴别力的特征表示。
其中最具代表性的方法——双线性 CNN
其他工作,专注于设计针对细粒度定制的特定损失函数,并能够驱动整个深度模型来学习有区别的细粒度表示。
有外部信息
第三范式思想:
第三范式是利用外部信息,例如网络数据、多模态数据或人机交互,来进一步帮助细粒度识别。
使用 web 数据:
利用自由但有噪声的网络数据来提高识别性能。这条线路上的大多数现有工程大致可以分为两个方向。
一是网络监督学习:抓取测试类别的有噪声标记的网络数据作为训练数据。
此方法的主要努力集中在:
克服容易获取的 web 图像和来自标准数据集的标记良好的数据之间的数据集差距;
减少由噪声数据引起的负面影响。
为了解决上述问题:经常使用对抗性学习的深度学习技术和注意力机制。
另一是将知识从具有良好标记的训练数据的辅助类别转移到测试类别,这通常采用零样本学习或元学习来实现这一目标。
使用多模态数据:
思想:
在细粒度识别中用多模态数据来建立联合表示/嵌入,以合并多模态信息,能够提高细粒度识别的准确性。
常用的两种多模态数据
经常使用的多模态数据包括文本描述(例如,自然语言的句子和短语)和图形结构知识图谱。
文本描述
与细粒度图像的强监督(例如,零件注释)相比,文本描述是弱监督。
普通人可以相对准确地返回文本描述,而不是特定领域的专家。
图形结构知识图谱:
具体应用:
[Reed et al.,2016] 收集文本描述,并通过结合文本和图像,为零样本细粒度图像识别引入结构化联合嵌入。
后来,[He和Peng,2017a] 以端到端的联合训练方式结合了视觉和语言流,以保留模态内和模态间信息,用于生成互补的细粒度表示。
对于具有知识库的细粒度识别,例如 [Chen et al.,2018;Xu et al.,2018a],引入了知识库信息(总是与属性标签相关联),以隐含地丰富嵌入空间(也推理细粒度对象的判别属性)。
人在循环:
细粒度图像检索
评估指标:共同平均精度(mAP)
细粒度图像检索是什么:
给定相同子类别(例如,鸟类或汽车)的数据库图像和查询,它应该返回与查询相同种类的图像,而不需要求助于任何其他监督信号。
与基于内容相似性(如纹理、颜色和形状)检索近似重复图像的通用图像检索相比,细粒度检索侧重于检索相同类型的图像(如动物的相同从属物种和汽车的相同模型)。同时,细粒度图像中的对象只有细微的差异,并且在姿势、比例和旋转方面各不相同。
示例:
下图给定“Dodge Charger Sedan 2012”的查询图像(又名探测器),通过细粒度检索从汽车数据库(又名星系)返回同一车型的图像。在这张图中,红色矩形标记的前4名返回图像显示了错误的结果,因为其型号是“Dodge Caliber Wagon 2012”。
相关工作:
细粒度图像生成
什么是图像生成:
细粒度生成将合成细粒度类别中的图像,例如特定人物的面部或从属类别中的对象。
相关工作:
与细粒度图像分析相关的特定领域应用程序
在实践中,这些工作通过遵循 FGIA 的动机来解决相应的领域特定任务,包括捕捉物体(人脸、人和车辆)的辨别部分,发现从粗到细的结构信息。
结束语和今后的方向