Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Computer Vision and Machine Learning with OpenCV 4
Rating: 3.9 out of 5(55 ratings)
450 students
Last updated 3/2019
English

What you'll learn

  • Build real-time applications that deal with image and video processing
  • Build an Optical Character Recognition (OCR) engine from scratch
  • Get to know how to train face recognition system
  • Create your own real-time object classifier
  • Build computer vision applications
  • Create DNN based Image Classifier
  • How to apply various Machine Learning algorithms to real-life problems
  • Explore Supervised Learning and Unsupervised Learning approaches in Computer Vision
  • Train your own custom image classifier using Convolutional Neural Networks

Course content

3 sections110 lectures7h 9m total length
  • The Course Overview4:11

    This video provides an overview of the entire course.

  • Computer Vision with OpenCV 42:41

    Before you get a kick start with a new technology, it is always a good practice to have an overview of it. Also, it adds to the motivation in learning, in the long run. This video, will provide you with those pair of eyes on OpenCV 4.

    • Understand what OpenCV is

    • Explore the scope and working principles

  • Setting Up the Environment5:22

    This video will walk you through a few simple steps, to let you install all dependencies to carry out the contents of this course fluidly.

    • Download Python3

    • Create a virtual environment

    • Download packages (opencv, scikit-learn, etc)

  • Preprocessing Video Input, Thresholding, and Blurring12:54

    This video will be your first interaction with the OpenCV library where you will explore a few elementary operations on images and videos.

    • Get video/image input

    • Implement color space conversions

    • Use image Processing techniques

  • Calculating Image Differences6:23

    To locate movement in a video, we will employ the concept of image differences and learn to visualize it, by extending the same concept to video streams.

    • Calculate image differences

    • Extend to videos

  • Visualizing and Triggering Actions5:59

    The most important part of this app is to perform an action when it indeed detects motion, and that is exactly what we will do in this video.

    • Apply masks

    • Define the metric to trigger actions

  • Understanding Histograms and Back Projection4:08

    Before we can begin to code this app, there are a few fundamentals we would need to learn. This video serves exactly this purpose!

    • Understand what a Histogram is

    • Understand what Back-projection is

  • Implementing the Histogram Capture for Skin8:08

    Our first task is to read the video source and preprocess it so that we can segment and display only the hand. Let’s go ahead and do it now!

    • Calculate Skin Histograms using the cv2 library function

    • Use the histogram and apply back-projection on image

    • Remove noise using image processing

  • Implementing Back Projection on Input Video Feed10:20

    Let us take a step further and use the Histogram obtained from the previous video to locate all occurrences of skin in the forthcoming video frames.

    • Back-project the histogram on an image

    • Apply post-processing to the back-projected image to enhance it

    • Perform dilation, and erosion

  • Bounding the Hand – Contour Extraction8:38

    Once we segment the hand, we need to outline its boundaries and display it so that we can quantify its location.

    • Implement Contour Extraction Algorithms

    • Find the largest contour

    • Draw the contour and display the image

  • Extracting Fingertips – Convexity Defects8:56

    The Contours of the hand can be used to extract a lot of useful information, like the location or coordinates of fingertips

    • Find the Convex Hull of the hand contour

    • Compute the Convexity Defects

    • Defect analysis to obtain fingertips

  • Air Writing – Translating Gestures to Controls2:58

    Our hand recognition library is now written, we can make use of it to make an application which translates hand gestures to onscreen hand writing.

    • Make surface to draw on

    • Use our API to locate the first fingertip

    • Use the location of the fingertip to draw on screen

  • Using Haar Cascades – Eye and Face Detection6:51

    In order to automatically pause and resume video playback, we need to detect keep track of the user’s face

    • Introduction to Haar Cascades

    • Using Haar Cascades to detect faces in live video

    • Drawing the bounding boxes of detected faces

  • Extending Haar Cascades for Eye Detection3:47

    Using a pre trained eye Haar cascade to detect eyes within the face

    • Using Haar Cascades to detect eyes in live video

    • Drawing the bounding boxes of eyes

  • GUI Automation – Interfacing the App with a Media Player5:09

    We now have to trigger an action based on the user’s face position. The action has to pause/play video playback.

    • Defining the triggers

    • Tracking the states of the user’s face

    • Using GUI automation to send keyboard triggers from python to VLC

  • Deep Learning – What and Why?6:34

    This video gives you a brief introduction to Deep Learning and neural networks

    • Explore Neural Network Architecture

    • Learn about Convolutional Neural Networks

    • Know the applications of Deep Leaning in Computer Vision

  • Using the DNN Module with a Pre-Trained Model4:12

    In this video, we will be discovering and learning about the pre-trained object detection model which we will use.

    • Load the model into our program and integrating with OpenCV

    • Design the high level pipeline for object detection

  • Digging Deeper – Feeding the Input Image to the Neural Network8:56

    In this video, we will be loading the image, preprocessing it and feeding it into the pre-trained model and running detection on it.

    • Run detection on pre-processed image

    • Draw the bounding boxes

  • Running Object Detection on Videos4:15

    In this video, we are going to extend the concept of object detection from images to videos, to make application real-time

    • Define a video source – local file, web cam, external camera

    • Break video into frames

    • Run detection on individual frames

  • Optical Character Recognition –What, Why, and How?4:08

    This video gives you an introduction to OCR, its applications and some necessary fundamentals like HOG and feature extraction.

    • Understand what OCR is

    • Learn about Histogram of Oriented Gradients (HOG)

  • Training a Digit Classifier on the MNIST Dataset10:43

    To make an OCR app, we would need to train a machine learning algorithm which will be able to classify digits. So, let’s go ahead and do it right now!

    • Obtain the MNIST dataset

    • Compute the Histogram of Oriented Gradients

    • Train a KNN Classifier using the dataset

  • Developing the OCR Engine Functions8:28

    In this two-part video, we will create high level functions which a program can use in order to perform OCR on an image

    • Isolate each digit in a given image

    • Preprocess and computing HOG for each digit

    • Predict using the trained KNN classifier

  • Developing the OCR Engine Functions (Continued)3:33

    We continue from where we left off in the previous part, and design more functions to complete the OCR Engine.

    • Isolate each digit in a given image

    • Preprocess and compute HOG for each digit

    • Predict using the trained KNN classifier

  • OCR Square Calculator3:55

    This app will calculate the square the number in the image and display it

    • Use the OCR Engine to interact with the image

    • Predict the number and performing some calculation

  • Test Your Knowledge

