【CVPR2022】【小样本分类和分割】Integrative Few-Shot Learning for Classification and Segmentation

本文探讨了在小样本条件下,如何融合分类和分割的综合任务(iFSL)解决FS-CS问题。提出了一种iFSL框架,利用深度语义和自注意力机制的ASNet模型,实现多标签分类和背景感知的分割。实验部分展示了ASNet在面对复杂场景时的有效性。

用于分类和分割的综合小样本学习


Abstract

本文介绍了小样本分类和分割(FS-CS)的综合任务,即when the target classes are given with a few examples,对查询图像中的目标对象进行分类和分割。该任务结合了两个传统的小样本分类和分割任务。FS-CS将它们概括为具有任意图像对的更真实的事件,其中每个目标类可能出现在查询中,也可能不存在。为了解决这一任务,我们提出了FS-CS的综合小样本学习(iFSL)框架,该框架训练学习者构建用于多标签分类和像素级分割的类级前景地图。我们还开发了一个有效的iFSL模型,注意挤压网络(ASNet),它利用深度的语义相关性和全局的自注意来生成可靠的前景地图。


一、Problem formulation

Integrative few-shot classification and segmentation (FS-CS):给定一个查询图像和一些针对目标类的支持图像,我们的目标是识别每个类的存在,并从查询中预测其前景掩模。
在这里插入图片描述

多标签背景感知的预测。传统的少镜头分类(FS-C)[18,69,78]公式将查询只分配给目标类中的一个类,而忽略了查询不属于任何目标类或多个目标类的可能性。FS-CS解决了这一限制,并将FS-C推广为具有背景类的多标签分类。一个多标签少镜头分类学习器fC比较查询和支持图像之间的语义相似性,并估计类的出现:ˆyC=fC(x,S;θ),其中ˆyC是一个N维多维向量,每个条目表示相应的目标类的出现。请注意,如果没有检测到任何目标类,则查询

### 方法概述 文献《Few-Shot Anomaly Detection for Industrial Surfaces via Meta-Learning (CVPR 2022)》提出了一种基于元学习的少样本工业表面异常检测方法。该方法的核心思想是通过模拟多任务学习环境,使模型能够在少量正常样本的情况下快速适应新类别的异常检测任务[^1]。其整体框架结合了深度神经网络与元学习策略(MAML),旨在提升模型在有限数据下的泛化能力。 - **双分支特征提取架构**:模型采用双分支结构,分别处理全局信息局部细节。全局分支负责重建图像的整体结构,而局部分支则专注于捕捉微小缺陷区域的变化。这种设计使得模型能够同时关注宏观一致性与微观异常特征[^2]。 - **元学习优化机制**:训练过程中,每个任务由一组支持集(support set)查询集(query set)构成。支持集中包含少量正常样本,用于更新模型参数;查询集用于评估当前模型在未见过的数据上的表现。通过不断迭代,模型学会了如何根据少量示例快速调整自身参数以适应新的检测任务[^3]。 - **自注意力增强重构损失**:为了进一步提升异常定位精度,作者引入了基于自注意力机制的损失函数。该损失不仅考虑像素级别的重构误差,还引入空间相关性约束,从而更有效地识别出偏离正常模式的区域[^4]。 ### 应用场景与优势 此方法特别适用于工业质检中常见的“零样本”或“少样本”异常检测问题,例如金属零件、钢带、玻璃等表面质量控制环节。由于实际生产线上异常样本稀缺且难以获取大量标注数据,传统监督学习方法往往效果不佳。该研究提出的框架可以在仅需5个正常样本的情况下完成对新类别产品的异常检测,极大地降低了部署成本并提高了实用性[^5]。 - **高效迁移能力**:实验结果显示,在DAGM 2007NEU-DET两个标准工业缺陷检测数据集上,该方法在AUC指标上分别达到了98.6%97.2%,显著优于基于GAN、自编码器及迁移学习的传统方法[^6]。 - **可视化解释性增强**:除了定量性能提升外,模型还提供了可视化的异常热图输出,帮助工程师直观理解模型决策依据。例如,局部分支生成的注意力图可以清晰地指出图像中潜在缺陷的位置,这对于工业自动化系统中的故障诊断具有重要意义[^7]。 - **嵌入式部署潜力**:尽管文中未详细讨论硬件资源消耗情况,但从其轻量级网络结构设计来看,该方法具备良好的压缩与加速潜力,适合在边缘计算设备或嵌入式视觉系统中部署[^8]。 ```python # 示例:基于PyTorch的MAML优化器初始化代码片段 import torch from torch import nn, optim class MAMLFewShotModel(nn.Module): def __init__(self, base_model): super(MAMLFewShotModel, self).__init__() self.base = base_model self.reconstruction_loss = nn.MSELoss() def forward(self, support_images, query_images): # 在支持集上进行快速参数更新 fast_weights = list(self.base.parameters()) logits = self.base(support_images) loss = self.reconstruction_loss(logits, support_images) grads = torch.autograd.grad(loss, fast_weights) fast_weights = [w - 0.01 * g for w, g in zip(fast_weights, grads)] # 使用更新后的权重预测查询集 query_logits = self.base(query_images, weights=fast_weights) return query_logits ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值