首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

基于语义增强的少样本检测,突破新类别偏见 | ICIP'24

编程知识
2024年09月20日 08:44

Few-shot目标检测(FSOD)旨在在有限标注实例的情况下检测新颖对象,在近年取得了显著进展。然而,现有方法仍然存在偏见表示问题,特别是在极低标注情况下的新颖类别。在微调过程中,一种新颖类别可能会利用来自相似基础类别的知识来构建自己的特征分布,导致分类混淆和性能下降。为了解决这些挑战,论文提出了一种基于微调的FSOD框架,利用语义嵌入来实现更好的检测。在提出的方法中,将视觉特征与类名嵌入对齐,并用语义相似性分类器替换线性分类器,训练每个区域提议收敛到相应的类别嵌入。此外,引入了多模态特征融合来增强视觉-语言通信,使新颖类别可以明确地从训练有素的相似基础类别中获得支持。为了避免类别混淆,提出了一种语义感知最大间隔损失,自适应地应用于超出相似类别的间隔。因此,论文的方法允许每个新颖类别构建一个紧凑的特征空间,而不会与相似基础类别混淆。

来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: Semantic Enhanced Few-shot Object Detection

Introduction


  深度神经网络在目标检测方面最近取得了巨大进展。然而,深度检测器需要大量标注数据才能有效识别一个对象。相比之下,人类只需要少量样本就能识别一类对象。常规检测器在少样本情境下容易出现过拟合问题,缩小常规检测与少样本检测之间的性能差距已成为计算机视觉领域的一个关键研究领域。

  与少样本分类和常规目标检测相比,少样本目标检测(FSOD)是一项更具挑战性的任务。在给定具有足够数据量的基础类别和仅有少量带标签边界框的新颖类别的情况下,FSOD致力于学习基础类别上的基础知识,并在新颖类别上具有良好的泛化能力。早期的FSOD方法倾向于遵循元学习范式,学习与任务无关的知识,并快速适应新任务。然而,这些方法需要复杂的训练过程,并常常在实际环境中表现不佳。另一方面,基于微调的方法采用简单而有效的两阶段训练策略,并取得可比较的结果。

  近年来,许多研究集中在基于微调的FSOD上,旨在将从丰富基础数据中学到的知识转移到新颖类别。TFA揭示了在微调期间简单冻结最后几层的潜力,为基于微调的方法奠定了基础。DeFRCN通过缩放和截断梯度来解耦分类和回归,并实现了卓越的性能。尽管它们取得了成功,仍然存在两个潜在问题:

  1. 先前基于微调的FSOD方法在训练样本极为有限时会出现性能下降,例如,当每个类别只有一个带标注的边界框时。只有一个对象无法很好地代表外观多样的类别是合理的,这种偏向性表示严重损害了新颖类别的性能。
  2. FSOD的性能继续受到新颖类别和基础类别之间混淆的威胁。仅有少量带标注样本时,新颖类别几乎无法构建紧凑的特征空间。这可能造成新颖类可能散布在类似基础类别良好构建的特征空间中,导致分类混淆。

  论文提出一个基于微调的框架,利用语义嵌入来提高对新颖类别的泛化能力。该框架在微调阶段用语义相似分类器(SSC)取代线性分类器,通过计算类名嵌入和提议物体区域特征之间的余弦相似度产生分类结果。此外,论文提出了多模态特征融合(MFF)来对视觉和文本特征进行深层融合。论文还在原始交叉熵损失之上应用了语义感知最大间隔(SAM)损失,以区分与自身相似的新颖类别和基础类别,如图1所示。在微调过程中,SSCMFF通过经典的Faster R-CNN损失和SAM损失以端到端的方式进行优化。

  论文的贡献可总结如下:

  1. 提出一个利用语义信息来解决少样本性能下降和类别混淆问题的框架。

  2. 为了解决这些问题,设计了三个新模块,即SSCMFFSAM损失。这些模块提供无偏表示,并增加类间分离。

  3. PASCAL VOCMS COCO数据集进行了大量实验,证明方法的有效性。结果表明,论文的方法将最先进性能大幅提升。