Requirements

  • Working knowledge of Python programming is required.

Description

The application of Machine Learning and Deep Learning is rapidly gaining significance in Computer Vision. OpenCV lies at the intersection of these topics, providing a comprehensive open-source library for classic as well as state-of-the-art Computer Vision and Machine Learning algorithms. If you wish to build systems that are smarter, faster, sophisticated, and more practical by combining the power of Computer Vision, Machine Learning, and Deep Learning with OpenCV 4, then you should surely go for this Learning Path.

This hands-on course on OpenCV not only helps you learn computer vision and ML with OpenCV 4 but also enables you to apply these skills to your projects. You will firstly set up your development environment for building 5 interesting computer vision applications for Face and Eyes detection, Emotion recognition, and Fast QR code detection. You will then explore essential machine learning and deep learning concepts such as supervised learning, unsupervised learning, neural networks, and learn how to combine them with other OpenCV functionality for image processing and object detection. Along the way, you will also get some tips and tricks to work efficiently.

Contents and Overview

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Hands-On OpenCV 4 with Python, is designed for you to develop some real-world computer vision applications. You will begin with setting up your environment. You will then build five exciting applications. You will also be introduced to all necessary concepts and then moving into the field of Artificial Intelligence (AI) and deep learning such as classification and object detection with OpenCV 4.

The second course, OpenCV 4 Computer Vision with Python Recipes, starts off with an introduction to OpenCV 4 and familiarizes you with the advancements in this version. You will learn how to handle images, enhance, and transform them. You will also develop some cool applications including Face and Eyes detection, Emotion recognition, and Fast QR code detection & decoding which can be deployed anywhere.

The third course, Hands-On Machine Learning with OpenCV 4, will immerse you in Machine Learning and Deep Learning, and you'll learn about key topics and concepts along the way.

By the end of this course, you will be able to tackle increasingly challenging computer vision problems faced in day-to-day life and leverage the power of machine learning algorithms to build machine learning systems and computer vision applications that are smarter, faster, more complex, and more practical.


Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Colibri Digital is a technology consultancy company founded in 2015 by James Cross and Ingrid Funie. The company works to help their clients navigate the rapidly changing and complex world of emerging technologies, with deep expertise in areas such as Big Data, Data Science, Machine Learning, and Cloud Computing. Over the past few years, they have worked with some of the world's largest and most prestigious companies, including a tier 1 investment bank, a leading management consultancy group, and one of the world's most popular soft drinks companies, helping each of them to better make sense of their data, and process it in more intelligent ways.
    The company lives by their motto: Data -> Intelligence -> Action.


  • Sourav Johar has over two years of experience with OpenCV and over three years of experience coding in Python. He has also developed an open source library built on top of OpenCV. Along with this, he has developed several Deep Learning solutions, using OpenCV for video analysis. As a computer vision enthusiast, he completely understands what problems students face. He is very passionate about programming and enjoys making programming tutorials on YouTube. He is currently working for Colibri Digital (@colibri_digital) as an instructor.


  • Muhammad Hamza Javed is a self-taught Machine Learning engineer, an entrepreneur and an author having over five years of industrial experience. He and his team has been working on several Computer Vision and Machine Learning international projects. He started working when he was 17 and kept learning new technologies and skills since then. His areas of expertise include Computer Vision, Machine Learning and Deep Learning. He learned skills own his own without a direct mentor - so he knows how troublesome it is for everyone to find to-the-point content that really improves one’s skill-set. He’s designed this course considering the challenges he faced when he learned and, in the projects, so you don’t have to spend too much time on finding what’s best for you.

Who this course is for:

  • This course is intended for Python developers, computer vision developers, and enthusiasts who want to learn machine learning algorithms and implement them with OpenCV 4 for building computer vision applications.