热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习_超全深度学习细粒度图像分析:项目综述教程一网打尽

本文由编程笔记#小编为大家整理,主要介绍了超全深度学习细粒度图像分析:项目综述教程一网打尽相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了超全深度学习细粒度图像分析:项目综述教程一网打尽相关的知识,希望对你有一定的参考价值。














选自arXiv



机器之心编译


参与:李诗萌、张倩

















在本文中,来自旷视科技、南京大学和早稻田大学的研究者对基于深度学习的细粒度图像分析进行了综述,从细粒度图像识别、检索和生成三个方向展开论述。
此外,他们还对该领域未来的发展方向进行了讨论。


(CV)是用机器来理解和分析图像的过程,是人工智能中一个重要分支。在 CV 的各个研究领域中,细粒度图像分析(fine-grained image analysis, FGIA)是一个长期存在的基础性问题,而且在各种实际应用(比如鸟的种类、汽车模型、商品识别等)中无处不在。由细粒度特性造成的类间(inter-class)小变化和类内(intra-class)大变化使得这一问题具有极大的挑战性。由于深度学习的蓬勃发展,近年来应用了深度学习的 FGIA 取得了显著的进步。


本文系统地对基于深度学习的 FGIA 技术进行了综述。具体来说,本文将针对 FGIA 技术的研究分为三大类:细粒度、细粒度图像检索和细粒度图像生成。本文还讨论了其他 FGIA 的重要问题,比如公开可用的基准数据集及其在相关领域的特定应用。本文在结尾处强调了未来仍需进一步探讨的几个方向以及待解决的问题。




  • 论文:Deep learning for fine-grained image analysis: A survey


  • 论文链接:https://arxiv.org/pdf/1907.03069.pdf




综述结构。


在环太平洋国家举办的另一个重要的 AI 会议中,本文作者(魏秀参、吴建鑫)针对细粒度图像分析组织了具体的教程。该教程中提供了一些关于细粒度图像分析的额外的细节信息,所以在此向想深入了解的读者推荐该教程。


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

教程大纲。



此外,论文作者还开放了一个细粒度图像分析的主页,内含代表性论文、代码、数据集等。


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

项目目录。



背景:FGIA 中的主要问题和挑战


FGIA 与一般的图像分析之间的区别在于:在一般的图像分析中,目标对象属于粗粒度的元类别(例如:鸟、橙子和狗),因此它们看起来非常不同。但在 FGIA 中,由于对象都属于一个元类别的子类,细粒度的特性导致它们看起来非常相似。我们以图像识别为例。如图 1 所示。


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

图 1:细粒度图像分析(右)与一般的图像分析(左)


此外,细粒度特性也会导致由子类别高度相似而造成的类间变化较小以及因姿势、尺寸和角度等不同而造成的类内变化大的问题,如图 3 所示。


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

图 3:细粒度图像分析的关键挑战


基准数据集


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

表 1:主流细粒度图像数据集汇总


表 1 中列出了细粒度问题中常用的图像数据集,并特地标出了它们的元类别、细粒度图像的数量、细粒度类别的数量和额外可用的不同种类的监督(即边界框、部位注释、层次标签、属性标签以及文本视觉描述等),参见图 5。


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

图 5:带有 CUB200-2011 监督信息的示例图像


细粒度图像识别


这些细粒度识别方法可以总结为三个范式:(1)用定位分类子网络进行细粒度识别;(2)用端到端的特征编码进行细粒度识别;(3)用外部信息进行细粒度识别。


其中,第一个范式和第二个范式只用和细粒度图像相关的监督(比如图像标签、边界框以及部分注释等)进行了限制。此外,由于细粒度存在的挑战,自动识别系统还不能实现良好的性能。因此,研究人员逐渐试着在细粒度识别问题中融入外部但易于获得的信息(比如网页数据、文本描述等)来进一步提升准确率,这对应了细粒度识别的第三个范式。细粒度识别中常用的评估指标是数据集所有从属类别的平均分类准确率。


4.1 用定位分类子网络进行细粒度识别


为了缓解类内变化较大的问题,细粒度社区注重捕获细粒度对象具有辨别性的语义部分,然后再建立和这些语义部分相关的中级表征用于最后的分类。具体而言,研究人员为了定位这些关键部位,设计出了定位子网络。之后再连接一个用于识别的分类子网络。这两个子网络合作组成的框架就是第一个范式,也就是用定位分类子网络进行细粒度识别。


有了定位信息(比如部位边界框或分割掩码),就可以获得更有辨别力的中级(部位)表征。此外,它还进一步提高了分类子网络的学习能力,这可以显著增强最终识别的准确率。


