Parallel implementation of multiple kernel self-organizing maps for spectral unmixing

  • Ghada M. FathyEmail author
  • Hanan A. Hassan
  • Shaheera Rahwan
  • Walaa M. Sheta
Original Research Paper


Spectral unmixing algorithms are commonly used in processing of hyperspectral images to identify the elemental components, called end-members, and their corresponding information in each pixel of the image. However, these algorithms are computationally intensive and can become a bottleneck for remote sensing hyperspectral image processing, especially in large aerial imagery processing centers. This paper, explores the use of massive parallel processing graphical processing unit to speed up the multi kernel self-organizing map (MKSOM) unmixing algorithm. MKSOM is based on artificial neural networks, which makes it suitable to be efficiently parallelized. Two real benchmark hyperspectral images; AVIRIS Cuprite and Brullus are used to evaluate the performance of the parallel algorithm. The experimental results show that the proposed implementation is appropriated for real-time hyperspectral remote sensing applications due to a very small worst case parallel execution time (0.83 s when the number of classes is less than 9) which makes it feasible to be integrated as on-board processing on any Hyperspectral remote sensors. Our parallel technique achieved a significant speedup compared with a multi-threaded CPU implementation applied on the same hyperspectral image. The results showed a speedup of 93.46 × for SOM size of 256 and trained for 100 epochs on medium-sized HSI such as AVIRIS Cuprite.


Spectral unmixing Hyperspectral image GPU Self-organization map Remote sensing applications 



