We often hear from our customers, “How does your visual search technology actually work?” Although we can’t reveal our secrets, we thought we would share some of the logic that happens behind the curtain so to speak.
VizSeek, which is the name of our visual search engine, uses shape instead of text to find what you are looking for. The technology itself is a bit complicated, but from a user’s perspective, it’s about as easy as it gets. Our technology allows a user to upload different types of files to use as a search input such as images, 2D drawings and 3D models and returns to the user similar geometry from within a given database including exact matches.
Let’s breakdown the search process and walk through an example of ranking world cities by proximity to a city given as input. First, the feature vector is computed for each city in the database using its latitude and longitude. Then each feature vector is positioned in an N-Dimensional space (N = number of dimensions of the feature vector = 2) as shown in Figure 1. Now, let’s say we would like to know which city in the database is closest to Tokyo. We would compute the feature vector of the search input which is Tokyo, position Tokyo in the 2-Dimensional space, and then measure the distance between Tokyo and each city in the database. Beijing would be returned as the closest match, and earn the number one rank in the search results.
Figure 1: 2-Dimensional space used for searching world cities by proximity.
The same logic applies during VizSeek visual search as shown in Figure 2. For each shape (image, 2D drawing, or 3D model) in the database, VizSeek computes its feature vector, and positions each shape in an N-Dimensional space (N > 2). What differs between this example and the world cities example are the defined rules that are being used for the computation of the feature vectors. If the visual search input being uploaded is a square, VizSeek computes the feature vector of the input square, and positions it in the N-Dimensional space. VizSeek then measures the distance between the input square and each shape in the database. VizSeek would then return the square as the most accurate match, and assign it the number one rank in the search results.
Figure 2: 2D projection of the N-Dimensional space used for visual search
In future blog posts we plan to cover how image-image, image-3D, 3D-3D, 2D-2D, 2D-3D visual search methods work. So stay tuned by following us on Twitter, LinkedIn or Facebook.
Contact us to learn more!