Journal of Real-Time Image Processing

, Volume 10, Issue 3, pp 533–550 | Cite as

Speeding up the log-polar transform with inexpensive parallel hardware: graphics units and multi-core architectures

  • Marco Antonelli
  • Francisco D. Igual
  • Francisco Ramos
  • V. Javier Traver
Original Research Paper

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.

Keywords

Log-polar mapping Real-time computer vision Graphics processors Multi-core CPUs CUDA Shaders 

References

  1. 1.
    CImg.: http://cimg.sourceforge.net. Accessed Sept 2012
  2. 2.
  3. 3.
    OpenCL.: http://www.khronos.org/opencl. Accessed Sept 2012
  4. 4.
    OpenGL.: http://www.opengl.org. Accessed Sept 2012
  5. 5.
    OpenMP.: http://www.openmp.org. Accessed Sept 2012
  6. 6.
    Visual Computer Vision on GPUs.: http://www.cs.unc.edu/~jmf/CV_GPU_program.html. CVPR 08 Workshop (2008). Accessed Sept 2012
  7. 7.
    Babenko, P., Shah, M.: MinGPU: a minimum GPU library for computer vision. J. Real-Time Image Process. 3(4), 255–268 (2008)CrossRefGoogle Scholar
  8. 8.
    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 Google Scholar
  9. 9.
    Bernardino, A., Santos-Victor, J.: Visual behaviors for binocular tracking. Robot. Auton. Syst. 25, 137–146 (1998)CrossRefGoogle Scholar
  10. 10.
    Blake, G., Dreslinski, R., Mudge, T.: A survey of multicore processors. IEEE Signal Process. Mag. 26(6), 26–37 (2009)CrossRefGoogle Scholar
  11. 11.
    Blythe, D.: The Direct3D 10 system. ACM Trans. Graph 25(3), 724–734 (2006)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Bolduc, M., Levine, M.D.: A real-time foveated sensor with overlapping receptive fields. Real Time Imaging 3(3), 195–212 (1997)CrossRefGoogle Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Capurro, C., Panerai, F., Sandini, G.: Dynamic vergence using log-polar images. Int. J. Comput. Vis. 24(1), 79–94 (1997)CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    CVGPU—Computer Vision on GPUs.: http://www.cvgpu.org. ECCV 10 Workshop, Crete, Greece (2010)
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)CrossRefGoogle Scholar
  23. 23.
    Group, K.: OpenGL shading language (GLSL), v. 4.1. http://www.opengl.org/documentation/glsl (2010)
  24. 24.
    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)Google Scholar
  25. 25.
    Hoan, L., Youngjae, C., Kyoungsu, O.: Image mosaic using log-polar binning. In: First Asian Conference on Pattern Recognition (ACPR), pp. 144–148 (2011)Google Scholar
  26. 26.
    Jurie, F.: A new log-polar mapping for space variant imaging. Application to face detection and tracking. Pattern Recognit. 32, 865–875 (1999)CrossRefGoogle Scholar
  27. 27.
    Kim, D., Lee, V., Chen, Y.K.: Image processing on multicore x86 architectures. IEEE Signal Process. Mag. 27(2), 97–107 (2010)CrossRefGoogle Scholar
  28. 28.
    Kim, H., Bond, R.: Multicore software technologies. IEEE Signal Process. Mag. 26(6), 80–89 (2009)CrossRefGoogle Scholar
  29. 29.
    Massone, L., Sandini, G., Tagliasco, V.: ‘Form-Invariant’ topological mapping strategy for 2D shape recognition. Comput. Vis. Graph. Image Process. 30, 169–188 (1985)CrossRefGoogle Scholar
  30. 30.
  31. 31.
    Pardo, F., Dierickx, B., Scheffer, D.: Space-variant nonorthogonal structure CMOS image sensor design. J. Solid-State Circ. 33(6), 842–849 (1998)CrossRefGoogle Scholar
  32. 32.
    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)CrossRefGoogle Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Saini, N., Sinha, A.: Optics based biometric encryption using log polar transform. Opt. Commun. 283(1), 34–43 (2010)CrossRefGoogle Scholar
  37. 37.
    Samsi, S., Gadepally, V., Krishnamurthy, A.: MATLAB for signal processing on multiprocessors and multicores. IEEE Signal Process. Mag. 27(2), 40–49 (2010)CrossRefGoogle Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    Schwartz, E.L., Greve, D.N., Bonmassar, G.: Space-variant active vision: definition, overview and examples. Neural Networks 8(7–8), 1297–1308 (1995)CrossRefGoogle Scholar
  40. 40.
    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)CrossRefGoogle Scholar
  41. 41.
    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)CrossRefGoogle Scholar
  42. 42.
    Slabaugh, G., Boyes, R., Yang, X.: Multicore image processing with OpenMP. IEEE Signal Process. Mag. 27(2), 134–138 (2010)CrossRefGoogle Scholar
  43. 43.
    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)Google Scholar
  44. 44.
    Traver, V.J., Bernardino, A.: A review of log-polar imaging for visual perception in robotics. Robot. Auton. Syst. 58(4), 378–398 (2010)CrossRefGoogle Scholar
  45. 45.
    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)CrossRefGoogle Scholar
  46. 46.
    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)CrossRefGoogle Scholar
  47. 47.
    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)CrossRefGoogle Scholar
  48. 48.
    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)
  49. 49.
    Weiman, C.F.R.: Video compression via log-polar mapping. In: SPIE Symposium on OE/Aerospace Sensing, Orlando, Florida (1990)Google Scholar
  50. 50.
    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)Google Scholar
  51. 51.
    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)CrossRefGoogle Scholar
  52. 52.
    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)CrossRefGoogle Scholar
  53. 53.
    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)Google Scholar
  54. 54.
    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)CrossRefGoogle Scholar
  55. 55.
    Zhang, X., Tay, L.P.: A spatial variant approach for vergence control in complex scenes. Image Vis. Comput. 29(1), 64–77 (2011)CrossRefGoogle Scholar
  56. 56.
    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)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Marco Antonelli
    • 1
    • 2
  • Francisco D. Igual
    • 3
  • Francisco Ramos
    • 4
    • 5
    • 7
  • V. Javier Traver
    • 4
    • 6
    • 7
  1. 1.Computer Science and Engineering DepartmentJaume I UniversityCastellónSpain
  2. 2.Robotics Intelligence LaboratoryJaume I UniversityCastellónSpain
  3. 3.Dept. Arquitectura de Computadores y AutomáticaUniversidad Complutense de MadridMadridSpain
  4. 4.Computer Languages and Systems DepartmentJaume I UniversityCastellónSpain
  5. 5.Computer Graphics GroupJaume I UniversityCastellónSpain
  6. 6.Computer Vision GroupJaume I UniversityCastellónSpain
  7. 7.Institute of New Imaging Technologies (iNIT), Jaume I UniversityCastellónSpain

Personalised recommendations