Method


FSOD Preliminaries

  论文遵循之前的工作中的Few-shot目标检测(FSOD)设置。将训练数据分为基础集合 \(\mathcal{D}_b\) 和新颖集合 \(\mathcal{D}_n\) ,其中基础类别 \(\mathcal{C}_b\) 具有丰富的标记数据,而每个新颖类别 \(\mathcal{C}_n\) 只有少量注释样本。基础类别和新颖类别之间没有重叠,即 \(\mathcal{C}_b \cap \mathcal{C}_n = \varnothing\) 。在迁移学习的背景下,训练阶段包括在 \(\mathcal{D}_b\) 上的基础训练和在 \(\mathcal{D}_n\) 上的新颖微调。目标是利用从大规模基础数据学习到的通用知识快速适应新颖类别,期望能够检测测试集中 \(\mathcal{C}_b \cup \mathcal{C}_n\) 类别中的对象。

  论文的方法可以以即插即用的方式应用于任何基于微调的Few-shot检测器,并将论文的方法与之前的最先进方法DeFRCN进行集成以进行验证。与TFA不同的是,DeFRCN在第二阶段冻结大多数参数以防止过拟合,提出了Gradient Decoupled Layer来截断RPN的梯度并调整两个阶段中R-CNN的梯度。

Semantic Alignment Learning

  论文旨在利用语义嵌入,为所有类别提供无偏的表示,以解决性能下降问题,特别是在极低样本情景下。

  • Semantic Similarity Classifier

  论文的Few-shot检测器建立在流行的两阶段目标检测器Faster R-CNN之上。在Faster R-CNN中,提取区域建议,并将其传递给框分类器和框回归器以生成类别标签和准确的框坐标。以往基于微调的Few-shot目标检测方法简单地通过随机初始化来扩展分类器,以泛化到新颖类别。然而,仅给定一两个新颖对象的标记样本时,检测器很难为每个新颖类别构建无偏的特征分布,特别是当新颖样本不够具有代表性时。新颖类别的无偏特征分布将导致令人不满意的检测性能。

  为了克服上述障碍,论文提出了一个语义相似度分类器,并使用固定的语义嵌入进行识别,而不是线性分类器。这是基于这样一个观察结果:类名嵌入与大量的视觉信息内在地对齐。当训练样本极为有限时,类名嵌入可作为良好的类中心。

  首先通过一个投影器将区域特征与语义嵌入进行对齐,然后利用投影后的区域特征与类名嵌入之间的余弦相似度来生成分类得分 \(\mathbf{s}\)

\[\begin{equation} \mathbf{s}=\text{softmax}(\text{D}(\mathbf{t}, \mathbf{Pv})) \label{eq:projection} \end{equation} \]

  其中, \(\mathbf{v}\) 是区域特征, \(\mathbf{P}\) 是投影器, \(\mathbf{t}\) 是类名嵌入, \(\text{D}\) 表示距离测量函数。

  • Multimodal Feature Fusion

  语义相似度分类器学习将视觉空间中的概念与语义空间对齐,但仍然独立地处理每个类别,并且在除了最后一层之外,不进行模态之间的知识传播。这可能对充分利用类间相关性构成障碍。因此,论文进一步引入多模态特征融合,以促进跨模态通信。融合模块基于交叉注意力机制,在区域特征 \(\mathbf{v}\) 和类名嵌入 \(\mathbf{t}\) 上进行聚合。从数学上讲,该过程如下所示:

\[\begin{equation} q_v=W^{(q)}\mathbf{v}, k_t=W^{(k)}\mathbf{t}, v_t=W^{(v)}\mathbf{t} \label{eq:attn_proj} \end{equation} \]

