Deep learning for fine-grained image analysis: A survey

细粒度图像分析的深度学习综述 完整版翻译

Deep learning for fine-grained image analysis: A survey_第1张图片

Abstract

  计算机视觉是利用机器来理解和分析图像的过程,是人工智能的一个重要分支。在CV的各个研究领域中,细粒度图像分析(FGIA)是一个由来已久的基本问题,在各种实际应用中已经变得无处不在。FGIA的任务是从从属类别分析视觉对象,例如鸟类种类或汽车模型。由于细粒度的特性导致的小类间变化和大的类内变化使其成为一个具有挑战性的问题。在深度学习蓬勃发展的过程中,近年来FGIA应用深度学习技术取得了显著进展。
  本文旨在系统地综述基于深度学习的FGIA技术的最新进展。具体来说,我们将现有的FGIA技术研究归纳为三大类:细粒度图像识别、细粒度图像检索和细粒度图像生成。此外,我们还讨论了FGIA的一些其他重要问题,例如公共可用的基准数据集及其相关的特定领域的应用程序。最后,我们在总结本次调查时,强调了未来社区需要进一步探讨的几个方向和有待解决的问题。

1 Introduction

Deep learning for fine-grained image analysis: A survey_第2张图片
  计算机视觉(CV)是人工智能(AI)的一个跨学科科学领域,研究如何使计算机从数字图像或视频中获得高层次的理解。计算机视觉的任务包括获取、处理、分析和理解数字图像的方法,以及从现实世界中的高维原始图像数据中提取数字或符号信息的过程,例如以决策或预测的形式。
Deep learning for fine-grained image analysis: A survey_第3张图片
Deep learning for fine-grained image analysis: A survey_第4张图片
  精细图像分析(FGIA)作为计算机视觉中一个有趣、基础性和挑战性的问题,几十年来一直是研究的热点。FGIA的目标是检索、识别和生成属于一个超类别的多个子类别的图像,例如不同种类的动植物、不同型号的汽车、不同种类的零售产品等(见图1)。
Deep learning for fine-grained image analysis: A survey_第5张图片
  在现实世界中,FGIA在工业和研究社会都有广泛的应用,例如生物多样性自动监测、气候变化评估、智能零售、智能交通等等。特别是在Kaggle上经常举办一些有影响力的关于FGIA的学术竞赛。有代表性的比赛有自然保护渔业监测(鱼类物种分类)、座头鲸识别(鲸鱼身份分类)等。每场比赛都吸引了全球300多支队伍参赛,有的甚至超过2000支队伍。
Deep learning for fine-grained image analysis: A survey_第6张图片
  另一方面,近年来,深度学习技术(LeCun et al.,2015)成为直接从数据中学习特征表示的有力方法,并在FGIA领域取得了显著突破。根据每年的粗略统计,平均每年在IJCAI、AAAI、CVPR、ICCV、ECCV等AI和CV的高级会议上发表的基于深度学习的FGIA技术的会议论文约有10篇,表明具有深度学习的FGIA具有显著的研究兴趣。鉴于这一快速发展的时期,本文的目的是提供一个全面的综述,在FGIA领域的最新成就所带来的深度学习技术。
  在文献中,存在一个与细粒度任务相关的调查,即, [Zhao et al., 2017],其中简单地包含了几种细粒度的识别方法来进行比较。我们的工作不同于它,因为我们的工作更全面。具体来说,除了细粒度识别之外,我们还分析和讨论了另外两个核心的细粒度分析任务,即细粒度图像检索和细粒度图像生成,这两个方面是FGIA不可忽视的两个方面。此外,在环太平洋国家的另一个重要的人工智能会议上,普里凯、魏和吴在精细图像分析专题上组织了一个专门的教程。我们向感兴趣的读者推荐本教程,该教程提供了一些附加的详细信息。
  本文以一种独特的基于深度学习的视角,系统、全面地回顾了FGIA的研究进展。这项调查的主要贡献有三个方面:我们对基于深度学习的FGIA技术进行了全面的综述,包括问题背景、基准数据集、一系列具有深度学习的FGIA方法、特定领域的FGIA应用等。我们以分层和结构化的方式系统地概述了基于深度学习的FGIA技术的最新进展,参见图2。我们讨论了挑战和开放的问题,并确定了新的趋势和未来的方向,为细粒度的研究人员或广大AI社区的其他感兴趣的读者提供了一个潜在的路线图。
  调查的其余部分安排如下。第二节介绍了本文的研究背景,即FGIA问题及其面临的主要挑战。在第3节中,我们将回顾多个常用的细粒度基准数据集。第四部分分析了细粒度图像识别的三种主要模式。第五部分介绍了细粒度图像检索的最新进展。第6节从生成的角度讨论细粒度图像生成。此外,在第7节中,我们将介绍一些与FGIA相关的realworld领域特定的应用。最后,在第八节中,我们总结了本文,并讨论了未来的研究方向和有待解决的问题。
