细粒度图像分类论文研读-2020

news2024/11/15 9:59:33

文章目录

  • Filtration and Distillation: Enhancing RegionAttention for Fine-Grained Visual Categorization(by localization- classification subnetwork)
    • Abstract
    • Introduction
    • Approach
      • Discriminative Regions Proposing
      • Feature Learning and Recognition Ensemble
      • Filtration Learning with Discrimination Matching
      • Distillation Learning with Knowledge Transferring
      • Filtration and Distillation Learnig
  • Interpretable and Accurate Fine-grained Recognition via Region Grouping
    • Abstract
    • Introduction
    • Method
      • Part Segmentation and Regularization
        • Part Assignment
        • Part Occurrence
        • Regularization of Part Occurrence
      • Region Feature Extraction and Attribution
        • Attention based Classification
      • 总结与思考
        • 为什么是服从Beta分布?
        • 字典怎么得到?
        • 特征Z的计算为什么要这么操作?
      • Implementation
        • Loss Function
  • Attention Convolutional Binary Neural Tree for Fine- Grained Visual Categorization
    • Abstract
    • Introduction
    • Attention Convolutional Binary Neural Tree
      • Architect
        • Backbone network module
        • Branch routing module
        • Attention transformer
        • Label prediction
        • 整体结构示意
      • Training
        • 数据增广
        • Loss function
  • Graph-Propagation Based Correlation Learning for Weakly Supervised Fine-Grained Image Classification
    • Abstract

Filtration and Distillation: Enhancing RegionAttention for Fine-Grained Visual Categorization(by localization- classification subnetwork)

Abstract

大部分现存的注意力模型在FGVC任务当中表现不佳,原因有以下几点:

  1. 区分区域主要基于图像上的滤波器响应来定位,这不能用性能度量直接优化;
  2. 现有方法将基于区域的特征提取器单独训练为一个独热分类任务,然而这一方法却忽略了整个对象的知识。

为了解决上述问题,本文提出了一种新的“过滤和蒸馏学习”(FDL)模型,以提高FGVC细分部分的区域关注度。

首先,基于提议和预测之间的匹配性,本文针对有区分度的区域提议提出了一种过滤学习的方法。特别地,本文用了提议与预测的匹配性作为RPN的性能度量,从而实现了RPN的直接优化,以过滤得到最具有区分度的区域。

具体来说,基于对象的特征学习和基于区域的特征学习被定义为“教师”和“学生”,这可以为基于区域的学习提供更好的监督。

FDL可以有效地提升区域关注度,并且在不需要对象或部分注释的情况下对整个框架进行端到端的训练。

Introduction

缺失对于局部提取的性能度量的问题此处不再过多赘述。

关于第二个问题,目前一些工作仅训练基于区域的特征提取器而忽略了来自整个对象的知识。尽管一些搜索通过连接从对象和部分提取的特征来进一步考虑对象-区域的关系,但基于区域的特征向量仍然通过一个独热分类任务来训练。因此,基于区域的特征学习忽略了整个对象的监督。

本文提出了FDL模型,通过提议-预测辨别匹配和对象-区域知识转换来增强区域注意力。

首先,基于提出和预测之间的匹配性,提出了一种过滤学习(FL)方法来区分部分区域的提出。具体而言,本文使用RPN来生成一个矩形区域列表,每个矩形区域都有一个置信度分数,这表明了建议区域之间的区别。

提议-预测匹配性指的是:如果一个区分区域带来了一个清晰的分类结果,那么相应的概率会比较高,从而与RPN产生的高置信度得分相匹配。因此,置信度得分和概率应该保持一致。

于是,本文采用S和P的匹配分数作为性能度量并根据ranking loss直接优化RPN。因此,RPN能够正确且有效地过滤得到最具有区分度的区域。

其次,本文提出了一种蒸馏学习的方法,通过知识提取将来自整个对象的知识融合到基于区域的特征学习中。

Approach

请添加图片描述

Discriminative Regions Proposing

