Skip to main content

This package is designed for anomaly detection in Synthetic Aperture Radar (SAR) images, leveraging PyTorch Lightning and models from Anomalib. The package is modular, allowing easy benchmarking and dataset integration.

Project description

Benchmarking suite for synthetic aperture radar imagery anomaly detection (SARIAD) algorithms

Overview

This package is designed for anomaly detection in Synthetic Aperture Radar (SAR) images, leveraging PyTorch Lightning and models from Anomalib. The package is modular, allowing easy benchmarking and dataset integration.

Directory Structure

SARIAD/
├── config/
│   ├── default.yaml
│   ├── environment.yaml  # Conda environment file
├── datasets/
│   ├── __init__.py
│   ├── MSTAR/
│   ├── custom_dataset/
│   └── sar_datamodule.py  
├── models/
│   ├── __init__.py
│   ├── anomalib_models.py
│   ├── autoencoder.py
│   └── transformer.py
├── preprocessing/
│   ├── __init__.py
│   ├── normalize.py
│   ├── augmentations.py
│   └── utils.py
├── benchmarks/
│   ├── __init__.py
│   └── benchmarking.py
├── main.py
├── __init__.py
└── utils/
    ├── __init__.py
    └── config_loader.py

Installation

For now we require a python~=3.11 enviorment. This can be obtained with pyenv or on windows with pyenv-win.

# Clone the repository
git clone https://github.com/username/SARIAD.git

# Using pyenv to set up python~=3.11 virtual environment
pyenv install 3.11.12
pyenv local 3.11.12
python -m venv venv

# Linux/MacOS
source venv/bin/activate

# Windows
.\venv\Scripts\Activate.ps1 # Powershell
.\venv\Scripts\activate.bat # Command Prompt

# Install SARIAD in editable mode
pip install -e .

Configuration

Edit the YAML file located in config/default.yaml to specify the dataset path, model, and training parameters.

Usage

# Train with a specific configuration
python main.py --config config/default.yaml

Benchmarking

To enable benchmarking, set benchmark.enabled: True in the YAML file and specify the number of runs.

Preprocessing

  • normalize.py: Functions for data normalization.
  • augmentations.py: Functions for data augmentations.
  • utils.py: Utility functions for SAR-specific preprocessing.

The SARDataModule located in the datasets folder imports these functions to ensure consistent preprocessing across datasets.

License

MIT License

Acknowledgments

This project is inspired by Anomalib and Benchmarks for Medical Anomaly Detection (BMAD).

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository on GitHub.
  2. Create a new branch with a descriptive name.
  3. Make your changes and ensure they follow the code style guidelines.
  4. Write unit tests for any new features or bug fixes.
  5. Submit a pull request with a clear description of your changes.

For major changes, please open an issue first to discuss what you'd like to change. We appreciate your contributions to improve this work!

Citing SARIAD

If you use the SARIAD code, please cite the following reference using the following entry.

Plain Text:

L. Chauvin, S. Gupta, A. Ibarra and J. Peeples, "Benchmarking suite for synthetic aperture radar imagery anomaly detection (SARIAD) algorithms," in Algorithms for Synthetic Aperture Radar Imagery XXXII, vol. TBD. International Society for Optics and Photonics (SPIE), 2025, DOI: 10.1117/12.3052519

arXiv

BibTex:

@inproceedings{Chauvin2025Benchmarking,
  title={Benchmarking suite for synthetic aperture radar imagery anomaly detection (SARIAD) algorithms},
  author={Chauvin, Lucian and Gupta, Somil, and Ibarra, Angelina, and Peeples, Joshua},
  booktitle={Algorithms for Synthetic Aperture Radar Imagery XXXII},
  pages={TBD},
  year={2025},
  organization={International Society for Optics and Photonics (SPIE)}
  doi={10.1117/12.3052519}
}

Citing MSTAR

If you use this dataset in your research, please cite the following paper:

@misc{mstar2025,
  title = {MSTAR Public Dataset},
  author = {{U.S. Air Force}},
  year = {1995},
  note = {Sensor Data Management System (SDMS)},
  url = {https://www.sdms.afrl.af.mil/index.php?collection=mstar}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sariad-0.1.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sariad-0.1.0-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file sariad-0.1.0.tar.gz.

File metadata

  • Download URL: sariad-0.1.0.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sariad-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69cf9cf5914e588fb7dc862b2f1645ea985a212c13592d379fd18bd58077b78f
MD5 f2dddc9f0f2359482d949f79c3700226
BLAKE2b-256 07edaf12216920cb91f3fc0caec367f5cf0cd6a13a9d67112dc3459ae6f3d0e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sariad-0.1.0.tar.gz:

Publisher: pypi.yml on Advanced-Vision-and-Learning-Lab/SARIAD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sariad-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sariad-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sariad-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4f4baf9432c64d85eb4eac3a870bb1fa2e249d2b16afdebf6d72e4bbeb9f90b
MD5 3d61cf40f016a7c165f48f4ac0148e10
BLAKE2b-256 5ae6e89ac9e06216d5eabf211e63e937e3a3088a1e3e138c2dfa5e2319b129f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for sariad-0.1.0-py3-none-any.whl:

Publisher: pypi.yml on Advanced-Vision-and-Learning-Lab/SARIAD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page