\[\begin{equation} attention=\text{softmax}(q_vk_t^T/\sqrt{d}) \label{eq:x-attn} \end{equation} \]

\[\begin{equation} \hat{q_v}=q_v+attention\cdot v_t \label{eq:residual} \end{equation} \]

  其中, \(W^{(q)}, W^{(k)}, W^{(v)}\) 是交叉注意力的可训练参数, \(d\) 是中间通道的大小。

  多模态融合模块确保在图像特征提取的早期阶段与文本特征进行充分的通信,从而丰富了区域特征的多样性。此外,它提高了利用语义信息中包含的类间相关性的效果。

Semantic-aware Max-margin Loss

  语义相似度分类器将视觉特征与语义嵌入对齐,导致新类别的特征分布无偏。然而,语义嵌入中包含的类间相关性也可能导致相似基类和新类之间的类别混淆。为了避免这种情况,论文提出了一种基于语义感知的最大间隔损失,根据它们的语义关系在两个类别之间应用自适应边界。

  在先前的研究中,分类分支通过端到端的交叉熵损失进行优化,每个区域特征被训练成靠近类中心。给定第 \(i\) 个区域特征 \(v_i\) 和标签 \(y_i\) ,分类损失计算如下。

\[\begin{equation} L_{cls}=-\frac{1}{n}\sum_{i=1}^{n}\text{log} \ \frac{e^{\text{D}(v_i, t_{y_i})}}{\sum_{j=1}^{n}e^{\text{D}(v_i, t_{y_j})}} \label{eq:cross_entropy} \end{equation} \]

  其中 \(t_{y_i}\)\(y_i\) 的类名嵌入。

  论文用冻结的语义嵌入替换线性分类器。因此,新类别可以从训练良好的相似基类中学习。然而,如果两个类别之间的语义关系非常接近,这也可能造成混淆。因此,论文在交叉熵损失上添加一个自适应边界,将可能混淆的类别彼此分开。从数学上讲,语义感知最大间隔损失计算如下。

\[\begin{equation} L_{sam}=-\frac{1}{n}\sum_{i=1}^{n}\text{log} \ p_i \label{eq:max-margin1} \end{equation} \]

  其中 \(p_i\) 表示分类分数,

\[\begin{equation} p_i=\frac{e^{\text{D}(v_i, t_{y_i})}}{e^{\text{D}(v_i, t_{y_i})} + \sum_{j\neq i}^{n}e^{\text{D}(v_i, t_{y_j}) + m_{ij}}} \label{eq:max-margin2} \end{equation} \]

  其中 \(m_{ij}\) 表示应用于类别 \(i\) 和类别 \(j\) 之间的边界,

\[\begin{equation} m_{ij}= \begin{cases} \text{cosine}(t_i, t_j)& \text{cosine}(t_i, t_j)-\gamma>0 \\ 0& \text{cosine}(t_i, t_j)-\gamma\leq0 \end{cases} \label{eq:max-margin3} \end{equation} \]

  其中 \(\gamma\) 是语义相似性的阈值。对于每个类别,选择仅将前 \(k\) 个最相似的类别应用边界,以避免不必要的噪声。

Experiments




如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

