不看异常,怎么学会识别异常?用“异常”指导异常检测!——NAGL方法解析(附代码地址)

在工业质检、医疗诊断等领域,异常检测技术一直面临着巨大挑战。传统的异常检测模型通常只使用正常样本进行训练,但当遇到全新场景时,检测效果往往大打折扣。更重要的是,在实际应用中,我们通常能够获得少量异常样本,如何充分利用这些宝贵信息一直是个难题。

今天我们要介绍一项创新研究------ 《Normal-Abnormal Guided Generalist Anomaly Detection》 ,它提出了一种全新的思路:同时使用正常和异常样本作为参考 ****,打造真正实用的通用型异常检测系统。

为什么需要新范式?

现有的通用异常检测方法主要存在两个问题:

  • 仅使用正常样本:模型缺乏对异常特征的直接理解,判别能力有限
  • 无法充分利用异常样本:现实中获取的少量异常样本(如次品、病变案例)往往被闲置

直接应用基于KNN的方法虽然简单,但容易产生误报,且缺乏数据驱动的自适应能力。

NAGL 框架核心思路

NAGL(Normal-Abnormal Generalist Learning)主要由两个模块组成:

  • Residual Mining(RM)

提取"正常-异常"差异,构建可迁移的异常表征。

模型通过计算残差(Residual)来捕捉异常样本与正常样本之间的偏离模式,这些"差异特征"成为后续检测的关键指导信号。

  • Anomaly Feature Learning(AFL)

让模型学会在查询图片中定位异常。

通过残差映射,模型能自适应地找到图像中与异常特征相似的区域,实现实例级的异常定位。

简单来说,NAGL先挖掘"异常的规律",再用它来指导模型在新场景中更精准地找出异常。

技术亮点

双参考模式:首次在通用异常检测中同时使用正常和异常样本作为参考

高效设计:

  • 参数仅24.4M,比之前最佳方法小5倍
  • 训练速度提升69倍
  • 推理速度达17.1 FPS,比之前方法快2-14倍
  • 实验结果

在MVTecAD、VisA和BraTS等多个基准测试中,该方法全面超越现有技术:

  • 在MVTecAD上,仅用1个正常+1个异常样本,图像级AUROC达到95.8%,比使用4个正常样本的最佳基线还高0.6%
  • 在医疗数据集BraTS上,平均AUROC达到89.5%,比之前方法提升10.6个百分点
  • 随着正常样本数量增加,性能持续提升,展现良好扩展性
  • 可视化效果对比

从可视化结果可以看出,我们的方法能够更准确地定位异常区域,减少误报,特别是在复杂背景下仍能保持稳定的检测性能。

跨领域潜力与应用

NAGL 不仅在单一领域表现突出,更在跨域检测中展现出强泛化能力------

例如从金属零件检测到脑部影像识别,模型无需重新训练,就能稳定识别异常。

这意味着它非常适合:

  • 智能制造: 缺陷检测、质量控制
  • 医学影像: 肿瘤分割、病灶识别
  • 交通/安防: 异常事件检测

未来研究方向还包括结合自然语言提示(Prompt)或多模态特征,让异常检测具备更丰富的语义理解能力。

结语

NAGL的提出为异常检测开辟了一条全新思路:

不再回避"异常样本太少"的现实,而是学会用有限的异常教模型识别未知的异常

在智能制造、医学诊断、甚至无人巡检领域,这样的通用检测范式,或将成为AI落地的新关键。

代码及论文地址

ruby 复制代码
论文链接:https://arxiv.org/pdf/2510.00495
代码地址:https://github.com/JasonKyng/NAGL
相关推荐
澈2073 分钟前
堆排序:高效构建大顶堆实战
数据结构·算法·排序算法
我真不是小鱼25 分钟前
cpp刷题打卡记录27——无重复字符的最长子串 & 找到字符串中所有字母的异位词
数据结构·c++·算法·leetcode
V搜xhliang024629 分钟前
基于¹⁸F-FDG PET/CT的深度学习-影像组学-临床模型预测非小细胞肺癌脉管侵犯的价值
大数据·人工智能·python·深度学习·机器学习·机器人
XuecWu329 分钟前
原生多模态颠覆Scaling Law?解读语言“参数需求型”与视觉“数据需求型”核心差异
人工智能·深度学习·算法·计算机视觉·语言模型
We་ct30 分钟前
LeetCode 69. x 的平方根:两种解法详解
前端·javascript·算法·leetcode·typescript·平方
一直不明飞行32 分钟前
C++:string,写法s.find(‘@‘) != s.end()是否有问题
开发语言·c++·算法
Proxy_ZZ044 分钟前
打造自己的信道编码工具箱——Turbo、LDPC、极化码三合一
c语言·算法·信息与通信
wayz111 小时前
21天机器学习核心算法学习计划(量化方向)
学习·算法·机器学习
穿条秋裤到处跑1 小时前
每日一道leetcode(2026.04.09):区间乘法查询后的异或 II
算法·leetcode
超级大只老咪1 小时前
一维度前缀和解题通用模板(java)
java·开发语言·算法