The xaitk-saliency
package is an open source, Explainable AI (XAI) framework
for visual saliency algorithm interfaces and implementations, built for
analytics and autonomy applications.
See here for a more formal introduction to the topic of XAI and visual saliency explanations.
This framework is a part of the Explainable AI Toolkit (XAITK).
The xaitk-saliency
package provides saliency algorithms for a wide range of image understanding
tasks, including image classification, image similarity, object detection, and reinforcement learning.
The current list of supported saliency algorithms can be found here.
This toolkit is intended to help data scientists and developers who want to add visual saliency explanations to their workflow or product. Functionality provided here is both directly accessible for targeted experimentation, and through Strategy and Adapter patterns to allow for modular integration into systems and applications.
Ensure the source tree is acquired locally before proceeding.
To install the current version via pip
:
pip install xaitk-saliency
Alternatively, you can use Poetry:
poetry install
Certain plugins may require additional runtime dependencies. Details on these requirements can be found here.
For more detailed installation instructions, visit the installation documentation.
Explore usage examples of the xaitk-saliency
package in various contexts using the Jupyter notebooks provided in the ./examples/
directory.
Contributions are encouraged! For more details, refer to the CONTRIBUTING.md file.
Documentation for both release snapshots and the latest master branch is available on ReadTheDocs.
To build the Sphinx-based documentation locally for the latest reference:
# Install dependencies
poetry install --sync --with linting,tests,docs
# Navigate to the documentation root
cd docs
# Build the documentation
poetry run make html
# Open the generated documentation in your browser
firefox _build/html/index.html
Pre-commit hooks ensure that code complies with required linting and formatting guidelines. These hooks run automatically before commits but can also be executed manually. To bypass checks during a commit, use the --no-verify
flag.
To install and use pre-commit hooks:
# Install required dependencies
poetry install --sync --with linting,tests,docs
# Initialize pre-commit hooks for the repository
poetry run pre-commit install
# Run pre-commit checks on all files
poetry run pre-commit run --all-files
This associated project provides a local web-application that provides a demonstration of visual saliency generation in a user-interface. This provides an example of how visual saliency, as generated by this package, can be utilized in a user-interface to facilitate model and results exploration. This tool uses the trame framework.
All development prior to Nov 19, 2024 falls under BSD-3-Clause
Principal Investigator: Brian Hu (Kitware) @brian.hu Product Owner: Austin Whitesell (MITRE) @awhitesell Scrum Master / Tech Lead: Brandon RichardWebster (Kitware) @b.richardwebster Deputy Tech Lead: Emily Veenhuis (Kitware) @emily.veenhuis