/Snapchat-filter-system

Deep Learning. https://s3.gifyu.com/images/santa_filter.gif

Primary LanguagePython

Santa-filter-facial-keypoint-regression

A selfie filter implemented using Deep Learning and OpenCV. Full documentation: https://medium.com/@rohit_agrawal/implementing-snapchat-like-filters-using-deep-learning-13551940b174

Dataset: https://www.kaggle.com/c/facial-keypoints-detection/data

Methodology

Data from the dataset was augmented by flipping the images and their keypoints. I then used a CNN as the feature extractor, flattened the outputs and passed them into a fully connected ANN to perform facial keypoint regression. Metric used was 'Mean Absolute Loss', the model's best was ~0.0113 after being trained for 300 epochs using adam optimizer.

Once the model was complete, I used OpenCV to get live data from the webcam for real-time predictions. The input was preprocessed and input into the model and the outputs plotted. Then I used the positions of specific keypoints for the position and scale of 'filters' on top of the image.

I came up with the idea for the project on 21 December 2018, Hence the Christmas theme :P.

Sample Output

bleh