Accelerating High-Dimensional Nearest Neighbors for Video Search

Carlo C. del Mundo,Alexa Yao

semanticscholar(2014)

引用 0|浏览1
暂无评分
摘要
The k-nearest neighbor algorithm (kNN) is a critical algorithm used extensively in fields such as Computer Vision, Robotics, and Machine Learning. In this work, we address the performance of FLANN, a popular kNN library, at the node-level by co-designing indexing and search algorithms with software support. We characterize, profile, and optimize FLANN for high-dimensionality (e.g., ≥ 4096) for two systems: an enterprise-grade Intel E5520 CPU and a lowpower ARM Cortex A15 CPU. Our profiling suggests that the priority queue k-means kNN algorithm is the best candidate for software acceleration as 98.8% of indexing and 97.5% of search time is spent on calculating the Euclidean distance between two vectors. We implemented vectorization with Intel SSE and ARM Neon extensions and multithreading with OpenMP. Overall, our software optimizations improve search and indexing by factors of 2.27-fold and 5.16-fold, respectively, for the Intel CPU and 1.45-fold and 4.07-fold, respectively, for the ARM CPU. Finally, we projected the performance in offloading the computations to an on-board GPU in the ARM platform. Our projection suggests that even if GPU computation took zero time, data movement in a unified CPU/GPU SoC platform would still degrade performance by a factor of 9.90-fold compared to the optimized Intel CPU version.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要