Deep learning for fine-grained image analysis: A survey_第7张图片

2 Background: problem and main challenges

  在这一部分,我们总结了本文的相关背景,包括存在的问题和面临的主要挑战。细粒度图像分析(FGIA)主要处理属于同一元范畴的多个子类别的对象(如鸟类、狗和汽车),一般涉及细粒度图像识别、细粒度图像检索、细粒度图像生成等核心任务。
  FGIA与一般的区别在于:在一般图像分析中,目标对象属于粗粒度的元类别(如鸟、橘子和狗),因此在视觉上有很大的不同。然而,在FGIA中,由于对象来自于一个元类别的子类别,细粒度的特性使得它们在视觉上非常相似。我们以图像识别为例。如图1所示,在细粒度识别中,任务需要识别多个相似的狗种,例如,哈士奇犬、萨摩耶犬和阿拉斯加犬。为了准确识别,需要通过捕捉细微差别(例如耳朵、鼻子、尾巴)来区分它们,这也满足了其他FGIA任务(例如检索和生成)的需求。此外,如图3所示,细粒度的性质还带来高度相似的子类别引起的小类间变化,以及姿势、尺度和旋转的大的类内变化。它与一般图像分析(即小的类内变化和大的类间变化)相反,使得细粒度图像分析成为一个具有挑战性的问题。
Deep learning for fine-grained image analysis: A survey_第8张图片

3 Benchmark datasets

  在过去的十年里,vision社区发布了许多基准细粒度数据集,涵盖了不同领域,如鸟类[Wah et al.,2011;Berg et al.,2014]、dogs[Khosla et al.,2011]、cars[Krause et al.,2013]、Airlines[Maji et al.,2013]、flowers[Nilsback and Zisserman,2008]、蔬菜[Hou et al.,2017]、水果[Hou et al。,2017年),零售产品[Wei等人,2019a]等(参见图4)。在表1中,我们列出了一些细粒度社区常用的图像数据集,并具体说明了它们的元类别、细粒度图像的数量、细粒度类别的数量、额外不同种类的可用监督,即边界框、零件注释、层次标签、属性标签和文本视觉描述,参见图5。
Deep learning for fine-grained image analysis: A survey_第9张图片
Deep learning for fine-grained image analysis: A survey_第10张图片
  这些数据集是该领域取得长足进展的最重要因素之一,不仅是衡量和比较竞争方法性能的共同基础,而且也将该领域推向日益复杂、实际和具有挑战性的问题。
具体来说,CUB200-2011是最受欢迎的细粒度数据集之一。几乎所有的细粒度方法选择它与最先进的技术进行比较。此外,在CUB200-2011基础上不断地为进一步的研究做出贡献,例如,收集用于多模态分析的细粒度图像的文本描述,参见[Reed等人,2016;He和Peng,2017a]。
  此外,近年来,越来越多的人提出了更具挑战性和实用性的细粒度数据集,例如,iNat2017用于植物、动物的自然物种[Horn等人,2017]和用于日常零售产品的RPC[Wei等人,2019a]。这些数据集所衍生出的许多新颖的特征,如大尺度、层次结构、域间隙和长尾分布等,揭示了现实世界中的实际需求,可以在更现实的环境中引发对FGIA的研究。

