Abstract
This article presents a novel CPU-based parallel algorithm (P-SURF) that computes the Speeded-Up Robust Features (SURF), a local descriptor that is able to find point correspondences between images in spite of scaling and rotation. The algorithm presented here parallelises all the seven major steps found in the original serial computation. The task in each of the steps is decomposed and the fractions are assigned to running threads bound onto distinctive processors. The implementation of the algorithm was tested using randomly selected images in regard to performance, scalability and stability. The results showed that its performance on mid-level Intel Core Duo processors was comparable to that of some fast GPU-based SURF implementations. For example, on a testing system equipped with an Intel Core Duo P8600 at 2.4 GHz, P-SURF was able to extract and represent features from a 640 × 480 image at a rate of 33 frames per second. The experimental results also revealed that, instead of leaving the threads to the kernel for processor assignment, assigning hard processor affinity by the algorithm produced better performance and stability.
Similar content being viewed by others
References
ISO/IEC/JTC1/SC29/WG11: CD 15938-3 MPEG-7 multimedia content description interface—part 3. In: MPEG Document W3703 (2000)
Huang, J., Kumar, S.R., Mitra, M., Zhu, W.J., Zabih, R.: Image indexing using color correlograms. In: Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition, pp. 762–768. IEEE Computer Society (1997)
Wu, P., Ro, Y.M., Won, C.S., Choi, Y.: Texture descriptors in MPEG-7. In: Proceedings of the 9th International Conference on Computer Analysis of Images and Patterns, Vol. 2124, pp. 21–28. Springer, Berlin/Heidelberg (2001)
Lowe, D.G.: Object recognition from local scale-invariant features. In: Proceedings of the 7th IEEE International Conference on Computer Vision, Vol. 2, pp. 1150–1157 (1999)
Lowe D.G.: Distinctive image features from scale-invariant keypoints. Int. J. Comput. Vis. 60(2), 91–110 (2004)
Mikolajczyk K., Schmid C.: A performance evaluation of local descriptors. IEEE Trans. Pattern Anal. Mach. Intell. 27(10), 1615–1630 (2005)
Ke, Y., Sukthankar, R., Huston, L.: An efficient parts-based near-duplicate and sub-image retrieval system. In: Proceedings of the 12th Annual ACM International Conference on Multimedia, pp. 869–876. ACM (2004)
Jing Y., Baluja S.: VisualRank applying pageRank to large-scale image search. IEEE Trans. Pattern Anal. Mach. Intell. 30(11), 1877–1890 (2008)
Ledwich, L., Williams, S.: Reduced SIFT features for image retrieval and indoor localisation. In: Proceedings of the Australian Conference on Robotics and Automation (2004)
Se, S., Ng, H.K., Jasiobedzki, P., Moyung, T.J.: Vision based modeling and localization for planetary exploration rovers. In: Proceedings of the 55th International Astronautical Congress (2004). http://www.stephense.com/research/papers/iac04.pdf
Bay, H., Tuytelaars, T., Gool, L.V.: SURF: speeded-Up robust features. In: Proceedings of the 9th European Conference on Computer Vision (2006)
Bay H., Ess A., Tuytelaars T., Gool L.V.: Speeded-up robust features (SURF). Comput. Vis. Image Underst. (CVIU) 110(3), 346–359 (2008)
Crow, F.C.: Summed-area tables for texture mapping. In: Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques, pp. 207–212. ACM (1984)
Viola, P., Jones, M.: Rapid object detection using a boosted cascade of simple features. In: Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 511–518 (2001)
Zhang, N.: Computing parallel speeded-up robust features (P-SURF) via POSIX threads. In: Proceedings of the 5th International Conference on Intelligent Computing. Springer, Berlin/Heidelberg (2009)
Cornelis, N., Gool, L.V.: Fast scale invariant feature detection and matching on programmable graphics hardware. In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, pp. 1–8 (2008)
Terriberry, T.B., French, L.M., Helmsen, J.: GPU accelerating speeded-up robust features. In: Proceedings of the 4th International Symposium on 3D Data Processing, Visualization and Transmission (2008)
NVIDIA Corporation: Parallel prefix sum (Scan) with CUDA (2008). Found with the project scan
NVIDIA Corporation: NVIDIA CUDA Programming Guide Version 2.1 (2008). http://www.nvidia.com/object/cuda_get.html
Blelloch, G.E.: Prefix sums and their applications. Technical report, Carnegie Mellon University (1990)
Veth M.M., Raquet J.: Fusing low-cost image and inertial sensors for passive navigation. Navigation 54(1), 11–20 (2007)
Brown, M., Lowe, D.G.: Invariant features from interest point groups. In: Proceedings of the British Machine Vision Conference, pp. 656–665. British Machine Vision Association (2002)
Kisačanin, B.: Integral image optimizations for embedded vision applications. In: Proceedings of the 2008 IEEE Southwest Symposium on Image Analysis and Interpretation, pp. 181–184 (2008)
Zhou, F., Kornerup, P.: Computing moments by prefix sums. In: Proceedings of the 1996 International Conference on Image Processing, Vol. 3, pp. 619–622 (1996)
Grama, A., Karypis, G., Kumar, V., Gupta, A.: Introduction to parallel computing, 2nd edn, Chap. 2, p. 21. Pearson Education Limited (2003)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zhang, N. Computing Optimised Parallel Speeded-Up Robust Features (P-SURF) on Multi-Core Processors. Int J Parallel Prog 38, 138–158 (2010). https://doi.org/10.1007/s10766-009-0122-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-009-0122-9