/X-SARDet

An official implementation for paper "Uncertainty Exploration: Toward Explainable SAR Target Detection"

Primary LanguagePythonApache License 2.0Apache-2.0

X-SARDet

Introduction

This project is for paper "Uncertainty Exploration: Toward Explainable SAR Target Detection"

If you found this code useful, please cite our paper

@ARTICLE{huang2023,
  author={Huang, Zhongling and Liu, Ying and Yao, Xiwen and Ren, Jun and Han, Junwei},
  journal={IEEE Transactions on Geoscience and Remote Sensing}, 
  title={Uncertainty Exploration: Toward Explainable SAR Target Detection}, 
  year={2023},
  volume={61},
  pages={1-14},
  doi={10.1109/TGRS.2023.3247898}}

Features

  1. Bayesian deep detectors (BDDs) for horizontal and oriented SAR targets are constructed for uncertainty quantification, answering how much to trust the classification and localization result.
  1. An occlusion-based explanation method (U-RISE) for BDD is proposed to account for the SAR scattering features that cause uncertainty or promote trustworthiness.
  1. Counterfactual analysis is conducted to verify the cause-and-effect relationship between the U-RISE explanation and BDD prediction.

Getting Started

Code is based on an oriented object detection toolbox, OBBdetection. Please refer to install.md of OBBdetection for installation and dataset preparation.

  1. Train for HBB
python tools/train.py uncertainty/config/HBB/fcos_r50_caffe_fpn_gn-head_4x4_SSDD_MCdropout.py
  1. Train for OBB
python tools/train.py uncertainty/config/OBB/fcos_obb_r50_caffe_fpn_gn-head_4x4_SSDD+_MCdropout.py
  1. Get the probabilistic detection results.
python uncertainty/inference/Bayesian_inference.py --img demo/000009.jpg --config ckpt/SSDD+/FCOS_MCdropout/fcos_obb_r50_caffe_fpn_gn-head_4x4_SSDD+_MCdropout.py --checkpoint ckpt/SSDD+/FCOS_MCdropout/epoch_36.pth --out ckpt/SSDD+/FCOS_MCdropout/out --show
  1. Get the explanation result for one interested detected instance.
python uncertainty/explanation/Attribution_Analysis.py --img demo/000009.jpg  --config ckpt/SSDD+/FCOS_MCdropout/fcos_obb_r50_caffe_fpn_gn-head_4x4_SSDD+_MCdropout.py --checkpoint ckpt/SSDD+/FCOS_MCdropout/epoch_36.pth --result ckpt/SSDD+/FCOS_MCdropout/out/000009/prob_results.txt

Contributors

@lllying @Alien9427