(LearnOpenCV) Training a Custom Object Detector with DLIB & Making Gesture Controlled Applications

(LearnOpenCV) Training a Custom Object Detector with DLIB & Making Gesture Controlled Applications

In this article, you will learn how to build python-based gesture-controlled applications using AI. We will guide you all the way with step-by-step instructions. I’m sure you will have loads of fun and learn many useful concepts following the tutorial.

Specifically, you will learn the following:

  • How to train a custom Hand Detector with Dlib.
  • How to cleverly automate the data collection & annotation step with image processing so we don’t have to label anything.
  • How to convert normal PC applications like Games and Video Players to be controlled via hand gestures.

Here’s a demo of what we’ll be building in this Tutorial:

(LearnOpenCV) Classification with Localization: Convert any Keras Classifier to a Detector

(LearnOpenCV) Classification with Localization: Convert any Keras Classifier to a Detector

Image classification is used to solve several Computer Vision problems; right from medical diagnoses, to surveillance systems, on to monitoring agricultural farms.  There are innumerable possibilities to explore using Image Classification.

If you have completed the basic courses on Computer Vision, you are familiar with the tasks and routines involved in Image Classification tasks. Want to know more? Check out https://opencv.org/courses/.

Image Classification tasks follow a standard flow – where you pass an image to a deep learning model and it outcomes the class or the label of the object present.

(LearnOpenCV) Introduction to Video Classification and Human Activity Recognition

(LearnOpenCV) Introduction to Video Classification and Human Activity Recognition

In this post, we will learn about Video Classification. We will go over a number of approaches to make a video classifier for Human Activity Recognition. Basically, you will learn video classification and human activity recognition.

Free Computer Vision Resource Guide

Free Computer Vision Resource Guide

Computer Vision Resource Guide

It’s been a while since I’ve published a tutorial at Bleed AI, so why not start with something really useful, now I don’t expect this post to make up for all the weeks I didn’t put out a post but today I will give you something truly valuable. 

So In today’s post at Bleed AI, I’ll be providing you an excellent Resource Guide for Computer Vision. I always get a lot of questions regarding, the best courses, books, and other resources for computer vision out there.

So why not create a Guide packed with all the best resources on the Internet on computer vision and give it to you guys for Free.

Yup, it’s a Free 25 Pages Guide, packed with the descriptions of the best courses, libraries, books, and other resources on Computer Vision, how cool is that.

Here’s a list of things that we will cover in this Guide:

  1. Top Python Libraries and Packages for Computer Vision
  2. Excellent Websites & Blogs for Computer Vision
  3. Youtube Channels & Social Sites
  4. Best Courses for Computer Vision
  5. Best Books for Computer Vision
  6. Computer Vision Resource Compilations.
  7. Tutorials
  8. Computer Vision Conferences
  9. Final Notes

And no, this Guide will not be like a compilation of resources where I just throw in stuff from the internet but I’ve actually gone through most of the resources I’ve included in the guide and I can guarantee that these are some of the best you’ll find on the topic.

Also, I’ve actually excluded a lot of great resources just so the reader doesn’t get overwhelmed and I’ve made the guide really simple,  direct, and to the point. The guide contains only the best materials on each topic. 

You can download the guide below. I have just one request, if you do end up enjoying and benefiting from the guide then do share this post (Not the Guide) with your colleagues and friends. I’ve put a lot of effort into this guide and the best I can hope for in return is that more people find this post and read the guide.

Do Comment on this post and let me know if you found my Guide useful or Not.

What Is Computer Vision – A very Simple Explanation (Episode 2 | CVFE)

What Is Computer Vision – A very Simple Explanation (Episode 2 | CVFE)

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.

  1. Part 1: Introduction to Computer Vision
  2. 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”

Computer vision Tree

Image Classification

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.

Computer Vision Cat

Let’s take a look at some popular use cases of image classification systems.

Facial Recognition:

There are many industrial use cases of classification systems and their variations. A popular application is Facial Recognition.

Computer Vision 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. 

Computer Vision employee attendance

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.

Computer Vision Tagging Facebook

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.

barcode Scanner utilizing Computer Vision

So these were some Computer Vision applications that utilizes some element of image classification.

Object Detection

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.

Object detection cat

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.

Cat Detected

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.

Object Detection self Driving

Image Segmentation

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
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
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

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.

Video Chat Apps

Keypoint Detection

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

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.

KeyPoint detection Example 1

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.

KeyPoint detection Example 2

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.

An Inexplainable Image

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.

Google reverse image

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.

Search Resultlt

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.

Image of an unknown ninja cat

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. 

Lion On the Street

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.

Breaking News: Lion on the street

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. 

Summary

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.

[optin-monster slug=”jmuiqewsrjgcgylo5bhj”]

You can reach out to me personally for a 1 on 1 consultation session in AI/computer vision regarding your project. Our talented team of vision engineers will help you every step of the way. Get on a call with me directly here.

Ready to seriously dive into State of the Art AI & Computer Vision?
Then Sign up for these premium Courses by Bleed AI

More Info ➔

Developed By Bleed AI