Skip to main content

Unsupervised Anomaly Localization Toolbox and Benchmark

Project description


READ (Reconstruction or Embedding based Anomaly Detection)

This repo is the pytorch version of READ, plz jump to https://git.openi.org.cn/OpenI/READ_mindspore for the mindspore version.

READ is an open source toolbox focused on unsupervised anomaly detection/localization tasks. By only training on the defect-free samples, READ is able to recognize defect samples or even localize anomalies on defect samples.

The purpose of this repo is to promote the research and application of unsupervised anomaly detection and localization algorithms. READ is designed to provide:

  • A unified interface for encapsulating diverse anomaly localization algorithms
  • High quality implementations of novel anomaly localization algorithms
  • Templates for using these algorithms in a detailed task

In addition, READ provides the benchmarks for validating novel unsupervised anomaly detection and localization algorithms for MVTec AD dataset.

Changelog

  • [Nov 07 2021] READ_pytorch v0.1.1 is Released!
  • [May 08 2021] READ_pytorch v0.1.0 is Released!
    Please refer to ChangeLog for details and release history.

Installation

Install the latest version from the master branch on OpenI

pip install -U git+https://git.openi.org.cn/OpenI/READ_pytorch

Please follow the Installation document to get a detailed instruction.

Getting Started

Please follow the Getting Started document to run the provided demo tasks.

Localization examples (based on READ)

Supported Algorithms

Results

Implementation results on MVTec

  • Image-level anomaly detection accuracy (ROCAUC)
MVTec RIAD FAVAE SPADE-WR50X2 PaDiM-WR50X2 USTAD STPM SemiOrth-WR50X2 InTra
Carpet 0.654 0.642 0.819 0.996 0.886 0.844 0.996 0.430
Grid 0.980 1.000 0.42 0.966 0.919 0.982 0.836 0.600
Leather 0.982 0.706 0.94 1.000 0.748 0.989 1.000 0.964
Tile 0.838 0.842 0.980 0.973 0.998 0.981 0.963 0.894
Wood 0.861 0.879 0.979 0.987 0.952 0.997 0.989 0.897
All texture classes 0.863 0.814 0.828 0.984 0.901 0.959 0.957 0.757
Bottle 0.984 0.999 0.972 0.999 0.940 1.000 0.995 0.947
Cable 0.543 0.942 0.857 0.880 0.478 0.874 0.779 0.562
Capsule 0.836 0.712 0.873 0.896 0.785 0.911 0.835 0.479
Hazelnut 0.904 0.999 0.907 0.950 0.939 0.986 0.973 0.776
Metal nut 0.820 0.911 0.734 0.987 0.509 0.988 0.917 0.466
Pill 0.789 0.779 0.785 0.935 0.798 0.982 0.744 0.554
Screw 0.746 0.595 0.658 0.846 0.706 0.871 0.470 0.665
Toothbrush 0.956 0.925 0.878 0.981 0.825 0.769 0.978 0.533
Transistor 0.890 0.885 0.900 0.983 0.563 0.810 0.927 0.520
Zipper 0.978 0.647 0.952 0.920 0.761 0.967 0.872 0.461
All object classes 0.845 0.839 0.852 0.9377 0.730 0.916 0.849 0.596
All classes 0.851 0.831 0.844 0.953 0.787 0.930 0.885 0.650
  • Pixel-level anomaly detection accuracy (ROCAUC)
MVTec RIAD FAVAE SPADE-WR50X2 PaDiM-WR50X2 USTAD STPM SemiOrth-WR50X2 InTra
Carpet 0.904 0.836 0.985 0.988 0.958 0.977 0.989 0.468
Grid 0.984 0.994 0.978 0.969 0.850 0.983 0.860 0.631
Leather 0.990 0.908 0.993 0.991 0.914 0.991 0.993 0.989
Tile 0.761 0.626 0.942 0.940 0.948 0.969 0.935 0.873
Wood 0.821 0.908 0.956 0.946 0.899 0.940 0.950 0.715
All texture classes 0.892 0.854 0.971 0.967 0.914 0.972 0.945 0.735
Bottle 0.945 0.962 0.968 0.982 0.902 0.983 0.977 0.806
Cable 0.619 0.957 0.920 0.957 0.816 0.940 0.922 0.560
Capsule 0.978 0.965 0.983 0.985 0.913 0.973 0.981 0.774
Hazelnut 0.974 0.987 0.986 0.982 0.974 0.968 0.976 0.911
Metal nut 0.828 0.953 0.969 0.972 0.891 0.954 0.949 0.753
Pill 0.955 0.943 0.947 0.950 0.928 0.987 0.922 0.745
Screw 0.984 0.960 0.992 0.984 0.967 0.983 0.949 0.785
Toothbrush 0.966 0.984 0.989 0.988 0.947 0.982 0.989 0.692
Transistor 0.813 0.907 0.861 0.973 0.687 0.806 0.958 0.657
Zipper 0.981 0.817 0.982 0.983 0.825 0.987 0.975 0.497
All object classes 0.904 0.944 0.960 0.976 0.885 0.956 0.960 0.718
All classes 0.900 0.914 0.963 0.973 0.895 0.962 0.955 0.730

License

This project is released under the Open-Intelligence Open Source License V1.1.

Contact

Please contact me if there is any question (Chao Zhang chao.zhang46@tcl.com).

About

Machine Vision Group, TCL Corporate Research(HK) Co., Ltd is the main developer of READ.

Any contributions to READ is welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

READ_pytorch-0.1.1-py36-none-any.whl (72.2 kB view details)

Uploaded Python 3.6

File details

Details for the file READ_pytorch-0.1.1-py36-none-any.whl.

File metadata

  • Download URL: READ_pytorch-0.1.1-py36-none-any.whl
  • Upload date:
  • Size: 72.2 kB
  • Tags: Python 3.6
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for READ_pytorch-0.1.1-py36-none-any.whl
Algorithm Hash digest
SHA256 083ffb090ebb11192591bf66ec6df1a8e1cb98120f9356969cb87d0209842409
MD5 2948a9881e4b6c677c2db676af2b360c
BLAKE2b-256 6ccfb4b42fa227546d62bf35eb2ce0e22024d7ad13fb71aa44bbe88c8173f3f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page