Skip to content

Self-Supervised Anomaly Segmentation via Diffusion Models with Dynamic Transformer UNet (WACV 2024

Notifications You must be signed in to change notification settings

MAXNORM8650/Annotsim

Repository files navigation


Annotsim: Self-Supervised Anomaly Segmentation via Diffusion Models with Dynamic Transformer UNet (WACV 2024) 🚀

This research paper introduces a novel self-supervised anomaly detection method for image segmentation. It employs a diffusion model utilising a newly developed four-dimensional simplex noise function (Tsimplex) for improved efficiency and sample quality, especially in higher-dimensional and coloured images. The core of the model is a Dynamic Transformer UNet (DTUNet), a modified Vision Transformer architecture designed to handle time and noise image patches as tokens. Extensive experiments across three datasets demonstrate significant performance improvements over existing generative-based anomaly detection methods, particularly in medical imaging. The source code is publicly available.

Features

  • Custom Diffusion Models: An extended UNet with selective denoising capabilities.
  • Dynamic Transformer Blocks: Enhancements for dynamic anomaly segmentation.
  • Simplex Noise Integration: Supports 3D/4D noise generation for improved feature diversity.
  • Comprehensive Evaluation Metrics: Tools to calculate precision, recall, Dice score, and more.
  • Visualization Tools: Generates diffusion videos and detection outputs for interpretability.

Example Outputs

Diffusion Training Visualization

Distribution Visualization & Histogram Plot

Distribution Visualization Histogram Plot
Distribution Visualization Histogram Plot

Qualitative Results

Qualitative Result 1 Qualitative Result 2
Qualitative Results Qualitative Results

Octave Visualization

Octave Visualization

SSIM Plot

SSIM Plot

Time Complexity Plots

Time Complexity Plots

MRI Translation

MRI Translation


Anomaly Detection Results

Anomaly Detection

Simplex Noise Example

Simplex Noise

Anomaly Detection Results

Anomaly Detection

Simplex Noise Example

Simplex Noise


Project Structure

Annotsim/
├── src/
│   ├── models/               # Model architectures (UNet, transformer blocks, etc.)
│   ├── utils/                # Helper functions (dataset loading, noise generation, etc.)
│   ├── scripts/              # Training and evaluation scripts
├── requirements.txt          # Python dependencies
├── setup.py                  # Installation script
├── README.md                 # Project documentation
└── .gitignore                # Ignored files and directories

Installation

Prerequisites

  • Python 3.8 or later
  • CUDA-enabled GPU (optional but recommended for training)

Steps

  1. Clone the repository:

    git clone https://github.com/MAXNORM8650/Annotsim.git
    cd Annotsim
  2. Install dependencies:

    pip install -r requirements.txt
  3. Install the repository as a package:

    pip install -e .

Usage

Train a Diffusion Model

To train a diffusion model:

python src/scripts/diffusion_training_UVW.py --argN

Replace argN with your desired configuration file from "test_args" file.

Evaluate a Model

To evaluate a model:

python src/scripts/detection.py --argN

Datasets

This project uses two publicly available datasets:

  1. BRATS2021: A dataset for brain tumor segmentation.
  2. Pneumonia X-Ray: A dataset for chest X-ray anomaly detection.

For more details, refer to the datasets' official documentation.


Results

Diffusion Videos

Generated videos during training and evaluation are saved in:

outputs/diffusion-videos/

Detection Outputs

Detection results are saved in:

outputs/detection-images/

Contributors

The project imported from:


Citation

@InProceedings{Kumar_2025_WACV,
    author    = {Kumar, Komal and Chakraborty, Snehashis and Mahapatra, Dwarikanath and Bozorgtabar, Behzad and Roy, Sudipta},
    title     = {Self-Supervised Anomaly Segmentation via Diffusion Models with Dynamic Transformer UNet},
    booktitle = {Proceedings of the Winter Conference on Applications of Computer Vision (WACV)},
    month     = {February},
    year      = {2025},
    pages     = {7917-7927}
}

About

Self-Supervised Anomaly Segmentation via Diffusion Models with Dynamic Transformer UNet (WACV 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published