Czsb0da8ro1wj13rbndw

Computer Vision for Faces

Become an expert in Computer Vision for faces in just 12 weeks with this practical course for building applications using OpenCV + Dlib (C++ & Python)

   Watch Promo

This course is not open for enrollment


Important Dates
Enrollment start date Nov 28, 2017
Enrollment end date Dec 05, 2017
Course start date Dec 04, 2017

Why join this course?

Short answer - AI is fun, and it pays very well!

Want to start a career in the exciting field of Computer Vision, Machine Learning, and Artificial Intelligence? This course is an excellent start. Yes, AI jobs pay a LOT more than regular programming jobs!

Want to build your own applications for faces? This is the perfect course for in-depth education and practical training.

Are you the tinkerer who loves experimenting with new technology? This course will add amazingly cool tools to your arsenal.

Are you an expert in Computer Vision? This course will expand your expertise and help you quickly start with our sample code.

Become a Face Processing Expert in 12 weeks!

Join us in this course to learn about an important field of Computer Vision quickly and apply the knowledge widely. In just twelve weeks, we will deconstruct the mystery behind many face processing algorithms using easy to follow tutorials and code written in both C++ and Python.

We will use OpenCV and Dlib to provide you with the education and training needed to use cutting edge algorithms in your own applications.

We will also cover an introduction to Deep Learning and use Deep Learning for Face Recognition and Emotion Recognition.

Why Faces?

  1. Faces are everywhere: A vast majority of photos and videos contain faces. Processing and analyzing faces is an area rich with applications, jobs, and opportunities. Trust me, Snapchat filters are just a start!
  2. Face processing touches many areas of Computer Vision: Even before "selfie" was a word, a vast number of Computer Vision and Machine Learning (CVML) algorithms were developed for and applied to human faces.

    Face processing trains you for object detection, face recognition, emotion recognition, landmark detection, computational photography, augmented reality and much more.
  3. The world rewards expertise: CVML is a vast area. Mastering every aspect of CVML will takes months, if not years, of hard work. This course will help you build expertise in a short period of time by focussing on an extremely important field of Computer Vision. The motto of this course is

    Think big. Start small. Act Now!

  4. Instant gratification: A short course is incredibly motivating when you are starting something new. You know the journey is short, sweet, guided and extremely rewarding.

What topics will we cover?

The course is very application-oriented. Everything I teach will be tied to a cool application. We will include enough theory to give you an excellent understanding of how things work, but we will not go over tedious mathematical details. Sorry, this course is not for scientists!

Let's take a look!

Build a Face Recognition system (OpenCV and Deep Learning)

Face Recognition

Ever wondered how Facebook and other photo applications like iPhoto automatically know who is in the picture? These applications have learned to recognize you in pictures after analyzing photos you were tagged in.

In this course, I will not only help you understand Face Recognition algorithms; I will provide step by step instructions on how to train such a system. You will be able to enroll new people in the system using their images and videos.

Hey, you can even build your own security system that identifies family members and alerts you when a stranger is knocking at your front door!

We will be building two different systems

  1. OpenCV based: We will train a face recognition system using OpenCV.
  2. Deep Learning based: A Deep Learning based system for advanced users. We will use Amazon AWS services for training the Deep Learning system.

Object Detector & Tracking

Object Detection and Tracking Do you know the fundamental difference between Image Processing and Computer Vision? In Image Processing, the input is an image, and the output is a processed image. In Computer Vision, the input is an image, and the output is information! A face detector is a classic example -- the input is an image, and the output is the location (x, y, width, height) of faces in that image.

Most people who have used OpenCV know how to use the OpenCV Face Detector. But won't it be cool if you understood the concepts behind object detection and how could you train your object detector from scratch?

You can apply the techniques you learn to build a face detector to build your object detector (e.g. a vehicle detector or an eye detector).

We will also show how to use face detection in conjunction with face tracking to improve robustness.

Train your own Facial Landmark Detector ( with eye centers!)

In this course, we will also learn how to accurately locate the features of the face ( e.g. eyes, nose, lips, eyebrows ) in real time using a facial landmark detector.

Not only will we learn how to use a facial landmark detector included in Dlib, but we will also learn how to train one from scratch.

