Skip to main content
Log in

A Comparative Study of Parallel RANSAC Implementations in 3D Space

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

RANSAC (RAndom SAmple Consensus) is an iterative method for estimating the parameters of a certain mathematical model from a set of data which may contain a large number of outliers (noisy points). The main problem of the RANSAC algorithm is that it is too expensive in terms of execution time when real-time processing is needed (30 fps). In view of the importance of this algorithm and the rise of parallelism-based technologies, we analyze and compare in this work various parallel implementations based on different techniques (OpenMP, POSIX Threads, and CUDA). To the best of our knowledge, no other articles have attempted a similar study. In order to make this first study, we have used some standard metrics in parallelism (Runtime and Speedup) and some specific metrics used in evaluating search strategies (Precision, Recall, and F-Score). Furthermore, the experiments have been executed in different hardware alternatives in order to present a more complete study. The conclusions of our study show the advantages and disadvantages of the different parallel implementations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Bay, H., Tuytelaars, T., Gool, L.: Speeded-up robust features (SURF). Comput. Vis. Image Underst. 110(3), 346–359 (2008). doi:10.1016/j.cviu.2007.09.014

    Article  Google Scholar 

  2. Buttlar, D., Farrell, J., Nichols, B.: PThreads Programming: A POSIX Standard for Better Multiprocessing. O’Reilly Media, Sebastopol (2013)

    Google Scholar 

  3. Byrd, R.J., Steinhubl, S.R., Sun, J., Ebadollahi, S., Stewart, W.F.: Automatic identification of heart failure diagnostic criteria, using text analysis of clinical notes from electronic health records. Int. J. Med. Inform. (2013). doi:10.1016/j.ijmedinf.2012.12.005

  4. Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming. No. 10 in Scientific and Engineering Computation Series. MIT Press, Cambridge (2008)

  5. Chen, B., Shi, J., Zhang, S., Wu, F.X.: Identifying protein complexes in protein–protein interaction networks by using clique seeds and graph entropy. Proteomics 13(2), 269–277 (2013). doi:10.1002/pmic.201200336

    Article  Google Scholar 

  6. Eid, H., Azar, A., Hassanien, A.: Improved real-time discretize network intrusion detection system. In: Bansal, J.C., Singh, P.K., Deep, K., Pant, M., Nagar, A.K. (eds.) Proceedings of Seventh International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA 2012), Advances in Intelligent Systems and Computing, vol. 201, pp. 99–109. Springer, India (2013). doi:10.1007/978-81-32210382_9

  7. Fijany, A., Diotalevi, F.: A Cooperative Search Algorithm for Highly Parallel Implementation of RANSAC for Model Estimation on Tilera MIMD Architecture. In: Aerospace Conference, 2012 IEEE, pp. 1–14 (2012). doi:10.1109/AERO.2012.6187227

  8. Fischler, M.A., Bolles, R.C.: Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM 24(6), 381–395 (1981). doi:10.1145/358669.358692

    Article  MathSciNet  Google Scholar 

  9. Fung, J., Mann, S.: Using graphics devices in reverse: GPU-based image processing and computer vision. In: Multimedia and Expo, 2008 IEEE International Conference on, pp. 9–12 (2008)

  10. Goutte, C., Gaussier, E.: A probabilistic interpretation of precision, recall and F-score, with implication for evaluation. In: Losada, D., Fernández-Luna, J. (eds.) Advances in Information Retrieval, Lecture Notes in Computer Science, vol. 3408, pp. 345–359. Springer, Berlin (2005). doi:10.1007/9783540318651_25

  11. Imtiaz, H., Mahbub, U., Ahad, M.: Action recognition algorithm based on optical flow and RANSAC in frequency domain. In: SICE Annual Conference (SICE), 2011 Proceedings of, pp. 1627–1631 (2011)

  12. Iser, R., Kubus, D., Wahl, F.: An efficient parallel approach to Random Sample Matching (pRANSAM). In: Robotics and Automation, 2009. ICRA ’09. IEEE International Conference on, pp. 1199–1206 (2009). doi:10.1109/ROBOT.2009.5152282

  13. Munir, A., Gordon-Ross, A., Ranka, S.: Parallelized benchmark-driven performance evaluation of SMPs and tiled multi-core architectures for embedded systems. In: Performance Computing and Communications Conference (IPCCC), 2012 IEEE 31st International, pp. 416–423 (2012). doi:10.1109/PCCC.2012.6407785

  14. Muthu Rama Krishnan, M., Acharya, U., Chua, C.K., Min, L.C., Ng, E.Y.K., Mushrif, M., Laude, A.: Application of intuitionistic fuzzy histon segmentation for the automated detection of optic disc in digital fundus images. In: Biomedical and Health Informatics (BHI), 2012 IEEE-EMBS International Conference on, pp. 444–447 (2012). doi:10.1109/BHI.2012.6211611

  15. Oualline, S.: Practical C++ Programming. O’Reilly Media, Sebastopol (2013)

    Google Scholar 

  16. Papazov, C., Burschka, D.: An efficient RANSAC for 3D object recognition in noisy and occluded scenes. In: Kimmel, R., Klette, R., Sugimoto, A. (eds.) Computer Vision ACCV 2010. Lecture Notes in Computer Science, vol. 6492, pp. 135–148. Springer, Berlin (2011)

  17. Raguram, R., Frahm, J.M., Pollefeys, M.: A comparative analysis of RANSAC techniques leading to adaptive real-time random sample consensus. In: Forsyth, D., Torr, P., Zisserman, A. (eds.) Computer Vision ECCV 2008, Lecture Notes in Computer Science, vol. 5303, pp. 500–513. Springer, Berlin Heidelberg (2008). doi:10.1007/978-3-540-88688-4_37

  18. Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley, Reading (2011)

    Google Scholar 

  19. Simsa, J., Bryant, R., Gibson, G., Hickey, J.: Scalable dynamic partial order reduction. In: S. Qadeer, S. Tasiran (eds.) Runtime Verification, Lecture Notes in Computer Science, vol. 7687, pp. 19–34. Springer, Berlin (2013). doi:10.1007/9783642356322_4

  20. Slabaugh, G., Boyes, R., Yang, X.: Multicore image processing with OpenMP [Applications Corner]. IEEE Signal Process. Mag. 27(2), 134–138 (2010)

    Article  Google Scholar 

  21. Zuliani, M.: RANSAC for Dummies (2008). http://vision.ece.ucsb.edu - University of California at Santa Barbara

Download references

Acknowledgments

This work was partially funded by the Projects of Excellence from the Junta de Andalucía (Spain) ROMOCOG I and ROMOCOG II (P09-TEP-4479 and P10-TEP-6412). The work was also partially funded by the Spanish Ministry of Economy and Competitiveness and the ERDF (European Regional Development Fund), under the contract TIN2012-30685 (BIO project).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alejandro Hidalgo-Paniagua.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hidalgo-Paniagua, A., Vega-Rodríguez, M.A., Pavón, N. et al. A Comparative Study of Parallel RANSAC Implementations in 3D Space. Int J Parallel Prog 43, 703–720 (2015). https://doi.org/10.1007/s10766-014-0316-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-014-0316-7

Keywords

Navigation