Releases: openvinotoolkit/anomalib
v2.0.0
Release Notes
v2.0.0
Added
- π Add
Dataclasses
andPostProcessor
by @djdameln in #2098 - π Add dataclass validators by @samet-akcay in #2307
- π Add Customisable Image Visualizer by @samet-akcay in #2334
- π Metrics redesign by @djdameln in #2326
- π Add
PreProcessor
toAnomalyModule
by @samet-akcay in #2358 - π Add Multi-GPU Training Support by @ashwinvaidya17 in #2435
- π¨ Refactor: Add missing auxiliary attributes to
AnomalibModule
by @samet-akcay in #2460 - π¨ Rename
AnomalyModule
toAnomalibModule
by @samet-akcay in #2423 - π Add
AUPIMO
metric by jpcbertoldo in #1726 and refactored by ashwinvaidya17 in #2329 - π Add
AUPIMO
tutorials notebooks in #2330 and #2336 - π Add XPU accelerator by @ashwinvaidya17 in #2530
- Add beta release support by @samet-akcay in #2493
- Add merge group to main branch by @ashwinvaidya17 in #2520
- Add non-strict mode to AnomalibMetric by @djdameln in #2508
- Add DCO merge group workflow configuration by @ashwinvaidya17 in #2528
- Add configuration options to PostProcessor by @djdameln in #2547
- Add MVTec backward compatibility by @samet-akcay in #2602
- Add unit tests for MinMax metric by @djdameln in #2516
Removed
- ποΈ Remove RKDE by @ashwinvaidya17 in #2455
- ποΈ Remove rich methods by @ashwinvaidya17 in #2283
- π¨ Replace
imgaug
with Native PyTorch Transforms by @samet-akcay in #2436 - ποΈ Remove task type by @djdameln in #2450
Changed
- Refactor Lightning's
trainer.model
totrainer.lightning_module
by @samet-akcay in #2255 - Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2 by @dependabot in #2189
- Update sphinx requirement by @dependabot in #2235
- Update ruff configuration by @samet-akcay in #2269
- Revert "Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2" by @samet-akcay in #2270
- π¨ Lint: U* π¨ Refactor BaseThreshold to Threshold by @samet-akcay in #2278
- π¨ Enable Ruff Rules: PLW1514 and PLR6201 by @samet-akcay in #2284
- π¨ Update nncf export by @ashwinvaidya17 in #2286
- π¨ Linting: Enable
PLR6301
, # could be a function, class method or static method by @samet-akcay in #2288 - π¨ Restructure unit tests and fix ruff issues by @samet-akcay in https://github.com/openvinotoolkit/anomalib/pull/2306pdate Ruff Config - Add Missing Copyright Headers by @samet-akcay in #2281
- π¨ optimization/quantization added into 500 series by @paularamo in #2197
- π Made OpenVINOInferencer and TorchInferencer predict accept all the following types: str, Path, np.ndarray, PIL.Image.Image, torch.Tensor by @adrianboguszewski in #2565
Fixed
- πReplace package_available with module_available by @harimkang in #2407
- Fix multi-GPU support for post-processor by @djdameln in #2499
- fix minmax by @alexriedel1 in #2512
- π οΈ Fix pre-commit issues by @ashwinvaidya17 in #2517
- Minor fixes by @ashwinvaidya17 in #2522
- πFix ollama by @ashwinvaidya17 in #2519
- fix synthetic anomaly datasets by @alexriedel1 in #2497
- Fix compatibility issue with cPython<=3.11.3 by @Kogia-sima in #2416
- Fix onnx input parameter name by @terrarier2111 in #2525
- Fix latest torch and torchvision compatibility by @djdameln in #2548
- Fix post-processing visualization issues by @djdameln in #2534
- Keep weights in state dict when exporting by @ashwinvaidya17 in #2582
New Contributors
- @Kogia-sima made their first contribution in #2416
- @terrarier2111 made their first contribution in #2525
v1.1.3
v1.1.2
v2.0.0b3
v2.0.0
Added
-
π Add XPU accelerator and strategy by @ashwinvaidya17 in #2530
-
π Add
Dataclasses
andPostProcessor
by @djdameln in #2098 -
π Add dataclass validators by @samet-akcay in #2307
-
π Add Customisable Image Visualizer by @samet-akcay in #2334
-
π Add
PreProcessor
toAnomalyModule
by @samet-akcay in #2358 -
π Add Multi-GPU Training Support by @ashwinvaidya17 in #2435
-
π¨ Refactor: Add missing auxiliary attributes to
AnomalibModule
by @samet-akcay in #2460 -
π¨ Rename
AnomalyModule
toAnomalibModule
by @samet-akcay in #2423 -
π Add
AUPIMO
metric by jpcbertoldo in #1726 and refactored by ashwinvaidya17 in #2329
Removed
- ποΈ Remove RKDE by @ashwinvaidya17 in #2455
- ποΈ Remove rich methods by @ashwinvaidya17 in #2283
- π¨ Replace
imgaug
with Native PyTorch Transforms by @samet-akcay in #2436 - ποΈ Remove task type by @djdameln in #2450
Changed
- Refactor Lightning's
trainer.model
totrainer.lightning_module
by @samet-akcay in #2255 - Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2 by @dependabot in #2189
- Update sphinx requirement by @dependabot in #2235
- Update ruff configuration by @samet-akcay in #2269
- Revert "Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2" by @samet-akcay in #2270
- π¨ Lint: U* π¨ Refactor BaseThreshold to Threshold by @samet-akcay in #2278
- π¨ Enable Ruff Rules: PLW1514 and PLR6201 by @samet-akcay in #2284
- π¨ Update nncf export by @ashwinvaidya17 in #2286
- π¨ Linting: Enable
PLR6301
, # could be a function, class method or static method by @samet-akcay in #2288 - π¨ Restructure unit tests and fix ruff issues by @samet-akcay in https://github.com/openvinotoolkit/anomalib/pull/2306pdate Ruff Config - Add Missing Copyright Headers by @samet-akcay in #2281
- π¨ optimization/quantization added into 500 series by @paularamo in #2197
Fixed
- πReplace package_available with module_available by @harimkang in #2407
v2.0.0b2
v2.0.0
Added
-
π Add
Dataclasses
andPostProcessor
by @djdameln in #2098 -
π Add dataclass validators by @samet-akcay in #2307
-
π Add Customisable Image Visualizer by @samet-akcay in #2334
-
π Add
PreProcessor
toAnomalyModule
by @samet-akcay in #2358 -
π Add Multi-GPU Training Support by @ashwinvaidya17 in #2435
-
π¨ Refactor: Add missing auxiliary attributes to
AnomalibModule
by @samet-akcay in #2460 -
π¨ Rename
AnomalyModule
toAnomalibModule
by @samet-akcay in #2423 -
π Add
AUPIMO
metric by jpcbertoldo in #1726 and refactored by ashwinvaidya17 in #2329
Removed
- ποΈ Remove RKDE by @ashwinvaidya17 in #2455
- ποΈ Remove rich methods by @ashwinvaidya17 in #2283
- π¨ Replace
imgaug
with Native PyTorch Transforms by @samet-akcay in #2436 - ποΈ Remove task type by @djdameln in #2450
Changed
- Refactor Lightning's
trainer.model
totrainer.lightning_module
by @samet-akcay in #2255 - Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2 by @dependabot in #2189
- Update sphinx requirement by @dependabot in #2235
- Update ruff configuration by @samet-akcay in #2269
- Revert "Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2" by @samet-akcay in #2270
- π¨ Lint: U* π¨ Refactor BaseThreshold to Threshold by @samet-akcay in #2278
- π¨ Enable Ruff Rules: PLW1514 and PLR6201 by @samet-akcay in #2284
- π¨ Update nncf export by @ashwinvaidya17 in #2286
- π¨ Linting: Enable
PLR6301
, # could be a function, class method or static method by @samet-akcay in #2288 - π¨ Restructure unit tests and fix ruff issues by @samet-akcay in https://github.com/openvinotoolkit/anomalib/pull/2306pdate Ruff Config - Add Missing Copyright Headers by @samet-akcay in #2281
- π¨ optimization/quantization added into 500 series by @paularamo in #2197
Fixed
- πReplace package_available with module_available by @harimkang in #2407
v1.2.0
[v1.2.0]
Added
- π Add ensembling methods for tiling to Anomalib by @blaz-r in #1226
- π optimization/quantization added into 500 series by @paularamo in #2197
- π Add PIMO by @ashwinvaidya17 in #2329
- π Add PIMO tutorial advanced i (fixed) by @jpcbertoldo in #2336
- π Add VLM based Anomaly Model by @ashwinvaidya17 in #2344
- π Add PIMO tutorials/02 advanced ii by @jpcbertoldo in #2347
- π Add PIMO tutorials/03 advanced iii by @jpcbertoldo in #2348
- π Add PIMO tutorials/04 advanced iv by @jpcbertoldo in #2352
- π Add datumaro annotation dataloader by @ashwinvaidya17 in #2377
- π Add training from a checkpoint example by @samet-akcay in #2389
Changed
- π¨ Refactor folder3d to avoid complex-structure (C901) issue by @samet-akcay in #2185
- Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2 by @dependabot in #2189
- Update sphinx requirement by @dependabot in #2235
- Refactor Lightning's
trainer.model
totrainer.lightning_module
by @samet-akcay in #2255 - Revert "Update open-clip-torch requirement from <2.26.1,>=2.23.0 to >=2.23.0,<2.26.2" by @samet-akcay in #2270
- Update ruff configuration by @samet-akcay in #2269
- Update timm requirement by @dependabot in #2274
- Refactor BaseThreshold to Threshold by @samet-akcay in #2278
- π¨ Lint: Update Ruff Config - Add Missing Copyright Headers by @samet-akcay in #2281
- Reduce rich methods by @ashwinvaidya17 in #2283
- Enable Ruff Rules: PLW1514 and PLR6201 by @samet-akcay in #2284
- Update nncf export by @ashwinvaidya17 in #2286
- Linting: Enable
PLR6301
, # could be a function, class method or static method by @samet-akcay in #2288 - π Update
setuptools
requirement for PEP 660 support by @samet-akcay in #2320 - π¨ Update the issue templates by @samet-akcay in #2363
- π Defer OpenVINO import to avoid unnecessary warnings by @samet-akcay in #2385
- π¨ Make single GPU benchmarking 5x more efficient by @mzweilin in #2390
- π Export the flattened config in benchmark CSV. by @mzweilin in #2391
- π¨ Export experiment duration in seconds in CSV. by @mzweilin in #2392
- π Fix installation package issues by @samet-akcay in #2395
Deprecated
- π¨ Deprecate try import and replace it with Lightning's package_available by @samet-akcay in #2373
Fixed
- Add check before loading metrics data from checkpoint by @blaz-r in #2323
- Fix transforms for draem, dsr and rkde by @blaz-r in #2324
- Makes batch size dynamic by @Marcus1506 in #2339
New Contributors
- @Marcus1506 made their first contribution in #2339
Full Changelog: v1.1.1...v1.2.0
v1.1.1
v1.1.1
Added
- πPpipelines how-to guide by @ashwinvaidya17 in #2109
Changed
- Set permissions for github workflows by @djdameln in #2127
- Update timm requirement from <=1.0.3,>=0.5.4 to >=0.5.4,<=1.0.7 by @dependabot in #2151
- π Use gh actions runners for pre-commit checks by @ashwinvaidya17 in #2160
- Bump AlexanderDokuchaev/md-dead-link-check from 0.8 to 0.9 by @dependabot in #2162
- Added accuracy control quantization by @adrianboguszewski in #2070
Deprecated
- π¨Remove device postfix by @ashwinvaidya17 in #2233
Fixed
- Fix: get MLFLOW_TRACKING_UTI from env variables as default by @CarlosNacher in #2107
- Fix normalization by @alexriedel1 in #2130
- Fix image-level heatmap normalization by @djdameln in #2131
- Fix: efficient ad model_size str fixes by @Gornoka in #2159
- Fix the CI by @samet-akcay in #2178
- Fix BTech Dataset by @samet-akcay in #2180
New Contributors
- @CarlosNacher made their first contribution in #2107
Full Changelog: v1.1.0...v1.1.1
v1.1.0
[v1.1.0]
Added
- π Add support for MLFlow logger by @DoMaLi94 in #1847
- π Add Transform behaviour+documentation by @djdameln in #1953
- π Add documentation on how to use the tiler by @blaz-r in #1960
- π¬ Add Discord badge to
README.md
by @samet-akcay in #2012 - π Add Auto-Encoder based FRE by @nahuja-intel in #2025
- π Add compression and quantization for OpenVINO export by @adrianboguszewski in #2052
- π Add Anomalib Pipelines by @ashwinvaidya17 in #2060
- π Add
from_config
API: Create a path between API & configuration file (CLI) by @harimkang in #2065 - π Add data filter in tar extract by @ashwinvaidya17 in #2084
Changed
- π¨ Move all export functionalities to AnomalyModule as base methods by @thinhngo-x in (#1803)
- β¬οΈ Update torch and lightning package versions by @samet-akcay in #1949
- π¨ Use default model-specific eval transform when only train_transform specified by @djdameln(https://github.com/djdameln) in (#1953)
- π¨ Replace
@abstractproperty
since it is deprecated by @samet-akcay in #1964 - π οΈ Update OptimalF1 Score by @ashwinvaidya17 in #1972
- π¨ Rename OptimalF1 to F1Max for consistency with the literature, by @samet-akcay in #1980
- π¨ WinCLIP: set device in text embedding collection and apply forward pass with no grad, by @djdameln in #1984
- π¨ WinCLIP improvements by @djdameln in #1985
- π Update OpenVINO and ONNX export to support fixed input shape by @adrianboguszewski in #2006
- π¨ Update lightning inference by @djdameln in #2018
- β¬οΈ Upgrade wandb by @ashwinvaidya17 in #2040
- π¨ Refactor Export by @ashwinvaidya17 in #2057
- β¬οΈ Update
pyproject.toml
soliccheck
can pick the license by @samet-akcay in #2074 - β¬οΈ Update timm requirement from <=0.9.16,>=0.5.4 to >=0.5.4,<=1.0.3 by @dependabot in #2075
- π¨ Update model
README.md
files by @samet-akcay in #2076
Deprecated
- ποΈ Remove labeler and update codeowners by @samet-akcay in #1946
- ποΈ Remove requirements directory by @samet-akcay in #1945
- ποΈ Remove Docker related files by @ashwinvaidya17 in #2039
- ποΈ Remove references to nightly tests by @ashwinvaidya17 in #2048
- ποΈ Remove unnecessary jsonargparse dependencies by @davnn in #2046
Fixed
- π Fix dimensionality mismatch issue caused by the new kornia version by @samet-akcay in #1944
- π Fix DFM PyTorch inference by @adrianboguszewski in #1952
- π Fix anomaly map shape to also work with tiling by @blaz-r in #1959
- π Fix EfficientAD's pretrained weigths load path by @seyeon923 in #1966
- π fixbug: use BinaryPrecisionRecallCurve instead of PrecisionRecallCurve by @rglkt in #1956
- π¨ Hotfix: compute precision recall on raw scores by @ashwinvaidya17 in #1973
- π Minor fix to remove input_size from Padim config by @ashwinvaidya17 in #1988
- π Fix Reverse Distillation export to ONNX by @adrianboguszewski in #1990
- π Fix DSR training when no GPU by @adrianboguszewski in #2004
- π Fix efficient ad by @abc-125 in #2015
- π Fix keys in data configs to fit AnomalibDataModule parameters by @abc-125 in #2032
- π Fix Export docstring in CLI by @ashwinvaidya17 in #2058
- π Fix UFlow links by @ashwinvaidya17 in #2059
New Contributors
- @seyeon923 made their first contribution in #1966
- @rglkt made their first contribution in #1956
- @DoMaLi94 made their first contribution in #1847
Full Changelog: v1.0.1...v1.1.0
v1.0.1
What's Changed
- π Update the getting started notebook by @samet-akcay in #1800
- Hot-fix wrong requirement for setup.py by @harimkang in #1823
- πFix the error if the device in masks_to_boxes is not both CPU and CUDA by @danylo-boiko in #1839
- π οΈ Update changelog by @ashwinvaidya17 in #1842
- Fix dobot notebook by @djdameln in #1852
- Refactored-assert-statements-with-explicit-error-handling by @sahusiddharth in #1825
- Remove input_size argument from models #1827 by @Shakib-IO in #1856
- Add requirements into
pyproject.toml
& Refactor anomalib installget_requirements
by @harimkang in #1808 - Made-imagenette-path-configurable-in-config by @sahusiddharth in #1833
- π¨ Update OpenVINO predict to handle normalization inside the method. by @samet-akcay in #1875
- π οΈ Ensure images are loaded in RGB format by @davnn in #1866
- π Allow validation splits from training data by @davnn in #1865
- π Fix CLI config and update the docs. by @samet-akcay in #1886
- β¨ Upgrade TorchMetrics by @ashwinvaidya17 in #1879
- Address minor WinCLIP issues by @djdameln in #1889
- π Add action to check broken links by @AlexanderDokuchaev in #1838
- Use LabelName ENUM for label assignment by @TurboJonte in #1881
- Changed prediction label assignment for OpenVINO inferencer by @TurboJonte in #1872
- Merge v1.0.1 to main by @samet-akcay in #1905
- π Disable tty prompt for gpg signing by @ashwinvaidya17 in #1915
- Update publish.yml by @samet-akcay in #1916
- Create dependabot.yml by @samet-akcay in #1914
- Bump torchmetrics from 0.10.3 to 1.3.2 by @dependabot in #1925
New Contributors
- @sahusiddharth made their first contribution in #1825
- @Shakib-IO made their first contribution in #1856
- @davnn made their first contribution in #1866
- @TurboJonte made their first contribution in #1881
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
- [Chore] Modify README custom dataset by @Kiminjo in #1314
- Version bump by @ashwinvaidya17 in #1305
- π©Ή Fix docs build by @ashwinvaidya17 in #1307
- Fix the readthedocs config by @samet-akcay in #1322
- Fix PRO metric calculation on GPU by @blaz-r in #1317
- Change the documentation URL in
README.md
and add commands to run each inferencer by @samet-akcay in #1326 - Fix dockerfile cuda version by @phcarval in #1330
- Add
setuptools
as a requirement (viapkg_resources
) by @murilo-cunha in #1168 - adding KMeans PyTorch Implementation to cfa model by @aadhamm in #998
- Fix patchcore interpolation by @jpcbertoldo in #1335
- Efficient ad reduced memory footprint by @MG109 in #1340
- Allow dynamic batch-sizes when exporting to ONNX, instead if fixed input shapes by @BeeAlarmed in #1347
- Add support to backbone URI in config. by @mzweilin in #1343
- fix(docs): typo by @pirnerjonas in #1353
- Add extra checks to
TorchInferencer
model and metadata loading by @samet-akcay in #1350 - Fix tiling for Reverse Distillation and STFPM by @blaz-r in #1319
- README: Synchronize OV version with requirements by @sovrasov in #1358
- Update the broken link in training.rst by @samet-akcay in #1363
- Fix EfficientAD to use width and height of the input by @abc-125 in #1355
- chore(deps): update timm to 0.6.13 by @Gornoka in #1373
- Handle
dict
objects inTorchInferencer
by @samet-akcay in #1354 - Missing indentation in metrics.rst docs by @caiolang in #1379
- Add tag to workflow by @ashwinvaidya17 in #1382
- Address tiler issues by @djdameln in #1411
- Refactor Reverse Distillation to match official code by @abc-125 in #1389
- Patch for the WinError183 on the OpenVino export mode by @ggiret-thinkdeep in #1386
- Add DSR model by @phcarval in #1142
- Fix unexpected key pixel_metrics.AUPRO.fpr_limit by @WenjingKangIntel in #1055
- Improved speed and memory usage of mean+std calculation by @belfner in #1457
- preexisting OpenCV version check added to
setup.py
, ran formatting pre-commit hooks on previous contribution. by @abdullamatar in #1424 - π Hotfix: Limit Gradio Version by @samet-akcay in #1458
- Fix/efficient ad normalize before every validation by @abc-125 in #1441
- Fix DRAEM by @blaz-r in #1431
- Adding U-Flow method by @mtailanian in #1415
- π Announce anomalib v1 on the main
README.md
by @samet-akcay in #1542 - Fixed DSR by @phcarval in #1486
- Refactor/extensions custom dataset by @abc-125 in #1562
- π Modify the PR template by @samet-akcay in #1611
- Fix result image URLs by @f0k in #1510
- π Fix broken 501 notebooks by @adrianboguszewski in #1630
- Fixed shape error, allowing arbitary image sizes for EfficientAD by @holzweber in #1537
- π V1 by @ashwinvaidya17 in #1663
- π¨ Fix the broken images on
README.md
by @samet-akcay in #1666 - π Remove github pages by @samet-akcay in #1667
- π Validate path before processing by @samet-akcay in #1668
- π Update RKDE lighting model file header (hence docs) with paper URL by @tobybreckon in #1671
- π Address checkmarx issues. by @samet-akcay in #1672
- π Update contribution guidelines by @samet-akcay in #1677
- π Fix GMM test by @ashwinvaidya17 in #1696
- π¨ Refactor Visualisation by @ashwinvaidya17 in #1693
- π Add docs for the depth data by @willyfh in #1694
- π Add docs for the U-Flow model by @willyfh in #1695
- π Fix indentation and add license for the ShanghaiTech Campus Dataset by @willyfh in #1701
- π Add docs for the DSR model by @willyfh in #1700
- π Add news section to docs by @samet-akcay in #1689
- π Update the
CHANGELOG.md
file by @samet-akcay in #1709 - π Add the missing paper link for the DFM and FastFlow models by @willyfh in #1704
- π Add
GOVERNANCE.md
file by @samet-akcay in #1716 - π Add bandit checks to pre-commit by @samet-akcay in #1710
- π Add sdd and contributing guidelines to the documentation by @samet-akcay in #1708
- Fix scheduler num_steps for EfficientAD by @blaz-r in #1705
- π Add GPG keys to sign the python wheel to publish on pypi by @samet-akcay in #1687
- Fixed OpenVINO notebooks by @adrianboguszewski in #1678
- π Add test documentation to the readme file by @samet-akcay in #1734
- Test OpenVINO export by @adrianboguszewski in #1681
- π¨ Allow string types in CLI enums by @ashwinvaidya17 in #1741
- π¨ Refactor type alias by @ashwinvaidya17 in #1742
- ποΈRemove HPO and Benchmarking from CLI by @ashwinvaidya17 in #1743
- π¨Fix predict_step in AnomalyModule by @ashwinvaidya17 in #1746
- π Documentation update: fix a typo of README by @youngquan in #1753
- π₯ Create a script to upgrade v0.* configuration format to v1 by @samet-akcay in #1738
- π¨ Remove CDF normalization and temporarily remove pipelines. by @samet-akcay in #1761
- Fix the imports to fit in OpenVINO 2023.3 by @prob1995 in #1756
- π Remove pl dependency from Anomalib CLI & Add install subcommand by @harimkang in #1748
- πFix visualization by @ashwinvaidya17 in #1766
- π Add Secure development knowledge section to
SECURE.md
file by @samet-akcay in #1751 - π¨ Add default metrics to Engine by @samet-akcay in #1769
- π¨ Rename DynamicBufferModule to DynamicBufferMixin by @danylo-boiko in #1776
- π Replace
md5
withsha-256
by @samet-akcay in #1680 - π¨ Refactor
Engine.predict
method by @ashwinvaidya17 in #1772 - change Dockerfile to fix #1775 by @thinhngo-x in #1781
- Add explicit requirements to docs build workflow by @ashwinvaidya17 in #1787
- π¨ π Change config location by @ashwinvaidya17 in #1786
- π©ΉMinor fixes by @ashwinvaidya17 in #1788
- π¨ π Change config location 2 by @ashwinvaidya17 in #1789
- π Update the installation instructions by @samet-akcay in #1790
- β³ Restore Images by @ashwinvaidya17 in #1791
- π Replace
albumentations
withtorchvision
transforms by...