To train a facial landmark detector, we need the landmarks hand-marked on a couple of thousand images. This data is fed to a training algorithm that learns how to locate these landmarks on a new image. Dlib's landmark detector does not contain the center of the eyes, but ours will!

Stabilize points: For video applications, we will learn how to use point trackers to stabilize the points.

Batteries included! : The best part is that you don't even have to collect your data. My data collection team will do the tedious work for you!

More than a facial landmark detector: The detector we learn for facial landmark detector is a general purpose tool that can be used for locating other shapes ( e.g. the four corners of a book ) when trained with the right data!

Blink and Drowsy Driver Detection

Blink Detection

A blink lasts anywhere between 100 ms and 400 ms. Fortunately, even your webcam is fast enough to gather a few frames during a blink that can be analyzed to detect a blink!

Why do you need to detect blinks? Some systems developed for physically disabled people interact with computers are based on blinks. If you are constantly looking at a computer screen and not blinking enough, you may develop an eye ailment called the Computer Vision Syndrome. Ironically, you can build a Computer Vision application based on blink analysis to prevent Computer Vision Syndrome!

The movement of the eyelids provides crucial information in systems for detecting drowsy drivers. The tools we will develop during the course will help you solve both the problems.

Snapchat filters are easy!

This course will not help you figure out why Snap Inc. is worth billions of dollars. But, it will teach you how to build some of their filters. You will be amazed how combining some simple ideas you will learn in this course can be used to make sophisticated and fun applications. You can scare anyone by putting on that mustache on a friend; especially if your friend is a woman!

Skin Detection & Smoothing for Faces

The human skin tone lies in a relatively narrow range in the color spectrum. It is possible to automatically detect pixels in an image that are close to human skin tone. In applications related to faces, we have even more information. We know the structure of the face, and this additional information is used to improve the accuracy of facial skin detection algorithms.

An obvious application of facial skin detection is smooth the picture to make beautiful pictures!

Make your machine Recognize Emotions

We laugh. We cry. We smile. We are sad. We are disgusted.

Emotions make us human. We want the machines of the future to have empathy. Let's teach them how to read our emotions!

In this course, we will teach a machine -- your computer -- to recognize your emotional state and prevent you from sending that angry email to your girlfriend, boyfriend or spouse! Just kidding. It will let you send that email so you can spend more time on this course! Again, we will be training a Deep Learning based system using Tensorflow to achieve this.

Build your own Instagram with cool Photo Filters

If you knew how to create these filters, you would have built Instagram over a weekend. Of course, I am exaggerating, but you will learn some tips and tricks for building some very cool filters for your next photo applications.





Face Morphing

Face Morphing The special effects industry has used morphing for a few decades to create stunning visual effects. Once you know the underlying principles, implementing your own algorithm for morphing using tools available in OpenCV are easy. With our guidance, you will learn the process in easy, gentle steps in a language of your choice.

We will also learn that the fundamental problem in morphing is establishing point correspondences. If you have a way to establish point correspondences, morphing is not limited to faces; you can morph any object to any other object.


Build your own Spot Healing tool

Spot Healing Tool using OpenCV

Have you ever used the spot healing tool in Photoshop? You click on a blemish on the face, and it magically disappears! Now imagine having the knowledge and the tools to build your own spot healing tool. Well, we will teach you how to build this application in less than 100 lines of code.

Face Averaging

Face Averaging

Wouldn't it be cool if you could click photos of your friends and see what the average looks like? Whether you like it or not, the average face is probably going to be better looking than all of you!

Basic Image Processing and Computer Vision

In this course, we do not expect you to have any prior knowledge of image processing and computer vision. We will cover many basic algorithms in image processing and computer vision at the beginning of the course. For example, you will start by examples showing how to read images, and after the first two weeks you will have a solid idea about filtering, color transforms, alpha blending, affine transforms, image warping and much more.

Facial Landmark Detection on iOS (Plus and Premium)

Facial Landmark Detection for iOS

If you purchase the Plus or Premium versions of this course, you will get access to the code for Facial Landmark Detection on iOS. The code will contain a sample application that displays landmarks on the face and a toggle button to turn the display on or off.

With this starter code, you will be one big step closer to using some of the skills you have acquired in this course to make an iPhone app. We will provide instructions on how to download code and set up your project.