4 Fine-grained image recognition

  近十年来,细粒度图像识别一直是FGIA最活跃的研究领域。在本节中,我们回顾自深度学习进入该领域以来细粒度识别框架的里程碑。从广义上讲,这些细粒度识别方法可以归纳为三种主要的识别范式,即:(1)使用本地化分类子网;(2)使用端到端特征编码;(3)使用外部信息。其中,第一和第二范式仅利用与细粒度图像相关联的监督(如图像标签、边界框、零件注释等)来限制其自身。此外,由于细粒度的挑战,自动识别系统还不能获得优异的性能。因此,研究者逐渐尝试将外部但廉价的信息(如web数据、文本描述)引入到细粒度识别中,以进一步提高识别精度,这与第三种细粒度识别范式相对应。细粒度识别中常用的评价指标是数据集所有从属类别的平均分类精度。

4.1 By localization-classification subnetworks
Deep learning for fine-grained image analysis: A survey_第11张图片

  为了缓解类内变异的挑战,细粒度群体的研究者们致力于捕捉细粒度对象的有区别的语义部分,然后构造与这些部分相对应的中间层表示以进行最终分类。具体来说,我们设计了一个定位子网来定位这些关键部件。随后,一个分类子网被用于识别。这两个协作子网的框架形成了第一种模式,即用本地化分类子网进行细粒度识别。
Deep learning for fine-grained image analysis: A survey_第12张图片

  由于定位信息,例如零件级边界框或分割掩模,它可以获得更具区分性的中间层(零件级)表示。进一步增强了分类子网络的学习能力,可以显著提高最终识别的准确率。
Deep learning for fine-grained image analysis: A survey_第13张图片

  属于这种范式的早期工作依赖于额外的密集部分注释(又称关键点定位)来定位对象的语义关键部分(例如头部、躯干)。其中一些学习基于零件的检测器[Zhang等人,2014;Lin等人,2015a],还有一些利用分割方法来定位零件[Wei等人,2018a]。然后,这些方法将多个部分级特征连接成一个整体图像表示,并将其输入到下面的分类子网中进行最终识别。因此,这些方法也被称为基于零件的识别方法。
Deep learning for fine-grained image analysis: A survey_第14张图片Deep learning for fine-grained image analysis: A survey_第15张图片

  然而,获取这种密集的部分注释是非常费力的,这限制了真实世界细粒度应用程序的可伸缩性和实用性。最近,出现了这样一种趋势:在这种范式下,更多的技术只需要图像标签就可以精确定位零件【Jaderberg等人,2015年;Fu等人,2017年;Zheng等人,2017年;Sun等人,2018年】。他们的共同动机是先找到相应的部分,然后比较它们的外观。具体地说,它希望捕获语义部分(例如头部和躯干)在细粒度类别之间共享,同时,它也渴望发现这些部分表示之间的细微差别。先进的技术,如注意力机制[Y ang et al.,2018]和多阶段策略[He and Peng,2017b]使综合本地化分类子网络的联合训练复杂化。

4.2 By end-to-end feature encoding
Deep learning for fine-grained image analysis: A survey_第16张图片

  与第一种模式不同,第二种模式,即端到端特征编码,倾向于通过开发功能强大的精细识别深层模型,直接学习更具区分性的特征表示。其中最具代表性的方法是双线性CNN[Lin et al.,2015b],它将图像表示为从两个深层CNN导出的特征的集合外积,从而编码卷积激活的高阶统计量,以增强中级学习能力。双线性cnn由于其高模型容量,实现了显著的细粒度识别性能。然而,双线性特征的高维性仍然使其不适用于实际应用,特别是对于大规模的应用。
