Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual similarity search algorithm

I'm trying to build a utility like this http://labs.ideeinc.com/multicolr, but I don't know which algorithm they are using, Does anyone know?

like image 830
Emrah Avatar asked Jun 12 '09 17:06

Emrah


People also ask

How do you find the similarity of an image?

How could we compute how similar one image is to another? For similarity among data in a vectorized form, we can find the sum of the squared differences between two examples, or use similar methods like cosine similarity.

What is deep ranking?

Learning Fine-grained Image Similarity with Deep Ranking is a novel application of neural networks, where the authors use a new multi scale architecture combined with a triplet loss to create a neural network that is able to perform image search.

What are image Embeddings?

What are image embeddings? An image embedding is a lower-dimensional representation of the image. In other words, it is a dense vector representation of the image which can be used for many tasks such as classification. A convolutional neural network (CNN) can be used to create the image embedding.


1 Answers

I'd suggest you do some kind of clustering of the colors present in the images in your database. I mean, for each image in your database:

  • collect the colors of each pixel in the image
  • perform clustering (let's say k-mean clustering with 5 clusters) on the collected colors
  • store the clustered colors as representative descriptor of the image

When the user provides a set of one or more query colors you do some kind of greedy matching choosing the best match between the given colors and the color descriptor (the 5 reprsentative colors) of each image in your database.

What is the size of your image collection, because depending on the size some search indexing can be a bigger problem than the alogorith itself?

like image 183
stockpodium Avatar answered Oct 28 '22 12:10

stockpodium