For iOS 11 or later, we will use the native Facial Landmark Detector. For iOS 10, we will use a port of Dlib's Facial Landmark Detector. Dlib's Facial Landmark model is 100 MB in size! For a mobile application, the model size is very large. We will also share a much smaller model with fewer landmark points. Of course, you can build your own model with the skills you acquire in this course!

Disclaimer: We expect most of the C++ code shared in this course to run on iOS, but iOS is not officially supported as part of this course. We will guarantee the starter code works on iOS, but cannot guarantee that all examples shared in this course will compile or run smoothly on a mobile device.

Who is this course for?

Short answer: It is for people who invest in themselves!

This course is for creative people, like yourself, who have the itch to learn something new and build something awesome. It is for --

  1. Programmers and Engineers looking to make a move into the exciting new world of Artificial Intelligence with better-paying jobs and opportunities. You may have tinkered with OpenCV, run a few demos, but now you want to dig deeper and get better.
  2. Entrepreneurs who want to quickly build expertise to write their own applications or start a new company to bring their AI idea to life.
  3. Students who are evaluating their career options in Computer Vision and Machine Learning.
  4. Hobbyists who love building fun stuff; who can learn by reading but prefer to learn by doing.
  5. CVML folks who have worked in other areas of CVML and want to expand their expertise in the domain of Face Processing.

Curriculum

The curriculum is listed below. This represents the approximate order in which the course will progress.

Getting Started
Face Processing : Applications and Opportunities.
Setup / Installations / Checkout
Introduction to OpenCV basics
Introduction to Dlib
Instagram Filters
Image Filtering
Color Spaces
Alpha Blending
Color Transforms and Histograms
Facial Landmark Detection
How to use Dlib's landmark detector
Optimizing performance of Dlib's landmark detector
Stabilizing landmarks in a video
Basic theory of landmark detector
How to train your own landmark detector?
Skin Processing
Blemish Removal
Skin Detection & Smoothing
Snapchat Filters
Non-linear image warping
Bug eyes!
Mustache, Eye patch and more!
Blending Faces
Delaunay Triangulation
Face Averaging
Face Morphing
Face Swapping in Photos
Face Swapping in Videos
Blink and Drowsy Driver Detection
How to handle noisy temporal data for facial activity analysis?
Object Detection & Tracking
How to train your own object detector?
How to track faces in a video?
Face Recognition
Theory of Face Recognition
OpenCV based Face Recognition
Deep Learning based Face Recognition
Emotion Recognition
Theory of Emotion Recognition
Deep Learning based Emotion Recognition

Course Format and Timeline

The course will launch on Dec 4, 2017! At the start of every week, one week's worth of content will unlock. This gradual unrolling of the course will allow us to be active on course forums.

  1. Nov 28, 2017: Enrollment begins. Get 10% early bird discount on Day-1.
  2. Dec 05, 2017 [11:59 PM Pacific Time]: Enrollment ends. If we ever open the course again, it may be priced higher.
  3. Dec 04, 2017 [9:00 AM Pacific Time]: Launch! Content for week 1 will be unlocked.

We will have quizzes at the end of each section. These will be automatically graded. To receive a certification, we will need to do a short project.

Certificate

You will receive a digital certificate of completion that you can embed in your LinkedIn profile! All you have to do is complete all the quizzes and submit a video demo of a project. The project should consume 40 hours or less of work.


Testimonials

Your Instructor


Satya Mallick, PhD.
Satya Mallick, PhD.

Satya is an entrepreneur who loves Computer Vision and Machine Learning. He has more than a dozen years of experience (and a Ph.D.) in the field. Recently Satya was named among the top 30 AI influencers to follow on Twitter by IBM's AI Blog.

Right out of school, Satya co-founded TAAZ Inc, a computer vision company in the beauty and fashion industry. The technology he and his team built has reached more than 100M users. He has been featured in numerous online articles on sites like TechCrunch, IBM, HuffingtonPost and WSJ to name a few.

Today, Satya runs a successful consulting company that helps companies solve complex problems in wide ranging areas like document analysis, face recognition, surveillance, object detection and classification, medical image processing and vision applications in retail.

