The Journal of Supercomputing

, Volume 75, Issue 3, pp 1065–1077 | Cite as

Caffe CNN-based classification of hyperspectral images on GPU

  • Alberto S. GareaEmail author
  • Dora B. Heras
  • Francisco Argüello


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.


Hyperspectral Classification Convolutional neural network Deep learning Caffe GPU CuDNN 



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).


  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–675CrossRefGoogle 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–477CrossRefGoogle Scholar
  3. 3.
    Hu W, Huang Y, Wei L, Zhang F, Li H (2015) Deep convolutional neural networks for hyperspectral image classification. J Sens
  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–4962Google Scholar
  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–4554CrossRefGoogle 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–6251CrossRefGoogle 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):67CrossRefGoogle 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–652CrossRefGoogle 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–544CrossRefGoogle 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. 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–1974CrossRefGoogle Scholar
  13. 13.
    Kirk David B, Wen-mei W. Hwu (2016) Programming Massively Parallel Processors A Hands-on Approach, Morgan KaufmannGoogle Scholar
  14. 14.
    Nvidia (2016) Whitepaper: NVIDIA Tesla P100. Accessed 2 Dec 2016
  15. 15.
    Nvidia (2015) CULA Tools. Accessed 13 Jan 2015
  16. 16.
    MAGMA (2015) Matrix Algebra on GPU and Multicore Architectures. Accessed 13 Jan 2017
  17. 17.
    Nvidia (2015) CUDA Toolkit Documentation: 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–5935CrossRefGoogle 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–675CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Centro singular de Investigación en Tecnoloxías da Información (CiTIUS)Universidade de Santiago de CompostelaSantiago de CompostelaSpain
  2. 2.Departamento de Electrónica y ComputaciónUniversidade de Santiago de CompostelaSantiago de CompostelaSpain

Personalised recommendations