graph在细粒度分类中的应用

news2024/9/29 18:06:53

目录

  • 基于Graph-Propagation的相关性学习AAAI2020
  • 基于graph的高阶关系发现CVPR2021

基于Graph-Propagation的相关性学习AAAI2020

来源:Graph-Propagation Based Correlation Learning for Weakly Supervised Fine-Grained Image Classification(这或许是第一个用graph处理判别区空间关系的FGIA方法)

弱监督细粒度图像分类(WFGIC)的关键是如何挑选出判别区并从中学习判别特征。然而,目前大多数的WFGIC方法都是独立挑选出判别区,直接利用其特征,而忽略了区域特征之间的语义相互关联,区域组具有更强的判别能力。为了解决这些问题,作者提出了一个基于图传播的端到端相关性学习模型GCL,以充分挖掘和利用WFGIC的区域相关的判别潜力。
fig1

  • GCL的动机。a为原始图像,b和d为判别区的打分图,c和e为不使用交叉图传播模块(CGP)和使用交叉图传播模块的定位结果,f和g为未进行相关特征强化学习(CFS)和进行相关特征强化学习的特征向量。

从细粒度图像中学习判别区位置是WFGIC的关键。最近大部分工作分为两组:

  • 基于启发式方案的判别区定位,这种方法的局限在于,很难保证所选区域具有足够判别性;
  • 基于ML的端到端定位判别区,但是过去的方法比如NTS-Net仅独立对待判别区,忽略了判别区之间的联系。

作者认为挖掘区域间的相关性比单个区域的判别能力更强,这促使作者将判别区之间的相关性纳入管道。

fig2

  • 基于图传播的相关性学习(GCL)模型的框架。通过纵横交叉图传播(CGP)子网络生成判别邻接矩阵(AM),通过评分网络(Sample)生成判别评分图(score map)。然后GCL根据判别评分图从默认patch(DP)中选择判别性更强的patch。同时,对原始图像进行裁剪和调整,大小为 224 × 224,并通过相关特征增强(CFS)子网络的图传播生成判别特征。最后,将多个特征连接起来,得到WFGIC的最终特征表示。

基于graph的高阶关系发现CVPR2021

来源:Graph-based High-Order Relation Discovery for Fine-grained Recognition

细粒度识别旨在学习有效的特征,以识别视觉上相似对象之间的细微差异。现有工作在复杂背景下表现不稳定,不同语义特征之间的内在关系也没有充分讨论。因此,作者提出一种基于图的关系发现方法,以建立对高阶关系的理解。

细粒度对象识别侧重于将一个基本类别的对象区分为子类,由于不同类别之间存在细微的视觉差异,这在深度学习领域依然是一个挑战。作者在这个问题上结合了判别区学习和特征表示学习(见细粒度视觉分析综述TPAMI2021中,基于定位子网络的识别端到端特征编码

  • 对于判别区学习:通过提取part(局部化)来处理细粒度分类问题。一些有代表性的方法倾向于在分类任务中使用part检测器]或分割器。在获得准确的part解析结果的同时,细粒度分类器也能获得令人满意的性能。除了使用额外手动标注的方法外,基于注意力的方法在弱监督训练中显示了发现目标part的能力。然而,使用注意力机制的part在复杂背景下往往会得到不可靠的结果,由于网络无法捕获正确的part,进一步加强这些区域将导致灾难性的过拟合。
  • 对于端到端特征编码:通常将分类问题作为表示学习任务来处理,由于在弱监督分类任务中,对象的part自然出现在不同的feature map通道中,因此利用不同通道之间的关系对于细粒度的特征表示是有益的。作为主要的方法之一,bilinear pooling利用了来自两个不同网络的二阶分类特征。但注意,高阶特征引入高维数,严重加大计算量。

因此,作者思考:如何利用高阶关系改善part的感知,如何将高阶关系表示到低维。


bilinear pooling来自Bilinear CNN Models for Fine-grained Visual Recognition

图像输入两个特征提取器,对于图像 L L L在位置 l l l的两个特征 f A ( l , L ) ∈ R 1 × M f_{A}(l,L)\in R^{1\times M} fA(l,L)R1×M f B ( l , L ) ∈ R 1 × N f_{B}(l,L)\in R^{1\times N} fB(l,L)R1×N M M M N N N分别为通道数,进行如下操作: b ( l , L , f A , f B ) = f A T ( l , L ) f B ( l , L ) ∈ R M × N b(l,L,f_{A},f_{B})=f_{A}^{T}(l,L)f_{B}(l,L)\in R^{M\times N} b(l,L,fA,fB)=fAT(l,L)fB(l,L)RM×N注意,对于所有的 L L L个位置有: b ( L , f A , f B ) = f A T ( L ) f B ( L ) ∈ R M × N b(L,f_{A},f_{B})=f_{A}^{T}(L)f_{B}(L)\in R^{M\times N} b(L,fA,fB)=fAT(L)fB(L)RM×N因此: δ ( L ) = ∑ l A b ( L , f A , f B ) \delta(L)=\sum_{l}^{A}b(L,f_{A},f_{B}) δ(L)=lAb(L,fA,fB) x = v e c ( δ ( L ) ) x=vec(\delta(L)) x=vec(δ(L)) y = s i g n ( x ) ∣ x ∣ y=sign(x)\sqrt{|x|} y=sign(x)x z = y / ∣ ∣ y ∣ ∣ 2 z=y/||y||_{2} z=y/∣∣y2

