https://github.com/blainerothrock/hyperspectral-imaging-ml
https://github.com/blainerothrock/hyperspectral-imaging-ml
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/blainerothrock/hyperspectral-imaging-ml
- Owner: blainerothrock
- Created: 2020-04-23T19:11:03.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-08T14:35:19.000Z (about 6 years ago)
- Last Synced: 2025-04-03T04:28:54.703Z (about 1 year ago)
- Language: Python
- Size: 18 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hyperspectral-imaging-ml

[](https://codecov.io/gh/blainerothrock/hyperspectral-imaging-ml)
## Reproducing HybridSN
* Create a conda environment with your OS using `env-mac.yml` or `env-ubuntu.yml`:
```shell script
conda env create -f env-ubuntu.yml
conda activate hyperspec
```
* **Optional** update the `gin.config` with desired hyper-parameters. Current configuration matches the paper.
* Run the training script
```shell script
python train.py
```
* View training results in Tensorboard
```shell script
tensorboard --logdir runs
```
**Note**: data will be downloaded to `~/.hyperspec/`
### reporting
* [Reproducibility Report](reproducibility_report.md)
* [Tips and Tricks](tips_and_tricks.md)
## Papers:
* [Deep Learning for Classification
of Hyperspectral Data: A Comparative Review](https://arxiv.org/pdf/1904.10674.pdf)
- An overview of the field relating to deep learning
- [code base](https://github.com/nshaud/DeepHyperX)
* [HybridSN: Exploring 3D-2D CNN Feature Hierarchy for Hyperspectral Image Classification](https://arxiv.org/pdf/1902.06701v3.pdf)
- Current state-of-the-art on the Indian Pines, Pavia University and Salinas Scene datasets
- [code base](https://github.com/gokriznastic/HybridSN)
* [Hyperspectral Image Classification with Deep Metric Learning and Conditional Random Field](https://arxiv.org/pdf/1903.06258v2.pdf)
- State of the art without additional data on the Indian Pines data set
- None :(
## Datasets
* [Overview](http://www.ehu.eus/ccwintco/index.php?title=Hyperspectral_Remote_Sensing_Scenes)
* [Indian Pine](https://purr.purdue.edu/publications/1947/1)
* [Data Fusion Contest 2018](https://mediatum.ub.tum.de/1474000?id=1474000)
## Why
Hyper-spectral imaging is a upcoming field that [has potential](https://www.cloudagronomics.com/technology) in the agriculture industry with many benefits including crop yield and carbon monitoring.
## Paper Review
* Rigor vs. Empirical - Balanced?
* Readability - Excellent
* Algorithm Difficulty - Low
* Pseudo Code - None / Step-Code?
* Hyperparameters Specified - Yes
* Compute Needed - GPU
* Number of Equations - 2
* Number of Tables - 5
## Paper Notes
* Proposes a hybrid 3d and 2d model for general hyperspectral image(HSI) classification
* 3-D CNN: Employs principal component analysis on input data to reduce spatio-spectral images by its spectral bands(depth) in order to remove spatial redundancy
- 3D convolution → 3D kernel convolves on 3D-data(spatio-spectral image)
- Uses 3d patches to determine image classification
- 3D patches: overlapping spatio-spectral convolutions where the centered pixel is used for classification
- Computationally expensive
- Papers recommend 3 layered model to extract spectral features
- One paper dubs this the Deep Metric Learning followed by a Conditional Random Field layer to make predictions
* 2-D CNN: Input data is convolved with 2d kernels(normal)
* Hybrid of both 3D and 2D Kernels are used for learning
- Use of 3D convolutions to capture spatial data and 2D convolutions to decrease computational expense and learn non-spectral information (features of images for classification)
* Utilizes both spatio-spectral imaging in the form of 3-d convulsions and non spatio-spectral imaging in the form 2d convolutions
* This model also shows great performance with little data
Conclusion: We believe the paper is highly reproducible and very well documented. The only potential issue we foresee is within the preprocessing phase.