Satya is also the principal author of LearnOpenCV.com -- a popular computer vision and machine learning blog.



Vikas Gupta
Vikas Gupta

Vikas is a Computer Vision Researcher with a Master's in this domain from one of India's premier institutes - Indian Institute of Science. His research interests are in the field of Machine Perception, Scene Understanding, Deep Learning and Robotics.

He has been working in this field in various roles including a Lecturer, Software Engineer and a Data Scientist. He is passionate about teaching and sharing knowledge. He has spent 3 years teaching Computer Vision, Embedded Systems and Robotics to undergraduate students and over 3 years working on various projects involving Deep Learning and Computer Vision.



Vaibhaw Singh Chandel
Vaibhaw Singh Chandel

Vaibhaw started his career in data analytics after completing B.Tech. - M.Tech. dual degree program from IIT Kanpur. He worked on various interesting data science problems during his stint at Retail analytics and Sports analytics startups such as customer profiling, optimizing store layout, live prediction of winning odds of sports teams (soccer & tennis).

Then he joined a Computer Vision startup (iLenze) as a core team member and worked on image retrieval, object detection, automated tagging and pattern matching problems for the fashion and furniture industry.

Vaibhaw currently works as an independent Computer Vision consultant. When he is not working on computer vision problems, he spends time exploring NLP, Speech Recognition, history and behavioral economics.


Editor


Minakshi Das
Minakshi Das

Minakshi is a Embedded Systems and Computer Vision engineer with a Bachelor’s degree in Electronics Engineering.

She currently works as a freelance technical content writer and editor. In addition, she drives in-depth code testing and quality assurance for this course.


Frequently Asked Questions


Can I get the entire course on week 1?
No. In the beginning of each week we will unlock the material for that week. This allows us to have focussed Q/A in the forum and also incorporate your feedback in future weeks.
When does the course start and finish?
Enrollment begins on Nov. 28, 2017 and ends on 11:59 PM PST on Dec 5, 2017. The course starts on Dec 4, 2017. It is a completely self-paced online course, and you can take as much time as you need to finish it. However, to receive a certificate you will need to complete the course within 1 year. You can complete the course in 12 weeks with an effort of about 4 hours a week. We will be actively involved in course forums until 16 weeks after the start of the course.
Will the price of the course go up the next time it is open for enrollment?
Short answer: Yes it may. We are not sure if the course will be open for enrollment in future or if it will be a standalone course. If the course opens for enrollment in future, it may be priced higher than the current price. So grab it now and reserve this price!
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What are the prerequisites for the course?
You need an intermediate level of knowledge in C++ or Python. You do not need to have any prior experience with OpenCV or Dlib. If you are an absolute beginner, allow yourself more time to complete the course.
What if I have questions?
You can ask questions in the course forums which will be shared with you. Our team tracks the questions posted on the forums and you should be able to get your query resolved within 24 hours max!
Are all lessons available in C++ and Python?
Most lessons will be available in both C++ and Python. Some Deep Learning based lessons may be limited to Python only.
When will the course be open for enrollment again?
We are not sure if we will open the course for enrollment again or if it will be available as a standalone course in the future. If we do open it for enrollment, the course may be priced higher than the current price.
Can I use the code shared in this course in my commercial application?
In certain cases, we will use code shared in opencv_contrib module. It is not clear if all code inside opencv_contrib is free from patents. For parts of the code written by Big Vision LLC (i.e. my team), please contact spmallick@learnopencv.com for an enterprise license if you plan to build a commercial application. I will be happy to provide a license free of charge to individuals. Companies will need to pay a small licensing fee. Similarly, consultants working for other companies will need to pay the licensing fee. You are not permitted to share this code publicly.
Will you support Visual Studio?
We will use CMake to compile the C++ code for Windows, Linux, and OSX. However, we will not be adhering a to any specific IDE like Visual Studio. Students can choose any IDE they are comfortable with.
Will Deep Learning be covered in depth?
We will provide an overview of Deep Learning, specifically Convolutional Neural Networks and explain the architectures we use for the specific applications. 3 out of 12 modules will use Deep Learning. However, bear in mind this is not a Deep Learning course.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days after the launch of the course and we will give you a full refund.

This course is not open for enrollment.