Effective naive Bayes nearest neighbor based image classification on GPU

Non-parametric classifier, Naive Bayes nearest neighbor, is designed with no training phase, and its performance outperforms many well-trained learning-based image classifiers. Unfortunately, despite its high accuracy, it suffers from great computational pressure from distance computations in space of local feature. This paper explores accelerating strategies from perspectives of both algorithm design and software development. Our approach integrates space decomposition capability of Product quantization (PQ) and parallel accelerating capability of underlying computational platform, Graphics processing unit (GPU). PQ is exploited to compress the indexed local features and prune the search space. GPU is used to ease most of computational pressure by processing the tasks in parallel. To achieve good parallel efficiency, a new sequential classification process is first designed and decomposed into independent components with high parallelism. Effective parallelization techniques are then presented to make use of computational resources. Parallel heap array is built to accelerate the process of feature quantization. Distance table lookup is built to speed up the process of feature search. Comparative experiments on UIUC-Sport dataset demonstrate that our integrated solution outperforms other implementations significantly on Core-quad Intel Core i7 950 CPU and GPU of NVIDIA Geforce GTX460. Scalability experiment on 80 million tiny images database shows that our approach still performs well when large-scale image database is explored.

[1]  Trevor Darrell,et al.  The NBNN kernel , 2011, 2011 International Conference on Computer Vision.

[2]  Inanc Senocak,et al.  Accelerating incompressible flow computations with a Pthreads-CUDA implementation on small-footprint multi-GPU platforms , 2010, The Journal of Supercomputing.

[3]  Martin Burger,et al.  Parallel medical image reconstruction: from graphics processing units (GPU) to Grids , 2010, The Journal of Supercomputing.

[4]  Chong-Wah Ngo,et al.  Evaluating bag-of-visual-words representations in scene classification , 2007, MIR '07.

[5]  David G. Lowe,et al.  Local Naive Bayes Nearest Neighbor for image classification , 2011, 2012 IEEE Conference on Computer Vision and Pattern Recognition.

[6]  Loong Fah Cheong,et al.  Affective understanding in film , 2006, IEEE Trans. Circuits Syst. Video Technol..

[7]  Maria Cristina Recchioni,et al.  Parallel option pricing on GPU: barrier options and realized variance options , 2012, The Journal of Supercomputing.

[8]  Li Fei-Fei,et al.  Towards total scene understanding: Classification, annotation and segmentation in an automatic framework , 2009, 2009 IEEE Conference on Computer Vision and Pattern Recognition.

[9]  Qi Zhang,et al.  Parallelization and optimization of a CBVIR system on multi-core architectures , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[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]  Yakup Genc,et al.  GPU-based Video Feature Tracking And Matching , 2006 .

[12]  Cordelia Schmid,et al.  Product Quantization for Nearest Neighbor Search , 2011, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[13]  Jianbin Fang,et al.  A Comprehensive Performance Comparison of CUDA and OpenCL , 2011, 2011 International Conference on Parallel Processing.

[14]  Andrew Zisserman,et al.  Representing shape with a spatial pyramid kernel , 2007, CIVR '07.

[15]  Jongman Kim,et al.  Multimedia Mining on Manycore Architectures: The Case for GPUs , 2009, ISVC.

[16]  Qi Tian,et al.  Refining image retrieval using one-class classification , 2009, 2009 IEEE International Conference on Multimedia and Expo.

[17]  Jongman Kim,et al.  Large-Scale Semantic Concept Detection on Manycore Platforms for Multimedia Mining , 2011, 2011 IEEE International Parallel & Distributed Processing Symposium.

[18]  Frank Nielsen,et al.  K-nearest neighbor search: Fast GPU-based implementations and application to high-dimensional feature matching , 2010, 2010 IEEE International Conference on Image Processing.

[19]  Hermann Ney,et al.  Shared-memory parallelization for content-based image retrieval , 2006 .

[20]  Endong Wang,et al.  Intel Math Kernel Library , 2014 .

[21]  Pedro Valero-Lara,et al.  MRF Satellite Image Classification on GPU , 2012, 2012 41st International Conference on Parallel Processing Workshops.

[22]  Eli Shechtman,et al.  In defense of Nearest-Neighbor based image classification , 2008, 2008 IEEE Conference on Computer Vision and Pattern Recognition.

[23]  Patricio Bulic,et al.  A GPU implementation of a structural-similarity-based aerial-image classification , 2013, The Journal of Supercomputing.

[24]  Patrice Quinton,et al.  Acceleration of a content-based image-retrieval application on the RDISK cluster , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[25]  Fei-Fei Li,et al.  What Does Classifying More Than 10, 000 Image Categories Tell Us? , 2010, ECCV.

[26]  James M. Rehg,et al.  Visual Place Categorization: Problem, dataset, and algorithm , 2009, 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[27]  Tikara Hosino,et al.  Multi‐GPU algorithm for k‐nearest neighbor problem , 2012, Concurr. Comput. Pract. Exp..

[28]  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.

[29]  Jose A. Belloch,et al.  Real-time massive convolution for audio applications on GPU , 2011, The Journal of Supercomputing.

[30]  Véronique Prinet,et al.  Towards Optimal Naive Bayes Nearest Neighbor , 2010, ECCV.

[31]  Antonio Torralba,et al.  Ieee Transactions on Pattern Analysis and Machine Intelligence 1 80 Million Tiny Images: a Large Dataset for Non-parametric Object and Scene Recognition , 2022 .

[32]  Koen E. A. van de Sande,et al.  Empowering Visual Categorization With the GPU , 2011, IEEE Transactions on Multimedia.

[33]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

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

[35]  Pietro Perona,et al.  Learning Generative Visual Models from Few Training Examples: An Incremental Bayesian Approach Tested on 101 Object Categories , 2004, 2004 Conference on Computer Vision and Pattern Recognition Workshop.

[36]  Qiang Liu,et al.  Digital Media Indexing on the Cell Processor , 2007, 2007 IEEE International Conference on Multimedia and Expo.