Image Search Using Binary Vector Hashing and Pre-screening
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image retrieval systems using vector similarity searches are not suitable for large quantities of images, as they consume excessive memory and fail to balance speed and cost effectively.
Innovation Solution
Implementing a text-based search engine that generates a binary vector for an image using hashing techniques, indexes images based on these vectors, and employs full-text search engines with pre-screening to efficiently search for similar images, reducing memory usage and search latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If vector similarity searches are implemented in main memory, then search speed is improved, but memory consumption increases excessively
Solution Approach 1:
The patent segments the image database into multiple shards distributed across different storage nodes. Each shard contains a portion of the image data and its corresponding vector embeddings, allowing the system to process search queries across distributed segments rather than loading all data into main memory simultaneously. This segmentation enables scalable memory usage while maintaining search functionality.
Solution Approach 2:
The patent transitions from traditional main memory-based search to a distributed storage architecture that adds spatial distribution as another dimension. By organizing data across multiple storage nodes and using efficient indexing structures, the system achieves fast search performance without requiring all data to reside in main memory, effectively trading memory space for distributed storage capacity.
2Device complexity
If conventional image retrieval systems are used, then implementation simplicity is maintained, but they are not suitable for large quantities of images
Solution Approach 1:
The patent implements a universal search architecture that can handle both small and large-scale image datasets using the same core mechanisms. The system uses standardized vector embeddings, efficient indexing structures, and distributed storage that scale automatically with dataset size, eliminating the need for different system architectures when transitioning from small to large datasets.
Solution Approach 2:
The patent performs preliminary actions by pre-computing and storing vector embeddings for all images in the dataset before actual search operations. This pre-processing step creates ready-to-use representations that enable fast similarity searches without requiring complex real-time image analysis during query execution, simplifying the search process while handling large datasets efficiently.
3Loss of time
If main memory-based search is used, then search latency is reduced, but cost of limited memory space increases
Solution Approach 1:
The patent introduces efficient indexing structures and approximate nearest neighbor algorithms as intermediaries between the query and the full image database. These intermediaries enable fast search operations by filtering candidate results before performing detailed similarity computations, reducing the amount of data that needs to be accessed from storage while maintaining low search latency.
Solution Approach 2:
The patent employs approximate nearest neighbor search with configurable accuracy parameters that allow tuning between search speed and result precision. By adjusting these parameters, the system can optimize performance for different use cases, achieving low latency searches without requiring all image data to be loaded into main memory, thus reducing memory space costs.
Data Source
AI summary
A method including pre-screening second images from a database for a search result based on a first image and also based on respective substring distances between first binary substrings for the first image and respective second binary substrings for each of the second images. The method further can include after the pre-screening, determining a respective image distance for each third image of third images of the search result, wherein the respective image distance is between the first image and the each third image of the third images of the search result, and after determining the respective image distance for each third image of the third images of the search result, when the respective image distance for a particular one of the third images is greater than a predetermined image distance threshold, removing the particular one of the third images from the search result before the search result is displayed on a user device requesting the search result. Other embodiments are disclosed.


