Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Anomaly Detection

异常检测会标记偏离正常模式的数据点、事件或图像区域。本文介绍异常类型、主要方法、视觉检测和代码。

异常检测是识别偏离既定正常行为模式的数据点、事件或图像区域的任务。它也称离群点检测;在制造业视觉领域,通常称为缺陷检测或自动视觉检测。异常很少见、种类多,而且往往从未出现过,因此大多数方法会用以正常数据为主的数据学习正常模式,为每个新输入分配异常分数以衡量其偏离程度,并将超过阈值的分数标记出来。应用场景包括检测生产线上的划痕和凹痕、欺诈性银行卡交易、网络入侵、设备故障,以及医学图像分析中的可疑发现。

异常的类型#

  • 点异常:单个数值或图像与其他数据相差很大,例如某笔交易金额是客户通常消费金额的 50 倍。
  • 上下文异常:某个值在一种上下文中正常,在另一种上下文中却异常。纽约 7 月的室外气温 30 °C 很平常,但 1 月出现这一气温就令人担忧。
  • 群体异常:一系列数据或一组数据整体异常,但其中每个成员单独看都正常,例如一分钟内来自多个国家的大量登录尝试;单独看每次尝试都并不起眼。

异常检测如何工作#

各类方法对正常数据建模的方式各不相同:

  • 统计规则:标记偏离均值超过指定标准差数量的值,或标记落在四分位距所设范围之外的值。
  • 距离与密度:标记距离最近邻较远或位于稀疏区域的数据点,局部离群因子就是采用这种方法。
  • 孤立法:Isolation Forest通过随机切分数据构建模型;与正常数据点相比,异常点会用更少的切分次数就被孤立。
  • 单类模型:单类支持向量机(SVM)会学习训练数据的边界,并标记边界之外的点。
  • 重建法:只用正常数据训练的自编码器能很好地重建正常输入,却难以重建异常输入,因此重建误差可用作异常分数。
  • 基于特征的视觉方法:PatchCore会将 ImageNet 预训练网络提取的无缺陷图像块特征存入记忆库,并根据每个测试图像块与库中最近图像块的距离进行评分;在 MVTec AD 基准上,其图像级 AUROC 最高可达 99.6%。

scikit-learn 将离群点检测与新颖性检测区分开来:前者的训练数据中已经包含一些异常,后者的训练数据干净,只有新输入会被评分。下面的脚本使用健康机器的读数训练 Isolation Forest,并为四个新读数评分:

import numpy as np
from sklearn.ensemble import IsolationForest

# 1,000 readings from a healthy machine: temperature (C) and vibration (mm/s)
rng = np.random.default_rng(0)
normal = rng.normal([60, 2.0], [3, 0.3], size=(1000, 2))

# Learn what normal looks like, then score new readings
detector = IsolationForest(random_state=0).fit(normal)
new = np.array([[61, 2.1], [59, 1.8], [75, 2.0], [60, 4.5]])
labels = detector.predict(new)  # 1 = normal, -1 = anomaly
scores = detector.decision_function(new)  # below 0 = anomaly

for (temp, vibration), label, score in zip(new, labels, scores):
    status = "anomaly" if label == -1 else "normal"
    print(f"{temp:.0f} C, {vibration:.1f} mm/s -> {status} (score {score:+.3f})")

接近训练均值的两个读数得分为 +0.080 和 +0.076,均通过检测。温度达到 75 °C 的过热读数得分为 −0.139,而振动幅度超过常见水平两倍的读数得分为 −0.152,因此两者都会被标记,尽管模型从未见过任何一种故障的示例。

视觉异常检测#

视觉检测有两种路径,具体取决于是否能收集并标注缺陷。当缺陷类型已知且有样本时,可以使用在划痕、凹痕和裂纹等类别上训练的目标检测或实例分割模型来定位并命名每种缺陷。在这些类别上微调的 YOLO26检测或分割模型,会为图像中发现的每个缺陷返回边界框或掩码、类别和置信度分数。当缺陷罕见或难以预测时,单类方法只使用合格零件的图像进行训练,并标记任何有差异的内容,因此也能发现无人预料到的缺陷类型。MVTec AD 数据集包含 15 种物体和纹理类别的 5,000 多张图像,训练集中只有无缺陷图像,是这类任务的标准基准;Anomalib等开源库则实现了 PatchCore 及类似方法。

异常检测器使用ROC 曲线下面积(AUC)等不依赖阈值的指标,以及所选阈值下的精确率和召回率进行评估;这些指标反映了操作人员实际会遇到的误报和漏检。由于异常很少见,通常会根据正常验证图像的分数设置阈值,例如设为只有 1% 的合格零件会超过的分数。

  • 目标检测:寻找一组固定标注类别中的实例。在缺陷数据上训练的目标检测器只能检测它训练过的缺陷类型。
  • 数据漂移:一整批输入数据的分布随时间发生变化,例如图像连续一周都更暗。异常检测则为单个输入评分。
  • 分布外(OOD)检测:标记与模型训练数据不同的输入,让模型可以拒绝预测或交由人工处理;这是将新颖性检测应用于已部署模型的输入。
  • 变化检测:比较同一场景在不同时间拍摄的图像,例如洪水前后的卫星图像,以找出变化。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来