lolishinshi/imsearch

基于特征点匹配的大规模相似图片搜索

解决的问题

imsearch 旨在仅使用目标图像的小幅裁剪截图,从大规模数据集中查找完整的原始图像。它解决了在仅有部分视图的情况下识别原始源图像的问题。

工作原理

该工具使用特征点匹配来识别相似性。它利用 FAISS 库对这些特征点进行高效索引和搜索。整个过程包括:

  1. 添加图像:扫描目录中的图像文件(jpg、png、webp)。
  2. 训练:通过在图像数据的代表性样本上训练聚类器,创建 BIVF 索引,以确保搜索速度均衡。
  3. 构建:基于训练好的量化器构建最终索引。
  4. 搜索:将查询图像的特征点与索引进行匹配,以找到最相似的图像。

适用人群

需要执行大规模反向图像搜索的用户,特别是希望从小型片段或截图中定位完整图像的人。

主要亮点

  • 大规模处理能力:针对从几千到数百万张图像的数据集进行了优化。
  • 基于特征点:专门针对部分图像匹配,而非一般图像相似性。
  • HTTP API:内置服务器模式,可将索引加载到内存中,实现高性能 API 访问。
  • Docker 支持:提供 Docker 镜像,便于部署。

相关