You can Watch Video Version of this post below
In today’s post, we’ll go through a very basic high-level overview of the Computer Vision field. We’ll understand the common applications of vision, how the industry uses it and at the end, we’ll also learn to utilize this technology using a great online tool called Reverse Image Search.
So this post is targeted towards people with little to no understanding of Computer Vision. It can be divided into following parts.
- Part 1: Introduction to Computer Vision
- Part 2: How to use Reverse Image Search
Part 1: Introduction to Computer Vision
Now I will try to explain this field in a very simplified manner, but before that let’s take a look at Wikipedia’s definition of computer vision.
“Computer vision is an interdisciplinary scientific field that deals with how computers can gain high-level understanding from digital images or videos. From the perspective of engineering, it seeks to understand and automate tasks that the human visual system can do”
Now, if you had no idea what vision is then the definition above (although accurate) would probably confuse you. So here’s a very simple definition of what computer vision is.
“Computer Vision is just a field of AI that enables computers or machines to see and understand the world and the things in it”
A very basic and popular problem in Computer Vision is Image Classification where you take an image and tell about the contents of the image.
So for e.g. A computer vision system that looks at an image of a cat and is able to recognize it.
Let’s take a look at some popular use cases of image classification systems.
There are many industrial use cases of classification systems and their variations. A popular application is Facial Recognition.
Where a computer program can recognize and identify the people in images by analyzing their faces. Facial Recognition is used almost everywhere from employee attendance to unlocking mobile phones.
It’s even used by Facebook to tag people, It identifies people in uploaded images/videos and automatically suggests to tag them if they’re in your mutual friends, etc.
Barcode + QR Code Scanners:
Barcode and QR Code scanners on your phones are also using this technology. It reads the machine-readable patterns and decodes them into human-readable information.
So these were some Computer Vision applications that utilizes some element of image classification.
Sometimes we also need to extract the location of an object that is present in the image. This is when we can use Object Detection, another well-known and useful Computer Vision task.
Here instead of just the label, the system also provides you with bounding box coordinates to tell where exactly the object is located in the image.
Self-driving Cars rely on Object Detection techniques to determine the location of objects like people, traffic signs, etc. This information tells the car to stop if an object is approaching it or too close to it.
Image Segmentation is another task in Vision where you try to segment or draw a pixel by pixel boundary around the object in order to segment it out. To simply put, it just partitions the pixels of the images into multiple segments (groups).
In Image Segmentation itself there are a number of techniques.
- Semantic Segmentation
This approach segments the images based on the specified set of object categories/classes, which means that the objects belonging to the same category are partitioned into the same segments. For e.g. the all the cars are segmented together and you can’t separate each individual car from one another.
- Instance Segmentation
In this method images are segmented based on the object instances, which means even if the objects belonging to the same category (e.g. cars) are partitioned into different segments. Here you can separate out each car.
- Panoptic Segmentation
Panoptic Segmentation, on the other hand, combines both of the above techniques by segmenting the images based on both objects and instances. It assigns two labels to every pixel in the image, the first one is the semantic object category like a car, person and sky, etc and the second one is the instance id which is unique for each instance of a category.
Meeting Apps like Google Hangouts and Zoom use Image Segmentation technology to differentiate you from the background and insert custom backgrounds or blur the background behind you during the video call.
Another major vision task is called Keypoint Detection, where we try to detect some important key points on the body like a person’s body joints or his/her facial landmarks.
The key points on a person’s body joints help to determine the pose of the person whereas the key points on his/her face help in determining the facial expression of the person.
Keypoint detection is used in many human-computer interaction-based applications which allows the users to interact with the computer using their body movements.
Here are some Common industrial use cases of keypoint detection.
Keypoint Detection based applications can be used to monitor your exercise routines and provide important stats regarding your training sessions.
It can also be used in AR applications like Snapchat filters where different filters are triggered based on facial movement. For e.g. the Dog Filter gets triggered when a person opens his mouth, this action can be recognized by monitoring the key points around the lips.
There are many other variations and types of each of these 4 core vision tasks that I have discussed.
And all of these tasks loosely fall in the ”Image Recognition” sub domain of Computer Vision.
This domain deals with detecting and analyzing contents in the image. And this was just one subdomain, and there are many others like Geometrical Computer Vision, Image Processing, and others and each of them has a lot of overlap in between them.
All of these subdomains combined constitute the field of computer vision, this field gives us very interesting applications like AR filters, mixed reality, helps us automate visual tasks, provides security, and is paving the path for some really cool futuristic use cases.
There is no doubt that Computer Vision is one of the most exciting fields of Artificial Intelligence. It has a lot to offer, in the upcoming episodes, I’ll explore many of these exciting areas in computer vision so do stick around for that.
Part 2: Google Reverse Image Search
Now that you know what Computer Vision is, let me show you an amazing Computer Vision tool that you can use to level up your search skills. The tool is called “Google Reverse Image Search”
Normally when you want to search for some images you type in the search query and go to the images tab. But what if you have an image that is hard to describe (like the one below) and you want to get similar images.
That is when you should use Reverse Image Search which instead of a search query lets you search by uploading an image.
How does this work?
1.It‘s very simple:Go to images.google.com.
2. Click on the camera icon as shown below.
3. Then you can either paste the URL of the image or upload it from your computer and click on the Search by Image button to perform the Reverse Image Search.
When you hit the search, what google does is it uses Computer Vision to scan the image, understand its content, and then searches the internet for similar images, and finally returns the results.
After clicking the search button, you can either click on all sizes to get the exact matches of the sample image you have uploaded or click on visually similar images at the bottom to get similar images to the one you uploaded. Both of the options are highlighted in the image below.
Reverse Image Search is also really useful when you’re trying to obtain the name of a certain place, person, or a character and you only have an image of it.
For e.g. I have this image of the cat shown above and I don’t remember the name of this character, so how can I get more images like this. If I search for ninja cat, google returns me this.
Obviously not what I want. But if I use the Reverse Image Search, I get the right results as shown below.
As the tool returns all the sources which are using similar images, so content creators can also use this tool to easily search for sources on the internet that are using their images or videos.
If you’re using Chrome browser then you can also directly right-click on any image and perform Reverse Image Search by clicking on the Search Google for image option highlighted in the image below.
Fact Checking With Reverse Image Search
One really powerful and my favourite use case of reverse image search is for Fact-Checking. In this modern age of the internet, it’s quite common to see images used out of context to spread fake news.
Consider this image of a lion on a street, this image went viral because some people claimed that Vladimir Putin has released lions on the streets of Russia to enforce lockdown during the pandemic. I know how absurd this sounds but believe it or not, many people actually thought this was true.
There’s another version of this image shown below where you actually get to see a fake news banner on it.
Now what people could have done is use Reverse Image Search on this image and then they would have gotten these results (see image below), where multiple news outlets debunked the lion image and revealed that it was actually an image taken during a movie production.
By clicking on any of the above returned links, you’ll see a description of the origin of the actual image.
Now that you have learned how to use this tool, you can always perform fact-checking of an image before sharing and spreading it.
In this tutorial, not only you got a high-level introduction to the field of Computer Vision but you also learned to use a very useful Computer Vision tool. In the next episode, I’ll talk about AI in general and its impact on the world. It’s going to be a very interesting post.
Note: A video-based version of this tutorial is on our youtube channel so so go check it out here.. And do make sure to subscribe to the Bleed AI channel so that you get notified when the video version comes out.
In case you have any questions, please feel free to ask in the comment section and share the tutorial with your colleagues if you have found it useful.