赞
踩
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
添加微信:CVer5555,小助手会拉你进群!
扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!
文章:https://arxiv.org/pdf/2403.06495
代码:https://github.com/mala-lab/InCTRL
背景:
异常检测(AD)是计算机视觉领域的一个重要任务,其目的是识别出与数据集中大多数样本显著不同的样本。这一研究在工业检查、医学成像分析、科学发现等多个实际应用场景中有着至关重要的作用。然而,传统的AD方法通常需要针对每个目标数据集单独构建模型,因此在一些无法收集足够训练数据的场景中的可行性受到了限制(比如:由于用户隐私无法收集数据)。为了应对上述挑战,我们提出了学习面向通用异常检测(GAD)设计模型的问题。
通用异常检测(GAD):训练一个单一的检测模型,使其能够在不同应用领域的多样化数据集上泛化检测异常,而无需针对目标数据进行进一步的训练。
近期的研究表明,像CLIP这样的大型预训练视觉-语言模型(VLMs)在工业缺陷异常检测数据集的跨数据集视觉识别任务中已经展现了出色的泛化能力,但我们的研究发现,这些方法在扩展到其他数据域(如医学图像异常或自然图像中的语义异常)时的泛化能力有限。
鉴于以上局限性,我们提出了一种新的方法——InCTRL,通过使用少量正常图像 (few-shot normal samples) 作为样本提示 (sample prompts) 来训练GAD模型,用于支持实时的多样化数据集上的异常检测。具体来说,InCTRL在辅助数据集上进行训练,基于对查询数据和少量正常样本提示之间的差异进行建模,我们期待异常查询样本与样本提示之间的差异会远大于正常查询样本与样本提示之间的差异。InCTRL通过学习这种差异,可以实现跨不同领域数据的泛化,从而在无需训练或微调的情况下,只通过比较目标数据集给定测试数据的差异判别异常和正常样本。
本论文的主要贡献如下:
引入了GAD任务:为了评估异常检测方法在不需要针对目标数据集进行训练/微调的情况下识别不同场景中的异常的泛化能力,我们首次提出了GAD任务。这是首个专门针对工业缺陷、医学异常和语义异常进行通用异常检测的研究。
提出了InCTRL模型:为了解决GAD任务,我们提出了一种新颖的上下文差异学习模型——InCTRL,旨在通过检测查询图像与少量正常样本提示之间的差异来区分异常和正常样本。InCTRL通过在辅助数据集上进行优化,实现了单一模型适用于检测多种异常类型数据集的目标,且无需在目标数据上进行训练/微调。
广泛的实验验证:我们在九个不同的异常检测数据集上进行了广泛的实验,建立了一个GAD评估基准,并展示了InCTRL在多个少量样本设置下显著超过了现有最先进方法的性能。
方法:
我们提出的方法,InCTRL(In-Context Residual Learning),旨在通过少量正常样本提示,实现对不同应用领域中异常数据的有效检测。从图中可看到,InCTRL的训练实例包括一张查询图像和少量的正常样本提示,这些都是从辅助数据集中随机抽取得到的。模型利用CLIP的视觉编码器执行多层次的图像块级别和图像级别的差异学习,用以分别捕捉查询图像与正常样本提示之间的局部和全局差异。此外,模型通过CLIP的文本编码器获取文本提示指导的先验知识,这些知识基于文本提示特征与查询图像之间的相似度计算得出。
InCTRL的核心思想是最大化利用预训练的视觉-语言模型(如CLIP)的泛化能力,通过上下文差异学习来建模查询图像与少量正常样本提示之间的差异,从而检测出异常。InCTRL的训练目的是优化附加在视觉编码器上的几个可学习的网络层,保持CLIP的两个编码器中的原始参数不变。
InCTRL的具体步骤实现如下:
多层次图像块级别的差异学习:在CLIP中,视觉编码器由多个层次的Block组成,层与层之间通过逐步的学习来捕捉不同层次的视觉模式。每个Block的输出包括一个class embedding和多个patch embeddings,其中class embedding负责捕捉全局图像级信息,而patch embeddings则代表局部图像块级的信息。为了更好地理解图像块级的差异信息,在CLIP的视觉编码器中提取多层次特征表示,我们通过比较查询图像与少量正常样本提示之间的局部(图像块级)特征来学习局部差异:
具体来说,对于给定的查询图像x, 我们在层级 上计算其图像块级别上下文差异,差异图 通过比较查询图像的patch embeddings和少量正常样本提示中所有图像的最相似patch embeddings来建模。函数 h(·) 返回与查询图像最相似的patch embeddings。最终的图像块级差异图就是通过对个 个层级的残差图进行平均得到的:
图像级别的差异学习:除了局部特征外,我们还比较查询图像与少量正常样本提示的全局(图像级)特征来学习全局差异,帮助我们捕捉到图像整体层面的异常特征。我们选择了CLIP视觉编码器最后一个block输出的class embedding作为特征输入,因为它包含了图像级的最具判别力的信息。然而,CLIP的预训练任务本身是为图像分类设计的,强调了对象之间的语义差异,而在我们的异常检测任务中,正常样本和异常样本往往来自同一类别的对象,因此这两个任务的目标并不完全对齐。因此,我们引入了一个Adapter 来进一步将获取的图像表征适配到异常检测任务中,并基于适配后的图像特征来学习图像级异常。我们使用的是少量样本提示的原型特征(prototype)来学习上下文差异,因为我们相信原型特征通常能够捕捉到正常模式的更具代表性的特征:
通过对查询图像的特征图和原型特征进行逐元素的减法操作,我们获得了上下文图像级差异特征:
最后,这些上下文图像级残差特征被输入到图像级异常分类学习器 中,以基于图像级信息获得异常分数。eta通过二分类损失函数来优化:
4. 训练与测试:我们在辅助数据集上优化InCTRL模型,使其能够在不同领域的测试数据集上直接应用,无需额外训练。在测试时,我们直接利用目标数据集的少量正常样本作为提示,计算测试图像的异常分数。具体地,在训练过程中,对于每个查询图像,我们首先定义一个上下文残差图:
这个残差图由3个部分组成:(1)多层次图像块级上下文差异图 ;(2)图像级残差图的异常分数 ,基于函数 得出;(3)基于文本提示的异常概率 ,它量化了 作为异常的可能性。这些组成部分通过逐元素相加结合在一起,得到整个查询图像的残差图 。最终的异常分数被表示为:
其中 用来计算holistic异常分数 ,而 代表 中的最大差异值,用以抓取被holistic异常分数忽略的fine-grained异常信息。alpha是一个超参数。最终,我们通过比较预测值和真实标签来优化最终的异常得分:
而InCTRL的最终优化是通过最小化整体损失函数来实现的:
实验:
我们在九个公开的异常检测数据集上进行了广泛实验,包括工业缺陷检测、医学图像异常检测和语义异常检测数据集,以验证InCTRL方法的泛化能力和效果。实验中,MVTec AD的所有数据(包括训练集和测试集)作为默认的辅助数据集,用来训练GAD模型,之后模型在其他数据集的测试集上进行测试,测试过程中不进行任何微调或训练。对MVTec AD的测试在以VisA作为辅助训练集训练的GAD模型上进行。我们随机从目标数据集的训练集中选用 个正常样本作为样本提示,并保持所有方法中样本提示是一致的。最后,我们选择常用的AUROC(Area Under the Receiver Operating Characteristic)和AUPRC(Area Under the Precision-Recall Curve)作为评估指标。
实验结果表明,InCTRL在多个少量样本提示设置下均显著优于现有最先进的方法。通过与传统的基于距离的异常检测方法和最近的基于CLIP的模型进行比较,InCTRL展现了其在不同数据集上的优越性能和强大的泛化能力。
总结:
InCTRL通过对查询数据和少量正常样本提示之间的上下文差异学习,在不同应用场景下实现了有效的通用异常检测。该方法充分利用了CLIP模型的泛化能力,结合查询样本与少量正常样本提示间差异的指导,展现了在多个异常检测数据集上的优越的泛化性能。通过详细的实验验证和分析,我们证明了InCTRL方法在处理多样化异常检测任务中的有效性和灵活性。通过这项工作,我们不仅挑战了在多个数据域中实现有效异常检测的边界,而且为未来的研究提供了新的方向和基准。
何恺明在MIT授课的课件PPT下载
在CVer公众号后台回复:何恺明,即可下载本课程的所有566页课件PPT!赶紧学起来!
CVPR 2024 论文和代码下载
在CVer公众号后台回复:CVPR2024,即可下载CVPR 2024论文和代码开源的论文合集
Mamba和图像分割交流群成立
- 扫描下方二维码,或者添加微信:CVer5555,即可添加CVer小助手微信,便可申请加入CVer-Mamba和图像分割微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF、3DGS、Mamba等。
- 一定要备注:研究方向+地点+学校/公司+昵称(如Mamba或者图像分割+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
- ▲扫码或加微信号: CVer5555,进交流群
- CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!
-
- ▲扫码加入星球学习
- ▲点击上方卡片,关注CVer公众号
- 整理不易,请点赞和在看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。