This work is funded by EU FP7 through the ER-ANETMED JC-WATER program, MapInvPlnt Project ANR15NMED0002-02.


  1. 1.
    Agathos, A., Li, J., Petcu, D., Plaza, A.: Multi-gpu implementation of the minimum volume simplex analysis algorithm for hyperspectral unmixing. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 7(6), 2281–2296 (2014)CrossRefGoogle Scholar
  2. 2.
    Alves, J.M.R., Nascimento, J.M.P., Bioucas-Dias, J.M., Plaza, A., Silva, V.: Parallel sparse unmixing of hyperspectral data. In: 2013 IEEE International Geoscience and Remote Sensing Symposium-IGARSS, pp. 1446–1449. IEEE, Melbourne, VIC, Australia (2013)CrossRefGoogle Scholar
  3. 3.
    Alves, J.M.R., Nascimento, J.M.P., Plaza, A., Sanchez, S., Bioucas-Dias, J.M., Silva, V.: Vertex component analysis GPU-based implementation for hyperspectral unmixing. In: 2012 4th Workshop on Hyperspectral Image and Signal Processing: Evolution in Remote Sensing (WHISPERS), pp. 1–4 . IEEE, Shanghai, China (2012)Google Scholar
  4. 4.
    Bernabé, S., Botella, G., Martín, G., Prieto-Matias, M., Plaza, A.: Parallel implementation of a full hyperspectral unmixing chain using opencl. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 10(6), 2452–2461 (2017)CrossRefGoogle Scholar
  5. 5.
    Bioucas-Dias, J.M., Plaza, A., Dobigeon, N., Parente, M., Du, Q., Gader, P., Chanussot, J.: Hyperspectral unmixing overview: geometrical, statistical, and sparse regression- based approaches. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 5(2), 354–379 (2012)CrossRefGoogle Scholar
  6. 6.
    Bishop, C., Bishop, C.M., et al.: Neural networks for pattern recognition. Oxford University Press, Oxford (1995)zbMATHGoogle Scholar
  7. 7.
    Boardman, J.W., Kruse, F.A., Green, R.O.: Mapping target signatures via partial unmixing of AVIRIS data (1995)Google Scholar
  8. 8.
    Boulet, R., Jouve, B., Rossi, F., Villa, N.: Batch kernel SOM and related Laplacian methods for social network analysis. Neurocomputing 71(7–9), 1257–1273 (2008)CrossRefGoogle Scholar
  9. 9.
    Delgado, J., Martin, G., Plaza, J., Jimenez, L.I., Plaza, A.: GPU implementation of spatial preprocessing for spectral unmixing of hyperspectral data. In: 2015 IEEE International Geoscience and Remote Sensing Symposium (IGARSS), pp. 5043–5046. IEEE, Milan, Italy (2015)CrossRefGoogle Scholar
  10. 10.
    Delgado, J., Martín, G., Plaza, J., Jiménez, L.I., Plaza, A.: Fast spatial preprocessing for spectral unmixing of hyperspectral data on graphics processing units. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 9(2), 952–961 (2016)CrossRefGoogle Scholar
  11. 11.
    Green, A.A., Berman, M., Switzer, P., Craig, M.D.: A transformation for ordering multispectral data in terms of image quality with implications for noise removal. IEEE Trans. Geosci. Remote Sens. 26(1), 65–74 (1988)CrossRefGoogle Scholar
  12. 12.
    Green, R.O., Eastwood, M.L., Sarture, C.M., Chrien, T.G., Aronsson, M., Chippendale, B.J., Faust, J.A., Pavri, B.E., Chovit, C.J., Solis, M., et al.: Imaging spectroscopy and the airborne visible/infrared imaging spectrometer (aviris). Remote Sens. Environ. 65(3), 227–248 (1998)CrossRefGoogle Scholar
  13. 13.
    Guerra, R., Martel, E., Khan, J., López, S., Athanas, P., Sarmiento, R.: On the evaluation of different high-performance computing platforms for hyperspectral imaging: an openCL-based approach. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 10(11), 4879–4897 (2017)CrossRefGoogle Scholar
  14. 14.
    Kohonen, T.: Self-organization and associative memory (2012)Google Scholar
  15. 15.
    MacDonald, D., Fyfe, C.: The kernel self-organising map. In: Knowledge-Based Intelligent Engineering Systems and Allied Technologies, 2000. Proceedings. Fourth International Conference on, vol. 1. IEEE, pp. 317–320 (2000)Google Scholar
  16. 16.
    Martinez, P., Aguilar, P.L., Pérez, R.M., Plaza, A.: Systolic SOM neural network for hyperspectral image classification. In: Neural Networks and Systolic Array Design, pp. 193–204 (2002)Google Scholar
  17. 17.
    Nascimento, J.M.P., Bioucas-Dias, J.M., Alves, J.M.R., Silva, V., Plaza, A.: Parallel hyperspectral unmixing on gpus. IEEE Geosci. Remote Sens. Lett. 11(3), 666–670 (2014)CrossRefGoogle Scholar
  18. 18.
    Nvidia CUDA. Nvidia CUDA C programming guide version 3.2. NVIDIA, Santa Clara, CA (2010)Google Scholar
  19. 19.
    Olteanu, M., Villa-Vialaneix, N., Cierco-Ayrolles, C.: Multiple kernel self-organizing maps. In: M. Verleyse (ed.) European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning. Bruges, Belgium, p. 83 (2013).
  20. 20.
    Plaza, A., Martín, G., Plaza, J., Zortea, M., Sanchez, S.: Recent developments in end-member extraction and spectral unmixing. In: Optical Remote Sensing, pp. 235–267. Springer (2011)Google Scholar
  21. 21.
    Plaza, A., Plaza, J.: Parallel implementation of linear and nonlinear spectral unmixing of remotely sensed hyperspectral images. In: High-Performance Computing in Remote Sensing, vol. 8183. International Society for Optics and Photonics, p. 81830D (2011)Google Scholar
  22. 22.
    Rashwana, S., Dobigeonb, N., Sheta, W., Hassan, H.: Unsupervised nonlinear spectral unmixing using multiple kernel self-organizing maps. Accepted in IET IMAGE PROCESSING (2018)Google Scholar
  23. 23.
    Rossi, F.: How many dissimilarity/kernel self-organizing map variants do we need? In: Advances in Self-Organizing Maps and Learning Vector Quantization, pp. 3–23. Springer (2014)Google Scholar
  24. 24.
    Sanchez, S., Paz, A., Martín, G., Plaza, A.: Parallel unmixing of remotely sensed hyperspectral images on commodity graphics processing units. Concurr. Comput. Pract. Exp. 23(13), 1538–1557 (2011)CrossRefGoogle Scholar
  25. 25.
    Anchez, S., Plaza, A.: Fast determination of the number of endmembers for real-time hyperspectral unmixing on GPUS. J. Real Time Image Process. 9(3), 397–405 (2014)CrossRefGoogle Scholar
  26. 26.
    Sanchez, S., Ramalho, R., Sousa, L., Plaza, A.: Real-time implementation of remotely sensed hyperspectral image unmixing on GPUS. J. Real Time Image Process. 10(3), 469–483 (2015)CrossRefGoogle Scholar
  27. 27.
    Sevilla, J., Bernabe, S., Plaza, A.: Unmixing-based content retrieval system for remotely sensed hyperspectral imagery on GPUS. J. Supercomput. 70(2), 588–599 (2014)CrossRefGoogle Scholar
  28. 28.
    Valencia, D., Plaza, A., Martínez, P., Plaza, J.: Parallel processing of high-dimensional remote sensing images using cluster computer architectures. Int. J. Comput. Appl. 14(1), 23 (2007)Google Scholar
  29. 29.
    Villa, N., Rossi, F.: A comparison between dissimilarity SOM and kernel SOM for clustering the vertices of a graph. In: Proceedings of the 6th Workshop on Self-Organizing Maps (WSOM 07), Bielefield, Germany (2007)Google Scholar
  30. 30.
    Wu, X., Huang, B., Plaza, A., Li, Y., Wu, C.: Real-time implementation of the pixel purity index algorithm for endmember identification on gpus. IEEE Geosci. Remote Sens. Lett. 11(5), 955–959 (2014)CrossRefGoogle Scholar
  31. 31.
    Wu, Z., Ye, S., Liu, J., Sun, L., Wei, Z.: Sparse non-negative matrix factorization on GPUS for hyperspectral unmixing. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 7(8), 3640–3649 (2014)CrossRefGoogle Scholar
  32. 32.
    Wu, Z., Ye, S., Wei, J., Wei, Z., Sun, L., Liu, J.: Fast endmember extraction for massive hyperspectral sensor data on GPUS. Int. J. Distrib. Sens. Netw. 9(10), 217180 (2013)CrossRefGoogle Scholar
  33. 33.
    Zhou, G., Zhang, X., Lang, Y., Bo, R., Jia, Y., Lin, J., Feng, Y.: A novel GPU-accelerated strategy for contingency screening of static security analysis. Int. J. Electr. Power Energy Syst. 83, 33–39 (2016)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Informatics Research InstituteSRTA CityAlexandriaEgypt

Personalised recommendations