作者 | VincentLee
来源 | 晓飞的算法工程笔记

细粒度分类(Fine-Grained Visual Categorization, FGVC)是图片分类的一个分支,由于类别间的相似性非常大,一般人比较难区分,所以是个很有研究意义的领域。受神经树研究的启发,论文设计了结合注意力卷积的二叉神经树结构(attention convolutional binary neural tree architecture, ACNet)用于弱监督的细粒度分类,论文的主要贡献如下:

  • 提出结合注意力卷积的二叉神经树结构ACNet用于细粒度分类,在树结构的边上结合了注意力卷积操作,在每个节点使用路由函数从而定义从根节点到叶子节点的计算路径,类似于神经网络。这样的结构让算法有类似于神经网络的表达能力,以及能够从粗到细的层级进行特征学习,不同的分支专注于不同的局部区域,最后结合所有叶子节点的预测值进行最终的预测;

  • 添加attention transformer模块来加强网络获取关键特征进行准确分类;

  • 在三个数据集CUB-200-2011、Stanford Cars和Aircraft上达到了SOTA。

注意力卷积的二叉神经树

ACNet包含4个模块,分别是主干网络(backbone network)、分支路由(branch routing)、attention transformer和标签预测(label prediction),如图2所示。将ACNet定义为,为树状拓扑结构,为树边的操作集。论文使用满二叉树,为节点,为边,对于树深,共节点,边。每个节点为路由模块,决定下一个计算节点,边采用attention transformer进行操作。另外,满二叉树采用了非对称结构,例如左边使用两个transformer模块,右边使用一个transformer模块,这样有利于提取不同尺寸的特征

架构

  • Backbone network module

  由于细粒度类别的关键特征都是高度局部的,需要使用相对较小的感受域来提取特征,因此主干网络使用截断的VGG-16网络,输入改为

  • Branch routing module

  分支路由用来决定子节点的选择,结构如图2b所示,-th层的-th路由模块由卷积和global context block组成

global context block的大概结构如上图a所示,来自GCNet的论文中。在context modeling和fusion步骤使用了simplified NL block,在transform步骤使用了SE block,这个模块能够很好地结合上下文信息来提取特征,最后使用global average pooling、element-wise square-root、L2正则化以及sigmoid激活的全连接层输出标量。

假设分支路由模块输出样本到右边节点的概率为,则输出到左边节点的概率为,概率越大的节点对最终结果的影响越大。

  • Attention transformer

Attention transformer模块用于加强网络获取关键特征的能力,在卷积后面插入结构如图2c所示的attention模块,该模块的旁路输出一个大小为的channel attention map对输入特征进行加权。

  • Label prediction

对于ACNet的每个叶子节点,用标签预测模块来预测目标的类别,为目标从根节点到k层第i个节点的累计概率,预测模块由卷积层、max pooling层、L2归一化层、全连接层和softmax层组成,通过求和所有的叶子节点的预测结果和路径累计概率的乘积得到最终的预测。

最终的预测结果的各项和为1,论文对其进行了证明,有兴趣的可以去看看,主要基于叶子节点的累计概率和为1,各叶子节点的预测结果和也为1。

训练

  • Data augmentation

在训练阶段,使用裁剪和翻转操作进行数据增强,首先将图片缩放至短边512像素,然后随机裁剪到,随机进行翻转。

  • Loss function

ACNet的损失函数由两部分组成,分别为叶子节点预测产生的损失以及最终结果产生的损失。为树高,为GT,为最终预测结果的负对数似然损失,为第个叶子预测结果的负对数似然损失。

  • Optimization

主干网络使用在ILSVRC上预训练的模型,使用"xavier"进行所有卷积层的随机初始化,整个训练过程包含两阶段,第一阶段固定主干网络训练60周期,第二阶段则使用小学习率对整个网络进行200周期的fine-tune。

实验

训练共需要512G内存,8张V100,下面的实验主要跟弱监督的细粒度算法进行对比,即不需要额外的标注的细粒度算法。

CUB-200-2011 Dataset

Stanford Cars Dataset

Aircraft Dataset

Ablation Study

  • Effectiveness of the tree architecture

如图5所示,使用树状结构能够显著提升准确率,使用Grad-CAM产生heatmap来对叶子节点对应的响应区域进行可视化,发现不同的叶子节点关注的特征区域各不一样。

  • Height of the tree

  • Asymmetrical architecture of the tree

论文对比左右路径的attention transformer数的对称性对识别的影响

  • Effectiveness of the attention transformer module

  如图5所示,attention transformer模块能够有效地提升模型的准确率。

  • Components in the branch routing module

论文发现不同的分支路由模块关注的特征区域也不一样,图6的可视化结果分别为图2的R1、R2和R3节点使用Grad-CAM得到的响应区域。

结论

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

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

【end】

原力计划

《原力计划【第二季】- 学习力挑战》正式开始!即日起至 3月21日,千万流量支持原创作者!更有专属【勋章】等你来挑战

