Skip to content

Latest commit

 

History

History
920 lines (736 loc) · 71.7 KB

CHANGELOG.md

File metadata and controls

920 lines (736 loc) · 71.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Added

Changed

Deprecated

Fixed

New Contributors

[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 to trainer.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: https://github.com/openvinotoolkit/anomalib/compare/v1.1.1...v1.2.0

New Contributors

Full Changelog:

[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: https://github.com/openvinotoolkit/anomalib/compare/v1.1.0...v1.1.1

[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 so liccheck 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 image-level heatmap normalization in visualizer by @djdameln in #2131
  • 🐞 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: https://github.com/openvinotoolkit/anomalib/compare/v1.0.1...v1.1.0

[v1.0.1] - 2024-03-27

Added

  • Add requirements into pyproject.toml & Refactor anomalib install get_requirements by @harimkang in #1808

Changed

  • 📚 Update the getting started notebook by @samet-akcay in #1800
  • 🔨Refactored-assert-statements-with-explicit-error-handling by @sahusiddharth in #1825
  • 🔨Made-imagenette-path-configurable-in-config by @sahusiddharth in #1833
  • 🛠️ Update changelog by @ashwinvaidya17 in #1842
  • Remove input_size argument from models #1827 by @Shakib-IO in #1856
  • 🚀 Allow validation splits from training data by @davnn in #1865
  • 🛠️ Ensure images are loaded in RGB format by @davnn in #1866
  • 🔨 Update OpenVINO predict to handle normalization inside the method. by @samet-akcay in #1875
  • ✨ Upgrade TorchMetrics by @ashwinvaidya17 in #1879
  • Address minor WinCLIP issues by @djdameln in #1889

Deprecated

Fixed

  • 🐞 Fix single-frame video input size by @djdameln (#1910)
  • 🐞 Fix dobot notebook by @djdameln in #1852
  • 🐞 Fix CLI config and update the docs. by @samet-akcay in #1886
  • 🐞 Fix the error if the device in masks_to_boxes is not both CPU and CUDA by @danylo-boiko in #1839
  • 🐞 Hot-fix wrong requirement for setup.py by @harimkang in #1823
  • 🐞 Use right interpolation method in WinCLIP resize (#1889)
  • 🐞 Fix the error if the device in masks_to_boxes is not both CPU and CUDA by @danylo-boiko in #1839

New Contributors

  • @sahusiddharth made their first contribution in #1825
  • @Shakib-IO made their first contribution in #1856
  • @davnn made their first contribution in #1866

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v1.0.0...v1.0.1

[v1.0.0] - 2024-02-29

Added

  • 🚀 Add KMeans PyTorch Implementation to cfa model by @aadhamm in #998
  • 🚀 Add DSR model by @phcarval in #1142
  • ⚙️ Add setuptools as a requirement (via pkg_resources) by @murilo-cunha in #1168
  • 🚀 Add support to backbone URI in config. by @mzweilin in #1343
  • ⚙️ Add extra checks to TorchInferencer model and metadata loading by @samet-akcay in #1350
  • ⚙️ Handle dict objects in TorchInferencer by @samet-akcay in #1354
  • ⚙️ Add tag to workflow by @ashwinvaidya17 in #1382
  • 🚀 Adding U-Flow method by @mtailanian in #1415
  • 🚀 V1 by @ashwinvaidya17 in #1663
  • 📚 Announce anomalib v1 on the main README.md by @samet-akcay in #1542
  • 📚 Add docs for the depth data by @willyfh in #1694
  • 📚 Add docs for the U-Flow model by @willyfh in #1695
  • 📚 Add docs for the DSR model by @willyfh in #1700
  • 📚 Add news section to docs by @samet-akcay in #1689
  • 📚 Add test documentation to the readme file by @samet-akcay in #1734
  • 🔨 Allow string types in CLI enums by @ashwinvaidya17 in #1741
  • 🚀 Remove pl dependency from Anomalib CLI & Add install subcommand by @harimkang in #1748
  • 📚 Add Secure development knowledge section to SECURE.md file by @samet-akcay in #1751
  • 🔨 Add default metrics to Engine by @samet-akcay in #1769
  • Enable image-level normalization flag by @ashwinvaidya17 in #1771
  • Add explicit requirements to docs build workflow by @ashwinvaidya17 in #1787
  • Add test case to model transform tests by @djdameln in #1795
  • 📚 Add GOVERNANCE.mdfile 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

Changed

  • 🔨 Version bump by @ashwinvaidya17 in #1305
  • 🔨 Modify README custom dataset by @Kiminjo in #1314
  • 🔨 Change the documentation URL in README.md and add commands to run each inferencer by @samet-akcay in #1326
  • 🔨 Allow dynamic batch-sizes when exporting to ONNX, instead if fixed input shapes by @BeeAlarmed in #1347
  • 🔨 README: Synchronize OV version with requirements by @sovrasov in #1358
  • 🔨 update timm to 0.6.13 by @Gornoka in #1373
  • 🔨 Refactor Reverse Distillation to match official code by @abc-125 in #1389
  • 🔨 Address tiler issues by @djdameln in #1411
  • 🔨 preexisting OpenCV version check added to setup.py, ran formatting pre-commit hooks on previous contribution. by @abdullamatar in #1424
  • 🔨 Improved speed and memory usage of mean+std calculation by @belfner in #1457
  • 🔨 Changed default inference device to AUTO in #1534
  • 🔨 Refactor/extensions custom dataset by @abc-125 in #1562
  • 📚 Modify the PR template by @samet-akcay in #1611
  • 📚 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
  • 🔒 Replace md5 with sha-256 by @samet-akcay in #1680
  • 🔨 Refactor Visualisation by @ashwinvaidya17 in #1693
  • 🚀 Replace albumentations with torchvision transforms by @djdameln in #1706
  • 💥 Create a script to upgrade v0.- configuration format to v1 by @samet-akcay in #1738
  • 🔨 Refactor type alias by @ashwinvaidya17 in #1742
  • 🔨 Remove Lightning dependencies from the CLI and Add anomalib install subcommand by @harimkang in #1748
  • 🔨 Refactor Engine.predict method by @ashwinvaidya17 in #1772
  • 🔨 Rename DynamicBufferModule to DynamicBufferMixin by @danylo-boiko in #1776
  • 🔨 Refactor Engine args: Create workspace directory from API by @samet-akcay in #1773
  • Change Dockerfile to fix #1775 by @thinhngo-x in #1781
  • 🔨 📄 Change config location 2 by @ashwinvaidya17 in #1789
  • Update setup logic in model and datamodule by @djdameln in #1794
  • Cleanup notebooks by @djdameln in #1796
  • 🔨 Remove access denied error by @samet-akcay in #1797
  • 📚 Update the installation instructions by @samet-akcay in #1790

Deprecated

  • Support only Python 3.10 and greater in #1299
  • 🗑️ Remove HPO and Benchmarking from CLI by @ashwinvaidya17 in #1743
  • 🔨 Remove CDF normalization and temporarily remove pipelines. by @samet-akcay in #1761

Fixed

  • 🐞 Fix unexpected key pixel_metrics.AUPRO.fpr_limit by @WenjingKangIntel in #1055
  • 📚 Fix docs build by @ashwinvaidya17 in #1307
  • 🐞 Fix tiling for Reverse Distillation and STFPM by @blaz-r in #1319
  • 📚 Fix the readthedocs config by @samet-akcay in #1322
  • 🐞 Fix PRO metric calculation on GPU by @blaz-r in #1317
  • 🐞 Fix dockerfile cuda version by @phcarval in #1330
  • 🐞 Fix patchcore interpolation by @jpcbertoldo in #1335
  • 🔨 Efficient ad reduced memory footprint by @MG109 in #1340
  • 📚 Fix(docs): typo by @pirnerjonas in #1353
  • 🐞 Fix EfficientAD to use width and height of the input by @abc-125 in #1355
  • 📚 Fix the broken link in training.rst by @samet-akcay in #1363
  • 📚 Missing indentation in metrics.rst docs by @caiolang in #1379
  • 🐞 Patch for the WinError183 on the OpenVino export mode by @ggiret-thinkdeep in #1386
  • 🐞 Fix DRAEM by @blaz-r in #1431
  • 🐞 Fix/efficient ad normalize before every validation by @abc-125 in #1441
  • 🐞 Hotfix: Limit Gradio Version by @samet-akcay in #1458
  • 🔨 Fixed DSR by @phcarval in #1486
  • 📚 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
  • 📚 Fix the broken images on README.md by @samet-akcay in #1666
  • Fixed OpenVINO notebooks by @adrianboguszewski in #1678
  • 🐞 Fix GMM test by @ashwinvaidya17 in #1696
  • 📚 Fix indentation and add license for the ShanghaiTech Campus Dataset by @willyfh in #1701
  • 🚨Fix predict_step in AnomalyModule by @ashwinvaidya17 in #1746
  • Fix the imports to fit in OpenVINO 2023.3 by @prob1995 in #1756
  • 📚 Documentation update: fix a typo of README by @youngquan in #1753
  • 🐞Fix visualization by @ashwinvaidya17 in #1766
  • 🩹Minor fixes by @ashwinvaidya17 in #1788
  • ⏳ Restore Images by @ashwinvaidya17 in #1791

New Contributors

  • @Kiminjo made their first contribution in #1314
  • @murilo-cunha made their first contribution in #1168
  • @aadhamm made their first contribution in #998
  • @MG109 made their first contribution in #1340
  • @BeeAlarmed made their first contribution in #1347
  • @pirnerjonas made their first contribution in #1353
  • @sovrasov made their first contribution in #1358
  • @abc-125 made their first contribution in #1355
  • @Gornoka made their first contribution in #1373
  • @caiolang made their first contribution in #1379
  • @ggiret-thinkdeep made their first contribution in #1386
  • @belfner made their first contribution in #1457
  • @abdullamatar made their first contribution in #1424
  • @mtailanian made their first contribution in #1415
  • @f0k made their first contribution in #1510
  • @holzweber made their first contribution in #1537
  • @tobybreckon made their first contribution in #1671
  • @prob1995 made their first contribution in #1756
  • @danylo-boiko made their first contribution in #1776
  • @thinhngo-x made their first contribution in #1781

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.7.0...v1.0.0

[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 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

[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: https://github.com/openvinotoolkit/anomalib/compare/v0.5.1...v0.6.0

[v0.5.1] - 2023-05-24

Added

  • 🧪 Add tests for tools by @ashwinvaidya17 in #1069
  • Add kolektor dataset by @Ravindu987 in #983

Changed

  • Rename metadata_path to metadata in OpenvinoInferencer in #1101
  • 📝 [Notebooks] - Simplify the dobot notebooks. by @samet-akcay in #1084
  • Upgrade python to 3.10 by @samet-akcay in #1035
  • 📝 [Notebooks] - Install anomalib via pip in the Jupyter Notebooks by @samet-akcay in #1091
  • Update code-scan workflow to use Trivy by @yunchu in #1097

Fixed

  • Fix init_state_dict bug in wrap_nncf_model in #1101
  • Fix mypy pep561 by @WenjingKangIntel in #1088
  • 📝 [Notebooks] Fix the broken formatting by @samet-akcay in #1090

[v0.5.0] - 2023-05-09

Added

  • 📚 Add OpenVINO Inference to getting started notebook. by @samet-akcay in #897
  • Mvtec 3d by @alexriedel1 in #907
  • MVTec 3D and Folder3D by @alexriedel1 in #942
  • add reorder=True argument in aupro by @triet1102 in #944
  • always reorder inputs when computing AUROC by @djdameln in #945
  • always reorder for aupr metric by @triet1102 in #975
  • Add README.md files to notebooks directories and its subdirectories (#993)
  • Set transformations from the config file by @alexriedel1 in #990
  • Add contributors to README.md by @samet-akcay in #995
  • Add codeowners file by @samet-akcay in #1019
  • Configure reference frame for multi-frame video clips by @djdameln in #1023
  • [Algo] Attribute-based Representations for Accurate and Interpretable Video Anomaly Detection by @djdameln in #1040

Changed

  • Switch to src layout by @samet-akcay in #921
  • Remove config flag from OpenVINOInferencer (#939)
  • Add ruff as the main linter by @samet-akcay in #936
  • Add a new workflow for code scanning by @yunchu in #940
  • Enable bandit scanning by @yunchu in #954
  • 🐳 Update Containers and Readme by @ashwinvaidya17 in #952
  • Refactor AUPRO metric by @triet1102 in #991
  • enable auto-fixing for ruff in pre-commit by @djdameln in #1004
  • Refactor strings and ints into enum.Enum by @WenjingKangIntel in #1044
  • Modify codecov upload by @ashwinvaidya17 in #1080

Deprecated

  • Remove torchvision and torchtext by @samet-akcay in #903
  • Remove codacy from ci docs by @ashwinvaidya17 in #924
  • Remove config dependency from OpenVINOInferencer by @samet-akcay in #939
  • Remove config from torch inferencer by @samet-akcay in #1001

 Fixed

  • Bugfix code logic to allow for passing of nn.Module to TorchFXFeatureExtractor by @ORippler in #935
  • fix broken links to tutorials (ex guides) by @sergiev in #957
  • Fixed outdated info in readme by @blaz-r in #969
  • Fix ruff isort integration by @samet-akcay in #976
  • Fix/samples dataframe annotation by @samet-akcay in #981
  • Fixed openvino_inferencer in gradio_inference by @blaz-r in #972
  • Fix issue in tutorial by @Ravindu987 in #997
  • Fix tarfile vulnerability by @djdameln in #1003
  • Cuda 11.4 dockerfile fix by @phcarval in #1021
  • Make anomalib PEP 561 compliant for mypy by @WenjingKangIntel in #1038
  • [Bug: 839] Crop in SSPCAB implementation by @isaacncz in #1057
  • [Bug: 865] datamodule.setup() assertion failed by @isaacncz in #1058
  • Fix logger message for test_split_ratio by @ugotsoul in #1071
  • Fix notebook readme formatting by @samet-akcay in #1075

New Contributors

  • @triet1102 made their first contribution in #944
  • @sergiev made their first contribution in #957
  • @blaz-r made their first contribution in #969
  • @ineiti made their first contribution in #987
  • @Ravindu987 made their first contribution in #997
  • @phcarval made their first contribution in #1021
  • @WenjingKangIntel made their first contribution in #1038
  • @isaacncz made their first contribution in #1057
  • @ugotsoul made their first contribution in #1071

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.4.0...v0.5.0

[v0.4.0] - 2023-03-01

Added

  • Add Dobot notebook (#928)
  • Add ShanghaiTech Campus video anomaly detection dataset (#869)
  • Add pyupgrade to pre-commit configs, and refactor based on pyupgrade and refurb (#845)
  • Add CFA model implementation (#783)
  • Add RKDE model implementation (#821)
  • Add Visual Anomaly (VisA) dataset adapter (#824)
  • Add Synthetic anomalous dataset for validation and testing (#822)
  • Add Detection task type support (#822)
  • Add UCSDped and Avenue dataset implementation (#822)
  • Add base classes for video dataset and video datamodule (#822)
  • Add base classes for image dataset and image dataModule (#822)
  • ✨ Add CSFlow model (#657)
  • Log loss for existing trainable models (#804)
  • Add section for community project (#768)
  • ✨ Add torchfx feature extractor (#675)
  • Add tiling notebook (#712)
  • Add posargs to tox to enable testing a single file (#695)
  • Add option to load metrics with kwargs (#688)
  • 🐞 Add device flag to TorchInferencer (#601)

Changed

  • Configure reference frame for multi-frame video clips (#1023)
  • Bump OpenVINO version to 2022.3.0 (#932)
  • Remove the dependecy on a specific torchvision and torchmetrics packages.
  • Bump PyTorch Lightning version to v.1.9.- (#870)
  • Make input image normalization and center cropping configurable from config (#822)
  • Improve flexibility and configurability of subset splitting (#822)
  • Switch to new datamodules design (#822)
  • Make normalization and center cropping configurable through config (#795)
  • Switch to new changelog format. (#777)
  • Rename feature to task (#769)
  • make device configurable in OpenVINO inference (#755)
  • 🚨 Fix torchmetrics version (#754)
  • Improve NNCF initilization (#740)
  • Migrate markdownlint + issue templates (#738)
  • 🐞 Patch Timm Feature Extractor (#714)
  • Padim arguments improvements (#664)
  • 📊 Update DFM results (#674)
  • Optimize anomaly score calculation for PatchCore (#633)

Deprecated

  • Deprecated PreProcessor class (#795)
  • Deprecate OptimalF1 metric in favor of AnomalyScoreThreshold and F1Score (#796)

Fixed

  • Fix bug in anomalib/data/utils/image.py to check if the path is directory (#919)
  • Fix bug in MVTec dataset download (#842)
  • Add early stopping to CS-Flow model (#817)
  • Fix remote container by removing version pinning in Docker files (#797)
  • Fix PatchCore performance deterioration by reverting changes to Average Pooling layer (#791)
  • Fix zero seed (#766)
  • Fix #699 (#700)
  • 🐞 Fix folder dataset for classification tasks (#708)
  • Update torchmetrics to fix compute_on_cpu issue (#711)
  • Correct folder mask path (#660)
  • Fix >100% confidence issue for OpenVINO inference (#667)
  • Update pre-commit links and some other minor fixes (#672)
  • Fix black formatting issues. (#674)

[v0.3.7] - 2022-10-28

What's Changed

  • Feature/comet logging by @sherpan in #517
  • 🐞 Fix linting issues by @ashwinvaidya17 in #535
  • 🐞 Bug Fix: Solve NaN values of anomaly scores for PatchCore model by @bsl546 in #549
  • 🐞 Bug Fix: Help description for argument task by @youngquan in #547
  • reutrn results of load_state_dict func by @zywvvd in #546
  • 🔨 Pass pre-trained from config to ModelLightning by @samet-akcay in #529
  • Benchmarking tool with Comet by @sherpan in #545
  • Add map_location when loading the weights by @samet-akcay in #562
  • Add patchcore to openvino export test + upgrade lightning by @ashwinvaidya17 in #565
  • 🐞 Fix category check for folder dataset in anomalib CLI by @samet-akcay in #567
  • Refactor PreProcessor and fix Visualizer denormalization issue. by @samet-akcay in #570
  • 🔨 Check for successful openvino conversion by @ashwinvaidya17 in #571
  • Comet HPO by @sherpan in #563
  • Fix patchcore image-level score computation by @djdameln in #580
  • Fix anomaly map computation in CFlow when batch size is 1. by @samet-akcay in #589
  • Documentation refactor by @samet-akcay in #576
  • ✨ Add notebook for hpo by @ashwinvaidya17 in #592
  • 🐞 Fix comet HPO by @ashwinvaidya17 in #597
  • ✨ Replace keys from benchmarking script by @ashwinvaidya17 in #595
  • Update README.md by @Owaiskhan9654 in #623
  • 🐳 Containerize CI by @ashwinvaidya17 in #616
  • add deprecation warning to denormalize class by @djdameln in #629
  • Anomalib CLI Improvements - Update metrics and create post_processing section in the config file by @samet-akcay in #607
  • Convert adaptive_threshold to Enum in configs by @samet-akcay in #637
  • Create meta_data.json with ONNX export as well as OpenVINO export by @calebmm in #636
  • 🖌 refactor export callback by @ashwinvaidya17 in #640
  • 🐞 Address docs build by @ashwinvaidya17 in #639
  • Optimized inference with onnx for patchcore. by @acai66 in #652

New Contributors

  • @sherpan made their first contribution in #517
  • @bsl546 made their first contribution in #549
  • @youngquan made their first contribution in #547
  • @zywvvd made their first contribution in #546
  • @Owaiskhan9654 made their first contribution in #623
  • @calebmm made their first contribution in #636
  • @acai66 made their first contribution in #652

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.3.6...v0.3.7

[v.0.3.6] - 2022-09-02

What's Changed

  • Add publish workflow + update references to main by @ashwinvaidya17 in #480
  • Fix Dockerfile by @ORippler in #478
  • Fix onnx export by rewriting GaussianBlur by @ORippler in #476
  • DFKDE refactor to accept any layer name like other models by @ashishbdatta in #482
  • 🐞 Log benchmarking results in sub folder by @ashwinvaidya17 in #483
  • 🐞 Fix Visualization keys in new CLI by @ashwinvaidya17 in #487
  • fix Perlin augmenter for non divisible image sizes by @djdameln in #490
  • 📝 Update the license headers by @samet-akcay in #491
  • change default parameter values for DRAEM by @djdameln in #495
  • Add reset methods to metrics by @ashwinvaidya17 in #488
  • Feature Extractor Refactor by @ashishbdatta in #451
  • Convert AnomalyMapGenerator to nn.Module by @samet-akcay in #497
  • Add github pr labeler to automatically label PRs by @samet-akcay in #498
  • Add coverage by @ashwinvaidya17 in #499
  • 🐞 Change if check by @ashwinvaidya17 in #501
  • SSPCAB implementation by @djdameln in #500
  • 🛠 Refactor Normalization by @ashwinvaidya17 in #496
  • Enable generic exporting of a trained model to ONNX or OpenVINO IR by @ashishbdatta in #509
  • Updated documentation to add examples for exporting model by @ashishbdatta in #515
  • Ignore pixel metrics in classification task by @djdameln in #516
  • Update export documentation by @djdameln in #521
  • FIX: PaDiM didn't use config.model.pre_trained. by @jingt2ch in #514
  • Reset adaptive threshold between epochs by @djdameln in #527
  • Add PRO metric by @djdameln in #508
  • Set full_state_update attribute in custom metrics by @djdameln in #531
  • 🐞 Set normalization method from anomaly module by @ashwinvaidya17 in #530

New Contributors

  • @ashishbdatta made their first contribution in #482
  • @jingt2ch made their first contribution in #514

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.3.5...v0.3.6

[v.0.3.5] - 2022-08-02

What's Changed

  • 🐞 Fix inference for draem by @djdameln in #470
  • 🐞 🛠 Bug fix in the inferencer by @samet-akcay in #475

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.3.4...v0.3.5

[v.0.3.4] - 2022-08-01

What's Changed

  • Add encoding to LONG_DESCRIPTION in setup.py by @samet-akcay in #419
  • Fix visualization by @ORippler in #417
  • Fix openvino circular import issue by @samet-akcay in #416
  • Fix inferener arg names and weight path issue. by @samet-akcay in #422
  • Remove the redundant loss_val by @samet-akcay in #425
  • 📃 Add documentation for gradio inference by @ashwinvaidya17 in #427
  • Add pre_train as a configurable parameter by @samet-akcay in #431
  • 🛠 Fix config files and refactor dfkde by @samet-akcay in #435
  • Add metric visualizations by @ORippler in #429
  • Fix: data split issue by @jeongHwarr in #404
  • 🚚 Move perlin noise to common folder by @ashwinvaidya17 in #424
  • Support null seed by @ashwinvaidya17 in #437
  • 🐞 Change if statement by @ashwinvaidya17 in #439
  • Fix visualizer for classification, mode=simple by @ORippler in #442
  • Feature/aupro test by @ORippler in #444
  • Replace PyTorchLightning extras dependency by @ashwinvaidya17 in #455
  • 🛠 Fix tox configuration by @samet-akcay in #446
  • Ignore ipynb files to detect the repo language by @samet-akcay in #456
  • Move configuration from tox to pyproject by @samet-akcay in #458
  • Add Torch Inferencer and Update Openvino and Gradio Inferencers. by @samet-akcay in #453
  • Address markdownlint issues by @samet-akcay in #460
  • 🐞 Fix HPO by @ashwinvaidya17 in #462
  • Remove docs requirements by @ashwinvaidya17 in #467
  • Add codacy badge to readme by @samet-akcay in #468

New Contributors

  • @ORippler made their first contribution in #417
  • @jeongHwarr made their first contribution in #404

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/0.3.3...0.3.4

[v.0.3.3] - 2022-07-05

What's Changed

  • 🚚 Move initialization log message to base class by @djdameln in #363
  • 🚚 Move logging from train.py to the getter functions by @samet-akcay in #365
  • 🚜 Refactor loss computation by @djdameln in #364
  • 📝 Add a technical blog post to explain how to run anomalib. by @ashwinvaidya17 in #359
  • 📚 Add datamodule jupyter notebooks. by @samet-akcay in #357
  • 📝 Add benchmarking notebook by @ashwinvaidya17 in #353
  • ➕ Add PyPI downloads badge to the readme. by @samet-akcay in #370
  • 📃 Update README.md by @innat in #382
  • 💻 Create Anomalib CLI by @samet-akcay in #378
  • 🐞 Fix configs to remove logging heatmaps from classification models. by @samet-akcay in #387
  • ✨ Add FastFlow model training testing inference via Anomalib API by @samet-akcay in #386
  • 🐞 PaDim occasionally NaNs in anomaly map by @VdLMV in #392
  • 🖼 Inference + Visualization by @djdameln in #390

New Contributors

  • @innat made their first contribution in #382
  • @VdLMV made their first contribution in #392

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v.0.3.2...v.0.3.3

[v.0.3.2] - 2022-06-09

What's Changed

  • Refactor AnomalyModule and LightningModules to explicitly define class arguments. by @samet-akcay in #315
  • 🐞 Fix inferencer in Gradio by @ashwinvaidya17 in #332
  • fix too many open images warning by @djdameln in #334
  • Upgrade wandb version by @ashwinvaidya17 in #340
  • Minor fix: Update folder dataset + notebooks link by @ashwinvaidya17 in #338
  • Upgrade TorchMetrics version by @djdameln in #342
  • 🚀 Set pylint version in tox.ini by @ashwinvaidya17 in #345
  • Add metrics configuration callback to benchmarking by @ashwinvaidya17 in #346
  • ➕ Add FastFlow Model by @samet-akcay in #336
  • ✨ Add toy dataset to the repository by @ashwinvaidya17 in #350
  • Add DRAEM Model by @djdameln in #344
  • 📃Update documentation by @ashwinvaidya17 in #280
  • 🏷️ Refactor Datamodule names by @samet-akcay in #354
  • ✨ Add Reverse Distillation by @ashwinvaidya17 in #343

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v.0.3.1...v.0.3.2

[v.0.3.1] - 2022-05-17

What's Changed

  • 🔧 Properly assign values to dataframe in folder dataset. by @samet-akcay in #272
  • ➕ Add warnings ⚠️ for inproper task setting in config files. by @samet-akcay in #274
  • Updated CHANGELOG.md by @samet-akcay in #276
  • ➕ Add long description to setup.py to make README.md PyPI friendly. by @samet-akcay in #279
  • ✨ Add hash check to data download by @ashwinvaidya17 in #284
  • ➕ Add Gradio by @julien-blanchon in #283
  • 🔨 Fix nncf key issue in nightly job by @ashwinvaidya17 in #238
  • Visualizer improvements pt1 by @djdameln in #293
  • 🧪 Fix nightly by @ashwinvaidya17 in #299
  • 🧪 Add tests for benchmarking script by @ashwinvaidya17 in #297
  • ➕ add input_info to nncf config when not defined by user by @djdameln in #307
  • 🐞 Increase tolerance + nightly path fix by @ashwinvaidya17 in #318
  • ➕ Add jupyter notebooks directory and first tutorial for getting-started by @samet-akcay in #292

New Contributors

  • @julien-blanchon made their first contribution in #283

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.3.0...v.0.3.1

[v.0.3.0] - 2022-04-25

What's Changed

  • 🛠 ⚠️ Fix configs to properly use pytorch-lightning==1.6 with GPU by @samet-akcay in #234
  • 🛠 Fix get_version in setup.py to avoid hard-coding version. by @samet-akcay in #229
  • 🐞 Fix image loggers by @ashwinvaidya17 in #233
  • Configurable metrics by @djdameln in #230
  • Make OpenVINO throughput optional in benchmarking by @ashwinvaidya17 in #239
  • 🔨 Minor fix: Ensure docs build runs only on isea-server by @ashwinvaidya17 in #245
  • 🏷 Rename --model_config_path to config by @samet-akcay in #246
  • Revert "🏷 Rename --model_config_path to config" by @samet-akcay in #247
  • ➕ Add --model_config_path deprecation warning to inference.py by @samet-akcay in #248
  • Add console logger by @samet-akcay in #241
  • Add segmentation mask to inference output by @ashwinvaidya17 in #242
  • 🛠 Fix broken mvtec link, and split url to fit to 120 by @samet-akcay in #264
  • 🛠 Fix mask filenames in folder dataset by @samet-akcay in #249

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.2.6...v0.3.0

[v.0.2.6] - 2022-04-12

What's Changed

  • ✏️ Add torchtext==0.9.1 to support Kaggle environments. by @samet-akcay in #165
  • 🛠 Fix KeyError:'label' in classification folder dataset by @samet-akcay in #175
  • 📝 Added MVTec license to the repo by @samet-akcay in #177
  • load best model from checkpoint by @djdameln in #195
  • Replace SaveToCSVCallback with PL CSVLogger by @samet-akcay in #198
  • WIP Refactor test by @ashwinvaidya17 in #197
  • 🔧 Dockerfile enhancements by @LukasBommes in #172
  • 🛠 Fix visualization issue for fully defected images by @djdameln in #194
  • ✨ Add hpo search using wandb by @ashwinvaidya17 in #82
  • Separate train and validation transformations by @alexriedel1 in #168
  • 🛠 Fix docs workflow by @ashwinvaidya17 in #200
  • 🔄 CFlow: Switch soft permutation to false by default to speed up training. by @samet-akcay in #201
  • Return only image, path and label for classification tasks in Mvtec and Btech datasets. by @samet-akcay in #196
  • 🗑 Remove freia as dependency and include it in anomalib/models/components by @samet-akcay in #174
  • Visualizer show classification and segmentation by @alexriedel1 in #178
  • ↗️ Bump up pytorch-lightning version to 1.6.0 or higher by @samet-akcay in #193
  • 🛠 Refactor DFKDE model by @ashwinvaidya17 in #207
  • 🛠 Minor fixes: Update callbacks to AnomalyModule by @ashwinvaidya17 in #208
  • 🛠 Minor update: Update pre-commit docs by @ashwinvaidya17 in #206
  • ✨ Directory streaming by @ashwinvaidya17 in #210
  • ✏️ Updated documentation for development on Docker by @LukasBommes in #217
  • 🏷 Fix Mac M1 dependency conflicts by @dreaquil in #158
  • 🐞 Set tiling off in pathcore to correctly reproduce the stats. by @samet-akcay in #222
  • 🐞fix support for non-square images by @ashwinvaidya17 in #204
  • Allow specifying feature layer and pool factor in DFM by @nahuja-intel in #215
  • 📝 Add GANomaly metrics to readme by @ashwinvaidya17 in #224
  • ↗️ Bump the version to 0.2.6 by @samet-akcay in #223
  • 📝 🛠 Fix inconsistent benchmarking throughput/time by @ashwinvaidya17 in #221
  • assign test split for folder dataset by @alexriedel1 in #220
  • 🛠 Refactor model implementations by @djdameln in #225

New Contributors

  • @LukasBommes made their first contribution in #172
  • @dreaquil made their first contribution in #158
  • @nahuja-intel made their first contribution in #215

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v.0.2.5...v0.2.6

[v.0.2.5] - 2022-03-25

What's Changed

  • Bugfix: fix random val/test split issue by @djdameln in #48
  • Fix Readmes by @ashwinvaidya17 in #46
  • Updated changelog by @samet-akcay in #49
  • add distinction between image and pixel threshold in postprocessor by @djdameln in #50
  • Fix docstrings by @ashwinvaidya17 in #22
  • Fix networkx requirement by @LeonidBeynenson in #52
  • Add min-max normalization by @djdameln in #53
  • Change hardcoded dataset path to environ variable by @ashwinvaidya17 in #51
  • Added cflow algorithm by @blakshma in #47
  • perform metric computation on cpu by @djdameln in #64
  • Fix Inferencer by @ashwinvaidya17 in #60
  • Updated readme for cflow and change default config to reflect results by @blakshma in #68
  • Fixed issue with model loading by @blakshma in #69
  • Docs/sa/fix readme by @samet-akcay in #71
  • Updated coreset subsampling method to improve accuracy by @blakshma in #73
  • Revert "Updated coreset subsampling method to improve accuracy" by @samet-akcay in #79
  • Replace SupportIndex with int by @samet-akcay in #76
  • Added reference to official CFLOW repo by @blakshma in #81
  • Fixed issue with k_greedy method by @blakshma in #80
  • Fix Mix Data type issue on inferencer by @samet-akcay in #77
  • Create CODE_OF_CONDUCT.md by @samet-akcay in #86
  • ✨ Add GANomaly by @ashwinvaidya17 in #70
  • Reorder auc only when needed by @djdameln in #91
  • Bump up the pytorch lightning to master branch due to vulnurability issues by @samet-akcay in #55
  • 🚀 CI: Nightly Build by @ashwinvaidya17 in #66
  • Refactor by @ashwinvaidya17 in #87
  • Benchmarking Script by @ashwinvaidya17 in #17
  • 🐞 Fix tensor detach and gpu count issues in benchmarking script by @ashwinvaidya17 in #100
  • Return predicted masks in predict step by @djdameln in #103
  • Add Citation to the Readme by @samet-akcay in #106
  • Nightly build by @ashwinvaidya17 in #104
  • c_idx cast to LongTensor in random sparse projection by @alexriedel1 in #113
  • Update Nightly by @ashwinvaidya17 in #126
  • Updated logos by @samet-akcay in #131
  • Add third-party-programs.txt file and update license by @LeonidBeynenson in #132
  • 🔨 Increase inference + openvino support by @ashwinvaidya17 in #122
  • Fix/da/image size bug by @djdameln in #135
  • Fix/da/image size bug by @djdameln in #140
  • optimize compute_anomaly_score by using torch native funcrtions by @alexriedel1 in #141
  • Fix IndexError in adaptive threshold computation by @djdameln in #146
  • Feature/data/btad by @samet-akcay in #120
  • Update for nncf_task by @AlexanderDokuchaev in #145
  • fix non-adaptive thresholding bug by @djdameln in #152
  • Calculate feature map shape patchcore by @alexriedel1 in #148
  • Add transform_config to the main config.yaml file. by @samet-akcay in #156
  • Add Custom Dataset Training Support by @samet-akcay in #154
  • Added extension as an option when saving the result images. by @samet-akcay in #162
  • Update anomalib version and requirements by @samet-akcay in #163

New Contributors

  • @LeonidBeynenson made their first contribution in #52
  • @blakshma made their first contribution in #47
  • @alexriedel1 made their first contribution in #113
  • @AlexanderDokuchaev made their first contribution in #145

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v.0.2.4...v.0.2.5

[v.0.2.4] - 2021-12-22

What's Changed

  • Bump up the version to 0.2.4 by @samet-akcay in #45
  • fix heatmap color scheme by @djdameln in #44

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v.0.2.3...v.0.2.4

[v.0.2.3] - 2021-12-23

What's Changed

  • Address docs build failing issue by @ashwinvaidya17 in #39
  • Fix docs pipeline 📄 by @ashwinvaidya17 in #41
  • Feature/dick/anomaly score normalization by @djdameln in #35
  • Shuffle train dataloader by @samet-akcay in #42

Full Changelog: https://github.com/openvinotoolkit/anomalib/compare/v0.2.2...v.0.2.3

[v0.2.0 Pre-release] - 2021-12-14

What's Changed

  • Address compatibility issues with OTE, that are caused by the legacy code. by @samet-akcay in #24
  • Initial docs string by @ashwinvaidya17 in #9
  • Load model did not work correctly as DFMModel did not inherit by @ashwinvaidya17 in #5
  • Refactor/samet/data by @samet-akcay in #8
  • Delete make.bat by @samet-akcay in #11
  • TorchMetrics by @djdameln in #7
  • ONNX node naming by @djdameln in #13
  • Add FPS counter to TimerCallback by @ashwinvaidya17 in #12

Contributors

  • @ashwinvaidya17
  • @djdameln
  • @samet-akcay

Full Changelog: https://github.com/openvinotoolkit/anomalib/commits/v0.2.0