属于这一范式的早期工作依赖于额外的密集部位注释(又称关键点定位)来定位目标的语义关键部位(例如头部、躯干)。它们中的一些学习了基于部位的检测器 [Zhang et al.,2014;Lin et al.,2015a],还有一些利用分割方法来定位部位。然后,这些方法将多个部位特征当做整个图像的表征,并将其馈送到接下来的分类子网络中进行最终的识别。因此,这些方法也称为基于部位的识别方法。


但这样的密集部位注释是劳动密集型工作,限制了细粒度应用在现实世界中的可扩展性和实用性。最近还出现了一种趋势,在这种范式下,更多只需要图像标签 [Jaderberg et al.,2015;Fu et al.,2017;Zheng et al.,2017;Sun et al.,2018] 就可以准确定位这些部位的技术出现了。它们共同的思路是先找到相对应的部位,然后再比较它们的外观。具体而言,我们希望能捕获到在细粒度类别中共享的语义部位(比如头部和躯干),同时还希望发现这些部位表征之间的微小差别。像注意力机制 [Yang et al.,2018] 和多阶段策略 [He 和 Peng,2017b] 这样的先进技术可以对集成的定位分类子网络进行复杂的联合训练。


4.2 用端到端的特征编码进行细粒度识别


和第一个范式不同,第二个范式是端到端特征编码,它是通过开发用于细粒度识别的强大深度模型来直接学习更具辨别力的表征实现的。这些方法中最具代表性的方法是双线性 CNN(Bilinear CNNs[Lin et al.,2015b]),它用来自两个深度 CNN 池化后的特征的外积来表征图像,从而对卷积激活的高阶统计量进行编码,以增强中级学习能力。由于其模型容量较高,双线性 CNN 在细粒度识别中实现了优良的性能。但双线性特征的维度极高,因此它无法在现实世界中应用,尤其是大规模应用。


最近也有一些尝试解决这一问题的工作,比如 [Gao et al.,2016;Kong 和 Fowlkes,2017;Cui et al.,2017],[Pham 和 Pagh,2013;Charikar et al.,2002] 试着用张量草图(tensor sketching)来聚合低维嵌入,该方法可以近似双线性特征,还可以保持相当程度或更高的准确率。其他工作,比如 [Dubey et al.,2018] 则专门为细粒度量身设计了特定的损失函数,它可以驱动整个深度模型学习具有辨别性的细粒度表征。


4.3 用外部信息进行细粒度识别


如前文所述,除了传统的识别范式外,另一种范式是利用外部信息(比如网络数据、多模态数据或人机交互)来进一步帮助细粒度识别。详细内容参见论文。


细粒度图像检索


除了图像识别,细粒度检索是 FGIA 的另一个重要方面,它也是当前的研究热点。在细粒度检索中,常用的评估指标是平均精度均值(mean average precision,mAP)。在细粒度图像检索中,给出同一个子类(比如鸟类或车类)的数据库图像和要查询的图像,它可以在不依赖任何其他监督信号的情况下,返回与查询图像属于同一类别的图像,如图 7 所示。


超全深度学习细粒度图像分析:项目、综述、教程一网打尽

图 7:细粒度检索图示。


一般的图像检索是基于图像内容(比如纹理、颜色和形状)的相似性来检索非常相似的图像,而细粒度检索则侧重于检索属于同一类别(比如同一物种的生物或一种车型)的图像。同时,细粒度图像中目标的差别很小,而在姿势、尺寸以及角度等方面存在差异。


[Wei et al.,2017] 首次试着用深度学习进行细粒度图像检索。该模型用预训练的 CNN 模型,在无监督的情况下,通过在细粒度图像中定位主要目标选出了有意义的深度描述符,进一步揭示了只用去除背景或噪声的深度描述符可以显著提高检索任务的性能。为了打破通过预训练模型进行无监督细粒度检索的局限性,一些实验 [Zheng et al.,2018;Zheng et al.,2019] 倾向于在有监督指标学习范式下,研究出全新的损失函数。与此同时,他们还为细粒度目标量身设计了额外的特定子模块,例如,[Zheng et al.,2018] 受 [Wei et al.,2017] 启发后提出的弱监督定位模块。


细粒度图像生成


除了监督学习任务,图像生成也是无监督学习中的代表性主题。它用像 GAN[Goodfellow et al.,2014] 这样的深度生成模型来学习合成看起来很真实的逼真图像。随着生成图像的质量越来越高,更具挑战性的任务——细粒度图像生成,出现了。顾名思义,细粒度生成可以在细粒度类别(比如特定人物的面部或从属类别中的对象)中合成图像。