推荐阅读

  • 如何用 CNN 玩转 AlphaGo 版的五子棋?

  • 训练数据也外包?这家公司“承包”了不少注释训练数据,原来是这样做的……

  • 微信iOS版内测暗黑模式;涉嫌恶意举报,社交平台Soul运营合伙人被批捕;AWS推出基于Linux开源操作系统

  • 区块链和大数据一起能否开启数据完整性的新纪元?

  • Soul App 高管被捕,恶意举报导致竞品被下架

  • 以太坊2.0、分片、DAG、链下状态通道……概述区块链可扩展性的解决方案!

  • 你点的每个“在看”,我都认真当成了AI

腾讯提结合ACNet进行细粒度分类,效果达到最新SOTA | CVPR 2020相关推荐

  1. 商汤提基于贪心超网络的One-Shot NAS,达到最新SOTA | CVPR 2020

    出品 | AI科技大本营(ID:rgznai100) 导读:在CVPR 2020上,商汤移动智能事业群-3DAR-身份认证与视频感知组提出了基于贪心超网络的One-Shot NAS方法,显著提升了超网 ...

  2. 商汤提基于贪心超网络的One-Shot NAS,达到最新SOTA | CVPR 2020

    出品 | AI科技大本营(ID:rgznai100) 导读:在CVPR 2020上,商汤移动智能事业群-3DAR-身份认证与视频感知组提出了基于贪心超网络的One-Shot NAS方法,显著提升了超网 ...

  3. 旷视提双边分支网络BBN:攻坚长尾分布的现实世界任务 | CVPR 2020 Oral

    作者 | 旷视研究院 出品 | AI科技大本营(ID:rgznai100) 导读:本文是旷视 CVPR 2020 论文系列解读文章,也是 CVPR 2020 Oral展示论文之一,它揭示了再平衡方法解 ...

  4. 基于深度学习的细粒度分类研究及应用

    本文主要介绍深度学习图像分类的经典网络结构及发展历程,就细粒度图像分类中的注意力机制进行了综述,最后给出了汽车之家团队参加CVPR2022细粒度分类竞赛所使用的模型及相关算法.参赛经验等,同时介绍了该 ...

  5. CVPR 2020 细粒度分类挑战赛冠军方案:数据增强+知识蒸馏,效果大幅提升

    本文转载自机器之心. 近日,支付宝天筭安全实验室在 CVPR FGVC(细粒度视觉分类)workshop 举办的植物病理学挑战赛(Plant Pathology Challenge)中夺冠.本文介绍了 ...

  6. 深度学习之细粒度分类

    目录 一.概述 资源 什么是细粒度图像分类 意义 细粒度图像分类的挑战 细粒度分类常用方法 二.基于定位-识别的方法 2.1 强监督 2.1.1 Part-based R-CNN 2.1.2Pose ...

  7. 反向R?削弱显著特征为细粒度分类带来提升 | AAAI 2020

    作者 | VincentLee 来源 | 晓飞的算法工程笔记 导读:论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能 ...

  8. 带你读AI论文丨用于细粒度分类的Transformer结构—TransFG

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

  9. 大规模细粒度分类和特定领域的迁移学习

    原文: Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learning 概要 通过微调从大规模数据集(如Im ...

最新文章

  1. POJ 2186 Tarjan
  2. Linux 网络 tcp C/S通信模型
  3. 掘金Markdown使用
  4. Spring Boot 对CORS跨域访问的配置
  5. 最优化(part1)--近似点梯度法
  6. 【Modern OpenGL】纹理 Textures
  7. Win11新特性:在平板锁屏界面还有酷炫的3D视差效果
  8. STM32----重温ADC测量电压值
  9. Baum-WELCH和vertibe解码算法
  10. spark学习-29-源代码解析从start-all.sh脚本开始
  11. 周五,放松心情,听我来分享问题背后的背后(二)
  12. java变量的声明和数据类型
  13. 记录C语言课程设计报告-图书管理系统
  14. SwiftyJSON 对网络请求来的数据进行解析或者转为modul
  15. MySQL图书馆借书管理系统试题
  16. 浅谈摄某网绕过图片水印查看下载无水印图片
  17. 文件系统性能测试工具 FIO工具
  18. 更完美 联想乐Phone获取root权限教程
  19. 一步一步学Silverlight 2系列(21):如何在Silverlight中调用JavaScriptjavascript
  20. Android Studio —— 一键浏览器搜索

热门文章

  1. UVA 1482 - Playing With Stones(SG打表规律)
  2. Ansible基础一Playbook(二)
  3. ASP.net(C#)批量上传图片(完整版)
  4. File Operations In Java
  5. 分享一款jQuery全屏滚动页面特性案例
  6. linux下jboss的安装配置
  7. H3C ER3260通过Console口重装软件修复路由器
  8. 屏蔽“网页上有错误”提示,屏蔽java script 错误的代码
  9. cmd中实现scott的解锁和开锁以及授予dba权限
  10. wireless(二维数组前缀和)