直观上理解,bilinear pooling先把在同一位置上的两个特征双线性融合(相乘)后,得到矩阵 b b b,然后将矩阵 b b b sum pooling得到矩阵 δ \delta δ,最后把矩阵 δ \delta δ reshape为向量,进行归一化操作后得到融合特征 z z z,该特征用于细粒度分类。

如果特征来自两个不同的特征提取器,则被称为多模双线性池化(MBP,Multimodal Bilinear Pooling);如果特征来自同一个提取器,则被称为同源双线性池化(HBP,Homogeneous Bilinear Pooling)或者二阶池化(Second-order Pooling)。


作者提出一种基于图的关系发现方法(GaRD,graph-based relation discovery),用于细粒度识别。第一个关键思想是利用不同语义通道之间的相互关系。由于这些特征是灾难性的高维特征,通常难以优化,作者提出了一个新的基于图的语义分组模块,将这些特征嵌入到紧凑空间中。除了这些改进之外,作者提出了一种分组学习策略来缓解梯度下降优化中的异常值。
fig21

  • GaRD由三个基本模块组成:关系发现模块提取丰富的关系感知高维特征,基于图的语义分组模块查找低维特征嵌入,采用分组学习策略使用类中心更新梯度。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB R2022b 安装教程

MATLAB R2022b 安装教程MathWorks 于2022年9月发布了 MATLAB 和 Simulink 产品系列的最新版本 Matlab R2022b版本 ,加入两个新产品: Medical Imaging Toolbox — 可视化、配准、分割和标注二维及三维医学图像Simscape Battery — 设计和仿真电池和储能系…

HiveSql一天一个小技巧:如何巧用分布函数percent_rank()求去掉最大最小值的平均薪水问题

0 问题描述参考链接(3条消息) HiveSql面试题12--如何分析去掉最大最小值的平均薪水(字节跳动)_莫叫石榴姐的博客-CSDN博客文中已经给出了三种解法,这里我们借助于此题,来研究如何用percent_rank()函数求解,简化解题思路…

Kafka(五)生产者向发送消息的执行流程

&#xff08;1&#xff09;生产者要往 Kafka 发送消息时&#xff0c;需要创建 ProducerRecoder,代码如下&#xff1a; ProducerRecord<String,String> record new ProducerRecoder<>("CostomerCountry","Precision Products","France&q…

新闻稿的制作流程:从确定新闻稿目的到将其分发给媒体

对于任何希望向媒体和公众传达具有新闻价值的信息的组织来说&#xff0c;新闻稿都是必不可少的工具。精心制作的新闻稿可以帮助您宣传您的业务、产品或服务&#xff0c;并可以产生有价值的媒体报道。在本文中&#xff0c;我们将指导您完成新闻稿的制作过程&#xff0c;从确定新…

08_MySQL聚合函数

1. 聚合函数介绍什么是聚合函数聚合函数作用于一组数据&#xff0c;并对一组数据返回一个值。聚合函数类型AVG()SUM()MAX()MIN()COUNT()注意&#xff1a;聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。1.1 AVG和SUM函数可以对数值型数据使用AVG 和…

上海亚商投顾:ChatGPT概念领跌 两市约3800股下跌

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。市场情绪三大指数今日继续调整&#xff0c;创业板指午后一度跌超1%。ChatGPT、AIGC概念股集体走低&#xff0c;三六零跌超8%&…

面试阿里测开岗,被面试官针对,当场翻脸,把我的简历还给我,疑似被拉黑...

好家伙&#xff0c;金三银四一到&#xff0c;这奇葩事可真是多&#xff0c;前两天和粉丝聊天&#xff0c;他说前段时间面试阿里的测开岗&#xff0c;最后和面试官干起来了。 我问他为什么&#xff0c;他说没啥&#xff0c;就觉得面试官太装了&#xff0c;就爱问一些虚而不实的…

2023CS双非保研985经验分享(南大、华科、中科大科学岛、国防科大、西交、中南、深圳大学、北邮、中科院等)

前言&#xff1a; 2022保研以来&#xff0c;因为自己的双非背景&#xff0c;要与985、211的排名靠前的计科大佬竞争&#xff0c;不自信、焦虑无时无刻的包围着我&#xff1b;所幸&#xff0c;一路以受到了许多学长、学姐耐心的帮助&#xff0c;也有很多保研的同学一路互相支撑。…