这方面的第一项工作是 [Bao et al.,2017] 提出的 CVAE-GAN,它将变分自编码器和条件生成过程下的生成对抗网络结合在一起,来解决这一问题。具体而言,CVAE-GAN 将图像建模成概率模型中的标签和隐含属性的组合。通过改变馈入生成模型的细粒度类别,它就可以生成特定类别的图像。最近,根据文本描述生成图像 [Xu et al.,2018b] 因其多样化和实用性(如艺术生成和计算机辅助设计)而流行起来。执行配备了注意力的生成网络后,模型可以根据文本描述中的相关细节来合成细微区域的细粒度细节。


与细粒度图像分析相关领域的特定应用


在真实世界中,基于深度学习的细粒度图像分析技术在不同领域中都得到了应用,并表现出了很好的性能,例如在推荐系统中检索衣服或鞋 [Song et al.,2017],在电子商务平台上识别时尚图像 [Wei et al.,2016] 以及在智能零售平台中识别产品 [Wei et al.,2019a] 等。这些应用都和 FGIA 的细粒度检索与识别高度相关。


此外,如果我们向下移动粒度范围,极端点说,也可以将人脸识别看作细粒度识别的实例,在这个例子中粒度降到了身份粒度级别之下。此外,人员或机动车的再识别也是细粒度的一项相关任务,这项任务的目标是确定两张图像是否属于同一个特定的人或机动车。显然,再识别任务的粒度等级也在身份粒度之下。


在实际应用中,这些工作都遵循了 FGIA 的思路,来解决相关领域的特定任务,FGIA 的思路包括捕获目标极具辨别性的部位(人脸、人和机动车)[Suh et al.,2018]、发现由粗到细的结构信息 [Wei et al.,2018b] 以及开发基于属性的模型 [Liu et al.,2016] 等等。


未来的方向


在这一部分,研究者明确指出了 FGIA 相关领域中尚未解决的问题,以及一些未来的研究趋势。


自动细粒度模型


AutoML 和 NAS 的最新方法在计算机视觉的各种应用中都取得了和手工设计架构相媲美、甚至更好的结果。因此,希望可以利用 AutoML 或 NAS 技术开发自动细粒度模型,有望找到更好、更合适的深度模型,同时也可以反向促进 AutoML 和 NAS 研究的进步。


细粒度 few-shot 学习


我们最好的深度学习细粒度系统需要成百上千个标记好的样本。更糟的是,细粒度图像的监督不仅耗时而且昂贵,因为细粒度目标是由该领域的专家做准确标记的。因此,现实应用迫切需要开发出基于小样本的细粒度学习方法(fine-grained few-shot,FGFS)[Wei et al.,2019b]。FGFS 任务需要学习系统以元学习的方式,根据少量(只有一个或少于五个)样本构建针对全新细粒度类别的分类器。鲁棒的 FGFS 方法可以很大程度上地增强细粒度识别的可用性和可扩展性。


细粒度哈希


在像细粒度图像检索这样的实际应用中,会自然地出现这样的问题——在参考数据非常大的情况下,找到准确的最近邻的成本是非常高的。哈希 [Wang et al.,2018;Li et al.,2016] 是近似最近邻搜索中最流行也最有效的技术之一,它有处理大量细粒度数据的潜力。因此,细粒度哈希是 FGIA 中值得进一步探索的方向。


在更实际的环境中进行细粒度分析


细粒度图像分析还有许多新颖的主题——用域自适应进行细粒度分析、用知识迁移进行细粒度分析、用长尾分布进行细粒度分析以及在资源受限的嵌入设备上运行细粒度分析等。这些更高级也更实际的 FGIA 都很值得进行大量的研究工作。
















市北·GMIS 2019全球数据智能峰会7月19日-20日在上海市静安区举行。本次峰会数据智能为主题,聚焦最前沿研究方向,同时更加关注数据智能经济及其产业生态的发展情况,为技术从研究走向落地提供借鉴。


本次峰会设置主旨演讲、主题演讲、AI画展、「AI00」数据智能榜单发布、闭门晚宴等环节,已确认出席嘉宾如下:



我们为广大学生用户准备了最高优惠的学生票,点击阅读原文即刻报名。













推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)...
    主讲人网神(新浪微博:豆角茄子麻酱凉面)网神(66707180)18:57:18大家好,今天我们讲一下第14章combiningmodel ... [详细]
author-avatar
手机用户2602924091
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有