DeepFake Machine Learning

With the right computing equipment it is possible to create DeepFake videos using an app called FakeApp. This is a desktop application, built on top of TensorFlow, which allows Machine Learning Algorithms to take images of one person’s face and overlay them on top of a video of another person’s face.

TensorFlow

TensorFlow is an open-source software library for dataflow programming. It is a maths library used for machine learning applications such as neural networks. It was developed by Google and released back in November 2015. It is currently used by Google in both research and production. It can run on multiple CPUs and GPUs to greatly speed up the process.

Because it is open-source and freely available, anyone can use the library and build on top of it. Which is where we bring in…

FakeApp

FakeApp was created using TensorFlow to allow users to create realistic high-quality faceswap videos. It works by getting a dataset of input images – a video of approximately 5 minutes can turn into a dataset of over 10,000 image which can be used for training.

Once the dataset is built, the neural network can be trained on it. It will learn the face in the dataset in order to use it in the next step: creating the swap.

The neural net that has learnt the face overlays it on your target video to make the swap. The final quality of the final video depends very much on the input that the neural net originally receives, and therefore how well the machine learning process can take place.

Neural Net

Neural nets aren’t new and actually can be traced back to the 1940’s. They are inspired by how biological brain systems work and learn. These systems learn progressively and generally without task-specific programming. In image recognition, for example, rather than telling the neural net what to look out for – i.e. a cat is furry and has whiskers – the neural net evolves its own set of relevant characteristics of the learning material they process.