
A brief into to the course, what it covers and the ideal types of students.
Get a brief introduction to what makes computer vision difficult.
A more detailed look at what this course covers.
NOTE: Ideally you should install Anaconda with Python 2.7 and OpenCV 2.4.13 or OpenCV 3.3 with the contrib package added.
Installation guide for Mac users. Ideally you should be using Python 2.7 and OpenCV 2.4.13 or OpenCV 3.0.0 or 3.3.0 with the contrib package added. All code is compatible with Python 3.5, so there's no need to create a separate install for Python or downgrade.
Please note, if you have issues installing OpenCV alongside your Anaconda installation, you can try to create a virtual environment, install OpenCV and its dependencies there. To best use the jupyter/ipython notebooks provided in this course, you can open them in a regular jupyter notebook and copy the code into a *.py file.
Installation guide for Linux (Ubantu) users. Ideally you should be using Python 2.7 and OpenCV 2.4.13 or OpenCV 3.0.0 or 3.3.0 with the contrib package added. All code is compatible with Python 3.5, so there's no need to create a separate install for Python or downgrade.
Please note, if you have issues installing OpenCV alongside your Anaconda installation, you can try to create a virtual environment, install OpenCV and its dependencies there. To best use the jupyter/ipython notebooks provided in this course, you can open them in a regular jupyter notebook and copy the code into a *.py file.
Please download the course resources.
Understand what exactly is meant when we say "image".
You'll understand how images are formed.
Understand how images are stored on computers, specifically in python in numpy arrays.
Reading writing and displaying images.
Convert color images to black and white (grayscaling).
Understand the different color spaces (RGB and HSV) and understand why they're important.
Understand how to display the histogram representation of an image and how to interpret it.
Know how to draw lines, circles, rectangles, polygons and text in images using OpenCV.
Understand the different types of image transforms, what makes affine different to non-affine transforms.
Implement translations in OpenCV.
Implement rotations in OpenCV and understand how images are rotated around an axis. Also use OpenCV's flip function to rotate without needing to re-size the image canvas.
Implement re-sizing (up-scaling or down-scaling) of images. Understand what interpolation is and the different methods of interpolation.
Implement and understand what image pyramiding is and when it can be useful.
Perform cropping on images using numpy indexing abilities to extract or crop segments of an image.
Perform summation or negation operations on images using OpenCV which produces a brightening or darkening effects.
Understand and implement different bitwise operations on images, very useful technique when masking images.
Understand and implement different types of blurring methods in OpenCV.
Understand and implement sharpening of images in OpenCV, using a special kernel.
Implement several different types of thresholding operations in OpenCV.
Understand what is dilation and erosion and learn how to implement and properly use both operations.
Implement different methods of Edge Detection including the powerful Canny Edge Detection Algorithm.
Understand how to obtain transformation matrices from both affine (3 pairs of points) and non-affine (4 pairs of points).
Create a live sketching app. It uses a live video from your webcam and extracts the edges to create a sketch drawing effect.
Understand what contours are, perform the operation using OpenCV and understand the different types of extraction methods.
Be able to sort contours either left-to-right or by size.
Implement contour approximations and find the convex hull of contours.
Match contours to predefined shape templates.
Create an app that can extract contours and identify the shapes in the image.
Using Houghlines and Probabilistic Hough Lines.
Identify circles in an image
Understand what blobs are as defined by computer vision theory and implement a simple blob detection example.
Use blob detection to distinguish between circles and ellipses in an image.
Understand why Object Detection is important.
Use template matching to find Waldo in an image.
Understand what are image features and why they are important.
Implement two methods of finding corners in an image.
Implement common feature extraction algorithms such as SIFT, SURF, FAST, BRIEF and ORB.
Use both SIFT or ORB to identify a specific object. A fun exercise would be to extend this to multiple objects.
You'll get a brief overview of how we find HOGs and use them as image descriptors. We then visualize the HOGs of an image.
Get a quick overview of what HAAR feature are and how HAAR Cascade Classifiers work.
Use HAAR Cascade Classifiers to identify faces and eyes in images.
Use HAAR Cascade Classifiers to identify cars and people/pedestrians in images.
Install and use DLIB to identify 68 facial landmarks in images.
Use facial landmarks to create a very accurate face swap app.
Implement a very cool live face swapping app. Use any face image to overlay onto yours creating amazing and fun effects!
Use the tracking of facial landmarks around lips to determine when your mouth is open. This constitutes a yawn in our basic program and we then keep track of the number of times you've yawned.
Get a basic overview of what machine learning is and how we use it in Computer Vision.
Implement a basic machine learning program that can identify handwritten digits.
Use one of OpenCV's inbuilt facial recognition functions to implement a basic facial recognition program.
Filter images by specific colors.
Implement simple background subtraction as well an interesting foreground extraction technique.
Implement Meanshift for Object Tracking.
Implement CAMshift for Object Tracking.
Use Optical Flow to tracking movement in images.
Implement a simple ball tracking app that also creates a trail.
Remove scratches, folds and lines on old damaged images
Welcome to one of the most thorough and well-taught courses on OpenCV, where you'll learn how to Master Computer Vision using the newest version of OpenCV4 in Python!
======================================================
NOTE: Many of the earlier poor reviews was during a period of time when the course material was outdated and many of the example code was broken, however, this has been fixed as of early 2019 :)
======================================================
Computer Vision is an area of Artificial Intelligence that deals with how computer algorithms can decipher what they see in images! Master this incredible skill and be able to complete your University/College Projects, automate something at work, start developing your startup idea or gain the skills to become a high paying ($400-$1000 USD/Day) Computer Vision Engineer.
======================================================
Last Updated Aug 2019, you will be learning:
Key concepts of Computer Vision & OpenCV (using the newest version OpenCV4)
Image manipulations (dozens of techniques!) such as transformations, cropping, blurring, thresholding, edge detection and cropping.
Segmentation of images by understanding contours, circle, and line detection. You'll even learn how to approximate contours, do contour filtering and ordering as well as approximations.
Feature detection (SIFT, SURF, FAST, BRIEF & ORB) to do object detection.
Object Detection for faces, people & cars.
Extract facial landmarks for face analysis, applying filters, and face swaps.
Machine Learning in Computer Vision for handwritten digit recognition.
Facial Recognition.
Motion Analysis & Object Tracking.
Computational photography techniques for Photo Restoration (eliminate marks, lines, creases, and smudges from old damaged photos).
Deep Learning ( 3+ hours of Deep Learning with Keras in Python)
Computer Vision Product and Startup Ideas
Multi-Object Detection (90 Object Types)
Colorize Black & White Photos and Video (using Caffe)
Neural Style Transfers - Apply the artistic style of Van Gogh, Picasso, and others to any image even your webcam input
Automatic Number-Plate Recognition (ALPR
Credit Card Number Identification (Build your own OCR Classifier with PyTesseract)
======================================================
You'll also be implementing 21 awesome projects!
======================================================
OpenCV Projects Include:
Live Drawing Sketch using your webcam
Identifying Shapes
Counting Circles and Ellipses
Finding Waldo
Single Object Detectors using OpenCV
Car and Pedestrian Detector using Cascade Classifiers
Live Face Swapper (like MSQRD & Snapchat filters!!!)
Yawn Detector and Counter
Handwritten Digit Classification
Facial Recognition
Ball Tracking
Photo-Restoration
Automatic Number-Plate Recognition (ALPR)
Neural Style Transfer Mini Project
Multi-Object Detection in OpenCV (up to 90 Objects!) using SSD (Single Shot Detector)
Colorize Black & White Photos and Video
Deep Learning Projects Include:
Build a Handwritten Digit Classifier
Build a Multi-Image Classifier
Build a Cats vs Dogs Classifier
Understand how to boost CNN performance using Data Augmentation
Extract and Classify Credit Card Numbers
======================================================
What previous students have said:
"I'm amazed at the possibilities. Very educational, learning more than what I ever thought was possible. Now, being able to actually use it in a practical purpose is intriguing... much more to learn & apply"
"Extremely well taught and informative Computer Vision course! I've trawled the web looking for Opencv python tutorials resources but this course was by far the best amalgamation of relevant lessons and projects. Loved some of the projects and had lots of fun tinkering them."
"Awesome instructor and course. The explanations are really easy to understand and the materials are very easy to follow. Definitely a really good introduction to image processing."
"I am extremely impressed by this course!! I think this is by far the best Computer Vision course on Udemy. I'm a college student who had previously taken a Computer Vision course in undergrad. This 6.5 hour course blows away my college class by miles!!"
"Rajeev did a great job on this course. I had no idea how computer vision worked and now have a good foundation of concepts and knowledge of practical applications. Rajeev is clear and concise which helps make a complicated subject easy to comprehend for anyone wanting to start building applications."
======================================================
Why Learn Computer Vision in Python using OpenCV?
Computer vision applications and technology are exploding right now! With several apps and industries making amazing use of the technology, from billion-dollar apps such as Pokémon GO, Snapchat and up and coming apps like MSQRD and PRISMA.
Even Facebook, Google, Microsoft, Apple, Amazon, and Tesla are all heavily utilizing computer vision for face & object recognition, image searching and especially in Self-Driving Cars!
As a result, the demand for computer vision expertise is growing exponentially!
However, learning computer vision is hard! Existing online tutorials, textbooks, and free MOOCs are often outdated, using older incompatible libraries or are too theoretical, making it difficult to understand.
This was my problem when learning Computer Vision and it became incredibly frustrating. Even simply running example code I found online proved difficult as libraries and functions were often outdated.
I created this course to teach you all the key concepts without the heavy mathematical theory while using the most up to date methods.
I take a very practical approach, using more than 50 Code Examples.
At the end of the course, you will be able to build 12 Awesome Computer Vision Apps using OpenCV in Python.
I use OpenCV which is the most well supported open-source computer vision library that exists today! Using it in Python is just fantastic as Python allows us to focus on the problem at hand without being bogged down by complex code.
If you're an academic or college student I still point you in the right direction if you wish to learn more by linking the research papers of techniques we use.
So if you want to get an excellent foundation in Computer Vision, look no further.
This is the course for you!
In this course, you will discover the power of OpenCV in Python, and obtain skills to dramatically increase your career prospects as a Computer Vision developer.
You get 3+ Hours of Deep Learning in Computer Vision using Keras, which includes:
A free Virtual Machine with all Deep Learning Python Libraries such as Keras and TensorFlow pre-installed
Detailed Explanations on Neural Networks and Convolutional Neural Networks
Understand how Keras works and how to use and create image datasets
Build a Handwritten Digit Classifier
Build a Multi-Image Classifier
Build a Cats vs Dogs Classifier
Understand how to boost CNN performance using Data Augmentation
Extract and Classify Credit Card Numbers
As for Updates and support:
I will be continuously adding updates, fixes, and new amazing projects every month!
I will be active daily in the 'questions and answers' area of the course, so you are never on your own.
So, are you ready to get started? Enroll now and start the process of becoming a master in Computer Vision today!