open-edge-platform/anomalib

An anomaly detection library comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization, and edge inference.

📚 什么是 Anomalib?

Anomalib 是一个开源的 Python 库,集成了用于 视觉异常检测 的最先进深度学习模型——在图像和视频中识别缺陷或分布外的物体。它提供:

  • 一个 模块化 API 和命令行接口(CLI),用于训练、推理和基准测试。
  • 基于 PyTorch Lightning 构建的多个研究论文(PatchCore、PaDiM、STFPM 等)的即用型实现,以减少样板代码。
  • 支持导出到 OpenVINO,使模型能在 Intel CPU/GPU 上快速运行。
  • 可选的实验追踪工具(W&B、Comet、TensorBoard)和一个名为 Anomalib Studio 的低代码 Web UI,供非程序员使用。

重点在于基于图像的异常检测,但该库也通过 Tabular 辅助工具支持表格数据。


🚀 快速入门

安装

  • 标准安装 – pip install anomalib(或 uv pip install anomalib)。
  • 硬件特定扩展 – 添加 [cu126]、[cu130]、[rocm]、[xpu] 等,以获取正确的 PyTorch 构建版本。
  • 可选功能 – [openvino]、[clip]、[vlm]、[loggers]、[notebooks] 或 [full](全部功能)。
  • 从源码安装 – 克隆仓库并使用 uv sync --extra <backend> 或 pip install -e "[dev,<backend>]"。

快速训练(Python API)

from anomalib.data import MVTecAD
from anomalib.models import Patchcore
from anomalib.engine import Engine

dm = MVTecAD()
model = Patchcore()
engine = Engine()
engine.fit(datamodule=dm, model=model)

快速训练(CLI)

anomalib train --model Patchcore --data anomalib.data.MVTecAD

推理

  • API – engine.predict(datamodule=dm, model=model, ckpt_path='…')
  • CLI – anomalib predict --model Patchcore --data MVTecAD --ckpt_path model.ckpt
  • 支持 Torch、Lightning、Gradio UI 和 OpenVINO 加速推理。

🛠️ 核心功能

功能 重要性
模块化 API 与 CLI 无需重写代码即可切换模型、数据集或配置。
丰富的模型集合 在一个地方即可访问大量已发表的异常检测方法。
基于 Lightning 用极少代码即可处理训练循环、检查点、混合精度和多 GPU。
OpenVINO 导出 将 PyTorch 检查点转换为 Intel 优化的 IR,实现低延迟边缘部署。
推理工具 提供批量预测、Gradio 演示或 ROS/MQTT 集成的预构建脚本。
Anomalib Studio 一个预发布无代码 Web 应用(Docker 或独立运行),通过 UI 进行模型训练和部署。
实验日志 通过 Lightning 日志器轻松接入 W&B、Comet、TensorBoard 等。
硬件感知扩展 可根据 CPU、CUDA、ROCm 或 Intel XPU 后端按需安装。

📊 基准测试与评估

通过一条命令即可运行完整基准测试:

anomalib benchmark --config tools/experimental/benchmarking/sample.yaml

该命令在标准数据集(如 MVTec-AD)上评估选定模型,并输出 AUROC、像素级 AUC 和推理速度等指标。


🤖 Anomalib Studio(低代码 UI)

  • 基于 Web – 使用 FastAPI 后端和 React 前端。
  • 可连接 USB/IP 摄像头、图像文件夹或视频流。
  • 可输出至 ROS 消息、MQTT 等,适用于工业流水线。
  • 以 Docker 镜像或独立 UI 形式分发。
  • 仍为 预发布 状态——API 可能变更。

📚 文档与社区

  • 完整文档:https://anomalib.readthedocs.io
  • 示例笔记本位于 examples/notebooks
  • 支持通过讨论论坛和 GitHub Issues 获取帮助。
  • 请参考 CONTRIBUTING.md 中的指南进行贡献。

🎓 谁应该使用它?

  • 需要可复现的视觉异常检测论文基线的 研究人员。
  • 在边缘设备(Intel CPU/GPU、NVIDIA GPU、AMD ROCm)上构建缺陷检测流水线的 工业工程师。
  • 希望无需编写底层训练循环即可尝试不同异常检测架构的 数据科学家。

📦 快速参考

  • Python 版本:3.10+
  • 核心依赖:PyTorch 2.6+、Lightning 2.2+、OpenVINO 2024.0(可选)
  • 许可证:Apache-2.0(见 LICENSE)
  • 最新版本:v2.6.2(Tabular.from_file 的安全加固)。

  • 欢迎探索仓库,尝试 CLI,深入笔记本,亲眼见证异常检测的实际效果!*

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目