v0.5.0
Updates / New Features
CI
Updated notebooks CI workflow to include notebook data caching.
Documentation
Added text discussing black box methods to
introduction.rst.Added a section to
introduction.rstthat describes the links between saliency algorithms and implementations.Edited all text.
Update top-level
README.mdfile to have more useful content.Update misc. doc on local SonarQube scanning.
Examples
Add example notebook for saliency on Atari deep RL agent, including updates on top of the original work to normalize saliency maps and conform to our API standards.
Add example demonstrating saliency map generation for COCO formatted serialized detections.
Updated examples to all use a common data sub-directory when downloading or saving generated data.
Implementations
Add
SquaredDifferenceScoringimplementation of theGenerateClassifierConfidenceSaliencyinterface that uses squared difference.Add
RandomGridimplementation ofPerturbImage. This generates masks of randomly occluded cells with a given size in pixels.
Utilities
Add
gen_coco_salfunction to compute saliency maps for detections in akwcocodataset, with accompanying cli scriptsal-on-coco-detswhich does this on a COCO formatted json file and writes saliency maps to disk.Add multi-threaded functionality to
occlude_image_batchutility.
Containerization
Added Dockerfile and compose file that create base xaitk_saliency image.
Fixes
Build
Fix incorrect specification of actually-optional
papermillin relation to its intended inclusion in theexample_depsextra.Update patch version of Pillow transitive dependency locked in the
poetry.lockfile to address CVE-2021-23437.Update the developer dependency and locked version of ipython to address a security vulnerability.
Implementations
Fix incorrect cosine similarity computation and mask inversion in implementation of
DRISEScoringdetector saliency.
Examples
Updated example Jupyter notebooks with more consistent dependency checks and also fixed minor header formatting issues.
Tests
Fix deprecation warnings around the use of
numpy.random.random_integers.
Utilities
Fix
xaitk_saliency.utils.detection.format_detectionto not upcast the data type output whenobjectness is None.Fix
xaitk_saliency.utils.masking.weight_regions_by_scalarto not upcast the data type output wheninv_masks is True.Update
xaitk_saliency.utils.masking.weight_regions_by_scalarto not use fully vectorized operation which significantly improves efficiency.