Efficient keypoint matching for robot vision using GPUs

Finding correspondences between two images is a fundamental task in computer vision. Focusing on robot vision this task has to be computed as fast as possible allowing further computations to finish within frametime. Given this viewpoint the performance of the correspondence task determines the robot's visual abilities. In this paper we present a framework for robot vision allowing this task to be solved at rates of up to 200 frames per second. These high framerates are achievable by consistently optimizing a SIMD implementation for robot vision use cases. The three steps feature extraction, feature description and feature matching are explained in detail. Using a dense calculation of haar wavelet responses based on integral images, the rank of the structure tensor is approximated to determine keypoints with subpixel accuracy. Due to scaling the wavelets themselves, no prior image smoothing or scaling is required. For keypoint matching these dense haar wavelet responses are reused to build image descriptors. To avoid heavyweight image descriptor comparisons, an efficient prematching step based on simple bitmask operations is introduced. A CUDA-implementation is available for download.

[1]  Paul A. Viola,et al.  Rapid object detection using a boosted cascade of simple features , 2001, Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. CVPR 2001.

[2]  Yakup Genc,et al.  GPU-based Video Feature Tracking And Matching , 2006 .

[3]  Luc Van Gool,et al.  Fast scale invariant feature detection and matching on programmable graphics hardware , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[4]  Ernst D. Dickmanns,et al.  Corner Detection with Minimal Effort on Multiple Scales , 2008, VISAPP.

[5]  Robert C. Bolles,et al.  Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography , 1981, CACM.

[6]  Carlo Tomasi,et al.  Good features to track , 1994, 1994 Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.

[7]  Christopher Hunt,et al.  Notes on the OpenSURF Library , 2009 .

[8]  Tom Drummond,et al.  Fusing points and lines for high performance tracking , 2005, Tenth IEEE International Conference on Computer Vision (ICCV'05) Volume 1.

[9]  Christopher G. Harris,et al.  A Combined Corner and Edge Detector , 1988, Alvey Vision Conference.

[10]  Cordelia Schmid,et al.  A performance evaluation of local descriptors , 2005, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[11]  Roland Siegwart,et al.  Real-time monocular visual odometry for on-road vehicles with 1-point RANSAC , 2009, 2009 IEEE International Conference on Robotics and Automation.

[12]  Tony Lindeberg,et al.  Scale-Space Theory in Computer Vision , 1993, Lecture Notes in Computer Science.

[13]  Vincent Lepetit,et al.  Fast Keypoint Recognition in Ten Lines of Code , 2007, 2007 IEEE Conference on Computer Vision and Pattern Recognition.

[14]  Tom Drummond,et al.  Robust feature matching in 2.3µs , 2009, 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

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

[16]  Pietro Perona,et al.  Evaluation of Features Detectors and Descriptors based on 3D Objects , 2005, Tenth IEEE International Conference on Computer Vision (ICCV'05) Volume 1.