antd4里table的滚动是如何实现的?

rc-table里Header、Footer、TableBody实现保持同频滚动的方法 场景&#xff1a;Header、Footer都有&#xff0c;Table设置了scrollX&#xff0c;才关注同频滚动 那么是如何实现的&#xff1f; 监听onScroll方法获取到滚动条向左的滚动的距离scrollLeft&#xff1b;同时给三个…

九种分布式ID解决方案

文章目录背景1、UUID2、数据库自增ID2.1、主键表2.2、ID自增步长设置3、号段模式4、Redis INCR5、雪花算法6、美团(Leaf)7、百度(Uidgenerator)8、滴滴(TinyID)总结比较背景 在复杂的分布式系统中&#xff0c;往往需要对大量的数据进行唯一标识&#xff0c;比如在对一个订单表…

浏览器事件循环

事件循环 一、浏览器的进程模型 1.何为进程&#xff1f; 程序运行需要有它自己专属的内存空间&#xff0c;可以把这块内存空间简单的理解为进程 每个应用至少有一个进程&#xff0c;进程之间相互独立&#xff0c;即使要通信&#xff0c;也需要双方同意。 2.何为线程&…

多部委联合举办中国人工智能大赛启动会在厦召开,快商通亮相发言

站在“第二个百年奋斗目标”的新起点上&#xff0c;为深入推动我国人工智能产业创新发展&#xff0c;发掘一批人工智能优秀团队&#xff0c; 国家互联网信息办公室、工业和信息化部、公安部、国家广播电视总局、厦门市人民政府将联合主办第四届中国人工智能大赛 。快商通联合创…

渗透之认识Metasploit

Metasploit: The Metasploit Framework 的简称。是一款开源的安全漏洞检测工具&#xff0c;可以帮助安全和IT专业人士识别安全性问题&#xff0c;验证漏洞的缓解措施&#xff0c;并管理专家驱动的安全性进行评估&#xff0c;提供真正的安全风险情报。 MSF 高度模块化&#xff…

Normalization

1、BN&#xff08;Batch Normalization&#xff09; 深度网络参数训练时内部存在协方差偏移&#xff08;Internal Covariate Shift&#xff09;现 象&#xff1a;深度网络内部数据分布在训练过程中发生变化的现象。训练深度网络时&#xff0c;神经网络隐层参数更新会导致网络输…

(十九)操作系统-进程互斥的硬件实现

文章目录一、知识总览二、中断屏蔽方法三、TestAndSet指令四、Swap指令五、总结一、知识总览 二、中断屏蔽方法 利用“开/关中断指令”实现&#xff08;与原语的实现思想相同&#xff0c;即在某进程开始访问临界区到结束访问为止都不允许被中断&#xff0c;也就不能发生进程切换…

安装_配置参数解读_集群安装配置_启动选举_搭建启停脚本---大数据之ZooKeeper工作笔记004

这里首先下载zookeeper安装包,可以看到官网地址 找到download 点击下载 找到老一点的,我们找3.5.7 in the archive 点击 然后这里找到3.5.7这一个 然后下载这个-bin.tar.gz这个

IDEA上使用git,知道这几步操作就够了!

前言由于一年多没用git&#xff08;种种原因不堪回首&#xff09;&#xff0c;所以在上班当天&#xff0c;整个人都不好了&#xff0c;从拉取代码到提交代码&#xff0c;整整花费了不少时间&#xff0c;而且有些操作都不知道啥作用&#xff0c;点也不是&#xff0c;不点也不是&…

SpringCloud之MQ笔记分享

MQ异步通信 初始MQ 同步通信 优点&#xff1a;时效性较强&#xff0c;可以以及得到结果 Feign就属于同步方式–问题&#xff1a; 耦合问题性能下降&#xff08;中间的等待时间&#xff09;资源浪费级联失败 异步通信 优点 耦合度低性能提升&#xff0c;吞吐量高故障隔离…

机器学习经典算法——决策树(Decision Tree)

决策树的基本原理 决策树是⼀种分⽽治之的决策过程。⼀个困难的预测问题&#xff0c;通过树的分⽀节点&#xff0c;被划分成两个或多个较为简单的⼦集&#xff0c;从结构上划分为不同的⼦问题。将依规则分割数据集的过程不断递归下去。随着树的深度不断增加&#xff0c;分⽀节…

Django-版本信息介绍-版本选择

文章目录1.如何获取Django1.1.选项1:获取最新的正式版本1.2.选项2:获取4.2的beta版1.3.选项3:获取最新的开发版本2.得到之后3.支持版本4.选择版本1.如何获取Django Django在BSD许可下是开源的。我们建议使用最新版本的Python 3。支持Python 2.7的最新版本是Django 1.11 LTS。请…