This example implements the paper Multisource Remote Sensing Data Classification Based on Convolutional Neural Network
A two-branch CNN architecture for feasture fusion with HSI and other remote scensing imagery. Reach a quite high classification accuracy. Evaluated on the dataset of Houston, Trento, Salinas and Pavia.
- System Ubuntu 14.04 or upper
- Python 2.7 or 3.6
- Packages
pip install -r requirements.txt
Please modify line 10-22 in data_util.py for the dataset details.
- Train HSI
python main.py --train hsi --epochs 20 --modelname ./logs/weights/hsi.h5
- Train LiDAR/VIS
python main.py --train lidar --epochs 20 --modelname ./logs/weights/lidar.h5
- Train two branches
python main.py --train finetune --epochs 20 --modelname ./logs/weights/model.h5
All the results are cited from original paper. More details can be found in the paper.
dataset | Kappa | OA |
---|---|---|
Houston | 0.8698 | 87.98% |
Trento | 0.9681 | 97.92% |
Pavia | 0.9883 | 99.13% |
Salinas | 0.9745 | 97.72% |
@article{xu2017multisource,
title={Multisource Remote Sensing Data Classification Based on Convolutional Neural Network},
author={Xu, Xiaodong and Li, Wei and Ran, Qiong and Du, Qian and Gao, Lianru and Zhang, Bing},
journal={IEEE Transactions on Geoscience and Remote Sensing},
year={2017},
publisher={IEEE}
}
- pytorch version.
- more flexiable dataset utilization