Skip to content

Commit 469dfe4

Browse files
fix(doc): Update documentation with last added models and datasets (#3181)
* fix(dinomaly): remove center cropping to resolve visualization misalignment issues * fix(dinomaly): reintroduce center cropping with proper anomaly map uncropping for visualization alignment * feat(docs): update documentation for new models and datasets * fix(docs): update descriptions for depth and image datamodules, and refine model names * fix(docs): restore unrelated changes
1 parent 44ba19e commit 469dfe4

File tree

11 files changed

+240
-3
lines changed

11 files changed

+240
-3
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# ADAM3D
2+
3+
```{eval-rst}
4+
.. automodule:: anomalib.data.datamodules.depth.adam_3d
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
8+
```

docs/source/markdown/guides/reference/data/datamodules/depth/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ Anomalib provides datamodules for handling depth-based anomaly detection dataset
77
```{grid} 2
88
:gutter: 2
99
10+
:::{grid-item-card} ADAM 3D
11+
:link: adam_3d
12+
:link-type: doc
13+
14+
3D-ADAM (3D Anomaly Detection in Additive Manufacturing) Dataset for surface defects
15+
:::
16+
1017
:::{grid-item-card} MVTec 3D
1118
:link: mvtec_3d
1219
:link-type: doc
@@ -26,6 +33,7 @@ Custom folder-based 3D datamodule for organizing your own depth-based anomaly de
2633
:hidden:
2734
:maxdepth: 1
2835
36+
adam_3d
2937
mvtec_3d
3038
folder_3d
3139
```

docs/source/markdown/guides/reference/data/datamodules/image.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ Custom folder-based dataset organization.
4242
Surface defect detection in electrical commutators.
4343
:::
4444
45+
:::{grid-item-card} MPDD
46+
:link: anomalib.data.datamodules.image.MPDD
47+
:link-type: doc
48+
49+
Metal parts defect detection dataset for visual defect detection in manufacturing
50+
:::
51+
4552
:::{grid-item-card} MVTecAD
4653
:link: anomalib.data.datamodules.image.MVTecAD
4754
:link-type: doc
@@ -96,7 +103,7 @@ Visual Anomaly dataset.
96103

97104
```{eval-rst}
98105
.. automodule:: anomalib.data
99-
:members: BMAD, BTech, Datumaro, Folder, Kolektor, MVTecAD, MVTecAD2, MVTecLOCO, RealIAD, Tabular, VAD, Visa
106+
:members: BMAD, BTech, Datumaro, Folder, Kolektor, MPDD, MVTecAD, MVTecAD2, MVTecLOCO, RealIAD, Tabular, VAD, Visa
100107
:undoc-members:
101108
:show-inheritance:
102109
```
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# MPDD
2+
3+
```{eval-rst}
4+
.. automodule:: anomalib.data.datamodules.image.mpdd
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
8+
```
Lines changed: 162 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,168 @@
11
# Metrics
22

3+
Anomalib provides a comprehensive set of metrics for evaluating anomaly detection model performance. All metrics extend TorchMetrics' functionality with Anomalib-specific features.
4+
5+
## Available Metrics
6+
7+
### Area Under Curve Metrics
8+
9+
::::{grid} 2
10+
:gutter: 2
11+
12+
:::{grid-item-card} AUROC
13+
:link: anomalib.metrics.AUROC
14+
:link-type: doc
15+
16+
Area Under the Receiver Operating Characteristic curve. Measures the model's ability to distinguish between normal and anomalous samples.
17+
:::
18+
19+
:::{grid-item-card} AUPR
20+
:link: anomalib.metrics.AUPR
21+
:link-type: doc
22+
23+
Area Under the Precision-Recall curve. Particularly useful for imbalanced datasets.
24+
:::
25+
26+
:::{grid-item-card} AUPRO
27+
:link: anomalib.metrics.AUPRO
28+
:link-type: doc
29+
30+
Area Under the Per-Region Overlap curve. Evaluates pixel-level anomaly localization performance.
31+
:::
32+
33+
:::{grid-item-card} AUPIMO
34+
:link: anomalib.metrics.AUPIMO
35+
:link-type: doc
36+
37+
Area Under the Per-Image Missed Overlap curve. Advanced metric for evaluating localization quality.
38+
:::
39+
40+
::::
41+
42+
### F1 Score Metrics
43+
44+
::::{grid} 2
45+
:gutter: 2
46+
47+
:::{grid-item-card} F1Score
48+
:link: anomalib.metrics.F1Score
49+
:link-type: doc
50+
51+
Standard F1 score for binary classification. Harmonic mean of precision and recall.
52+
:::
53+
54+
:::{grid-item-card} F1Max
55+
:link: anomalib.metrics.F1Max
56+
:link-type: doc
57+
58+
Maximum F1 score across all possible thresholds. Useful for finding optimal operating points.
59+
:::
60+
61+
::::
62+
63+
### Threshold Metrics
64+
65+
::::{grid} 2
66+
:gutter: 2
67+
68+
:::{grid-item-card} F1AdaptiveThreshold
69+
:link: anomalib.metrics.F1AdaptiveThreshold
70+
:link-type: doc
71+
72+
Automatically determines the optimal threshold by maximizing F1 score.
73+
:::
74+
75+
:::{grid-item-card} ManualThreshold
76+
:link: anomalib.metrics.ManualThreshold
77+
:link-type: doc
78+
79+
Uses a manually specified threshold for classification.
80+
:::
81+
82+
::::
83+
84+
### Other Metrics
85+
86+
::::{grid} 2
87+
:gutter: 2
88+
89+
:::{grid-item-card} PRO
90+
:link: anomalib.metrics.PRO
91+
:link-type: doc
92+
93+
Per-Region Overlap score for evaluating pixel-level localization.
94+
:::
95+
96+
:::{grid-item-card} PIMO
97+
:link: anomalib.metrics.PIMO
98+
:link-type: doc
99+
100+
Per-Image Missed Overlap for assessing localization errors.
101+
:::
102+
103+
:::{grid-item-card} PGn
104+
:link: anomalib.metrics.PGn
105+
:link-type: doc
106+
107+
Presorted Good with n% bad samples missed. Measures false negative rate at specific operating points.
108+
:::
109+
110+
:::{grid-item-card} PBn
111+
:link: anomalib.metrics.PBn
112+
:link-type: doc
113+
114+
Presorted Bad with n% good samples misclassified. Measures false positive rate at specific operating points.
115+
:::
116+
117+
:::{grid-item-card} MinMax
118+
:link: anomalib.metrics.MinMax
119+
:link-type: doc
120+
121+
Normalizes anomaly scores to [0, 1] range using min-max scaling.
122+
:::
123+
124+
:::{grid-item-card} AnomalyScoreDistribution
125+
:link: anomalib.metrics.AnomalyScoreDistribution
126+
:link-type: doc
127+
128+
Analyzes and tracks the distribution of anomaly scores for model diagnostics.
129+
:::
130+
131+
::::
132+
133+
### Utility Classes
134+
135+
::::{grid} 2
136+
:gutter: 2
137+
138+
:::{grid-item-card} AnomalibMetric
139+
:link: anomalib.metrics.AnomalibMetric
140+
:link-type: doc
141+
142+
Base class for all Anomalib metrics. Extends TorchMetrics with field-based updates.
143+
:::
144+
145+
:::{grid-item-card} Evaluator
146+
:link: anomalib.metrics.Evaluator
147+
:link-type: doc
148+
149+
Orchestrates multiple metrics for comprehensive model evaluation.
150+
:::
151+
152+
:::{grid-item-card} BinaryPrecisionRecallCurve
153+
:link: anomalib.metrics.BinaryPrecisionRecallCurve
154+
:link-type: doc
155+
156+
Computes precision-recall curves for binary classification tasks.
157+
:::
158+
159+
::::
160+
161+
## API Reference
162+
3163
```{eval-rst}
4164
.. automodule:: anomalib.metrics
5-
:members:
165+
:members: AUROC, AUPR, AUPRO, AUPIMO, F1Score, F1Max, F1AdaptiveThreshold, ManualThreshold, PRO, PIMO, PGn, PBn, MinMax, AnomalyScoreDistribution, AnomalibMetric, Evaluator, BinaryPrecisionRecallCurve, create_anomalib_metric
166+
:undoc-members:
6167
:show-inheritance:
7168
```

docs/source/markdown/guides/reference/models/image/index.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ Deep Feature Kernel Density Estimation
3939
Probabilistic Modeling of Deep Features for Out-of-Distribution and Adversarial Detection
4040
:::
4141

42+
:::{grid-item-card} {material-regular}`model_training;1.5em` Dinomaly
43+
:link: ./dinomaly
44+
:link-type: doc
45+
46+
Dinomaly: The Less Is More Philosophy in Unsupervised Anomaly Detection
47+
48+
:::
49+
4250
:::{grid-item-card} {material-regular}`model_training;1.5em` DRAEM
4351
:link: ./draem
4452
:link-type: doc
@@ -123,6 +131,13 @@ SuperSimpleNet: A Unified Surface Defect Detection Model for all Supervision Reg
123131
U-Flow: A U-shaped Normalizing Flow for Anomaly Detection with Unsupervised Threshold
124132
:::
125133

134+
:::{grid-item-card} {material-regular}`model_training;1.5em` UniNet
135+
:link: ./uninet
136+
:link-type: doc
137+
138+
UniNet: A Contrastive Learning-guided Unified Framework with Feature Selection for Anomaly Detection
139+
:::
140+
126141
:::{grid-item-card} {material-regular}`model_training;1.5em` VLM-AD
127142
:link: ./vlm_ad
128143
:link-type: doc
@@ -147,6 +162,7 @@ WinCLIP: Zero-/Few-Shot Anomaly Classification and Segmentation
147162
./csflow
148163
./dfkde
149164
./dfm
165+
./dinomaly
150166
./draem
151167
./dsr
152168
./efficient_ad
@@ -157,6 +173,9 @@ WinCLIP: Zero-/Few-Shot Anomaly Classification and Segmentation
157173
./patchcore
158174
./reverse_distillation
159175
./stfpm
176+
./supersimplenet
160177
./uflow
178+
./uninet
179+
./vlm_ad
161180
./winclip
162181
```
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# FUVAS
2+
3+
```{eval-rst}
4+
.. automodule:: anomalib.models.video.fuvas
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
8+
```

docs/source/markdown/guides/reference/models/video/index.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
# Video Models
22

3-
::::{grid}
3+
::::{grid} 2
4+
:margin: 1 1 0 0
5+
:gutter: 1
46

57
:::{grid-item-card} {material-regular}`model_training;1.5em` AI VAD
68
:link: ./ai_vad
79
:link-type: doc
10+
11+
Attribute-based Representations for Accurate and Interpretable Video Anomaly Detection
12+
:::
13+
14+
:::{grid-item-card} {material-regular}`model_training;1.5em` FUVAS
15+
:link: ./fuvas
16+
:link-type: doc
17+
18+
Few-shot Unsupervised Video Anomaly Segmentation via Low-Rank Factorization of Spatio-Temporal Features
819
:::
920

1021
::::
@@ -14,4 +25,5 @@
1425
:hidden:
1526
1627
./ai_vad
28+
./fuvas
1729
```

src/anomalib/models/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
- CSFlow (:class:`anomalib.models.image.Csflow`)
2727
- DFKDE (:class:`anomalib.models.image.Dfkde`)
2828
- DFM (:class:`anomalib.models.image.Dfm`)
29+
- Dinomaly (:class:`anomalib.models.image.Dinomaly`)
2930
- DRAEM (:class:`anomalib.models.image.Draem`)
3031
- DSR (:class:`anomalib.models.image.Dsr`)
3132
- EfficientAd (:class:`anomalib.models.image.EfficientAd`)
@@ -38,11 +39,13 @@
3839
- STFPM (:class:`anomalib.models.image.Stfpm`)
3940
- SuperSimpleNet (:class:`anomalib.models.image.Supersimplenet`)
4041
- UFlow (:class:`anomalib.models.image.Uflow`)
42+
- UniNet (:class:`anomalib.models.image.UniNet`)
4143
- VLM-AD (:class:`anomalib.models.image.VlmAd`)
4244
- WinCLIP (:class:`anomalib.models.image.WinClip`)
4345
4446
Video Models:
4547
- AI-VAD (:class:`anomalib.models.video.AiVad`)
48+
- FUVAS (:class:`anomalib.models.video.Fuvas`)
4649
"""
4750

4851
import logging

src/anomalib/models/image/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
- :class:`Csflow`: Conditional Split Flow
2929
- :class:`Dfkde`: Deep Feature Kernel Density Estimation
3030
- :class:`Dfm`: Deep Feature Modeling
31+
- :class:`Dinomaly`: DinoV2-based Reconstruction Error Model
3132
- :class:`Draem`: Dual Reconstruction by Adversarial Masking
3233
- :class:`Dsr`: Deep Spatial Reconstruction
3334
- :class:`EfficientAd`: Efficient Anomaly Detection
@@ -40,6 +41,7 @@
4041
- :class:`Stfpm`: Student-Teacher Feature Pyramid Matching
4142
- :class:`SuperSimpleNet`: SuperSimpleNet
4243
- :class:`Uflow`: Unsupervised Flow
44+
- :class:`UniNet`: Student-Teacher Contrastive Learning Model
4345
- :class:`VlmAd`: Vision Language Model Anomaly Detection
4446
- :class:`WinClip`: Zero-/Few-Shot CLIP-based Detection
4547
"""

0 commit comments

Comments
 (0)