Deep learning for fine-grained image analysis: A survey_第17张图片
  针对这个问题,最近的一些尝试,如[Gao等人,2016;Kong and Folkes,2017;Cui et al.,2017],试图通过应用张量草图来聚合低维嵌入[Pham and Pagh,2013;Charikar et al.,2002],这种方法可以近似双线性特征并保持可比或更高的识别精度。其他工作,如[Dubey et al.,2018],专注于设计针对细粒度的特定损失函数,并能够驱动用于学习区分性细粒度表示的整个深层模型。

4.3 With external information
在这里插入图片描述
  如前所述,除了传统的识别范式之外,另一种范式是利用外部信息,例如web数据、多模态数据或人机交互,来进一步协助细粒度识别。

With web data
Deep learning for fine-grained image analysis: A survey_第18张图片
  为了识别不同细粒度类别之间的细微差别,需要足够多的标记良好的训练图像。然而,由于注释的困难(总是需要领域专家)和无数的细粒度类别(即,在一个元类别中有数千个从属类别),因此对于细粒度类别的精确人工注释并不容易获得。
Deep learning for fine-grained image analysis: A survey_第19张图片在这里插入图片描述
  因此,一部分细粒度识别方法寻求利用自由但有噪声的web数据来提高识别性能。这条线的大部分现有工程可大致分为两个方向。其中一种方法是对测试类别的带有噪声标签的web数据进行抓取作为训练数据,这被视为webly监督学习[zhang等人,2017;Sun等人,2019]。这些方法的主要工作集中在:(1)克服容易获取的web图像与标准数据集中标记良好的数据集之间的数据集差距;(2)减少噪声数据带来的负面影响。为了解决上述问题,经常使用敌对学习的深度学习技术[Goodfello等人,2014]和注意力机制[Zhang等人,2017]。使用web数据的另一个方向是将知识从辅助类别转移到具有良好标记的训练数据的测试类别,通常使用零样本学习[Niu等人,2018]或变换学习[Zhang等人,2018]来实现该目标。

With multi-modality data
Deep learning for fine-grained image analysis: A survey_第20张图片
  随着多媒体数据(如图像、文本、知识库等)的快速增长,多模态分析引起了人们的广泛关注。在细粒度识别中,需要多模态数据建立联合表示/嵌入,以融合多模态信息。它能够提高细粒度的识别精度。特别是常用的多模态数据包括文本描述(如自然语言的句子和短语)和图形结构的知识库。与细粒度图像(如零件注释)的强监督相比,文本描述是弱监督。此外,文本描述可以相对准确地返回给普通人,而不是特定领域的专家。此外,高级知识图是现有资源,包含丰富的专业知识,如DBpedia【Lehmann等人,2015年】。在实际应用中,文本描述和知识库都可以作为更好的细粒度图像表示学习的额外指导。
Deep learning for fine-grained image analysis: A survey_第21张图片
  具体而言,[Reed et al.,2016]收集文本描述,并通过文本和图像的结合,为零镜头细粒度图像识别引入结构化联合嵌入。后来,[He and Peng,2017a]将视觉和语言流以端到端的联合训练方式结合起来,以保留模态内和模态间的信息,以生成互补的细粒度表示。对于基于知识库的细粒度识别,一些工作,如[Chen et al.,2018;Xu et al.,2018a],引入知识库信息(总是与属性标签相关联,参见图6),以隐含地丰富嵌入空间(也可以推理细粒度对象的区分属性)。
Deep learning for fine-grained image analysis: A survey_第22张图片

With humans in the loop
Deep learning for fine-grained image analysis: A survey_第23张图片  人在回路中的细粒度识别通常是一个由机器和人类用户组成的迭代系统,它结合了人和机器的努力和智能。同时,它也要求系统尽可能以人力劳动经济的方式运行。一般来说,对于这类识别方法,每一轮的系统都在寻求理解人类是如何进行识别的,例如,让未经训练的人标记图像类并提取硬示例【Cui等人,2016年】,或者通过识别关键部件定位并选择有区别的特征【Deng等人。,用于精细识别。

5 Fine-grained image retrieval

在这里插入图片描述
  除了图像识别之外,细粒度检索是FGIA的另一个重要方面,也是一个热门话题。它的评价指标是普通的平均精度(mAP)。
