Skip to content

About

PyTorch implementation of MH-DRL: Multi-agent Deep Reinforcement Learning for Hyperspectral Band Selection with Hybrid Teacher Guide (Knowledge-Based Systems 2024)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

MH-DRL

Multi-agent Deep Reinforcement Learning for Hyperspectral Band Selection with Hybrid Teacher Guide Knowledge-Based Systems
Jie Feng *, Qiyang Gao , Ronghua Shang , Xianghai Cao , Gaiqin Bai , Xiangrong Zhang , Licheng Jiao

Highlights

  • Multi-agent band selection. Every spectral band is an agent that only decides select or deselect, which turns the huge action space of single-agent DRL into a binary one.
  • Presentation-evaluation network (PE-Net). A 3D–2D CNN pre-trained with random band combinations scores any candidate band subset without fine-tuning (the reward), and its spatial-spectral features represent the environment (the state).
  • Hybrid teacher guide. BS-Nets (filter), SICNN (wrapper) and TWCNN (embedded) take turns correcting the agents' low-confidence bands in early exploration; the agents then keep improving with deep Q-learning on their own.

framework


Hybrid teacher guide: low-confidence bands are advised by the teacher.

Deep Q-network of each agent.

Results

Mean ± std (population std) over 3 random splits of this PyTorch implementation.

Dataset Bands OA AA Kappa
Indian Pines 60 / 200 98.28 ± 0.23 98.26 ± 0.34 98.04 ± 0.26
Pavia University 30 / 103 99.86 ± 0.01 99.77 ± 0.03 99.82 ± 0.02
University of Houston 40 / 144 98.97 ± 0.25 99.04 ± 0.30 98.89 ± 0.27

oa

As in Sec. 4.3 of the paper, each compared method is evaluated with its own classifier (RBF-SVM on pixels for BS-Nets, ABCNN, MR-SVM and DDCNN; a 15 × 15 2D CNN for TWCNN, SICNN and DRLBS), while MH-DRL uses an ensemble of 4 PE-Nets with test-time flips. The comparison is therefore between complete pipelines; any method's bands can be fed to the same ensemble with python -m mhdrl.boost --json runs/<ds>/<method>/seed<k>.json --members ....

Per-class accuracies: results/main_table.md · Selected bands: results/selected_bands.json

Classification maps

maps

Selected bands (blue) on the information-entropy curve of each band

bands

Band search — reward and PE-Net accuracy during the teacher-guided and self-exploration stages

search

Usage

Requires a CUDA GPU. Tested with Python 3.10, PyTorch 2.5.1, NumPy 1.26.4, SciPy 1.15.3 and scikit-learn 1.7.2.

pip install -r requirements.txt
python -m mhdrl.run --ds indian --method mhdrl --seed 0                 # band selection + evaluation
python -m mhdrl.infer --ds indian --weights weights/indian_seed0        # evaluate the released weights
bash scripts/reproduce.sh                                               # all datasets, methods and splits

About

PyTorch implementation of MH-DRL: Multi-agent Deep Reinforcement Learning for Hyperspectral Band Selection with Hybrid Teacher Guide (Knowledge-Based Systems 2024)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages