In this liveProject, you’ll step into the role of a forensics consultant. You’re investigating a ring of cyber criminals who are blackmailing prominent social media personalities with scandalous “deepfake” videos. These videos use a deep learning model to splice a victim’s face onto an actor, creating highly realistic content that can be indistinguishable from the real thing. Your boss wants you to develop a method to efficiently detect these deepfakes from a huge data set of online videos. The method needs to be fast, and also run without needing GPU resources which are in short supply. Your challenges include gathering your datasets, training a support-vector machine (SVM) classifier to detect image artifacts left behind in deepfakes, and reporting your results to your superiors.
This project is designed for learning purposes and is not a complete, production-ready application or solution.
This liveProject is for developers who know Python, the basics of machine learning, and the basics of processing image data. To begin this liveProject, you will need to be familiar with:
- Basics of Jupyter notebooks
- Basics of OpenCV
- Basics of scikit-learn
- Basics of matplotlib
- Basics of scikit-image
- Basic signal and image processing
- Basic image feature and metrics computation
- Basic understanding of how classification systems are evaluated
- Basic understanding of classification with linear support vector machine
you will learn
In this liveProject, you’ll learn techniques and tools for image processing, face detection, and training a SVM classifier. These skills are easily transferable to common computer vision challenges you’ll face in industry.
- Video and image processing
- Binary classification and the evaluation of binary classifiers
- Implementing SVM classification with scikit-learn
- Reading videos and detecting faces with OpenCV
- Facial image processing with scikit-image
- Interpretation of evaluation results
- Producing actionable reports