Deep learning for fine-grained image analysis: A survey_第24张图片Deep learning for fine-grained image analysis: A survey_第25张图片

  在细粒度图像检索中,给定同一子类别(例如,鸟或汽车)的数据库图像和查询,它应该返回与查询相同种类的图像,而不必求助于任何其他监督信号,参见图7。与一般的基于内容相似性(如纹理、颜色和形状)的图像检索相比,细粒度检索侧重于检索相同类型的图像(如动物的同一从属物种和汽车的相同模型)。同时,细粒度图像中的对象只有细微的差别,并且在姿势、比例和旋转方面都有所不同。
Deep learning for fine-grained image analysis: A survey_第26张图片
  在文献中,[Wei et al.,2017]首次尝试使用深度学习进行细粒度图像检索。它利用预先训练好的CNN模型,在无监督的情况下,对细粒度图像中的主要对象进行定位,从而选择出有意义的深度描述子,并进一步揭示了在去除背景或噪声的情况下,只选择有用的深度描述子可以显著地提高检索效率。近年来,为了突破基于预训练模型的无监督细粒度检索的局限性,一些试验[Zheng et al.,2018;Zheng et al.,2019]倾向于在监督度量学习范式下发现新的损失函数。同时,他们还针对细粒度对象设计了额外的特定子模块,如[Zheng et al.,2018]中提出的弱监督定位模块就是在[Wei et al.,2017]的启发下提出的。

6 Fine-grained image generation

  除了有监督学习任务外,图像生成是无监督学习的一个代表性课题。它部署了深层生成模型,例如GAN[Goodfello等人,2014],以学习合成看起来真实的逼真图像。随着生成图像的质量越来越高,人们期望实现更具挑战性的目标,即细粒度图像的生成。顾名思义,细粒度生成将合成细粒度类别中的图像,例如某个特定的人的脸或从属类别中的对象。
Deep learning for fine-grained image analysis: A survey_第27张图片
在这里插入图片描述
  除了有监督学习任务外,图像生成是无监督学习的一个代表性课题。它部署了深层生成模型,例如GAN[Goodfello等人,2014],以学习合成看起来真实的逼真图像。随着生成图像的质量越来越高,人们期望实现更具挑战性的目标,即细粒度图像的生成。顾名思义,细粒度生成将合成细粒度类别中的图像,例如某个特定的人的脸或从属类别中的对象。
Deep learning for fine-grained image analysis: A survey_第28张图片  第一项工作是在[Bao等人,2017]中提出的,它在条件生成过程下将可变自动编码器与生成对抗网络相结合,以解决此问题。具体地说,CVAE-GAN在概率模型中将图像建模为标签和潜在属性的组合。然后,通过改变输入到生成模型中的细粒度类别,它可以生成特定类别中的图像。最近,从文本描述生成图像[Xu et al.,2018b]由于其多样性和实用性,例如艺术生成和计算机辅助设计,表现出了流行性。该模型通过构造一个具有注意力的生成网络,通过聚焦文本描述中的相关词语,综合出细微区域的细节。

7 Domain specific applications related to fine-grained image analysis

Deep learning for fine-grained image analysis: A survey_第29张图片
  在现实世界中,基于深度学习的细粒度图像分析技术也被应用到不同领域的具体应用中,表现出了很好的表现,例如推荐系统中的衣服/鞋子检索[Song等人,2017],电子商务平台中的时尚图像识别[Liu等人,2016],产品识别[Wei等人。,2019a]在智能零售等领域,这些应用与FGIA的细粒度检索和识别高度相关。

Deep learning for fine-grained image analysis: A survey_第30张图片
  另外,如果我们向下移动粒度范围,在极端情况下,人脸识别可以看作是细粒度识别的一个实例,其粒度低于身份粒度级别。另外,人/车再识别是另一个细粒度的相关任务,其目的是确定是否从同一特定的人/车辆上获取两个图像。显然,重新识别任务也在身份粒度下。
