Skip to content

Latest commit

 

History

History
133 lines (107 loc) · 5.84 KB

README.md

File metadata and controls

133 lines (107 loc) · 5.84 KB

xaitk-logo


PyPI - Python Version PyPI - Python Version Documentation Status

codecov

XAITK - Saliency

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).

Supported Algorithms

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.

Target Audience

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.

Installation

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.

Getting Started

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

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

Developer Tools

Pre-commit Hooks

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

XAITK Saliency Demonstration Tool

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.

image1 image2 image3 image4

License

Apache 2.0

All development prior to Nov 19, 2024 falls under BSD-3-Clause

Contacts

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