By: Nicholas Soucy and Dr. Salimeh Yasaei Sekeh
Offical repository for the CEU-Net code from the paper titled: "CEU-Net: Ensemble Semantic Segmentation of Hyperspectral Images Using Clustering" by Nicholas Soucy and Salimeh Yasaei Sekeh.
Most semantic segmentation approaches of hyperspectral images use and require preprocessing steps in the form of patching to accurately classify diversified land cover in remotely sensed images. These approaches use patching to incorporate the rich spacial neighborhood information in images and exploit the simplicity and segmentability of the most common datasets. In contrast, most landmasses in the world consist of overlapping and diffused classes, making neighborhood information weaker than what is seen in common datasets. To combat this common issue and generalize the segmentation models to more complex and diverse hyperspectral datasets, in this work, we propose a novel flagship model: Clustering Ensemble U-Net. Our model uses the ensemble method to combine spectral information extracted from convolutional neural network training on a cluster of landscape pixels.
Clustering Ensemble U-Net (CEU-Net) works by leveraging clustering and ensemble methods to create subsets of the data so each sub-U-Net within the ensemble model becomes an expert at a clustered subset of the data.
- Scikit-Learn: 1.0.2
- Numpy: 1.20.3
- Spectral: 0.22.4
- Tensorflow: 2.3.0
- Keras: 2.4.3
In this paper we develop two deep learning semantic segmentation methods: Single U-Net and CEU-Net. Both are found in the "networks.py" script.
The most direct visualization of the code is provided in "CEU-Net-Example.ipynb." For running the code more efficiently, I recommend running via "run.py."
NOTE: The Houston dataset is not avaliable for redistribution. Therefore, you must download the Houston dataset for youself and place the files into a folder named "Houston" in the "Data" folder.
Results can be found in the paper. In addition, some of the visual results are provided in the folder "Figure Examples."
Original Single U-Net code was based of the github by thatbrguy
Changes to the code include different preprocessing and layer parameters.
