摘要:本文解读了《TransFG: A Transformer Architecture for Fine-grained Recognition》,该论文针对细粒度分类任务,提出了对应的TransFG。

本文分享自华为云社区《论文解读系列二十:用于细粒度分类的Transformer结构—TransFG》,作者: BigDragon 。

论文地址:https://arxiv.org/abs/2103.07976

GitHub地址:https://github.com/TACJu/TransFG

近来,细粒度分类研究工作主要集中在如何定位差异性图片区域,以此提高网络捕捉微小差异的能力,而大部分工作主要通过使用不同的基模型来提取特定区域的特征,但这种方式会使流程复杂化,并从特定区域提取出大量冗余特征。因此,本文将所有原始注意力权重整合至注意力映射中,以此来指导模型高效地选取差异性图片区域,提出用于细粒度分类的Transformer结构TransFG。

图1 TransFG 结构

1 问题定义

细粒度分类任务主要以定位方法及特征编码方法为主,定位方法主要通过定位差异性局部区域来进行分类,而特征编码方法通过高维信息或寻找差异对之间关系来学习更多信息。TransFG通过整合注意力权重,计算区域的对比损失,来定位差异性局部区域,以此进行细粒度分类。

2 TransFG

2.1 图像序列化

原有Vision Transformer将图片分割为相互不重叠的patch,但这会损害局部相邻结构,可能会导致差异性图像区域被分离。因此,为解决这个问题,本文采用滑动窗口产生重叠patch,所产生的patch数量N根据公式(1)进行计算。其中,H、W分别为图像长宽,P为图像patch尺寸,S为滑动窗口步长。

2.2 Patch Embedding 和 Transformer Encoder

TransFG在Patch Embedding 和 Transformer Encoder两个模块遵循了原有ViT的形式,并未进行改动

2.3 局部选取模块(PSM)

图2 TransFG的注意力映射及所选取的token

首先假设模型中具有K个自注意首部,各层注意力权重如公式(2)所示,其中al指第l层K个首部注意力权重。

如公式(3)所示,将所有层的注意力权重进行矩阵相乘,afinal 捕捉了图像信息从输入到更深层的整个过程,相对于原有ViT,包含了更多信息,更加有助于选取具有识别性的区域

选取afinal中K个不同注意力首部的最大值A1、A2、…、AK,并将其与分类token进行拼接,其结果如公式(4)所示。该步骤不仅保留了全局信息,也让模型更加关注与不同类别之间的微小差异。

2.4 对比损失

如公式(5)所示,对比损失的目标是最小化不同类别对应的分类tokens的相似度,并最大化相同类别对应的分类tokens的相似度。其中,为减少loss被简单负样本影响,采用α来控制对loss有贡献的负样本对。

3 实验结果

TranFG在CUB-200-2011、Stanford Cars、Stanford Dogs、NABirds及iNat2017五个数据集进行了验证,并在CUB-200-2011、Standford Dogs、NABirds数据集上取得了SOTA结果。

4. 总结

  • 在图像序列化部分,相对于采用非重叠的patch分割方法,采用重叠方法的精度提高了0.2%
  • PSM整合所有注意力权重,保留全局信息,让模型更加关注于不同类别的微小差别,让模型精度提高了0.7%。
  • 采用对比损失函数,能减少不同类别的相似度,提高相同类别的相似度,让模型精度提高了0.4%-0.5%。

参考文献

[1] He, Ju, et al. "TransFG: A Transformer Architecture for Fine-grained Recognition." arXiv preprint arXiv:2103.07976 (2021).

想了解更多的AI技术干货,欢迎上华为云的AI专区,目前有AI编程Python等六大实战营供大家免费学习

点击关注,第一时间了解华为云新鲜技术~

