细粒度图像分类(FGVC)理解与探究

2023-10-18 07:50

本文主要是介绍细粒度图像分类(FGVC)理解与探究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

细粒度图像分类(FGVC)理解与探究

细粒度图像分类与传统图像分类而言,细粒度图像分类中所需要进行分类的图像中的可判别区域(discriminative parts)往往只是在图像中很小的一块区域内。
在传统的图像分类网络中,无论图像中的重要判别区域占整个图像的比重有多大,都只会对整张图片一视同仁的提取特征。因此,在一些判别区域占图像比重较小的一些图片,进行同样的特征提取及处理,大量不关注的background信息会被训练进去,增加了图像分类的难度,降低分类的准确度。
引入细粒度图像分类这一概念,就是为了解决这样的问题,关注图像中细小的差别,实现更精确的图像分类:如蔬果中更细小的品种分类,草木的病虫害分类等。目前常规的细粒度图像分类的方法为,先得到关注目标的区域,再对该目标进行细分类,从而使网络更了解分类物体。
目前针对细粒度图像分类的训练方法主要有两类:强监督学习和无监督学习。

1、 强监督学习

额外添加更多的bounding-box标注信息加入网络进行强监督学习,使网络能学习到目标的位置信息。
不足:(1)需要大量人力资源进行图像的标注。(2)人力标注的信息并不一定准确就是目标真正需要关注的区域。
(个人观点:添加了了更多的bounding-box标注信息进行图像的细节分类,方法上已经和目标检测很像,超出了图像分类的初衷)

2、 弱监督学习

弱监督并不是无监督学习,而只是根据基本图像分类网络一样,只需要给出图像的类别即可。由网络通过无监督学习出判别区域的位置,再特别关注此区域的特征差异,识别出目标的类别。
常用方法有:
基于注意力(Attention)机制的图像分类,通过分析特征图中最突出的部分得到判别区域的位置。

RA-CNN (Recurrent Attention Convolutional Neural Network):

算法分为两个部分,分类网络和注意力提取网络(APN, Attention Proposal Network),将图片进行三次注意力提取,得到最关注的区域,再通过三个通过不同尺度的feature map进行特征融合,再接入softmax进行分类。
PA-CNN

SENet: Squeeze-And-Excitation Networks

SE-block
SENet通过注意力机制对卷积后的feature map的每个channel进行加权,提高关键特征的明显度,降低不必要特征的影响。可以嵌入到各类基础分类网络当中。
在这里插入图片描述
主要实现为:Squeeze通过global average pooling对feature map进行降维,将H*W降到1;Excitation通过一个bottleneck(结构为绿框),捕捉到不同channel的相关性,从而学习到channel间的注意力因子(attention factor)。

MAMC (Multi-Attention Multi-Class Constraint)

MAMC
MAMC算法借鉴了SENet的注意力机制与度量学习的方法,改进了正负样本之间的关系,将正样本之间的距离更加接近,并稀疏了负样本之间的距离。这种方法改进了以上RA-CNN的多次多层的注意力提取融合的过程,改善RA-CNN引入噪声的影响,
该算法主要分为两个模块:OSME module和MAMC module
OSME:One-Squeeze Multi-Excitation
OSME主要借鉴了SENet的思想,不同的是采用了多层Excitation结构,产生了多种注意力结构,也就代表提取多个注意力区域传入后期的MAMC module进行分析。
MAMC: Multi-Attention Multi-Class Constraint
MAMC借鉴度量学习的方法,将OSME产生的多种注意力区域进行划分,拉近正样本之间的距离。此方法改进了RA-CNN中循环注意力的方法,防止了初次注意力检测就引入噪声而带来的后期的噪声不断放大带来的缺陷。并且整个过程为one-stage的过程,便以进行端到端的训练。

※SCDA(Selective Convolutional Descriptor Aggregation)

SCDA主题上不算是细粒度的图像分类,而应用在图像检索方向,但与FGVC有相似之处,SCDA是一种无监督检测算法,连图像级别的标注都不需要,自行分类图像的类别。通过对图像中主要物体的提取,对数据的图片进行聚类匹配,从而对数据中的图片进行相似检索,达到分类效果。
其具体流程为:通过预训练好的特征提取网络进行基础的特征提取,如(基于ImageNet预训练的VGG网络)取最后一层网络进行特征匹配。
feature
将feature map进行堆叠求和,得到最突出的物体区域,随后滤除较小的噪声,只保留主体区域。
过程
再将图片与其他图片提取出来的特征进行距离分析(度量学习?k-means?),分出图片类别。

※Meta-Reinforced Synthetic Data for One-Shot Fine-Grained Visual Recognition

GAN-FGVC
这篇论文讨论了GAN生成图像在细粒度图像分类中的作用及局限性。细粒度图像分类的特点为区分图像中细小的差别,而GAN网络生成的图像特征通常较为模糊,并且可能并没有很好生成可区分的判断区域。所以来说,如果直接将GAN网络生成的图像直接仍入FGVC网络中,会造成网络的模糊与抖动,从而造成精度的下降。所以,paper中为了使GAN生成的图像能适用细粒度图像分类,提出了用真实图像强化GAN生成的图像的方法,尽可能的保留原图的细粒度特征,从而使GAN能在细粒度图像识别中取得一定作用。(但是生成样本不能过多,会造成网络倾斜于生成图像,对真实图像检测精度降低)

这篇关于细粒度图像分类(FGVC)理解与探究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/231238

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

Codeforces Round #240 (Div. 2) E分治算法探究1

Codeforces Round #240 (Div. 2) E  http://codeforces.com/contest/415/problem/E 2^n个数,每次操作将其分成2^q份,对于每一份内部的数进行翻转(逆序),每次操作完后输出操作后新序列的逆序对数。 图一:  划分子问题。 图二: 分而治之,=>  合并 。 图三: 回溯:

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。