vit细粒度图像分类(六)FBSD学习笔记

1.摘要

从判别局部区域学习特征表示在细粒度视觉分类中起着关键作用。利用注意机制提取零件特征已成为一种趋势。然而,这些方法有两个主要的局限性:第一,它们往往只关注最突出的部分,而忽略了其他不明显但可区分的部分。其次,他们孤立地对待不同的部分特征,而忽略了它们之间的关系。
为了解决这些限制,我们建议定位多个不同的可区分部分,并以明确的方式探索它们之间的关系。在这个过程中,我们引入了两个轻量级模块,它们可以很容易地插入到现有的卷积神经网络中。一方面,我们引入了一个特征增强和抑制模块,该模块增强特征映射中最显著的部分以获得特定于部件的表示,并抑制它以迫使后续网络挖掘其他潜在部件。另一方面,我们引入了一个特征多样化模块,从相关的特定部件表示中学习语义互补信息。
我们的方法不需要边界框/部分注释,可以端到端进行训练。大量的实验结果表明,我们的方法在几个基准细粒度数据集上取得了最先进的性能。源代码可从https://github.com/chaomaer/FBSD获得。

2.问题

细粒度视觉分类(Fine-grained visual classification, FGVC)侧重于在基本类别中区分细微的视觉差异,例如鸟类[1]和狗[2]的种类,以及飞机[3]和汽车[4]的模型。近年来,卷积神经网络(convolutional neural networks, cnn)在人脸识别[5]、自动驾驶[6]、行人再识别[7]、IOT中的智能物流等许多任务上都取得了很大的进展。
然而,如图1所示,由于类内变化大,类间变化小,传统的cnn不足以捕获细微的区别特征,这使得FGVC仍然是一项具有挑战性的任务。

2.1发现

因此,如何使cnn找到可区分的部分并学习判别特征是需要解决的重要问题。早期的作品[8][9][10][11]依赖于预定义的边界框和部分注释来捕捉视觉差异。然而,收集额外的注释信息是劳动密集型的,需要专业知识,这使得这些方法不太实用。因此,研究人员最近将更多的注意力集中在弱监督的FGVC上,这种FGVC只需要图像标签作为监督。

2.2发展

在这个方向上有两个范例。一种是基于局部特征,这些方法[12][13][14][15][16]通常由两个不同的子网组成。具体来说,设计了一个带有注意机制的定位子网络来定位有区别的部分,遵循一个分类子网络来识别。专门的损失函数设计用于优化两个子网。这些方法的局限性在于由于注意模块和损失函数的特殊设计而难以优化。另一种是基于高阶信息,这些方法[17][18][19][20][21]认为一阶信息不足以对差异进行建模,而是使用高阶信息对区分进行编码。这些方法的局限性是占用大量GPU资源,可解释性差。

2.3创新

我们提出了特征增强,抑制和多样化,以提高效率和可解释性。我们认为,基于注意力的方法倾向于关注最显著的部分,因此其他不显著但可区分的部分没有机会脱颖而出[22]。然而,当屏蔽或抑制最突出的部分时,网络将被迫挖掘其他潜在的部分。基于这一简单有效的思想,我们引入了一个特征增强和抑制模块(FBSM),该模块突出当前阶段特征映射中最突出的部分以获得特定于部分的表示,并对其进行抑制以迫使下一阶段挖掘其他潜在的arXiv:2103.02782v2 [cs]。2021年5月5日零件。通过将fbsm插入到cnn的中间层中,我们可以得到多个特定于部件的特征表示,这些特征表示明确地集中在不同的对象部件上。

直观地说,单个部件特定的特征表示忽略了来自整个对象的知识,可能只见树木不见森林。为了消除偏差,我们引入了特征多样化模块(FDM)来多样化每个部件特定的特征表示。具体来说,给定特定于某个部分的表示,我们通过聚合从其他部分发现的互补信息来增强它。通过对零件交互过程进行FDM建模,使零件特定特征的表示更具判别性和丰富性。