带你读AI论文丨用于细粒度分类的Transformer结构—TransFG的更多相关文章

  1. 带你读AI论文丨用于目标检测的高斯检测框与ProbIoU

    摘要:本文解读了<Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection&g ...

  2. 带你读AI论文丨ACGAN-动漫头像生成

    摘要:ACGAN-动漫头像生成是一个十分优秀的开源项目. 本文分享自华为云社区<[云驻共创]AI论文精读会:ACGAN-动漫头像生成>,作者:SpiderMan. 1.论文及算法介绍 1. ...

  3. 带你读AI论文丨S&P21 Survivalism: Living-Off-The-Land 经典离地攻击

    摘要:这篇文章属于系统分析类的文章,通过详细的实验分析了离地攻击(Living-Off-The-Land)的威胁性和流行度,包括APT攻击中的利用及示例代码论证. 本文分享自华为云社区<[论文阅 ...

  4. 带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN

    摘要:本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架--HINTI,旨在建模异构IOCs之间的相互依赖关系,以量化其相关性 ...

  5. 带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

    摘要:LaneNet是一种端到端的车道线检测方法,包含 LanNet + H-Net 两个网络模型. 本文分享自华为云社区<[论文解读]LaneNet基于实体分割的端到端车道线检测>,作者 ...

  6. 带你读AI论文丨针对文字识别的多模态半监督方法

    摘要:本文提出了一种针对文字识别的多模态半监督方法,具体来说,作者首先使用teacher-student网络进行半监督学习,然后在视觉.语义以及视觉和语义的融合特征上,都进行了一致性约束. 本文分享自 ...

  7. 带你读AI论文:NDSS2020 UNICORN: Runtime Provenance-Based Detector

    摘要:这篇文章将详细介绍NDSS2020的<UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats& ...

  8. ACNet: 特别的想法,腾讯提出结合注意力卷积的二叉神经树进行细粒度分类 | CVPR 2020

    论文提出了结合注意力卷积的二叉神经树进行弱监督的细粒度分类,在树结构的边上结合了注意力卷积操作,在每个节点使用路由函数来定义从根节点到叶子节点的计算路径,结合所有叶子节点的预测值进行最终的预测,论文的 ...

  9. 【带你读论文】向量表征经典之DeepWalk

    摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想. 本文分享自华为云社区<[论文阅读] (25) 向量表征经典 ...

  10. 带你读Paper丨分析ViT尚存问题和相对应的解决方案

    摘要:针对ViT现状,分析ViT尚存问题和相对应的解决方案,和相关论文idea汇总. 本文分享自华为云社区<[ViT]目前Vision Transformer遇到的问题和克服方法的相关论文汇总& ...

随机推荐

  1. 虹科干货 | 零售业数智升级不掉队,get数据,get未来!

    电商崛起,传统零售行业危机四伏,全渠道盈利与可持续化成为难点,库存管理这块难啃的"硬骨头"也同样让零售商倍感压力...... 背腹受敌的零售商,如何才能在数字化转型道路上避免利润缩 ...

  2. P9580 「Cfz Round 1」Wqs Game 题解

    题目链接 挺好的博弈论题,这是一个跟官方题解不太一样的做法. 遇到这种组合游戏可以先考虑逆推胜负,把握一下规律,我们先从一个区间的胜负判断开始入手. 考察区间中最后一个数字的从属关系,如果它属于弈,因 ...

  3. `.NET Web`新人入门必学项目`EarthChat`

    .NET Web新人入门必学项目EarthChat EarthChat是一个基于.NET 7的实战项目,EarthChat提供了很多的最佳实践,EarthChat的目标也是成为一个很多人都喜欢的大型聊 ...

  4. Prometheus+Grafana实现服务性能监控:windows主机监控、Spring Boot监控、Spring Cloud Alibaba Seata监控

    1.Prometheus介绍 Prometheus使用Go语言开发,中文名称叫:普罗 米修斯.Prometheus是一个开源系统最初在SoundCloud构建的监控和警报工具包.自 2012 年成立以 ...

  5. Meissel–Lehmer 算法

    前言 推荐先行阅读我的blog文章----Min_25 筛 什么是Meissel–Lehmer 算法 Meissel-Lehmer 算法是一种基于 \(ϕ\) 函数的的快速计算前缀质数个数(当然也可以 ...

  6. Codeforces Round #701 (Div. 2) A~C 题解

    写在前边 链接:Codeforces Round #701 (Div. 2) 数学场,题目描述简单粗暴,思路很妙,代码短的不行,都是好神奇的一些题目. A. Add and Divide 链接:A题链 ...

  7. 【Javaweb】瑞吉外卖你冲不冲?冲冲!冲!冲冲!(数据库环境搭建)(maven项目搭建)一

    图形界面创建数据库(Navicat) 命令行方式创建 瑞吉项目一共涉及到十一张表 导入表结构,既可以使用上面的图形界面,也可以使用MySQL命令: 通过命令导入表结构时,注意sql文件不要放在中文目录 ...

  8. 小程序的登录授权与退出功能(wx.getUserProfile)

    一.授权登录:wx.getUserProfile 1.使用wx.getUserProfile实现登录 1.javascript: login(){ wx.getUserProfile({ desc: ...

  9. 在Winform应用中增加通用的业务编码规则生成

    在我们很多应用系统中,往往都需要根据实际情况生成一些编码规则,如订单号.入库单号.出库单号.退货单号等等,我们有时候根据规则自行增加一个函数来生成处理,不过我们仔细观察后,发现它们的编码规则有很大的共 ...

  10. [CF1641D] Two Arrays

    题目描述 Sam changed his school and on the first biology lesson he got a very interesting task about gen ...