RPN将图像作为输入,生成一系列矩形区域,每个矩形区域都有对应的置信度得分 S ( R i ′ ) S(R_i') S(Ri)。选择尺度为{48,96,192},比例为{1:1,3:2,2:3}的锚框。该列表按照分数从高到低进行排序。

为了冗余,我们根据置信度分数采用非极大值抑制的手段。

NMS之后,FDL选择M个最重要的局部区域。然后从输入图像中裁剪区域,并将其调整到预定义的大小以进行进一步的特征学习。

Feature Learning and Recognition Ensemble

在调整到预定义大小之后,头部的M个区域被送入到特征提取器来生成特征向量 v ( R i ) v(R_i) v(Ri),每一个长度都是L。

然后,将特征向量送到具有L个神经元的全连接层和softmax层,以生成概率 { P j ( R i ) } \{P^j(R_i)\} {Pj(Ri)}。表示区域i在第j类上的置信度得分。

对象图像O也被送到了分类器,本文生成其特征向量 v ( O ) v(O) v(O)和预测结果 P j ( O ) P^j(O) Pj(O)

为了进一步利用局部特征的优势,本文通过连接v(O)和前K个局部特征向量得到object-region concatenated feature vector:

请添加图片描述

然后同样进行概率预测。最终的结果按照公式3进行平均:
请添加图片描述

Filtration Learning with Discrimination Matching

为了实现RPN的端到端优化,本文创造性地提出了一种过滤学习方法,该方法利用提议-预测的辨别匹配能力作为RPN的性能度量。

提议-预测匹配性指的是,如果具有较高的置信度S(Ri)的判别区域应该匹配较高概率的分类结果P(Ri),因此,置信度得分呃和概率应在成对顺序和点值中保持一致的排名。

相应的,成对顺序损失函数被定义为:

请添加图片描述

逐点值要求置信度得分和概率得分应该比较相似,这一要求定义为:
请添加图片描述

于是过滤学习的损失函数可以表示为:

请添加图片描述

Distillation Learning with Knowledge Transferring

为了获得标签分布和类内的相关知识,本文提出了一种知识蒸馏的方法。

本文将基于对象的特征学习和基于区域的特征学习定义为“教师”和“学生”,并将所学知识从对象转换为基于区域的特性学习。

本文使用式子10,将每个局部区域的logit输出转化为一个软的概率分布:
请添加图片描述

于是我们可以获得蒸馏学习的软目标交叉熵损失:
请添加图片描述

Filtration and Distillation Learnig

请添加图片描述

Interpretable and Accurate Fine-grained Recognition via Region Grouping

Abstract

我们提出了一种用于细粒度视觉识别的可解释深度模型。

我们方法的核心是在深度神经网络中整合基于区域的零件发现和归因。我们的模型使用图像级对象标签进行训练,并通过对象部分的分割和识别它们对分类的贡献来解释其结果。

为了便于在没有直接监督的情况下学习对象部分,我们探索了对象部分出现的简单先验。我们证明,当将这一先验知识与基于区域的零件发现和归因相结合时,会产生一个可解释的模型,该模型保持高度准确。

Introduction

虽然模型的解释可能发生在多个方面,但我们认为,至少有一种解释模型的方法是分割对象部分的有意义的面部区域(例如,眼睛、嘴巴、脸颊、前脸和脖子),并进一步确定它们对决策的贡献(例如,嘴巴区域对微笑更有辨别力)。

part discovery:在不监督的情况下,学习目标零件。

我们的主要观察结果是,卷积网络的特征可用于将像素分组为一组视觉相干区域,从中可选择一组区分片段进行识别。只有对象标签作为指导的情况下,我们希望分组将有助于找到视觉上不同的部分,并且选择过程将确定它们对分类的贡献。

基于区域的part discovery的一个困难是没有明确的监督信号来定义这一区域。因此,必须结合有关先验知识来学习。

本文工作的一个核心创新是探索关于零件简单先验:给定一张图像,零件的出现遵循Beta分布(鸟的头部会出现在大多鸟类图像中)。本文阐释了这一先验在与part discovery结合时,会导致有意义的对象零件的识别。并且,可解释性的深度模型仍然是高度准确的。

具体来说,我们的模型学习对象零件的字典,基于该字典,2D特征图可以被分组为“零件”段。这是通过将像素特征与学习到的词典中的部分表示进行比较来实现的。

此外,基于区域的特征表示是从结果片段中池化得到的。之后通过注意力机制从片段中提取子集。

重要的是,在训练过程中,本文对每个部分的出现强制执行Beta分布,保证每个mini-batch中的样本都是二分类的。这样一种约束通过最小化先验分布和经验分布之间的Earth Mover’s Distance来实现的。

在训练期间,我们的模型仅由具有我们建议的正则化项的对象标签来监督。在测试期间,我们的模型联合输出目标部分的分段、分段部分的重要性和预测标签。对我们模型的解释是由部分分割和每个部分对分类的贡献所赋予的。

关于Beta分布,参考百度百科。

通过这一部分,首先本文通过字典的方式优化了特征表示;其次,在训练中对局部的出现近似了Beta分布,将局部的出现加入了先验知识。

Method

在这里插入图片描述

Regularization of Part Occurrence

在描述上文提出了三个函数之前,我们首先关注主要的学习挑战。

因为唯一的监督信号是y,所以说确保字典D能够捕捉局部是很有挑战的。

我们的主要猜想是我们能够通过强迫一个先验的分布(局部的出现及其特征)来正则化这个学习。

Part Segmentation and Regularization

Part Assignment

在这里插入图片描述

这边的大概方法就是对每个像素与字典中的特征比对,以此确定每个像素属于哪一部分。

Part Occurrence

得到assignment矩阵之后,我们下一步骤时检测每一部分的出现。

一个简单的局部检测能够通过对k个分配图 Q k Q^k Qk执行一个max pooling操作来实现。

然而,我们发现在池化之前平滑这个分配图是有益的。本文使用一个高斯核来实现。

这样一种操作消除了特征图的离群点。我们的部分检测因此定义为: t k = max ⁡ i , j g ∗ Q k t_k=\max_{i,j} g*Q^k tk=i,jmaxgQk,其中g是二位的高斯核。进一步来说,k个局部检测器的输出被连接为一个出现向量 τ = [ τ 1 , τ 2 , . . . , τ N ] \tau=[\tau_1,\tau_2,...,\tau_N] τ=[τ1,τ2,...,τN]

简而言之就是根据卷积图每个位置和字典中的特征进行比较,给出一个匹配度。

之后通过最大池化后,得到一张图的K个局部检测情况,以此判断这个图出现了几个局部。

这样一种出现是soft的,准确来说是一种概率的形式。

Regularization of Part Occurrence

在这里插入图片描述

文中给出了一种简化的计算方式,此处不过多赘述。

度量两个分布之间的距离的方法有很多,但是这个这边用的比较靠谱。

Region Feature Extraction and Attribution

给定局部的分配后,下一步是汇集每个区域的特征,此处通过非线性编码实现:

在这里插入图片描述

Attention based Classification

最终的预测结果如下所示:
请添加图片描述

W表示一个线性分类器。

总结与思考

请添加图片描述

为什么是服从Beta分布?

Assignment Map应该是通过出现概率q的计算实现的,这不难理解。

每张图都会得到一个出现向量(max pooling),表示每个特征出现的一个情况。

关于为什么会服从Beta分布,文中也没细说。

Beta分布控制了每个特征出现的程度(以概率的形式),进一步控制特征的呈现情况。

字典怎么得到?

代码中有一个变量grouping_centers扮演着字典的作用,其实际上是nn.Parameters。

特征Z的计算为什么要这么操作?

引用非线性编码方案,文中有论文引用。

更像是距离的期望,体现了一种相似程度的度量。

不妨大胆假设一下,与特征差距过大的像素点的出现概率都近似为0,也就是这里只保留了局部附近的情况。

Implementation

Loss Function

损失函数包含了交叉熵分类损失和1D Wasserstein距离。

Attention Convolutional Binary Neural Tree for Fine- Grained Visual Categorization

Abstract

本文提出了一种注意力卷积二元神经树的弱监督方法来完成FGVC任务。

具体来说,本文沿着树结构的边缘合并卷积运算,并使用每个节点中的路由函数来确定根到叶的计算路径。

最终的判决被计算为来自叶节点的预测的综合。

深度卷积运算学习捕获对象的表示,树结构表征了由粗到细的层次特征学习过程。此外,本文还使用了注意力转化模块来加强网络以捕捉有区分度的特征。

Introduction

本文认为一些仅通过CNN来捕获微小差别的方法难以获得准确的结果(BCNN系列),反而捕获局部的思路比较靠谱,这边特别拿出了OPAM来举例。

受到Adaptive neural trees的启发,本文提出了attention convolutional binary tree结构。它沿树结构的边缘合并卷积运算,并使用每个节点中的路由功能来确定树内根到叶的计算路径,作为深度神经网络。这种设计的体系结构使得我们的方法继承了深度卷积模型的表示学习能力,以及由粗到细的分层特征学习过程。

以这种方式,树结构中的不同分支聚焦于不同的局部对象区域用于分类。最终决策是根据所有叶节点的预测总和计算得出的。同时,我们使用注意力转移器来加强树网络,以捕捉有区别的特征,从而获得准确的结果。采用负对数似然损失,通过具有反向传播的随机梯度下降,以端到端的方式训练整个网络。

本文给出的方法使用具有预先定义深度的完整二叉树结构和软判定方案来学习每条根到叶的路径中的区分度特征。

这样做的好处是避免了剪枝误差并减少了训练时间。

Attention Convolutional Binary Neural Tree

包含了四个模块,分别是backbone network、branch routing、attention transformer和label prediction modules。

在这里插入图片描述
本文在完全二叉树中使用非对称结构,即左边使用两个注意力转换器,在右边使用一个注意力转换器。

Architect

Backbone network module

由于细粒度类别中区分区域是高度局部化的,所以需要通过限制卷积滤波器和池化层的核的大小和步幅来使用相对小的感受野。

本文使用了VGG-16(保留了conv1_1到conv4_3)和ResNet-50(保留了res_1到res_4)来作为backbone。

请添加图片描述

Branch routing module

在这里插入图片描述

请添加图片描述

Attention transformer

attention transformer用于加强网络以捕捉有区别的特征。

根据深度网络中的经验感受野比理论感受野小的多的事实,有区分度的表征应该由本文提出的树结构中新增加层中的更大的感受野形成。

为此,本文将Atrous Spatial Pyramid Pooling中模块加入到注意力变换器中。

具体来说,ASPP模块提供了不同的特征图,每个特征图由不同尺度/感受野来表征。

然后,用四个不同扩张率的平行的扩张卷积生成多尺度特征图。在并行的扩张卷积层之后,级联的特征图通过一个1x1卷积进行融合。

最后,本文插入一个注意力模块,该模块生成一个大小为 R C × 1 × 1 R^{C\times 1\times1} RC×1×1的通道注意图。

请添加图片描述

Label prediction

对ACNet的每一个叶节点,本文使用都使用预测模型 P i P_i Pi来预测对象的子类别。

请添加图片描述
其中P的模型如图所示:

请添加图片描述

整体结构示意

请添加图片描述
可以看到,模型依然会往两侧传递。概率较小的一方在随后的概率计算中也偏向于一个中庸的结果。

Training

数据增广

使用裁剪和翻转操作来扩充数据。

Loss function

损失函数与由两部分组成,分别是叶节点的预测损失和最终预测损失。

请添加图片描述

Graph-Propagation Based Correlation Learning for Weakly Supervised Fine-Grained Image Classification

Abstract

弱监督细粒度图像分类的关键是如何从中提取具有区分度的区域并学习区分特征。然而,最新的WFGIC方法独立地选择区分区域并直接利用它们的特征而忽略了区域的特征是相互语义相关的并且区域组可以获得更具区分性的事实。

为了解决这些问题,本文提出了一种基于端到端图传播的相关性学习(GCL)模型,以充分挖掘和开发WFGIC区域相关性和辨别能力。

具体来说,在定位阶段,本文提出了一个交叉图传播子网络来学习区域相关性,然后通过以交叉方式加权聚集其他区域来增强每个区域。

通过这种方式,每个区域的表示同时编码全局图像级上下文和局部空间级上下文,从而引导网络为WFGIC实现更强大的区分区域组。

在区分特征表示阶段,提出了相关特征增强(CFS)子网络,以探索区分快特征向量之间的内部语义相关性。

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

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

相关文章

Spring源码深度解析:十一、Spring的循环依赖

一、前言 文章目录:Spring源码深度解析:文章目录 这篇文章是接着 Spring源码深度解析:七、bean的加载① - doGetBean 的继续分析过程。 二、什么是循环依赖 循环依赖,其实就是循环引用,就是两个或者两个以上的 bea…

【MySQL】数据处理函数

只有当你开始相信自己时,你才拥有真正的人生。——《洛奇》 前言: 大家好,我是爱打拳的程序猿。今天给大家展示是数据处理函数的用法,分为单行处理函数和分组函数。数据处理函数主要是为了更方便解决数据的各种问题。文章以代码和…

2023年Unity UI教程

2023年Unity UI教程 Unity 新 UI 系统 UI 工具包的完整概述 课程英文名:Modern Unity UI with UI Toolkit 此视频教程共10.0小时,中英双语字幕,画质清晰无水印,源码附件全 下载地址 课程编号:336 百度网盘地址&am…

SSM框架-获取容器的方式

9 容器 9.1 获取容器 记载类路径下的容器所在的配置文件,也就是之前用的 public class App2 {public static void main(String[] args) {ApplicationContext ctx new ClassPathXmlApplicationContext("applicationContext.xml");BookDao bookDao (BookDao) ctx.…

liunx 部署 kkfileview文件预览 以及解决https访问

kkfileview gitee地址 https://gitee.com/kekingcn/file-online-preview 1.下载office组件 wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz tar -zxvf LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz cd LibreOffice_7.1.4.2_Linux_x86-64_rpm/R…

TensorRT推理手写数字分类(一)

系列文章目录 (一)使用pytorch搭建模型并训练 文章目录系列文章目录前言一、网络搭建1.LeNet网络结构2.pytorch代码二、网络训练1.pytorch代码2.结果展示三、保存和加载模型1.保存整个网络2.保存网络中的参数总结前言 为了学习一下使用TensorRT进行推理…

硬核!Github星标79.4K的阿里强推Java面试参考指南到底有多强?

谈到Java面试,相信大家第一时间脑子里想到的词肯定是金三银四,金九银十。好像大家的潜意识里做Java开发的都得在这个时候才能出去面试,跳槽成功率才高!但LZ不这么认为,LZ觉得我们做技术的一生中会遇到很多大大小小的面…

Java并发编程—如何写好代码?链式调用该怎么玩?

目录 一、案例说明 二、原生方式代码流程 三、链式调用代码流程 四、链式调用手搓的方式: 五、总结: 在上一篇博客https://blog.csdn.net/qq_52545155/article/details/128212148?spm1001.2014.3001.5501,博主在写商城统计商品价格的时…

mybatis中其他数据源也使用XML进行操作(SqlSessionFactory.openSession(Connection connection)方法)

文章目录1. 前言2. 先说结论3. 例子1. 准备数据2. 思考过程3. 结论1. 前言 当前在使用springbootmybatis的时候,通常会先在配置文件中配置好数据源,并在Mapper.xml文件编写好相关SQL,使用mybatis进行对数据库进行所谓的crud操作。 有时候会出…

nginx代理https妈妈级手册

目录 背景说明 相关地址 https证书生成 nginx安装及配置 结果展示​编辑 背景说明 为了保证传输加密、访问安全,我们采用nginx服务器将http服务代理为https。所需材料:openssl(用来生成证书)、http服务、nginx自身。 相关地址…

C/C++第三方库zeromq、log4cpp交叉编译、本地安装ubuntu180.04

一、zeromq的编译安装 1)ubuntu下命令 apt-get install libzmq3-dev不推荐这种方式,因为很可能安装的版本并不是最新的; 2)自己编译安装(推荐) 地址:https://github.com/zeromq/libzmq/relea…

设计模式--装饰者模式

文章目录前言一、未使用设计模式二、装饰者模式1.定义2.角色三、应用场景四、优缺点优缺前言 晓子(咖啡店员),来一杯美式,加点威士忌和砂糖。 抱歉啊,猫。收银系统还没有你说的组合,要不换一个&#x1f60…

React 的调度系统 Scheduler

大家好,我是前端西瓜哥。今天来学习 React 的调度系统 Scheduler。 React 版本为 18.2.0 React 使用了全新的 Fiber 架构,将原本需要一次性递归找出所有的改变,并一次性更新真实 DOM 的流程,改成通过时间分片,先分成一…

nnUnet测试

https://github.com/MIC-DKFZ/nnUNet nnUnet要在Windows上跑起来有点麻烦,主要是项目路径的问题,我目前测试了2分类遥感数据(其实只要是二分类都行,无所谓什么数据),我这里说难是因为我没有安装&#xff0…

【SQL】MVCC 多版本并发控制

MVCC多版本并发控制快照读与当前读隔离级别隐藏字段,undo log 版本链隐藏字段trx_id版本链read view举例说明read committed(读已提交)隔离级别下repeatable read(可重复读)隔离级别下innodb如何解决幻读总结并发问题的…

LaTex使用技巧9:argmin / argmax下标写法

记录两种写法 1.arg⁡max⁡θ\mathop{\arg\max}\limits_{\theta}θargmax​的写法 写法1: $\mathop{\arg\max}\limits_{\theta}$ 写法2: $\sideset{}{}{\arg\max}_{\theta}^{} $ 2.arg⁡min⁡θ\mathop{\arg\min}\limits_{\theta}θargmin​的写法 写法…

STL常用生成算法和集合算法(20221207)

STL的常用算法 概述&#xff1a; 算法主要是由头文件<algorithm> <functional> <numeric> 组成。 <algorithm>是所有STL头文件中最大的一个&#xff0c;涉及比较、交换、查找、遍历等等&#xff1b; <functional>定义了一些模板类&#xff0…

做一个公司网站大概要多少钱?

做一个公司网站大概要多少钱&#xff0c;很多公司在做网站之前可能已经简单了解过费用&#xff0c;但是费用差距都会比较大&#xff0c;为什么的呢&#xff0c;因为一般都是受到制作方式因素的影响。下面给大家说说不同的方式做一个公司网站大概要多少钱。 一、自己/团队做公司…

SQLyog —— 图形化工具使用

SQLyog下载链接&#xff1a; 点击跳转 在这一篇内容MySQL数据库 —— 常用语句当中讲到关于MySQL数据库命令的基本使用&#xff0c;这一篇是关于SQLyog数据库图形化工具的内容&#xff0c;先进行安装演示后在通过SQLyog进行操作数据库&#xff1a; SQLyog 安装 下载完成之后双击…

pageoffice在线打开word文件加盖电子印章

一、加盖印章的 js 方法 js方法 二、常见使用场景 1、常规盖章。弹出用户名、密码输入框&#xff0c;选择对应印章。 点击盖章按钮弹出用户名密码登录框&#xff0c;登录以后显示选择电子印章。 document.getElementById("PageOfficeCtrl1").ZoomSeal.AddSeal(…