最后,对FBSM和FDM进行联合优化,如图2所示。我们的方法不需要边界框/部分注释,并且在几个标准基准数据集上报告了最先进的性能。此外,我们的模型轻量级且易于训练,因为它不涉及多群机制[12][23][13]

我们的贡献总结如下:
•我们提出了一个特征增强和抑制模块,它可以显式地强制网络关注多个有区别的部分。
•我们提出了一个特征多样化模块,该模块可以为零件交互建模,并使每个零件特定的表示多样化。

2.4补充

A. Fine-Grained Feature Learning

Ding等[16]提出了稀疏选择性采样学习,以获得判别区和互补区。Sun等[24]提出了一种挤压多激励模块来学习多个部件,然后对这些部件应用多注意多类约束。Zhang等[25]提出通过对比图像对来发现对比线索。yang等[14]引入了一个导航员-教师-审查员网络来获得判别区域。Luo等[26]提出了Cross-X学习来探索不同图像和不同层之间的关系。Gao等人[27]提出对渠道相互作用进行建模,以捕捉细微的差异。Li等[19]提出了通过矩阵平方根归一化捕获判别,并引入了快速端到端训练的迭代方法。Shi等[28]从可区分的部分中去除易混淆的特征,以促进细粒度分类。

He等人[29]提出了渐进式关注,以在不同尺度上定位部位。我们的方法利用特征增强和抑制来明确地学习不同的部件表示,这与以前的方法有很大的不同。

B. Feature Fusion

FPN[30]和SSD[31]对不同层的特征图进行聚合,在目标检测领域取得了很大的成功。但是,它们使用元素加法作为聚合操作,这使得这些方法的功能仍然有限。王很高兴。[32]提出了一种非局部运算,将空间位置的响应计算为特征映射中所有位置的特征的加权和。SG-Net[33]利用非局部操作来融合来自不同层的特征图。CIN[27]采用非局部运算从不同的特征通道中挖掘语义互补信息。我们的FDM与[33]和[27]相似,但存在本质区别:(1)SG-Net倾向于探索正相关性以捕获长期依赖关系,而FDM倾向于探索负相关性以使特征表示多样化。(2) CIN沿着通道维度挖掘互补信息,而FDM沿着空间维度挖掘互补信息。

3.网络

3.1整体结构

在本节中,我们将详细介绍所建议的方法。该框架的概述如图2所示。我们的模型由两个轻量级模块组成:(1)特征增强和抑制模块(FBSM),旨在学习尽可能不同的多个区别性部件特定表示。(2)基于部件交互建模的特征多样化模块(FDM),增强部件的具体表示。

3.2 Feature Boosting and Suppression Module

给定某一层的特征映射X∈RC×W ×H,其中C、W、H分别表示通道数、宽度和高度。受[7]的启发,我们简单地沿宽度维度将X平均分成k个部分,并将每个条纹部分表示为X(i)∈rcx (W/k)×H, i∈[1,k]。然后我们使用一个1 × 1的卷积φ来探索每个部分的重要性:

采用非线性函数Relu[34]去除负激活。φ在不同的条纹部分之间共享,并作为分级器。然后取A(i)的平均值作为X(i)的重要因子b0i,即: 

其中GAP表示全球平均池。我们使用softmax对B0 = (b01,···,b0k)T进行归一化:

 通过归一化的重要因子B = (b1,···,bk)T,可以立即确定最突出的部分。然后,通过对最显著部分进行增强,得到增强特征Xb:

其中α是控制升压程度的超参数,⊗表示逐元素乘法。在Xb上应用卷积层h,得到部分特定表示Xp: 

通过抑制条纹最多的部分,我们可以得到抑制特征Xs: 

其中S = (s1,···,sk)T, β是控制抑制程度的超参数。

