Large-scale feature matching with distributed and heterogeneous computing

Feature matching is a fundamental problem in many computer vision tasks. As datasets become larger, and individual image resolution increases, this is becoming more and more computationally demanding work. While prior knowledge about the scene geometry can, in some cases, reduce the number of image pairs that need to be considered, the sheer volume of data means that parallel and distributed computing solutions must be considered. In this paper we examine the costs incurred in such solutions, and assess the way in which the problem scales with the number of cores within a single node, and the number of nodes in a distributed system. We also consider the role of heterogeneous systems, where nodes with different numbers and types of cores (including GPUs) are included in a distributed system. We show that distribution of this task across a cluster of machines has good (sometimes super-linear) scalability. However, scalability on many-core machines and GPU architectures is more limited, and is thus an important area for future research.

[1]  Michael Isard,et al.  Total Recall: Automatic Query Expansion with a Generative Feature Model for Object Retrieval , 2007, 2007 IEEE 11th International Conference on Computer Vision.

[2]  Bernhard P. Wrobel,et al.  Multiple View Geometry in Computer Vision , 2001 .

[3]  George Bosilca,et al.  Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation , 2004, PVM/MPI.

[4]  Johannes Gehrke,et al.  MatchMiner: Efficient Spanning Structure Mining in Large Image Collections , 2012, ECCV.

[5]  Quan Chen,et al.  Adaptive Cache Aware Bitier Work-Stealing in Multisocket Multicore Architectures , 2013, IEEE Transactions on Parallel and Distributed Systems.

[6]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[7]  Richard Szeliski,et al.  Skeletal graphs for efficient structure from motion , 2008, 2008 IEEE Conference on Computer Vision and Pattern Recognition.

[8]  Niklaus Wirth,et al.  Algorithms + Data Structures = Programs , 1976 .

[9]  Jan-Michael Frahm,et al.  Building Rome on a Cloudless Day , 2010, ECCV.

[10]  Michel Barlaud,et al.  Fast k nearest neighbor search using GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[11]  Sunil Arya,et al.  An optimal algorithm for approximate nearest neighbor searching fixed dimensions , 1998, JACM.

[12]  Jan-Michael Frahm,et al.  Improved Geometric Verification for Large Scale Landmark Image Collections , 2012, BMVC.

[13]  Lawrence Cayton,et al.  Accelerating Nearest Neighbor Search on Manycore Systems , 2011, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[14]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[15]  G LoweDavid,et al.  Distinctive Image Features from Scale-Invariant Keypoints , 2004 .

[16]  Andrew W. Fitzgibbon,et al.  Bundle Adjustment - A Modern Synthesis , 1999, Workshop on Vision Algorithms.

[17]  Andrew Owens,et al.  Discrete-continuous optimization for large-scale structure from motion , 2011, CVPR 2011.

[18]  David Nistér,et al.  Scalable Recognition with a Vocabulary Tree , 2006, 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06).

[19]  Richard Szeliski,et al.  Building Rome in a day , 2009, 2009 IEEE 12th International Conference on Computer Vision.