Awesome
LREN
We provide a Tensorflow implementation of LREN: Low-Rank Embedded Network for Sample-Free Hyperspectral Anomaly Detection (AAAI2021).
Framework of LREN:
Prerequisites
- Linux 18.04 LTS
- Python 3.7.8
- Tensorflow 1.5.1
- CUDA 10.2
- Scipy 1.2.1
- Numpy 1.18.5
- Matplotlib 3.3.0
Citation
If you use this code for your research, please cite:
Jiang, K., Xie, W., Lei, J., Jiang, T., & Li, Y. (2021). LREN: Low-Rank Embedded Network for Sample-Free Hyperspectral Anomaly Detection. Proceedings of the AAAI Conference on Artificial Intelligence, 35(5), 4139-4146.
Running Code
In this code, you can run our models on on four benchmark hyperspectral datasets, including SanDiego, Hydice, Coast, and Pavia.
Usage
python run_main_LREN.py
Result
Hyperspectral Datasets
For the ease of reproducibility. We provide experimental results on hyperspectral datasets as belows:
Dataset | AUC(P_d, P_f) | AUC(P_f, \tau) |
---|---|---|
SanDiego | 0.9897 | 0.0134 |
Hydice | 0.9998 | 0.0102 |
Coast | 0.9982 | 0.0276 |
Pavia | 0.9925 | 0.0433 |
Average | 0.9951 | 0.0236 |
Extension
Since our approach is based on the following three properties:
- The background (i.e., the normal instances) still preserves a low-rank property lying in a low-dimensional manifold.
- The presence probability of the anomaly is much lower than that of the background (i.e., the normal instances).
- The latent representation serves the anomaly estimation, which optimally updates the parameters of the deep latent space.
LREN is applicable to anomaly detection tasks that satisfy these three properties. We conducted experiments on Outlier Detection DataSets (ODDS) to demonstrate the effectiveness of LREN in other anomaly detection tasks.
Dataset | AUC(P_d, P_f) | AUC(P_f, \tau) | Precision | Recall | F1 |
---|---|---|---|---|---|
Thyroid | 0.9910 | 0.0980 | 0.8571 | 0.6452 | 0.7362 |
Arrhythmia | 0.8353 | 0.0490 | 0.6389 | 0.451 | 0.5287 |