Downloads · 30 days
46
16% of all-time downloads
abulhawa/industrial-component-anomaly-detection-models
industrial-component-anomaly-detection-models is a machine learning model from abulhawa. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for keras. The card lists the license as other.
Archive of trained models, metrics, anomaly heatmaps, and four-panel visualizations from the industrial-component-anomaly-detection project. Read the anomaly detection documentation for the methods and the detailed ex…
Downloads · 30 days
46
16% of all-time downloads
All-time downloads
295
Public
Repo size
2.1 GB
Likes
0
Public
Click a slice to open those files.
.png1.7 GB · 74%
From the Hugging Face model README
Archive of trained models, metrics, anomaly heatmaps, and four-panel visualizations from the industrial-component-anomaly-detection project. Read the anomaly detection documentation for the methods and the detailed experiment results for category-level comparisons.
keras_cae/: trained convolutional-autoencoder weights and evaluation artifactspatchcore/: PatchCore evaluation artifactsdinov2/: DINOv2-based evaluation artifactsdinov3/: DINOv3-based evaluation artifactsThis archive does not include the raw MVTec AD dataset or pretrained DINOv2/DINOv3 encoder weights. The DINO directories contain evaluation outputs and metadata only.
The table reports unweighted means over the 15 MVTec AD categories, computed from the metadata.json files in this archive under the fair-eval-v1 protocol. Image F1 uses thresholds chosen from normal validation data; image AUROC and pixel AUPIMO summarize ranking and low false positive localization. Values are rounded to three decimals.
| Model configuration | Categories | Image F1 ↑ | Image AUROC ↑ | Pixel AUPIMO ↑ |
|---|---|---|---|---|
| DINOv2, original single layer 1-NN | 15 | 0.941 | 0.979 | 0.602 |
| DINOv3, single layer 1-NN | 15 | 0.932 | 0.978 | 0.680 |
| PatchCore | 15 | 0.929 | 0.971 | 0.603 |
| Keras CAE | 15 | 0.496 | 0.722 | 0.059 |
The PatchCore and CAE table reproduces the primary baseline table in the technical report. It is the report snapshot, including image PR-AUC calculated from the curves available at the time. Some report values differ slightly from the current archived metadata and curves; use the per-model files for the exact uploaded artifact values.
| Category | PatchCore F1 | PatchCore PR-AUC | PatchCore AUPIMO | CAE F1 | CAE PR-AUC | CAE AUPIMO |
|---|---|---|---|---|---|---|
| Bottle | 0.962 | 1.000 | 0.982 | 0.992 | 1.000 | 0.507 |
| Cable | 0.933 | 0.985 | 0.511 | 0.154 | 0.624 | 0.000 |
| Capsule | 0.982 | 0.996 | 0.563 | 0.476 | 0.917 | 0.052 |
| Carpet | 0.926 | 0.994 | 0.796 | 0.635 | 0.835 | 0.003 |
| Grid | 0.916 | 0.986 | 0.506 | 0.602 | 0.901 | 0.077 |
| Hazelnut | 0.971 | 0.999 | 0.863 | 0.500 | 0.902 | 0.033 |
| Leather | 0.898 | 0.998 | 0.972 | 0.786 | 0.892 | 0.075 |
| Metal Nut | 0.963 | 0.998 | 0.760 | 0.243 | 0.825 | 0.002 |
| Pill | 0.891 | 0.982 | 0.293 | 0.395 | 0.923 | 0.030 |
| Screw | 0.796 | 0.983 | 0.380 | 0.421 | 0.887 | 0.005 |
| Tile | 0.951 | 0.993 | 0.685 | 0.132 | 0.727 | 0.001 |
| Toothbrush | 0.923 | 0.949 | 0.414 | 0.735 | 0.922 | 0.054 |
| Transistor | 0.916 | 0.976 | 0.427 | 0.657 | 0.758 | 0.005 |
| Wood | 0.952 | 0.995 | 0.642 | 0.182 | 0.955 | 0.008 |
| Zipper | 0.962 | 0.985 | 0.251 | 0.513 | 0.940 | 0.025 |
| Mean (report) | 0.929 | 0.988 | 0.603 | 0.495 | 0.867 | 0.058 |
The DINO table below is computed from the archived original DINOv2 baseline and the latest DINOv3 baseline run for each category. AUROC is the image-level score; AUPIMO is the pixel-level score.
| Category | DINOv2 F1 | DINOv2 AUROC | DINOv2 AUPIMO | DINOv3 F1 | DINOv3 AUROC | DINOv3 AUPIMO |
|---|---|---|---|---|---|---|
| Bottle | 0.992 | 1.000 | 0.900 | 0.992 | 1.000 | 0.889 |
| Cable | 0.906 | 0.960 | 0.496 | 0.957 | 0.992 | 0.719 |
| Capsule | 0.854 | 0.945 | 0.123 | 0.888 | 0.982 | 0.521 |
| Carpet | 0.989 | 0.998 | 0.960 | 0.937 | 0.996 | 0.969 |
| Grid | 0.958 | 1.000 | 0.981 | 0.926 | 0.989 | 0.839 |
| Hazelnut | 0.979 | 0.996 | 0.605 | 0.979 | 0.999 | 0.823 |
| Leather | 0.953 | 1.000 | 1.000 | 0.968 | 1.000 | 1.000 |
| Metal Nut | 0.995 | 1.000 | 0.539 | 0.984 | 1.000 | 0.891 |
| Pill | 0.936 | 0.974 | 0.561 | 0.964 | 0.981 | 0.449 |
| Screw | 0.849 | 0.876 | 0.266 | 0.732 | 0.860 | 0.012 |
| Tile | 0.988 | 1.000 | 0.964 | 0.982 | 1.000 | 0.941 |
| Toothbrush | 0.968 | 0.994 | 0.139 | 0.938 | 0.986 | 0.701 |
| Transistor | 0.811 | 0.958 | 0.113 | 0.854 | 0.929 | 0.270 |
| Wood | 0.960 | 0.989 | 0.687 | 0.916 | 0.982 | 0.580 |
| Zipper | 0.975 | 0.992 | 0.695 | 0.970 | 0.981 | 0.588 |
| Mean (archive) | 0.941 | 0.979 | 0.602 | 0.932 | 0.978 | 0.680 |
For DINOv2, this table uses the original baseline, excluding the enhanced experiments. For DINOv3, it uses the latest archived baseline result per category; bottle and cable each have an earlier run as well. Per category values, model hashes, configuration, and split evidence are in each model's metadata.json. The experiment analysis discusses the enhanced DINOv2 variant and comparison limits. These benchmark results do not establish performance on other production data. This repository stores downloadable artifacts; it does not provide a hosted inference endpoint.
This is a mixed-provenance archive; no single permissive software license applies to every file. MVTec-derived images, overlays, evaluation artifacts, and models trained on MVTec AD are distributed conservatively under CC BY-NC-SA 4.0 where those terms apply. Treat this archive as non-commercial unless you have separately established broader rights.
See LICENSE.md for path-specific terms and licenses/ for upstream license copies.
MVTec AD: Paul Bergmann, Kilian Batzner, Michael Fauser, David Sattlegger, and Carsten Steger, The MVTec Anomaly Detection Dataset: A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection, IJCV 2021; and Bergmann et al., MVTec AD — A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection, CVPR 2019.
DINOv2 and DINOv3 are by Meta AI Research. Review the bundled notices before redistribution.
First clone and set up the application repository:
git clone https://github.com/foersben/industrial-component-anomaly-detection.git
cd industrial-component-anomaly-detection
pixi install -e dev
Then download this model registry into the location expected by the application:
pixi run --frozen -e dev hf download \
abulhawa/industrial-component-anomaly-detection-models \
--repo-type model \
--local-dir data/models
Alternatively, if just is available:
just download-models abulhawa/industrial-component-anomaly-detection-models
This model repository is public, so authentication is not required for downloading. For a clean restore, use an empty data/models/ directory because files with matching paths may be replaced.
The model archive does not include the MVTec AD dataset. Follow the dataset setup instructions in the application repository if raw dataset access is needed.