From:https://www.cnblogs.com/VincentLee/p/18421880
本文地址: http://www.shuzixingkong.net/article/2150
0评论
提交 加载更多评论
其他文章 Shiro-550—漏洞分析(CVE-2016-4437)
目录漏洞原理源码分析加密过程解密过程漏洞复现 漏洞原理 Shiro-550(CVE-2016-4437)反序列化漏洞 在调试cookie加密过程的时候发现开发者将AES-CBC用来加密的密钥硬编码了,并且所以导致我们拿到密钥后可以精心构造恶意payload替换cookie,然后让后台最后解密的时候进
Shiro-550—漏洞分析(CVE-2016-4437) Shiro-550—漏洞分析(CVE-2016-4437) Shiro-550—漏洞分析(CVE-2016-4437)
C#|.net core 基础 - 扩展数组添加删除性能最好的方法
文章探讨了数组新增和删除元素的多种实现方式,并通过基准测试发现Array的Copy方法性能最优。同时,介绍了使用扩展方法和帮助类封装这些方法的方法,并讨论了返回新数组与直接修改原数组的优缺点。最终选择扩展方法实现,但因扩展方法限制无法直接修改原数组。
C#|.net core 基础 - 扩展数组添加删除性能最好的方法 C#|.net core 基础 - 扩展数组添加删除性能最好的方法 C#|.net core 基础 - 扩展数组添加删除性能最好的方法
大模型应用开发初探 : 通用函数调用Planner
自动函数调用对大模型有较高的要求,比如Azure OpenAI、智谱AI等这些收费的大模型产品就能很好地规划和处理函数调用,而像是一些开源的小参数量的模型例如qwen2-7b-instruct这种可能效果就不太好。刚好,之前在网上看到一位大佬的开源通用函数调用的方案,于是重构了一下上一篇的Agent
大模型应用开发初探 : 通用函数调用Planner 大模型应用开发初探 : 通用函数调用Planner 大模型应用开发初探 : 通用函数调用Planner
【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。
VMware Cloud Foundation 5.2 发布并引入了一个新的功能,借助 VCF Import Tool 工具可以将现有 vSphere 环境直接转换(Convert)为管理工作负载域或者导入(Import)为 VI 工作负载域。通过这种能力,客户无需购买新硬件和进行复杂的部署和迁移工
【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。 【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。 【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。
SaaS架构:流程架构分析
大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析。 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法。它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值的结果(输出)。这一过程需结合企业的具体情况和可用资源,旨在为客户创造价值,同时达成企业目标。 通过
SaaS架构:流程架构分析 SaaS架构:流程架构分析 SaaS架构:流程架构分析
.NET 7+Angular 4 轻量级新零售进销存系统
前言 给大家推荐一个专为新零售快消行业打造了一套高效的进销存管理系统。 系统不仅具备强大的库存管理功能,还集成了高性能的轻量级 POS 解决方案,确保页面加载速度极快,提供良好的用户体验。 项目介绍 Dorisoy.POS 是一款基于 .NET 7 和 Angular 4 开发的新零售快消进销存管理
.NET 7+Angular 4 轻量级新零售进销存系统 .NET 7+Angular 4 轻量级新零售进销存系统 .NET 7+Angular 4 轻量级新零售进销存系统
VS(visual studio) C++ 封装dll,以及其隐式调用与显式调用(静态\动态)
DLL介绍 DLL(动态链接库,Dynamic Link Library)是一种可执行文件,它包含可以在其他程序中调用的函数和数据。他是Windows操作系统中的一个重要概念,用于代码共享和模块化。 特点 代码共享:多个程序可以同时使用同一个DLL文件,而不需要将其代码编译到每个程序中。这样可以节省
VS(visual studio) C++ 封装dll,以及其隐式调用与显式调用(静态\动态) VS(visual studio) C++ 封装dll,以及其隐式调用与显式调用(静态\动态) VS(visual studio) C++ 封装dll,以及其隐式调用与显式调用(静态\动态)
Advanced .Net Debugging 11:完结篇
一、介绍 这是我的《Advanced .Net Debugging》这个系列的第十一篇文章,也是这个系列的最后一篇了。我已经把原书的前八章内容全部写完了,本来打算继续写第九章和第十章的内容,后来我放弃逐章逐节的编写,选择了将两章的内容进行过滤后,合为一篇,只把重要的内容包含进来的做法。原因是,我看了
Advanced .Net Debugging 11:完结篇 Advanced .Net Debugging 11:完结篇 Advanced .Net Debugging 11:完结篇