https://github.com/yc-cui/super-ad
Rethinking Identity Mapping in Self-Supervised Hyperspectral Anomaly Detection: A Unified Perspective on Network Optimization
https://github.com/yc-cui/super-ad
deep-learning hyperspectral-anomaly-detection hyperspectral-image-classification image-processing neural-network pytorch segmentation self-supervised unified-framework
Last synced: about 19 hours ago
JSON representation
Rethinking Identity Mapping in Self-Supervised Hyperspectral Anomaly Detection: A Unified Perspective on Network Optimization
- Host: GitHub
- URL: https://github.com/yc-cui/super-ad
- Owner: yc-cui
- License: mit
- Created: 2025-01-13T11:00:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-16T23:21:00.000Z (about 1 year ago)
- Last Synced: 2025-03-15T14:12:35.049Z (about 1 year ago)
- Topics: deep-learning, hyperspectral-anomaly-detection, hyperspectral-image-classification, image-processing, neural-network, pytorch, segmentation, self-supervised, unified-framework
- Homepage:
- Size: 5.23 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Accepted to TGRS2025: Overcoming the Identity Mapping Problem in Self-Supervised Hyperspectral Anomaly Detection
This repository contains a training script for the SuperAD model, designed for self-supervised anomaly detection overcoming the identity mapping problem. The script utilizes PyTorch Lightning for efficient training and logging, and it supports integration with Weights & Biases (Wandb) for experiment tracking.
## Network Architecture

## Requirements
```bash
conda env create -f environment.yml
conda activate HAD
```
## Training
```bash
python train.py --data_name
```
The `data_name` can be modified in the `name2dir.py` file, you can also add your own data by modifying the `name2dir.py` file.
You can refer to `slic_viz.ipynb` for generating the SLIC superpixel for your own data.
The log file will be saved in the `logs` folder, we provide an example log file in the `logs/HAD.SuperADTrainer/log_d=1__l=OBPM_k=3_w=5_b=1_a=1` folder.
To achieve better results, parameters such as the number of segments and the window size need to be tuned.
### Arguments
The script accepts the following command-line arguments, parameters may be tuned for different datasets to achieve better performance:
- --data_name: Name of the dataset to be used (default: “1_”).
- --epochs: Number of training epochs (default: 1000).
- --lr: Learning rate for the optimizer (default: 1e-3).
- --a: Alpha parameter for the model (default: 1).
- --b: Beta parameter for the model (default: 1).
- --kernel_size: Size of the convolutional kernel (default: 3).
- --window_size: Size of the sliding window (default: 5).