Caffe CNN-based classification of hyperspectral images on GPU
- 281 Downloads
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.
KeywordsHyperspectral 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).
- 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.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
- 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.Nvidia (2017) cuDNN. https://developer.nvidia.com/cudnn. Accessed 22 Mar 2017
- 13.Kirk David B, Wen-mei W. Hwu (2016) Programming Massively Parallel Processors A Hands-on Approach, Morgan KaufmannGoogle Scholar
- 14.Nvidia (2016) Whitepaper: NVIDIA Tesla P100. http://www.nvidia.com/object/tesla-p100.html. Accessed 2 Dec 2016
- 15.Nvidia (2015) CULA Tools. http://www.culatools.com/. Accessed 13 Jan 2015
- 16.MAGMA (2015) Matrix Algebra on GPU and Multicore Architectures. http://icl.cs.utk.edu/projectsfiles/magma/doxygen/. Accessed 13 Jan 2017
- 17.Nvidia (2015) CUDA Toolkit Documentation: CUBLAS. http://docs.nvidia.com/cuda/cublas/. Accessed 11 Jan 2017