Tutorialspoint

Computer Vision: Python Face Swap & Quick Deepfake in Colab

person icon Abhilash Nelson

Computer Vision: Python Face Swap & Quick Deepfake in Colab

Custom Face Swap using Python and OpenCV & Deepfake Image Animation using 'First Order Motion Model' paper in Colab

updated on icon Updated on Sep, 2023

language icon Language - English

person icon Abhilash Nelson

architecture icon IT & Software,IT Certification,Computer Vision

price-loader

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 19,000+ top Tutorialspoint courses anytime, anywhere.

Course Description

Hello and welcome to my new course 'Python Face Swap & Quick Deepfake using Google Colab'

You know, there is is an old phrase that says 'seeing is believing'. But in the world of 'Deepfake' what we see is not always true. Let's define deep fake with the help of an example video. Here is it.

I used only a single stamp size photos of these people to create these videos. Yes, you heard it right. With only a single face image and few minutes of time with a normal computer, you can create deepfake of anyone. You an even make dead people talk or even sing for you.

Yes! Be prepared to be amazed. Before we proceed any further, let me explain the list of contents that are included in this course. This course is divided exactly into two halves.

In the first half, we will be creating a basic python based face swap application. Before we proceed, we will have an introduction to the deep fake technique, its applications, advantages and disadvantages. Then we have to prepare our computer with all the dependencies installed. We will be installing Anaconda, the platform and IDE for our python programming. Later there are few optional sessions for those who want to learn the basics of python programming language basics.

Later we will install the rest of dependences required to built our custom python face swap application. After that we will writing the python code line by line to complete the whole program with more than 300 lines. Alternatively you may also download the complete code from the google drive link provided in the last session of this course. At first we will be doing the face swap using two static images. One as the source image and other as the target image. Later we will try it for realtime video from our computer's web camera. And then we will modify it to make it work with a pre-saved video saved in our computer.

From the examples, you can see that this was just a basic face swap program and is not at all perfect. We were doing it just to learn how things works behind the scenes.

Later we will proceed with implementing deepfake based on a paper called ‘First Order Motion Model for Image Animation’ Submitted to Cornell University by Aliaksandr Siarohin, Stéphane Lathuilière, Sergey Tulyakov, Elisa Ricci and Nicu Sebe 

Since training a deepfake involve expensive GPUs, we have an alternate plan to use the google Colab's free GPU. We will be preparing our google drive by creating folders and uploading the sample driving video, based on which the target image needs to be animated and also the target images or source images.

Also we will be downloading a copy the demo google colab notebook and connect with google drive. Then we will clone the first order motion model repository from google drive. 

Later we will also proceed with cloning the face-alignment repository. We will install and set it up in our google colab. Then we will move the files into corresponding folders and start with cropping the driving video using a built in python program.

After that we will download the frozen inference graph of the already trained model to our google drive. And now its all set to proceed with the animation of the source images based on the driving video. Once completed we will download the animated video. We will also do the same for few of the other source images too.

The animated video will not be having audio. So we have to mix the audio to it using any free or opensource video editing tool available online. We will do that in our next session and finally we have all the deepfake animated videos with audio included.

As the final session, we will also discuss how we can save the limited free GPU time offered by google and the workaround if the GPU time is exceeded.

Just another word before I conclude. Please please make use of the contents and techniques mentioned in this tutorial very responsibly. Its intended only for learning and research purpose. Me as an instructor or the platform in which I host this course will not be liable for any illegal or irresponsible use of this technique.

That's all about the topics which are currently included in this quick course. The code, images and weights used in this course has been uploaded and shared in a folder. I will include the link to download them in the last session or the resource section of this course. You are free to use the code in your projects with no questions asked.

Also after completing this course, you will be provided with a course completion certificate which will add value to your portfolio.

So that's all for now, see you soon in the class room. Happy learning and have a great time.

Bibliographies and Reference Credits

  • NIPS Proceedings - First Order Motion Model for Image Animation - Aliaksandr Siarohin, Stéphane Lathuilière, Sergey Tulyakov, Elisa Ricci, Nicu Sebe

  • Cornell University - Computer Vision and Pattern Recognition - First Order Motion Model for Image Animation

  • Github - AliaksandrSiarohin - first-order-model

  • Github Pages - First Order Motion Model for Image Animation

  • Learn OpenCV - Delaunay Triangulation and Voronoi Diagram using OpenCV

  • Learn OpenCV - Face Swap using OpenCV - Satya Mallick

  • pysource - Face swapping - Sergio Canu

Goals

What will you learn in this course:

  • Python based Custom Face Swap Application with Image, Video and Camera. Deepfake Videos based on First Order Motion Model Image Animation Paper

Prerequisites

What are the prerequisites for this course?

  • A decent configuration computer (preferably Windows) and an enthusiasm to research with Deepfake Technology
Computer Vision: Python Face Swap & Quick Deepfake in Colab

Curriculum

Check out the detailed breakdown of what’s inside the course

Introduction and Table of Contents
1 Lectures
  • play icon Introduction and Table of Contents 07:10 07:10
Introduction to Deepfake Technology
1 Lectures
Tutorialspoint
Preparing your computer - Installing Anaconda
1 Lectures
Tutorialspoint
Python Basics (Optional)
4 Lectures
Tutorialspoint
Installing OpenCV and other Dependencies
2 Lectures
Tutorialspoint
Custom Face Swap using Python
6 Lectures
Tutorialspoint
Realtime Webcam Custom Face Swap using Python
2 Lectures
Tutorialspoint
Pre-saved Video Custom Face Swap using Python
1 Lectures
Tutorialspoint
Introduction to First Order Animation Model and Colab GPU
1 Lectures
Tutorialspoint
Setting up Google Colab
2 Lectures
Tutorialspoint
Creating Deepfake Animation
4 Lectures
Tutorialspoint
Adding Audio to Video
1 Lectures
Tutorialspoint
Course Conclusion
1 Lectures
Tutorialspoint
SAMPLES AND SOURCE CODE DOWNLOAD
1 Lectures
Tutorialspoint

Instructor Details

Abhilash Nelson

Abhilash Nelson

I am a pioneering, talented and security-oriented Android/iOS Mobile and PHP/Python Web Developer Application Developer offering more than eight years’ overall IT experience which involves designing, implementing, integrating, testing and supporting impact-full web and mobile applications.

I am a Post Graduate Masters Degree holder in Computer Science and Engineering.

My experience with PHP/Python Programming is an added advantage for server based Android and iOS Client Applications.

Course Certificate

User your certification to make a career change or to advance in your current career. Salaries are among the highest in the world.

sample Tutorialspoint certificate

Our students work
with the Best

Feedbacks

D

David Ross

Good information, easy to follow.

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
People having fun around a laptop

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
People having fun around a laptop

Talk to us

1800-202-0515