Caffe CNN-based classification of hyperspectral images on GPU

Abstract

Deep learning techniques based on Convolutional Neural Networks (CNNs) are extensively used for the classification of hyperspectral images. These techniques present high computational cost. In this paper, a GPU (Graphics Processing Unit) implementation of a spatial-spectral supervised classification scheme based on CNNs and applied to remote sensing datasets is presented. In particular, two deep learning libraries, Caffe and CuDNN, are used and compared. In order to achieve an efficient GPU projection, different techniques and optimizations have been applied. The implemented scheme comprises Principal Component Analysis (PCA) to extract the main features, a patch extraction around each pixel to take the spatial information into account, one convolutional layer for processing the spectral information, and fully connected layers to perform the classification. To improve the initial GPU implementation accuracy, a second convolutional layer has been added. High speedups are obtained together with competitive classification accuracies.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2

References

  1. 1.

    Fauvel M, Tarabalka Y, Benediktsson JA, Chanussot J, Tilton JC (2013) Advances in spectral-spatial classification of hyperspectral images. Proc IEEE 101(3):652–675

    Article  Google Scholar 

  2. 2.

    Yue J, Zhao W, Mao S, Liu H (2015) Spectral-spatial classification of hyperspectral images using deep convolutional neural networks. Remote Sens Lett 6(6):468–477

    Article  Google Scholar 

  3. 3.

    Hu W, Huang Y, Wei L, Zhang F, Li H (2015) Deep convolutional neural networks for hyperspectral image classification. J Sens https://doi.org/10.1155/2015/258619

  4. 4.

    Makantasis K, Karantzalos K, Doulamis A, Doulamis N (2015) Deep supervised learning for hyperspectral data classification through convolutional neural networks. In Proceeding of IEEE International Geoscience and Remote Sensing Symposium (IGARSS), pp 4959–4962

  5. 5.

    Zhao W, Du S (2016) Spectral-spatial feature extraction for hyperspectral image classification: a dimension reduction and deep learning approach. IEEE Trans Geosci Remote Sens 54(8):4544–4554

    Article  Google Scholar 

  6. 6.

    Chen Y, Jiang H, Li C, Jia X, Ghamisi P (2016) Deep feature extraction and classification of hyperspectral images based on convolutional neural networks. IEEE Trans Geosci Remote Sens 54(10):6232–6251

    Article  Google Scholar 

  7. 7.

    Li Y, Zhang H, Shen Q (2017) Spectral-spatial classification of hyperspectral imagery with 3D convolutional neural network. Remote Sens 9(1):67

    Article  Google Scholar 

  8. 8.

    Christophe E, Michel J, Inglada J (2011) Remote sensing processing: from multicore to GPU. IEEE J Sel Top Appl Earth Obs Remote Sens 4(3):643–652

    Article  Google Scholar 

  9. 9.

    Plaza A, Du Q, Chang Y, King RL (2011) High performance computing for hyperspectral remote sensing. IEEE J Sel Top Appl Earth Obs Remote Sens 4(3):528–544

    Article  Google Scholar 

  10. 10.

    Jia Y, Shelhamer E, Donahue J, Karayev S, Long J, Girshick R, Guadarrama S, Darrell T (2014) Caffe: Convolutional Architecture for Fast Feature Embedding, arXiv preprint arXiv:1408.5093

  11. 11.

    Nvidia (2017) cuDNN. https://developer.nvidia.com/cudnn. Accessed 22 Mar 2017

  12. 12.

    Aptoula E, Ozdemir MC, Yanikoglu B (2016) Deep learning with attribute profiles for hyperspectral image classification. IEEE Geosci Remote Sens Lett 13(12):1970–1974

    Article  Google Scholar 

  13. 13.

    Kirk David B, Wen-mei W. Hwu (2016) Programming Massively Parallel Processors A Hands-on Approach, Morgan Kaufmann

  14. 14.

    Nvidia (2016) Whitepaper: NVIDIA Tesla P100. http://www.nvidia.com/object/tesla-p100.html. Accessed 2 Dec 2016

  15. 15.

    Nvidia (2015) CULA Tools. http://www.culatools.com/. Accessed 13 Jan 2015

  16. 16.

    MAGMA (2015) Matrix Algebra on GPU and Multicore Architectures. http://icl.cs.utk.edu/projectsfiles/magma/doxygen/. Accessed 13 Jan 2017

  17. 17.

    Nvidia (2015) CUDA Toolkit Documentation: CUBLAS. http://docs.nvidia.com/cuda/cublas/. Accessed 11 Jan 2017

  18. 18.

    Garea AS, Heras DB, Argüello F (2016) GPU classification of remote sensing images using kernel ELM and extended morphological profiles. Int J Remote Sens 37(24):5918–5935

    Article  Google Scholar 

  19. 19.

    Fauvel M, Tarabalka Y, Benediktsson JA, Chanussot J, Tilton JC (2013) Advances in spectral-spatial classification of hyperspectral images. Proc IEEE 101(3):652–675

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported in part by the Consellería de Cultura, Educación e Ordenación Universitaria (Xunta de Galicia) [Grant Numbers GRC2014/008 and ED431G/08] and Ministry of Education, Culture and Sport, Government of Spain [Grant Numbers TIN2013-41129-P and TIN2016-76373-P]. These grants are co-funded by the European Union (European Regional Development Fund - ERDF).

Author information

Affiliations

Authors

Corresponding author

Correspondence to Alberto S. Garea.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Garea, A.S., Heras, D.B. & Argüello, F. Caffe CNN-based classification of hyperspectral images on GPU. J Supercomput 75, 1065–1077 (2019). https://doi.org/10.1007/s11227-018-2300-2

Download citation

Keywords

  • Hyperspectral
  • Classification
  • Convolutional neural network
  • Deep learning
  • Caffe
  • GPU
  • CuDNN