lolishinshi/imsearch

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

What it solves

imsearch is designed to find a full image within a large-scale dataset using only a small cropped screenshot of that image. It solves the problem of identifying the original source image when only a partial view is available.

How it works

The tool uses feature point matching to identify similarities. It leverages the FAISS library for efficient indexing and searching of these feature points. The process involves:

  1. Adding Images: Scanning directories for image files (jpg, png, webp).
  2. Training: Creating a BIVF index by training a clusterer on a representative sample of the image data to ensure balanced search speeds.
  3. Building: Constructing the final index based on the trained quantizer.
  4. Searching: Matching the feature points of a query image against the index to find the most similar images.

Who it’s for

Users who need to perform large-scale reverse image searches, specifically those looking to locate full images from small fragments or screenshots.

Highlights

  • Large-scale capability: Optimized for handling datasets ranging from a few thousand to millions of images.
  • Feature-point based: Specifically tuned for partial image matching rather than general image similarity.
  • HTTP API: Includes a built-in server mode that can load the index into memory for high-performance API access.
  • Docker support: Provided for easy deployment.

Related

  • Dispatch
  • Dispatch
  • Project
  • Project
  • Project