Abstract
Log-polar imaging is a kind of foveal, biologically inspired visual representation with advantageous properties in practical applications in computer vision, robotics, and other fields. While the cheapest, most flexible, and most common approach to get log-polar images is to use software-based mappers, this solution entails a cost which prevents certain experiments or applications from being feasible. This may be the case in some real-time (robotic) applications and, in general, when the conversion cost is not affordable for the task at hand. To overcome this drawback and make log-polar imaging more generally available, parallel solutions with affordable modern multi-core architectures have been devised, implemented, and tested in this work. Experimental results reveal that speed-up factors as high as or higher than 10 or 20, depending on the configuration, are possible to get log-polar images from large gray-level or color cartesian images using commodity graphics processors. Remarkable speedups are also reported for current multi-core processors. This noteworthy performance allows visual tasks that would otherwise be unthinkable with sequential implementations to become feasible. Additionally, since three different approaches have been explored and compared in terms of several criteria, different cost-effective choices are advisable depending on different visual task requirements or hardware availability.
Similar content being viewed by others
References
CImg.: http://cimg.sourceforge.net. Accessed Sept 2012
CUDA.: http://developer.nvidia.com/object/gpucomputing.html. Accessed Sept 2012
OpenCL.: http://www.khronos.org/opencl. Accessed Sept 2012
OpenGL.: http://www.opengl.org. Accessed Sept 2012
OpenMP.: http://www.openmp.org. Accessed Sept 2012
Visual Computer Vision on GPUs.: http://www.cs.unc.edu/~jmf/CV_GPU_program.html. CVPR 08 Workshop (2008). Accessed Sept 2012
Babenko, P., Shah, M.: MinGPU: a minimum GPU library for computer vision. J. Real-Time Image Process. 3(4), 255–268 (2008)
Belongie, S., Malik, J., Puzicha, J.: Shape matching and object recognition using shape contexts. PAMI 24(4), 509–522 (2002). doi:10.1109/34.993558
Bernardino, A., Santos-Victor, J.: Visual behaviors for binocular tracking. Robot. Auton. Syst. 25, 137–146 (1998)
Blake, G., Dreslinski, R., Mudge, T.: A survey of multicore processors. IEEE Signal Process. Mag. 26(6), 26–37 (2009)
Blythe, D.: The Direct3D 10 system. ACM Trans. Graph 25(3), 724–734 (2006)
Bolduc, M., Levine, M.D.: A real-time foveated sensor with overlapping receptive fields. Real Time Imaging 3(3), 195–212 (1997)
Böttger, J., Balzer, M., Deussen, O.: Complex logarithmic views for small details in large contexts. IEEE Trans. Visual. Comput. Graphics 12((5), 845–852 (2006)
Bustos, P., Recio, F., Guinea, D., Garcia-Alegre, M.C.: Cortical representations in active vision on a network of transputers. In: ECPD International Conference on Advanced Robotics and Intelligent Automation, pp. 259–264, Athens, Greece (1995)
Capurro, C., Panerai, F., Sandini, G.: Dynamic vergence using log-polar images. Int. J. Comput. Vis. 24(1), 79–94 (1997)
Chen, T., Budnikov, D., Hughes, C., Chen, Y.K.: Computer vision on multi-core processors: articulated body tracking. In: IEEE International Conference on Multimedia and Expo, 2007, pp. 1862–1865 (2007)
Chen, Y., Chakrabarti, C., Bhattacharyya, S., Bougard, B.: Signal processing on platforms with multiple cores. Part 2—applications and design [from the guest editors]. IEEE Signal Process. Mag. 27(2), 20–21 (2010)
Chen, Y.K., Chakrabarti, C., Bhattacharyya, S., Bougard, B.: Signal processing on platforms with multiple cores. Part 1—overview and methodologies [from the guest editors]. IEEE Signal Process. Mag. 26(6), 24–25 (2009)
CVGPU—Computer Vision on GPUs.: http://www.cvgpu.org. ECCV 10 Workshop, Crete, Greece (2010)
El-Mahdy, A., El-Shishiny, H.: An efficient load-balancing algorithm for image processing applications on multicore processors. In: Proceedings of the 1st international forum on Next-generation multicore/manycore technologies, IFMT’08, pp. 8:1–8:5. ACM, New York (2008)
Fisher, T.E., Juday, R.D.: A programmable video image remapper. In: SPIE Conference on Pattern Recognition and Signal Processing, vol. 938 (Digital and Optical Shape Representation and Pattern Recognition), pp. 122–128 (1988)
Franchetti, F., Püschel, M., Voronenko, Y., Chellappa, S., Moura, J.M.F.: Discrete Fourier transform on multicore. IEEE Signal Process. Mag. 26(6), 90–102 (2009)
Group, K.: OpenGL shading language (GLSL), v. 4.1. http://www.opengl.org/documentation/glsl (2010)
Hartley, T.D.R., Ç atalyü rek, Ü.V., Ruiz, A., Igual, F.D., Mayo, R., Ujaldon, M.: Biomedical image analysis on a cooperative cluster of GPU s and multicores. In: ACM International Conference on Supercomputing (ICS), pp. 15–25 (2008)
Hoan, L., Youngjae, C., Kyoungsu, O.: Image mosaic using log-polar binning. In: First Asian Conference on Pattern Recognition (ACPR), pp. 144–148 (2011)
Jurie, F.: A new log-polar mapping for space variant imaging. Application to face detection and tracking. Pattern Recognit. 32, 865–875 (1999)
Kim, D., Lee, V., Chen, Y.K.: Image processing on multicore x86 architectures. IEEE Signal Process. Mag. 27(2), 97–107 (2010)
Kim, H., Bond, R.: Multicore software technologies. IEEE Signal Process. Mag. 26(6), 80–89 (2009)
Massone, L., Sandini, G., Tagliasco, V.: ‘Form-Invariant’ topological mapping strategy for 2D shape recognition. Comput. Vis. Graph. Image Process. 30, 169–188 (1985)
NVIDIA.: CUDA best practices guide (version 3.0). http://developer.download.nvidia.com/compute/cuda/3_0/toolkit/docs/NVIDIA_CUDA_BestPracticesGuide.pdf (2010)
Pardo, F., Dierickx, B., Scheffer, D.: Space-variant nonorthogonal structure CMOS image sensor design. J. Solid-State Circ. 33(6), 842–849 (1998)
Peng, F., Guo, R.S., Li, C.T., Long, M.: A semi-fragile watermarking algorithm for authenticating 2D CAD engineering graphics based on log-polar transformation. Comput.-Aid. Des. 42(12), 1207–1216 (2010)
Poli, G., Saito, J.H., Mari, J.a.F., Zorzan, M.R.: Processing neocognitron of face recognition on high performance environment based on GPU with CUDA architecture. In: Proceedings of the 20th International Symposium on Computer Architecture and High Performance Computing, pp. 81–88 (2008)
Powell, K.: Biomedical imaging ecosystem and the role of the GPU . In: IEEE International Symposium on Biomedical Imaging: From Nano to Macro (ISBI’09) , pp. 1291–1292 (2009)
Rofouei, M., Stathopoulos, T., Ryffel, S., Kaiser, W., Sarrafzadeh, M.: Energy-aware high performance computing with graphic processing units. In: Proceedings of the 2008 conference on Power aware computing and systems (HotPower’08) (2008)
Saini, N., Sinha, A.: Optics based biometric encryption using log polar transform. Opt. Commun. 283(1), 34–43 (2010)
Samsi, S., Gadepally, V., Krishnamurthy, A.: MATLAB for signal processing on multiprocessors and multicores. IEEE Signal Process. Mag. 27(2), 40–49 (2010)
Sandini, G., Dario, P., DeMicheli, M., Tistarelli, M.: Retina-like CCD sensor for active vision. In: Computer and Systems Sciences (NATO ARW on Robots and Biological Systems). Springer, Il Ciocco, Tuscany (1989)
Schwartz, E.L., Greve, D.N., Bonmassar, G.: Space-variant active vision: definition, overview and examples. Neural Networks 8(7–8), 1297–1308 (1995)
Setoain, J., Prieto, M., Tenllado, C., Tirado, F.: GPU for parallel on-board hyperspectral image processing. Int. J. High Perform. Comput. Appl 22, 424–437 (2008)
Shin, C.W., Inokuchi, S., Kim, K.I.: Retina-like visual sensor for fast tracking and navigation robots. Mach. Vis. Appl. 10, 1–8 (1997)
Slabaugh, G., Boyes, R., Yang, X.: Multicore image processing with OpenMP. IEEE Signal Process. Mag. 27(2), 134–138 (2010)
del Solar, J.R., Nowack, C., Schneider, B.: VIPOL: a virtual polar-logarithmic sensor. In: Scandinavian Conference on Image Analysis (SCIA), pp. 739–744, Finland (1997)
Traver, V.J., Bernardino, A.: A review of log-polar imaging for visual perception in robotics. Robot. Auton. Syst. 58(4), 378–398 (2010)
Traver, V.J., Pla, F.: Similarity motion estimation and active tracking through spatial-domain projections on log-polar images. Comput. Vis. Image Underst. 97(2), 209–241 (2005)
Traver, V.J., Pla, F.: Log-polar mapping template design: from task-level requirements to geometry parameters. Image Vis. Comput. 26(10), 1354–1370 (2008)
Wallace, R.S., Ong, P.W., Bederson, B.B., Schwartz, E.L.: Space variant image processing. Int. J. Comput. Vis. 13(1), 71–90 (1994)
Wang, Y.C., Donyanavard, B., Cheng, K.T.: Energy-aware real-time face recognition system on mobile CPU-GPU platform. In: http://www.cvgpu.org. ECCV 10 Workshop, Crete, Greece (2010)
Weiman, C.F.R.: Video compression via log-polar mapping. In: SPIE Symposium on OE/Aerospace Sensing, Orlando, Florida (1990)
Wilson, J.C., Hodgson, R.M.: Log-polar mapping applied to pattern representation and recognition. In: Computer Vision and Image Processing, pp. 245–277 (1992)
Woelders, W.W., Frowein, H.W., Nielsen, J., Questa, P., Sandini, G.: New developments in low-bit rate videotelephony for people who are deaf. J. Speech Lang. Hearing Res. 40, 1425–1433 (1997)
Wong, W.K., Choo, C.W., Loo, C.K., Teh, J.: FPGA implementation of log-polar mapping. Int. J. Comput. Appl. Technol. 39(1/2/3), 12–18 (2010)
Wong, W.K., Choo, C.W., Loo, C.K., Teh, J.P.: FPGA implementation of log-polar mapping. In: 15th International Conference on Mechatronics and Machine Vision in Practice (M2VIP08), Auckland, New Zealand (2008)
Wong, W.K., Loo, C.K., Lim, W.S., Tan, P.N.: Thermal condition monitoring system using log-polar mapping, quaternion correlation and max-product fuzzy neural network classification. Neurocomputing 74(1–3), 164–177 (2010)
Zhang, X., Tay, L.P.: A spatial variant approach for vergence control in complex scenes. Image Vis. Comput. 29(1), 64–77 (2011)
Zokai, S., Wolberg, G.: Image registration using log-polar mappings for recovery of large-scale similarity and projective transformations. IEEE Trans. Image Process. 14(10), 1422–1434 (2005)
Acknowledgments
The authors acknowledge the funding from the Spanish research programme Consolider Ingenio-2010 CSD2007-00018, from Fundació Caixa-Castelló Bancaixa under project P1-1A2010-11, from project DPI-2008-06636 and FPI grant BES-2009-027151 from the Spanish Ministerio de Ciencia e Innovación, and the research fellowship PREDOC/2006/02 from Jaume I University.
Author information
Authors and Affiliations
Corresponding author
Additional information
Authors listed in alphabetical order due to similar contributions.
Rights and permissions
About this article
Cite this article
Antonelli, M., Igual, F.D., Ramos, F. et al. Speeding up the log-polar transform with inexpensive parallel hardware: graphics units and multi-core architectures. J Real-Time Image Proc 10, 533–550 (2015). https://doi.org/10.1007/s11554-012-0281-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-012-0281-6