Skip to main content
Log in

Practical scalable image analysis and indexing using Hadoop

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

The ability to handle very large amounts of image data is important for image analysis, indexing and retrieval applications. Sadly, in the literature, scalability aspects are often ignored or glanced over, especially with respect to the intricacies of actual implementation details. In this paper we present a case-study showing how a standard bag-of-visual-words image indexing pipeline can be scaled across a distributed cluster of machines. In order to achieve scalability, we investigate the optimal combination of hybridisations of the MapReduce distributed computational framework which allows the components of the analysis and indexing pipeline to be effectively mapped and run on modern server hardware. We then demonstrate the scalability of the approach practically with a set of image analysis and indexing tools built on top of the Apache Hadoop MapReduce framework. The tools used for our experiments are freely available as open-source software, and the paper fully describes the nuances of their implementation.

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.

Institutional subscriptions

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

Similar content being viewed by others

Notes

  1. http://www.flickr.com/photos/eon60/6000000000/

  2. http://photobucket.com/

  3. http://twitter.com/#!/facebook/status/22372857292005376

  4. http://nips.cc/Conferences/2011/Program/event.php?ID=2518

  5. http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=13548&copyownerid=19220

  6. http://openmp.org/wp/

  7. http://www.systemc.org/home/

  8. http://www.khronos.org/opencl/

  9. For more details on the big data GPU state of the art see this Azinta Systems blog post http://bit.ly/gpuMapReduce

  10. http://hadoop.apache.org/

  11. http://www.iterativeMapReduce.org/

  12. http://discoproject.org/

  13. http://www.mongodb.org/display/DOCS/MapReduce

  14. http://mahout.apache.org/

  15. https://cwiki.apache.org/MAHOUT/k-means-clustering.html

  16. Google has recently moved to a distributed in-memory inverted index for its web search engine, however this requires massive amounts of hardware [11, see].

  17. http://www.openimaj.org

  18. http://www.imageterrier.org

  19. http://www.terrier.org

  20. http://www.image-net.org

  21. https://github.com/sinjax/ssh-imagenet-timeingTest

  22. http://www.vis.uky.edu/~stewe/ukbench/