简言之,FBSM的功能可以表示为:FBSM(X) = (Xp, Xs)。给定特征映射X, FBSM输出部分特定的特征Xp和潜在的特征映射X。由于Xs在当前阶段抑制了最突出的部分,所以在将Xs输入到下一阶段后,其他潜在的部分将会脱颖而出。FBSM的示意图如图3所示。 

 用类似于分组卷积的方式获取分条特征,使用1*1卷积获取重要部分,在之后通过GAP来获取显著部分权重,与输入进行矩阵相乘获得显著特征;另一方面,通过对显著权重抑制,从而得到次显著权重,再次与输入进行矩阵相乘获得次显著特征。

这个通过显著特征权重,得到次显著权重的方法,理论上来说是可以的。但是实际用代码实现,是拿1-显著权重,结果为次显著权重。

3.3 Feature Diversification Module

由于学习区别性和多样性特征在FGVC中起着关键作用[35][24][23],我们提出了一个特征多样化模块,该模块通过聚合从其他部分特定表示中挖掘的互补信息来增强每个部分特定特征。

我们首先讨论了两个特定于零件的特征如何通过配对互补模块(PCM)相互多样化。图4显示了PCM的一个简单示例。在不失一般性的前提下,我们将两个不同的局部特征表示为Xp1∈RC×W1H1和Xp2∈RC×W2H2,其中C表示通道数量,W1H1和W2H2分别表示通道的空间大小。我们使用下标pi表示Xpi聚焦于对象的第i部分,当没有歧义时将省略下标。我们将通道维度上每个空间位置的特征向量表示为一个像素,即:

我们首先计算Xp1和Xp2像素之间的相似度:

这里,我们使用内积来计算相似度。元素Mi,j表示Xp1的第i个像素与Xp2的第j个像素的相似度。两个像素点的相似度越低,表示它们的互补性越强,因此我们采用−M作为互补矩阵。然后分别对- M行和列进行归一化操作:

 其中softmax是按列执行的。然后我们可以得到互补信息:

其中,Y pjpi表示Xpi相对于Xpj的互补信息。值得注意的是,Y p2p1的每个像素可以写成:

即Y p2p1的每个像素都以Xp2的所有像素为参照,像素(Xp1, i)与像素(Xp2, j)的互补性越高,像素(Xp2, j)对像素(Y p2p1, i)的贡献越大。这样,这两个部分特定特征中的每个像素都可以相互挖掘语义互补信息。

现在我们讨论一般情况。形式上,给定一个局部特征集合P = {Xp1, Xp2, Xp3···,Xpn},则Xpi的互补信息为:

其中,将Xpi和Xpj分别作用于(9)、(10)、(12),得到Y pjpi。在实践中,我们可以同时计算Y pjpi和Y pipjj,如图4所示。然后我们得到了增强的部分特定特性:

 其中γ是控制多样化程度的超参数。 

 

属于特征融合的一种方法 

3.4 Network Design

我们的方法可以很容易地在各种卷积神经网络上实现。如图2所示,我们以Resnet[36]为例。Resnet的特征提取分为五个阶段,每个阶段后特征图的空间大小减半。考虑到深层有更多的语义信息,我们将fbsm插入到stage3, stage4, stage5的末尾。由fbsm生成的不同部件特定表示被馈送到FDM中,以使每种表示多样化。

我们的方法具有高度的可定制性,可以通过直接调整fbsm的数量来适应不同粒度的分类。在训练时,我们计算每个增强部件特定特征Zpi的分类损失:

其中y为输入图像的ground-truth标签,用one-hot向量表示,clsi为第i部分的分类器,pi∈RN为预测评分向量,N为对象类别的个数。最终优化目标为:

其中T = 3是增强的部件特定特征的数量。在推理时,我们将所有增强部分特定特征的预测分数的平均值作为最终的预测结果

4.实验

4.1实验设置

4.1.1数据集

CUB-200-2011 [1], FGVC-Aircraft [3], Stanford Cars [4],Stanford Dogs [2]

4.1.2实验细节

我们在Resnet50, Resnet101[36]和Densenet161[40]上验证了我们的方法的性能,它们都是在ImageNet数据集[41]上预训练的。我们在阶段3、阶段4和阶段5的末尾插入fbsm。在训练过程中,输入图像被调整为550 × 550,随机裁剪为448 × 448。我们应用随机水平翻转来扩大列车集。在测试期间,输入图像被调整为550 × 550,并从中心裁剪为448 × 448。我们设置超参数α = 0.5, β = 0.5和γ = 1。

