The Magic Of Reverse Image Search

Are you familiar with the images shown above? What if you want to find out what these images contain? For those of you who are not familiar with Google reverse image search, do the following: Go to Google Images and click on the camera icon towards the right end of the search bar.  

Now, you can either paste the URL to an image or upload your own image. You can use the two images above to check it out. Once you upload the image, click on search and see what happens! How on earth did it find out what was there in this image? We didn’t provide any kind of information and yet it was able to find out exactly what those images contain. Not only that, it provided many similar images and a lot of links providing more information about the same. This is the magic of reverse image search!

Why do we need it?

When Google first came out, it was a text based search engine. It means that people would enter text in the search bar and Google would try to find out the links which are closest to what the user wants. But this search was rather inane and unintuitive. After sometime, Google improved their service and started to understand what the users want. Whenever a user types something, it is important to understand the structure of the sentence to provide the most accurate search results. So Google heavily integrated natural language processing into the service. Then the world starting moving more and more towards visual data. If the users know what they want, they would just type it and Google would display millions of links pointing towards that. But what if I see something and I don’t know what it’s called? I just want to take a picture and find out more about it. This is where reverse image search comes into picture.

What exactly is it?

Whenever a user enters an image as the input, a reverse image search engine tries to understand the contents of the image. It extracts certain prominent features from that image and creates a compact digital signature (or ‘fingerprint’). It will then use this to compare against all the images in the database. The good thing is that it is invariant to the size or orientation of the image. It means that if a monument has horizontal orientation in one image of smaller size and vertical orientation in some other image of bigger size, the algorithm will still match these two images because the content is the same. For computer vision buffs, some of the most popular feature descriptors include SURF, SIFT (although SIFT is under heavy patent protection), FAST, BRIEF, SLF, PHOW etc. The algorithms are proprietary and companies don’t tend to reveal this information.

How is it done?

Since there are billions of images on the web, how do we look for this particular image in a fast and efficient way? We expect an accurate result really quickly along with a bunch of images and links which are similar to what we are looking for. A commonly used technique is Locality-Sensitive Hashing (LSH), which is used for indexing and searching the database. It is a method for performing probabilistic dimensionality reduction of high dimensional data. Similar items are hashed into a single bucket. Other methods are used as well, but the common idea is that the number of dimensions should be reduced so that the search speed can be increased. For example, if you are asked to spot Seville on the world map, it would be helpful if you know that it is a city in Spain. You will not waste your time in searching the entire globe. Instead, you will just limit your search to Spain. Similarly, efficient organization is required to reduce the time taken to come up with search results.

Google is not the only player in this field, but it’s certainly the biggest. There are many other services like TinEye, Byo Image Search, Gazpopa, RevIMG etc, but they don’t have Google’s resources. They have to continuously crawl the web and keep indexing the images. Google has already indexed billions of images and they do it at a rapid pace. TinEye started up before Google and was actually the first service that was actually good in reverse image search, but then Google came up with their own and gobbled up all the competition.

————————————————————————————————-

27 thoughts on “The Magic Of Reverse Image Search

  1. Hmm it looks like your website ate my first comment (it was super long) so
    I guess I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog.
    I too am an aspiring blog blogger but I’m still new to everything. Do you have any tips for beginner blog writers? I’d really appreciate it.

    • Thanks a lot. Good to know that you are enjoying my blog posts. There are many ways to improve your blogging skills. One effective way is to blog very regularly. Just set a deadline and make sure you publish a blog post every ‘n’ days. Once you finish each post, read it back from the perspective of someone who has absolutely no idea about that topic. This gives you great insight as to how you can construct your blog posts effectively to convey your point. Another important thing to keep in mind is to keep your posts relatively short (around 500-600 words). People usually don’t like to read lengthy blog posts. It will also help you to be precise. Hope this helps!

  2. I leave a leave a response when I like a article on a blog or I have something to add to the discussion.
    It’s a result of the passion communicated in the post I
    looked at. And on this post The Magic Of Reverse Image Search |
    Perpetual Enigma. I was actually moved enough to drop a leave a responsea response 😉 I actually do have a
    few questions for you if you don’t mind. Could it
    be simply me or does it give the impression like a few of these remarks come across
    like they are left by brain dead folks? 😛 And, if you are posting at additional online sites, I would
    like to follow you. Could you list the complete urls
    of your public sites like your linkedin profile, Facebook page
    or twitter feed?

  3. Hello there, just became aware of your blog through Google, and found that it is truly informative.

    I’m going to watch out for brussels. I will
    be grateful if you continue this in future. A lot of people will be benefited from your writing.
    Cheers!

  4. First off I want to say awesome blog! I had a quick
    question that I’d like to ask if you do not mind.
    I was curious to find out how you center yourself and clear your mind prior
    to writing. I’ve had a hard time clearing my thoughts in getting my thoughts out there.

    I truly do enjoy writing however it just seems like the first 10 to 15 minutes are generally wasted just trying to figure out how to begin.
    Any recommendations or hints? Many thanks!

    • It used to happen a lot to me as well. When I first started writing, I always used to spend a lot of time thinking about how to begin. The way to get past this is to just start writing regardless of how you feel about it. The quality may seem very average at first, but it will help you get past that initial stage.

  5. This website provides all the info you wished for but didn’t know who to ask. Glimpse right here, and also you’ll undoubtedly uncover it.

  6. Hello there! This post could not be written any better! Reading this post reminds me of my good old room mate! He always kept talking about this. I will forward this page to him. Fairly certain he will have a good read. Thank you for sharing!

  7. I’ve been surfing online more than 3 hours today, yet I
    never found any interesting article like yours. It is pretty worth enough for me.
    In my opinion, if all web owners and bloggers made good
    content as you did, the web will be much more useful than ever before.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s