diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ffb565e..bf0fc4a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Change Log +## [1.2.0 Unreleased] + +### Summary + +* + +### What's Changed + +* + +### Known Issues + +* Runtime error from ONNX / OpenVINO IR models while conversion or inference for XAI in https://github.com/openvinotoolkit/openvino_xai/issues/29 +* Models not supported by white box XAI methods in https://github.com/openvinotoolkit/openvino_xai/issues/30 + +### New Contributors + +* N/A + +--- + ## [1.1.0] ### Summary diff --git a/README.md b/README.md index c70d4542..e242ed42 100644 --- a/README.md +++ b/README.md @@ -70,11 +70,11 @@ At the moment, *Image Classification* and *Object Detection* tasks are supported | Domain | Task | Type | Algorithm | Links | |-----------------|----------------------|-----------|------------------------|-------| -| Computer Vision | Image Classification | White-Box | ReciproCAM | [arxiv](https://arxiv.org/abs/2209.14074) / [src](openvino_xai/methods/white_box/recipro_cam.py) | -| | | | VITReciproCAM | [arxiv](https://arxiv.org/abs/2310.02588) / [src](openvino_xai/methods/white_box/recipro_cam.py) | +| Computer Vision | Image Classification | White-Box | ReciproCAM | [paper](https://openaccess.thecvf.com/content/CVPR2024W/XAI4CV/papers/Byun_ReciproCAM_Lightweight_Gradient-free_Class_Activation_Map_for_Post-hoc_Explanations_CVPRW_2024_paper.pdf) / [src](openvino_xai/me4thods/white_box/recipro_cam.py) | +| | | | VITReciproCAM | [paper](https://arxiv.org/abs/2310.02588) / [src](openvino_xai/methods/white_box/recipro_cam.py) | | | | | ActivationMap | experimental / [src](openvino_xai/methods/white_box/activation_map.py) | | | | Black-Box | AISEClassification | [src](openvino_xai/methods/black_box/aise/classification.py) | -| | | | RISE | [arxiv](https://arxiv.org/abs/1806.07421v3) / [src](openvino_xai/methods/black_box/rise.py) | +| | | | RISE | [paper](https://arxiv.org/abs/1806.07421v3) / [src](openvino_xai/methods/black_box/rise.py) | | | Object Detection | White-Box | DetClassProbabilityMap | experimental / [src](openvino_xai/methods/white_box/det_class_probability_map.py) | | | | Black-Box | AISEDetection | [src](openvino_xai/methods/black_box/aise/detection.py) | diff --git a/docs/source/conf.py b/docs/source/conf.py index eb2b9659..0f982c73 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,7 +18,7 @@ project = "OpenVINO™ XAI" copyright = "2024, Intel(R) Corporation" author = "Intel(R) Corporation" -release = "1.1.0" +release = "1.2.0" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/docs/source/user-guide.md b/docs/source/user-guide.md index d96bfea2..58fb2e00 100644 --- a/docs/source/user-guide.md +++ b/docs/source/user-guide.md @@ -446,7 +446,7 @@ Suitable for: [Recipro-CAM](../../openvino_xai/methods/white_box/recipro_cam.py) involves spatially masking of the extracted feature maps to exploit the correlation between activation maps and model predictions for target classes. It is perturbation-based method which perturbs internal model activations. -Assume 7x7 feature map which is extracted by the CNN backbone. One location of the feature map is preserved (e.g. at index [0, 0]), while the rest feature map values is masked out with e.g. zeros (perturbation is the same across channel dimension). Perturbed feature map inferred through the model head. The the model prediction scores are used as saliency scores for index [0, 0]. This is repeated for all 49 spatial location. The final saliency map obtained after resizing and scaling. See [paper](https://arxiv.org/abs/2209.14074) for more details. +Assume 7x7 feature map which is extracted by the CNN backbone. One location of the feature map is preserved (e.g. at index [0, 0]), while the rest feature map values is masked out with e.g. zeros (perturbation is the same across channel dimension). Perturbed feature map inferred through the model head. The the model prediction scores are used as saliency scores for index [0, 0]. This is repeated for all 49 spatial location. The final saliency map obtained after resizing and scaling. See [paper](https://openaccess.thecvf.com/content/CVPR2024W/XAI4CV/papers/Byun_ReciproCAM_Lightweight_Gradient-free_Class_Activation_Map_for_Post-hoc_Explanations_CVPRW_2024_paper.pdf) for more details. `Recipro-CAM` is an efficient XAI method. The main weak point is that saliency for each pixel in the feature map space is estimated in isolation, without taking into account joint contribution of different pixels/features. @@ -734,7 +734,7 @@ def preprocess_fn(image: np.ndarray) -> np.ndarray: def postprocess_fn(output: Mapping): """Postprocess the model output.""" - return softmax(output["logits"]) + return softmax(output["logits"]) def softmax(x: np.ndarray) -> np.ndarray: """Compute softmax values of x.""" diff --git a/pyproject.toml b/pyproject.toml index 14eda272..5bd2ba35 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta" [project] name = "openvino_xai" -version = "1.1.0" +version = "1.2.0rc0" dependencies = [ "openvino-dev==2024.4", "opencv-python",