传统Bag of Features方法的OpenCV C++代码。
(关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)
在深度学习逐渐统治计算机视觉领域的时候,传统算法依然有用武之地。在以图搜图应用里,“搜相同”仍旧广泛使用Bag of Features方法,本文来源于《Image Processing On Line》期刊最新的论文“Efficient Large-scale Image Search With a Vocabulary Tree”,回顾并开源了基于词汇树的大规模图像搜索。
搜索和识别图像中的对象已成为图像处理和计算机视觉领域的重要研究课题。给定输入查询图像,尽可能快地在大数据集中寻找类似图像,是非常具有挑战性的任务。在本文中,研究了Bag of Features方法,并介绍了Nistér和Stewénius的视觉词汇树方法的实现。训练时使用局部不变描述符技术描述图像,然后使用倒排索引在数据库中索引图像以用于后续进一步的查询。根据视觉词汇表量化图像局部特征描述符,创建稀疏矢量,这可以使得执行查询时非常高效地计算索引图像的相似性并据此排序。在性能分析部分研究了不同的因素对检索结果的影响,如词汇树构造的参数,局部描述符提取的不同技术(SIFT、SURF、ORB等)和PCA的降维。结果显示,检索性能随着训练时词汇量的增加而增加,而随着数据集的规模增大,检索性能衰减得非常缓慢。证明本文实现的图像检索方法可以有效应对大规模的图像检索。
图像被表示为Bag of Features稀疏向量