我们的模型采用随机梯度下降优化,动量为0.9,epoch数为200,权重衰减为0.00001,mini-batch为20。骨干层学习率设置为0.002,新增层学习率设置为0.02。学习率由余弦退火调度器调节[42]。

4.2对比试验

4.3消融实验

4.4可视化

5.结语

在本文中,我们提出学习特征增强、抑制和多样化来进行细粒度视觉分类。具体来说,我们引入了两个轻量级模块:一个是特征增强和抑制模块,它对特征映射中最突出的部分进行增强以获得特定于零件的特征,并对其进行抑制以显式地强制后续阶段挖掘其他潜在零件。另一个是特征多样化模块,它将来自其他对象部件的语义互补信息聚合到每个特定部件的表示中。这两个模块之间的协同作用有助于网络学习更具判别性和多样性的特征表示。我们的方法可以端到端训练,不需要边界框/部分注释。

在几个基准数据集上获得了最先进的结果,烧蚀研究进一步证明了每个提出模块的有效性。在未来,我们将研究如何自适应地将特征映射划分为合适的补丁来增强和抑制,而不是简单的条纹部分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/366581.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零搭建Vue3 + Typescript + Pinia + Vite + Tailwind CSS + Element Plus开发脚手架

项目代码以上传至码云,项目地址:https://gitee.com/breezefaith/vue-ts-scaffold 文章目录 前言脚手架技术栈简介vue3TypeScriptPiniaTailwind CSSElement Plusvite 详细步骤Node.js安装创建以 typescript 开发的vue3工程集成Pinia安装pinia修改main.ts创…

图解Vue组件通讯【一图胜千言】

Vue的每个组件都有独自的作用域,组件间的数据是无法共享的,但实际开发工作中我们常常需要让组件之间共享数据,今天我们来学习下面三种组件通信方式: 父子组件之间的通信 兄弟组件之间的通信 祖先与后代组件之间的通信 1. 父子组件…

MySQL进阶之锁(全局锁以及备份报错解决)

锁 全局锁 全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语 句,已经更新操作的事务提交语句都将被阻塞。 其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定&#xff…

Windows篇|连接共享文件夹映射驱动器教程

前言 昨天给小伙伴们分享了如何设置Windows共享文件夹的教程 超简单设置Windows共享文件夹,传输文件无烦恼 A电脑设置完共享文件夹之后,只要在同一局域网下,所有的电子设备都可以连接访问A电脑的共享文件夹里的内容。 这样就省去了U盘传输的麻烦,只要A电脑开着机,文件放入…

Mac如何设置一位数密码?

一、问题 Mac如何设置一位数密码? 二、解答 1、打开终端 2、清除全局账户策略 sudo pwpolicy -clearaccountpolicies 输入开机密码,这里是看不见的,输入完回车即可 3、重新设置密码 (1)打开设置-->用户和群组…

Docker 容器卷

1、概念介绍 如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了,如果要开启,我们一般使用--privlegedtrue命令,扩大…

Visual Studio Code安装配置C/C++教程 (windows版,亲测可行)

一.下载 Visual Studio Code https://code.visualstudio.com/ 二.安装 选择想要安装的位置: 后面的点击下一步即可。 三.下载编译器MinGW vscode只是写代码的工具,使用编译器才能编译写的C/C程序,将它转为可执行文件。 MinGW下载链接:…

24.云原生ArgoCD高级之数据加密seale sealed

云原生专栏大纲 文章目录 数据加密之seale sealedBitnami Sealed Secrets介绍Bitnami Sealed Secrets工作流程安装sealed-secrets和kubeseal安装sealed-secrets-controller安装kubeseal通过kubeseal将sealed-secrets公钥拿出来通过kubeseal加密secrets替换kustomize下secret为…

