Abstract
This article presents two optimized implementations of the PCA algorithm, primarily targeted on spectral image analysis in real time. One of them utilizes the SSE instruction set of contemporary CPUs, and the other one runs on graphics processors, using the CUDA environment. The implementations are evaluated and compared with a multithreaded C implementation compiled by an optimizing compiler and the results show speed-ups of around 10 × which allows for using PCA on RGB and spectral images in real time. The discussed implementations are made available in a dynamically linked library, including a MATLAB plug-in interface so that they can be used by the professional public.
Similar content being viewed by others
Notes
Download library from http://www.fit.vutbr.cz/research/groups/graph/download/cupca.zip
References
Andrecut, M.: Parallel GPU implementation of iterative PCA algorithms. CoRR, abs/0811.1081 (2008)
Čadík, M.: Perceptually Based Image Quality Assessment and Image Transformations. Ph.D. thesis. Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague (2008)
Cheng, X., Tao, Y., Chen, Y.-R., Chen, X.: Integrated pca-fld method for hyperspectral imagery feature extraction and band selection. In: Biomedical Imaging: 3rd IEEE International Symposium on Nano to Macro, 2006, pp. 1384–1387 (2006)
Goldstine, H.H., Murray, F.J., von Neumann, J.: The jacobi method for real symmetric matrices. J ACM 6(1), 59–96 (1959)
Haavisto, O.: Reflectance spectrum analysis of mineral flotation froths and slurries. PhD thesis, Helsinki University of Technology, Espoo, Finland (2009)
Harris, M.: Optimizing parallel reduction in CUDA. nVidia, online. http://developer.download.nvidia.com/compute/cuda/1_1/Website/projects/reduction/doc/reduction.pdf. Accessed January 2010 (2010).
Hauta-Kasari, M., Lehtonen, J., Parkkinen, J., Jaaskelainen, T.: Spectral image compression for data communications. In: Proceedings of SPIE, the International Society for Optical Engineering, vol. 4300, pp. 42–49 (2001)
Jackson, E.J.: A User’s Guide to Principal Components (Wiley Series in Probability and Statistics). Wiley, London (2003)
Jolliffe, I.T.: Principal Component Analysis, 2nd edn. Springer, Berlin (2002)
Kenro, O., Takeyuki, A., Yasuhiro, K., Hideaki, H., Masahiro, Y., Ohyama, N.: Six-band hdtv camera system for spectrum-based color reproduction. J. Imag. Sci. Technol., 48(2):85–92 (2004)
Khronos OpenCL Working Group.: The OpenCL specification, October 2009. http://www.khronos.org/registry/cl/specs/opencl-1.0.48.pdf. Accessed January 2010 (2010)
Laamanen, H., Jetsu, T., Jaaskelainen, T., Parkkinen, J.: Weighted compression of spectral color information. J. Opt. Soc. Am. A 25(6), 1383–1388 (2008)
NVIDIA.: NVIDIA CUDA Programming Guide 2.0. (2008)
Ohmer, J.F., Maire, F., Brown, R.: Implementation of kernel methods on the GPU. In: DICTA. IEEE Computer Society, pp. 78 (2005)
Parkkinen, J., Lentonen, J., Jaaskelainen, T.: Optimal sampling of color spectra. J. Opt. Soc. Am. A, 23, 2983–2988 (2006)
Reeves, J.B., McCarty, G.W., Rutherford, D.W., Wershaw, R.L.: Mid-infrared diffuse reflectance spectroscopic examination of charred pine wood, bark, cellulose, and lignin: Implications for the quantitative determination of charcoal in soils. Appl. Spectrosc. 62(2), 182–189 (2008)
Yotsuda, T., Yamamoto, T., Ishizawa, H., Nishimatsu, T., Toba, E.: Near infrared spectral imaging for water absorbency of woven fabrics. In: Proceedings of the 21st IEEE on Instrumentation and Measurement Technology Conference, 2004. IMTC 04, vol. 3, pp. 2258–2261 (2004)
Acknowledgments
This work was supported by the research program LC-06008 (Center for Computer Graphics) and by the research project “Security-Oriented Research in Information Technology” CEZMSMT, MSM0021630528. Medical videos were obtained from the Department of Neurosurgery, Kuopio University Hospital, Finland.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Jošth, R., Antikainen, J., Havel, J. et al. Real-time PCA calculation for spectral imaging (using SIMD and GP-GPU). J Real-Time Image Proc 7, 95–103 (2012). https://doi.org/10.1007/s11554-010-0190-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-010-0190-5