References

  1. Amazon Elastic Compute Cloud (Amazon EC2) (2008) Amazon Inc. http://aws.amazon.com/ec2/. Accessed 23 Oct 2012

  2. Akram HI, Batard A, de la Higuera C, Eckert C (2010) Psma: a parallel algorithm for learning regular languages. In: NIPS workshop on learning on cores, clusters and clouds, Vancouver, BC Canada, http://lccc.eecs.berkeley.edu/Papers/PSMA_LCCC_2010_NIPS.pdf

  3. Ananthanarayanan R, Esser SK, Simon HD, Modha DS (2009) The cat is out of the bag: cortical simulations with 109 neurons, 1013 synapses. In: Proceedings of the conference on high performance computing networking, storage and analysis, SC ’09, pp 63:1–63:12

  4. Arthur D, Vassilvitskii S (2006) k-means+ +: the advantages of careful seeding. Technical Report 2006-13, Stanford InfoLab. http://ilpubs.stanford.edu:8090/778/

  5. Asanovic K, Bodik R, Catanzaro BC, Gebis JJ, Husbands P, Keutzer K, Patterson DA, Plishker WL, Shalf J, Williams SW, Yelick KA (2006) The landscape of parallel computing research: a view from Berkeley. Tech Rep UCB/EECS-2006-183, EECS Department, University of California, Berkeley

  6. Bhuiyan M, Pallipuram V, Smith M (2010) Acceleration of spiking neural networks in emerging multi-core and gpu architectures. In: 2010 IEEE international symposium on parallel distributed processing, workshops and Phd forum (IPDPSW), pp 1–8. doi:10.1109/IPDPSW.2010.5470899

  7. Bornschein J, Dai Z, Lücke J (2009) Approximate em learning on large computer clusters. In: NIPS workshop: learning on cores, clusters and clouds

  8. Cadambi S, Durdanovic I, Jakkula V, Sankaradass M, Cosatto E, Chakradhar S, Graf HP (2009) A massively parallel fpga-based coprocessor for support vector machines. In: Proc IEEE FCCM, FCCM ’09, pp 115–122

  9. Chu CT, Kim SK, Lin YA, Yu Y, Bradski GR, Ng AY, Olukotun K (2006) Map-reduce for machine learning on multicore. In: Schölkopf B, Platt JC, Hoffman T (eds) NIPS, MIT Press, pp 281–288. http://www.cs.stanford.edu/people/ang//papers/nips06-mapreducemulticore.pdf

  10. Coates A, Baumstarck P, Le Q, Ng A (2009) Scalable learning for object detection with gpu hardware. In: IEEE/RSJ international conference on intelligent robots and systems, 2009. IROS 2009. pp 4287–4293. doi:10.1109/IROS.2009.5354084

  11. Dean J (2009) Challenges in building large-scale information retrieval systems: invited talk. In: Proceedings of the second ACM international conference on Web search and data mining, ACM, New York, NY, USA, WSDM ’09, pp 1–1, doi:10.1145/1498759.1498761

    Chapter  Google Scholar 

  12. Dean J, Ghemawat S (2004) Mapreduce: simplified data processing on large clusters. In: Proceedings of the 6th conference on symposium on opearting systems design & implementation, vol 6. USENIX Association, Berkeley, CA, USA, OSDI’04, pp 10–10. http://dl.acm.org/citation.cfm?id=1251254.1251264

    Google Scholar 

  13. Deng J, Dong W, Socher R, Li LJ, Li K, Fei-Fei L (2009) ImageNet: a large-scale hierarchical image database. In: CVPR09

  14. Farivar R, Verma A, Chan E, Campbell RH (2009) Mithra: multiple data independent tasks on a heterogeneous resource architecture. In: CLUSTER, IEEE, pp 1–10

  15. Forum MP (1994) Mpi: a message-passing interface standard. Tech rep, Knoxville, TN, USA

  16. Franc V, Sonnenburg S (2008) Optimized cutting plane algorithm for support vector machines. In: ICML ’08: proceedings of the 25th international conference on Machine learning, ACM, New York, NY, USA, pp 320–327. doi:10.1145/1390156.1390197

    Chapter  Google Scholar 

  17. Ghoting A, Krishnamurthy R, Pednault E, Reinwald B, Sindhwani V, Tatikonda S, Tian Y, Vaithyanathan S (2011) Systemml: declarative machine learning on mapreduce. In: 2011 IEEE 27th International Conference on Data Engineering (ICDE), pp 231–242. doi:10.1109/ICDE.2011.5767930

  18. Graf HP, Cosatto E, Bottou L, Durdanovic I, Vapnik V (2004) Parallel support vector machines: the cascade svm. In: NIPS

  19. Gregg C, Hazelwood K (2011) Where is the data? Why you cannot debate gpu vs. cpu performance without the answer. In: International symposium on performance analysis of systems and software, Austin, TX, ISPASS

  20. Hamada T, Iitaka T (2007) The chamomile scheme: an optimized algorithm for n-body simulations on programmable graphics processing units. http://www.citebase.org/abstract?id=oai:arXiv.org:astro-ph/0703100

  21. Hare J, Samangooei S, Lewis P (2011) Efficient clustering and quantisation of sift features: exploiting characteristics of the sift descriptor and interest region detectors under image inversion. In: The ACM International Conference on Multimedia Retrieval (ICMR 2011), ACM Press. http://eprints.ecs.soton.ac.uk/22237/

  22. Hare J, Samangooei S, Dupplaw D, Lewis P (2012) Imageterrier: an extensible platform for scalable high-performance image retrieval. In: The ACM International Conference on Multimedia Retrieval (ICMR 2012)

  23. Hare JS, Samangooei S, Dupplaw DP (2011) OpenIMAJ and ImageTerrier: Java libraries and tools for scalable multimedia analysis and indexing of images. In: Proceedings of ACM multimedia 2011, ACM, MM ’11, pp 691–694. doi:10.1145/2072298.2072421

  24. Heinz S, Zobel J (2003) Efficient single-pass index construction for text databases. J Am Soc Inf Sci Technol 54:713–729

    Article  Google Scholar 

  25. Hoefler T, Lumsdaine A, Dongarra J (2009) Towards efficient MapReduce using MPI. In: Recent advances in parallel virtual machine and message passing interface, 16th European PVM/MPI users’ group meeting, Springer

  26. Huiskes MJ, Lew MS (2008) The MIR Flickr retrieval evaluation. In: MIR ’08: proceedings of the 2008 ACM international conference on multimedia information retrieval, ACM, New York, NY, USA

    Google Scholar 

  27. Jegou H, Douze M, Schmid C (2008) Hamming embedding and weak geometric consistency for large scale image search. In: Proceedings of ECCV 2008, Springer-Verlag, Berlin, Heidelberg, ECCV ’08, pp 304–317

    Google Scholar 

  28. Kadir T, Brady M (2001) Saliency, scale and image description. Int J Comput Vis 45(2):83–105

    Article  MATH  Google Scholar 

  29. Li Y, Crandall D, Huttenlocher D (2009) Landmark classification in large-scale image collections. In: 2009 IEEE 12th international conference on computer vision, pp 1957–1964. doi:10.1109/ICCV.2009.5459432

  30. Lowe D (2004) Distinctive image features from scale-invariant keypoints. IJCV 60(2):91–110

    Article  Google Scholar 

  31. Macqueen JB (1967) Some methods of classification and analysis of multivariate observations. In: Proceedings of the fifth Berkeley symposium on mathematical statistics and probability, pp 281–297

  32. Matas J, Chum O, Urban M, Pajdla T (2002) Robust wide baseline stereo from maximally stable extremal regions. In: Rosin PL, Marshall AD (eds) BMVC, British machine vision association

  33. McCreadie R, Macdonald C, Ounis I (2011) Mapreduce indexing strategies: studying scalability and efficiency. Inf Process Manag. doi:10.1016/j.ipm.2010.12.003

    Google Scholar 

  34. Mikolajczyk K, Schmid C (2003) A performance evaluation of local descriptors. In: CVPR, vol 2, pp 257–263

  35. Mikolajczyk K, Tuytelaars T, Schmid C, Zisserman A, Matas J, Schaffalitzky F, Kadir T, Gool LV (2005) A comparison of affine region detectors. IJCV 65(1/2):43–72

    Article  Google Scholar 

  36. Morel JM, Yu G (2009) ASIFT: a new framework for fully affine invariant image comparison. SIAM J Img Sci 2(2):438–469

    Article  MATH  MathSciNet  Google Scholar 

  37. Nistér D, Stewénius H (2006) Scalable recognition with a vocabulary tree. In: CVPR, pp 2161–2168

  38. O’Hara S, Draper BA (2011) Introduction to the bag of features paradigm for image classification and retrieval. CoRR

  39. Philbin J (2010) Scalable object retrieval in very large image collections. PhD thesis, University of Oxford

  40. Philbin J, Chum O, Isard M, Sivic J, Zisserman A (2007) Object retrieval with large vocabularies and fast spatial matching. In: CVPR

  41. Raina R, Madhavan A, Ng AY (2009) Largescale deep unsupervised learning using graphics processors. In: International conf on machine learning

  42. Rice KL, Taha TM, Vutsinas CN (2009) Scaling analysis of a neocortex inspired cognitive model on the cray xd1. J Supercomput 47:21–43

    Article  Google Scholar 

  43. Shan Y, Wang B, Yan J, Wang Y, Xu N, Yang H (2010) Fpmr: mapreduce framework on fpga. In: Proceedings of the 18th annual ACM/SIGDA international symposium on field programmable gate arrays, ACM, New York, NY, USA, FPGA ’10, pp 93–102. doi:10.1145/1723112.1723129

    Chapter  Google Scholar 

  44. Sivic J, Zisserman A (2003) Video Google: a text retrieval approach to object matching in videos. In: ICCV, pp 1470–1477

  45. Smeulders AWM, Worring M, Santini S, Gupta A, Jain R (2000) Content-based image retrieval at the end of the early years. PAMI 22(12):1349–1380. doi:10.1109/34.895972

    Article  Google Scholar 

  46. Subramanya A, Bilme J (2009) Large-scale graph-based transductive inference. In: NIPS workshop on learning on cores, clusters and CloudsLarge-scale machine learning: parallelism and massive datasets

  47. White B, Yeh T, Lin J, Davis L (2010) Web-scale computer vision using mapreduce for multimedia data mining. In: Proceedings of the tenth international workshop on multimedia data mining, ACM, New York, NY, USA, MDMKDD’10, pp 9:1–9:10, doi:10.1145/1814245.1814254

    Chapter  Google Scholar 

  48. Xu NY, Cai XF, Gao R, Zhang L, Hsu FH (2009) Fpga acceleration of rankboost in web search engines. ACM Trans Reconfigurable Technol Syst 1:19:1–19:19

    Google Scholar 

  49. Ye J, Chow JH, Chen J, Zheng Z (2009) Stochastic gradient boosted distributed decision trees. In: CIKM ’09: Proceeding of the 18th ACM conference on information and knowledge management, ACM, pp 2061–2064

Download references

Acknowledgements

The development of the tools and techniques described in this paper was funded by the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreements n° 270239 (ARCOMEM), 231126 (LivingKnowledge) and 287863 (TrendMiner) together with the LiveMemories project, graciously funded by the Autonomous Province of Trento (Italy).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sina Samangooei.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hare, J.S., Samangooei, S. & Lewis, P.H. Practical scalable image analysis and indexing using Hadoop. Multimed Tools Appl 71, 1215–1248 (2014). https://doi.org/10.1007/s11042-012-1256-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-012-1256-0

Keywords

Navigation