html2canvas 截图功能使用 VUE

html2canvas 是一个 JavaScript 库,可以将网页内容转换为 Canvas 元素,并生成图像或 PDF 文件。使用 html2canvas,你可以在客户端将网页的内容截图,并将其作为图像或 PDF 文件保存或分享。 以下是一些 html2canvas 库的特点和用途…

银河麒麟v10服务器版,specvirt测试

1 两台服务器,一台为SUT,一台为Phyclient。 1.1 两台服务器均编译安装gcc和qemu 按银河麒麟v10服务器arm版,qemugcc,跨架构安装虚拟机中步骤,编译安装gcc-9.3.0和qemu-7.0.0。 2 SUT服务器操作 2.1 mount数据盘到/…

XGB-1:XGBoost安装及快速上手

XGBoost是“Extreme Gradient Boosting”的缩写,是一种高效的机器学习算法,用于分类、回归和排序问题。它由陈天奇(Tianqi Chen)在2014年首次提出,并迅速在数据科学竞赛和工业界获得广泛应用。XGBoost基于梯度提升框架…

10个React状态管理库推荐

本文将为您推荐十款实用的React状态管理库,帮助您打造出高效、可维护的前端应用。让我们一起看看这些库的魅力所在! 在前端开发中,状态管理是至关重要的一环。React作为一款流行的前端框架,其强大的状态管理功能备受开发者青睐。…

撰写出色的时事政治新闻资讯稿:窍门和技巧

撰写出色的时事政治新闻资讯稿:窍门和技巧 文章大纲写新闻/资讯(结构部分)较为复杂的标题(额外扩展)相关案例去除引题去除引题和副题注意事项讲一下什么叫导语。叙述式结论式描写式提问式摘要式 主体一要新二要“小”三…

当人工智能遇上教育,会擦出怎样的火花?

在这个时代,科技的风暴正以前所未有的速度席卷全球。其中,人工智能,这个被誉为21世纪的“科技之星”,正悄然改变着我们的生活。但是,当人工智能遇上传统教育领域时,你猜会发生什么? 有人说&…

宠物商业数据分析

一、宠物热销品类分布 欧睿国际更有一份数据表明,宠物食品在所有“它经济”中占比是最大,仅仅是猫狗食品就达到了59.1%,增速也远高于其他宠物用品。 2018年,中国就已经有超7700万独居成年人口,国内养宠主力军中90后占…

Shopee越南本土店好做吗?越南本土Shopee店家如何收款?站斧浏览器

Shopee越南本土店好做吗? 对于越南本土的Shopee店家来说,他们可能会关心Shopee平台的运营情况和是否适合他们开展电商业务。那么,Shopee好做吗?以下是一些相关的讨论点。 用户基础和市场规模 作为东南亚地区最大的电商平台之一…

10 排序的概念

目录 1.排序的概念和运用 2.排序的分类 1. 排序的概念及运用 1.1 排序的概念 排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作 稳定性:假定在待排序的记录序列中,存在…

Transformer 自然语言处理(四)

原文:Natural Language Processing with Transformers 译者:飞龙 协议:CC BY-NC-SA 4.0 第十章:从头开始训练变换器 在本书的开头段落中,我们提到了一个名为 GitHub Copilot 的复杂应用,它使用类似 GPT 的…

护林防火人人有责!无人机+智能网关V4烟火检测算法助力森林防火

一年一度的春节即将来临,人们在欢度节日的同时,一种危险也悄然来临。随着2008年《森林防火条例》的颁发,护林防火也逐渐被人们了解。特别是在春节时期,山区山高林密,且冬季树木干燥,一旦有人在燃放烟花爆竹…

vue中的async和await

目录 一. 错误处理和重试逻辑 二. 并发请求 三. 条件逻辑 四. 异步初始化 五. 使用 Vuex 和异步操作 在 Vue.js 中,async 和 await 的高级用法通常涉及更复杂的异步逻辑处理,包括错误处理、条件逻辑、并发请求等。以下是一些高级用法的示例&#xf…
最新文章