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 는 시각적 이상 탐지(이미지 및 비디오에서 결함 또는 분포 외 객체 탐지)를 위한 오픈소스 파이썬 라이브러리입니다. 다음과 같은 기능을 제공합니다:

  • 모듈식 API 와 명령줄 인터페이스(CLI)를 통한 학습, 추론, 벤치마킹.
  • PyTorch Lightning 기반으로 구축된 연구 논문(예: PatchCore, PaDiM, STFPM 등)의 바로 사용 가능한 구현.
  • OpenVINO 로의 내보내기 파이프라인을 통해 Intel CPU/GPU에서 빠르게 실행 가능한 모델 생성.
  • 실험 추적(W&B, Comet, TensorBoard) 및 비프로그래머를 위한 저코드 웹 UI인 Anomalib Studio 와 같은 옵션 도구.

주로 이미지 기반 이상 탐지에 초점을 맞추고 있지만, 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 사전 릴리스된 노코드 웹 앱(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)

  • 웹 기반 – 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)에서 결함 탐지 파이프라인을 구축하는 산업 엔지니어.
  • 저수준 학습 루프를 작성하지 않고 다양한 이상 탐지 아키텍처를 실험하고 싶은 데이터 사이언티스트.

📦 빠른 참조

  • 파이썬 버전: 3.10+
  • 핵심 종속성: PyTorch 2.6+, Lightning 2.2+, OpenVINO 2024.0 (옵션)
  • 라이선스: Apache-2.0 (see LICENSE)
  • 최신 릴리스: v2.6.2 (Tabular.from_file 보안 강화).

  • 리포지토리 탐색, CLI 사용, 노트북 탐험을 통해 이상 탐지의 실제 작동을 경험해 보세요!*

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트