Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
data
hnswlib
CMakeLists.txt
README.md
makeIdx.cpp
makeSIFTs.cpp
makeSearch.cpp
siftsIndex.cpp
siftsIndex.hpp
svf.cpp
svf.hpp

README.md

HNSW SIFTs Retrieval

hnsw_sifts_retrieval,是一个已直接索引SIFT并通过SIFT匹配点数排序的检索应用,在使用SIFT点数排序的时候,对SIFT匹配的点数做了弱几何校验,剔除误匹配的点数。

数据适应规模

适合在小中型数据规模上检索。

文件说明

  • hnswlib,对于SIFT特征点的索引,采用HNSW进行索引,HNSW是一种以图方式构建的ANN搜索方法,选择该方法的理由是该方法在ANN搜索方法里,取得的召回率是很优秀的。
  • makeSIFTs.cpp,对库中的图片提取rootsift特征,并将描述子以及几何信息保存在一个文件中。
  • makeIdx.cpp,对提取的rootsift特征构建索引。
  • makeSearch.cpp,对输入的查询图片进行检索。考虑到需要对每个SIFT描述子都需要做1次查询,为保证效率,提取SIFT的时候,设置点数不超过128个。具体可以根据实际使用调整该值。

匹配算法

  • svf.hpp是匹配算法的主要接口,对角度进行弱几何校验后进行霍夫投票,得到校验后的匹配点后,再删除重复匹配的点对,防止出现一对多或多对一的匹配情况出现。

效果测评

测试了少量的case,效果很好。