click to
look inside
Look inside

Detecting Deepfakes with OpenCV and SVM

intermediate Python • beginner scikit-learn and scikit-image • basics of OpenCV
skills learned
binary classification and evaluation of binary classifiers • SVM classification • facial image processing
Pavel Korshunov
4 weeks · 6-10 hours per week · INTERMEDIATE
filed under
This title has been retired and is no longer for sale.
Look inside
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.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Pavel Korshunov
Pavel Korshunov is a researcher at Idiap Research Institute, Switzerland, working on detection of audio-visual inconsistencies and Deepfakes. Previously, he worked on problems related to high dynamic range imaging, crowdsourcing, and visual privacy. He received PhD from National University of Singapore and MSc from St. Petersburg State University, Russia. He has over 70 research papers with several best paper awards and is a co-editor of JPEG XT standard.


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 Notebook
  • 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


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.