The first batch of our course on Computer Vision for Faces has graduated and I am very excited to announce the Best Project Award for our course. It has a cash prize of $1000. But, the journey people went through, was priceless!
The response to the course was overwhelming. 429 students signed up for the course when the course was open for enrollment for just 10 days! The students are from more than 50 countries. The course, which spanned over 12 weeks, covered the basics of Image Processing in the first couple of weeks, followed by some applications of Computer Vision such as designing filters like those in Instagram and Snapchat. Then we introduced advanced Computer Vision concepts like Object Recognition, Object Detection, and Tracking. Finally, we concluded the course with Deep Learning-based approaches to Face Recognition and Emotion Recognition using Google’s Tensorflow library. They also learned about some important Machine Learning techniques like Support Vector Machines, Gradient Boosting, PCA, LDA, MIL, MeanShift etc. You can take a look at the detailed syllabus on the course page.
In this section, we discuss a few notable submissions. These are very good submissions, but unfortunately did not win the prize!
Person Identification from Skull XRays
This project was submitted by Serban Peca.
He trained a skull detector followed by a 5 point landmark detector.
These detectors helped in achieving superior results in Collimation – a process of limiting x-ray exposure only to the required part of the body. Also, the landmark detector is used to improve the windowing or contrast stretching algorithm by focussing on the correct region of the picture. It’s remarkable that he could apply the concepts learned in the course to improve the existing system.
Finally, he showed some preliminary results of recognition using only skull XRays.
Youtube Suggestions based on Emotion
This project was submitted by a team of Amit Pandey, Rudy Melli, Saiful Islam, Srikanth Vidapanakal.
As part of the project, the team built an application for suggesting videos on youtube based on the user’s emotions. As you can imagine, it takes a lot of engineering effort to come up with such an application. They used the emotion recognition methods discussed in the course to complete the project.
This project was submitted by Léo Da Silva.
The interesting thing about the project was that it combined a lot of concepts covered in the course to come up with a single application.
He built a Face Detector and used multiple object tracking to track the faces so that the same face was not counted twice. In addition, he incorporated an eyeglass detection routine based on Convolutional Neural Networks (CNNs) into the application. He also added a uniform detector ( e.g. Lab Coat ) based on Color Histograms. We hope that doing this project must have helped him gain a lot of knowledge in Face Detection, Tracking and Deep Learning.
This project was submitted by Durgesh Trivedi.
The goal was to use a metric space to cluster images of faces. In this space, the photos of the same person clustered tightly and were away from photos of other people. Based on this clustering, the photos of a different people were separated out into different folders. The idea is similar to commercial applications like Google Photos and iPhoto. He used the face recognition module based on CNN available in the Dlib library to complete the project.
The code is shared in the github repository
Winners of the Best Project Award
We had a hard time picking the winner and decided to split the prize instead of breaking the tie with a coin toss.
Image Colorization using Deep Learning
This project was submitted by Jyun-Hao Yu and is one of the two winners of the Best Project Award.
The goal of the project is to convert a grayscale image to color without any additional information. In technical terms, the goal was to predict the a and b channels of the L*a*b image. The input grayscale image was used as the L channel.
He used an Auto-Encoder model and a variation of the VGG model for getting the results. The results are not perfect but are very encouraging. Some of the results are shown below.
In the first result, the algorithm automatically determines the right color for the banana and apple. The segmentation for the banana is a bit off, but remember no human intervention was used at runtime.
In the second result, the algorithm automatically colors the sky blue, the trees blue, and the ground green. Even though the color of the grass does not match the ground truth, it is a very plausible colorization.
You can get more information about the project on the github repository.
Doggie Smile Capture
This project was submitted by Alzbeta Vlachynska and is one of the two winners of the Best Project Award.
The problem statement is really simple – You have to take a picture of the dog when it is looking at the camera. This is difficult as dogs don’t look at the camera when you take the picture.
The solution involved using a MobileNet SSD based dog detector using OpenCV. Once, the dogs were detected in the frame, they were attracted to look at the camera using a whistle. To confirm the dogs were indeed looking at the camera, Dlib’s dog face landmark detector was used to detect landmarks on the dogs’ face. This was followed by pose estimation to confirm the dogs were indeed looking at the camera before snapping a picture!
The following flowchart explains the different steps.
A sample result showing the landmark detector is given below.
You can find more information about the project in the github repository.
Many congratulations to Jyun-Hao and Alzbeta for completing the course and the project.
We believe that the course is a very good starting point for anyone who wants to start their journey in this field of Computer Vision and AI and want to make the course the most comprehensive material available online. The course will be open for enrollment in a few weeks. If you are interested in joining, please join the waiting list by visiting the course page and we will notify you when the enrollment starts.