Deep learning for fine-grained image analysis: A survey_第31张图片
  在实践中,这些工作通过遵循FGIA的动机来解决相应的领域特定任务,包括捕获对象(人脸、人和车辆)的区分部分【Suh等人,2018年】、发现粗细结构信息【Wei等人,2018b】、开发基于属性的模型【Liu等人,2016年】,等等。

8 Concluding remarks and future directions

Deep learning for fine-grained image analysis: A survey_第32张图片  基于深度学习的细粒度图像分析(FGIA)近年来取得了很大的进展。在这篇论文中,我们将广泛地调查与深度学习有关的FGIA的最新进展。本文主要介绍了FGIA问题及其面临的挑战,讨论了FGIA在细粒度图像识别/检索/生成方面的重大改进,并介绍了FGIA相关领域的一些具体应用。尽管取得了很大的成功,但仍有许多问题没有解决。因此,在这一部分,我们将明确指出这些问题,并介绍一些未来发展的研究趋势。我们希望这项调查不仅能加深对FGIA的了解,而且有助于该领域未来的研究活动和应用开发。

Deep learning for fine-grained image analysis: A survey_第33张图片  自动细粒度模型 如今,自动机器学习(AutoML)[Feurer et al.,2015]和神经结构搜索(NAS)[Elsken et al.,2018]正受到人工智能界,特别是计算机视觉领域的热烈关注。AutoML的目标是自动化将机器学习应用于实际任务的端到端过程。而自动化神经网络体系结构设计的过程NAS是AutoML的下一个合理步骤。在各种计算机视觉应用中,AutoML和NAS的最新方法可以媲美甚至优于手工设计的体系结构。因此,利用AutoML或NAS技术开发的自动细粒度模型可以找到更好、更适合自己的深层模型,同时也可以反过来推动AutoML和NAS的研究。
Deep learning for fine-grained image analysis: A survey_第34张图片
  细粒度的少样本学习人类能够在很少的监督下学习一个新的细粒度概念,例如,一种鸟类的一些典型图像,然而我们最好的深度学习细粒度系统需要成百上千个标记的例子。更糟糕的是,对细粒度图像的监控既耗时又昂贵,因为领域专家应该始终准确地标记细粒度对象。因此,需要开发细粒度的少镜头学习(FGFS)[Wei等人,2019b]。FGFS的任务是要求学习系统以元学习的方式从少量的例子(只有一个或少于五个)为新的细粒度类别构建分类器。鲁棒的FGFS方法可以极大地增强细粒度识别的可用性和可扩展性。
Deep learning for fine-grained image analysis: A survey_第35张图片
  细粒度散列由于FGIA受到越来越多的关注,已经发布了更多大规模和构造良好的细粒度数据集,例如[Berg et al.,2014;Horn et al.,2017;Wei et al.,2019a]。在诸如细粒度图像检索这样的实际应用中,在参考数据库非常大的情况下,查找精确的最近邻的代价很高,这是很自然的。Hashing[Wang et al.,2018;Li et al.,2016]作为近似近邻搜索最流行和最有效的技术之一,具有处理大规模细粒度数据的潜力。因此,细粒度散列是一个值得进一步研究的方向。
Deep learning for fine-grained image analysis: A survey_第36张图片
  细粒度分析在更现实的环境中,在过去的十年中,细粒度图像分析相关技术得到了发展,并在其传统设置中取得了良好的性能,例如[Wah et al.,2011;Khosla et al.,2011;Krause et al.,2013]。然而,这些设置已经不能满足当今各种现实应用的日常需求,例如,利用受控环境中采集的图像训练模型识别货架上的零售产品[Wei等人,2019a],以及识别/检测野生自然物种[Horn等人,2017]。因此,新的细粒度图像分析主题,如领域适应的细粒度分析,知识转移的细粒度分析,长尾分布的细粒度分析,而在资源受限的嵌入式设备上运行的细粒度分析,值得我们朝着更先进、更实用的FGIA方向努力。

你可能感兴趣的:(Deep learning for fine-grained image analysis: A survey)