Releases: openvinotoolkit/anomalib
Releases · openvinotoolkit/anomalib
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...
Hazelnut Toy Dataset
This relase contains the hazelnut toy dataset that is used to demonstrate custom data operations that could be done with anomalib. It is a toy dataset for quick demonstration and experimentation.
v0.7.0
What's Changed
[v0.7.0] - 2023-08-28
Added
- AUPRO binning capability by @Yann-CV in #1145
- Add support for receiving dataset paths as a list by @harimkang in #1265
- Add modelAPI compatible OpenVINO export by @ashwinvaidya17 in #1219
Changed
- Enable training with only normal images for MVTec by @djdameln in #1241
- Improve default settings of EfficientAD by @nelson1425 in #1143
- Added the tracer_kwargs to the TorchFXFeatureExtractor class by @JoaoGuibs in #1214
- Replace cdist in Patchcore by @blaz-r in #1267
- Ignore hidden directories when creating Folder dataset by @samet-akcay in #1268
Fixed
- Fix typechecking error for toch.onnx.export by @ORippler in #1159
- Fix benchmarking type error by @blaz-r in #1155
- Fix incorrect shape mismatch between anomaly map and ground truth mask by @alexriedel1 in #1182
- Fix dataset keys in benchmarking notebook by @samet-akcay in #1242
- Remove config from argparse in OpenVINO inference script by @samet-akcay in #1257
- Fix EfficientAD number of steps for optimizer lr change by @samet-akcay in #1266
- Fix unable to read the mas image by @samet-akcay in #1277
New Contributors
- @nelson1425 made their first contribution in #1143
- @Seanny123 made their first contribution in #1246
- @JoaoGuibs made their first contribution in #1214
- @harimkang made their first contribution in #1265
- @Yann-CV made their first contribution in #1145
Full Changelog: v0.6.0...v0.7.0
DSR Pretrained Weights
Description
This release contains the pre-trained weights for the DSR model. The weights are obtained from https://github.com/VitjanZ/DSR_anomaly_detection.
v0.6.0
What's Changed
[v0.6.0] - 2023-06-15
Added
- EfficientAD by @alexriedel1 in #1073
- AI-VAD bbox post-processing by @djdameln in #1103
- Add dataset categories to data modules by @samet-akcay in #1105
- Pass codedov token from environment by @ashwinvaidya17 in #1102
Changed
- OV API2.0 by @paularamo in #1098
Deprecated
- OV API1.0 by @paularamo in #1098
Fixed
- Fix Fastflow ONNX export. by @jasonvanzelm in #1108
- Fix tile import typo by @xbkaishui in #1106
- Fix
pre-commit
issues caused by the EfficientAD PR by @samet-akcay in #1114 - Bump requests from 2.26.0 to 2.31.0 in /requirements by @dependabot in #1100
New Contributors
- @xbkaishui made their first contribution in #1106
- @jasonvanzelm made their first contribution in #1108
Full Changelog: v0.5.1...v0.6.0
EfficientAD Pretrained Weights
Description
This release contains the pre-trained weights for the small and medium teacher networks of the EfficientAD model. Please refer to the paper for more details.