Oct 25th, 2019 by DFBlue
We will use DeepFaceLab to create the deepfakes. Another software, FaceSwap is also available, and will have a separate tutorial. Join us now Deepfakes or DF, a portmanteau of 'deep learning or DL' and 'fake', is an artificial intelligence-based human image synthesis technique. It is used to combine and superimpose existing images and videos onto source images or videos. Makes video using our app.
- Join us now Deepfakes or DF, a portmanteau of 'deep learning or DL' and 'fake', is an artificial intelligence-based human image synthesis technique. It is used to combine and superimpose existing images and videos onto source images or videos. Makes video using our app.
- DeepFaceLab is a pioneering deepfake software. You can go to GitHub for deepfake app download. The open-source deepfake system is made for replacing the face, de-aging face, replacing head, and manipulating lips.
- tutorial
- guide
- how to
- deepfacelab
- deepfakes
đź‘€ Update 10/25/19: Added instructions for the new SAEHD model (amazing)
đź‘˝ Update 9/24/19: New post for AVATAR mode
Source and destination videos requirements
- High resolution (4k webm is best, lower than 1080p is not recommended)
- Faces not too far from camera and unobstructed
- Multiple angles, facial expressions
- Brightly and evenly lit
- Faces should somewhat match (beard, hat, hair, skin color, shape, glasses)
- Need at least 2 mins of good quality video, interview videos work well
Downloading the software
We will use DeepFaceLab to create the deepfakes. Another software, FaceSwap is also available, and will have a separate tutorial.
- Download DeepFaceLab
- Make sure to pick the right build for your GPU. If you don’t have a GPU, use the CLSSE build
- Here’s the direct link
- In that folder, you will find some pre-compiled face-sets. Go ahead and download one of them to get started quickly (otherwise you will have to build your own face-set from videos / images)
- The downloaded .exe will extract and install the program to the location of your choosing.
- A
workspace
folder will be created. This is the folder where all the action will happen.
- A
Extracting faces from source video
- Name the source video
data_src
and place it in theworkspace
folder.- Most formats that
ffmpeg
supports will work
- Most formats that
- Run
2) extract images from video data_src
- Use PNG (better quality)
- FPS <= 10 that gets you at least 2000 images (4k-6k is ideal)
- Run
4) data_src extract faces S3FD best GPU
- Extracted faces saved to
data_srcaligned
.
- Extracted faces saved to
- Run
4.2.2) data_src sort by similar histogram
- Groups similar detected faces together
- Run
4.1) data_src check result
- Delete faces that are not the right person, super blurry, cut off, upside down or sideways, or obstructed
- Run
4.2.other) data_src util add landmarks debug images
- New images with
_debug
suffix are created indata_src/aligned
which allow you to see the detected facial landmarks - Look for faces where landmarks are misaligned and delete the
_debug
and original images for those - Once you’re done, delete all
_debug
images by using the search bar to filter for_debug
- New images with
- Run
4.2.6) data_src sort by final
- Choose a target image number around 90% of your total faces
Extracting faces from destination video
You may choose to either extract from (1) the final video clip you want, or (2) one that is cut to include only the face you want to swap. If you choose 1, you may have to spend more time cleaning the extracted faces. If you choose 2 you will have to edit back the final video (and audio) after the swap.
- Name your final video
data_dst
and put it in theworkspace
folder - Run
3.2) extract PNG from video data_dst FULL FPS
- Run
5) data_dst extract faces S3FD best GPU
- Run
5.2) data_dst sort by similar histogram
- Run
5.1) data_dst check results
- Delete all faces that are not the target face to swap, or are the target face but upside down or sideways. Every face that you leave in will be swapped in the final video.
- Run
5.1) data_dst check results debug
- Delete any faces that are not correctly aligned or missing alignment, paying special attention to the jawline. We will manually align these frames in the next step.
- Run
5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG
- We run this step to manually align frames that we deleted in the last step. The manually aligned faces will be automatically extracted and used for converting. You must manually align frames you want converted (swapped) even if it’s a lot of work. If you fail to do so, your swap will use the original face for those frames.
- Manual alignment instructions:
- For each face, move your cursor around until it aligns correctly onto the face
- If it’s not aligning, use the mouse scroll wheel / zoom to change the size of the boxes
- When alignment is correct, hit enter
- Go back and forth with , and .. If you don’t want to align a frame just skip it with .
- Mouse left click will lock/unlock landmarks. You can either lock it by clicking or hitting enter.
Training
Run 6) train SAEHD
Setting | Value | Notes |
---|---|---|
iterations | 100000 | Or until previews are sharp with eyes and teeth details. |
resolution | 128 | Increasing resolution requires significant VRAM increase |
face_type | f | |
learn_mask | y | |
optimizer_mode | 2 or 3 | Modes 2/3 place work on the gpu and system memory. For a 8gb card you can place on mode 3 and still most likely be able to do 160 res fakes with small batch size. |
architecture | df | |
ae_dims | 512 | Reduce if less GPU memory (256) |
ed_ch_dims | 21 | Reduce if less GPU memory |
random_warp | y | |
trueface | n | |
face_style_power | 0 | Can enable if you want to morph src more to dst. But disable after 15k iterations. |
bg_style_power | 10 | Turn off at 15k iterations. Styles on consume ~30% more vram so you will need to change batch size accordingly. |
color_transfer | varies | Try all modes in the interactive converter |
clipgrad | n | |
batch_size | 8 | Higher if you don't run out of memory |
sort_by_yaw | n | No, unless you have very few src faces |
random_flip | y |
Optional: History timelapse
Before converting, you can make a timelapse of the preview history (if you saved it during training). Do this only if you understand what ffmpeg
is.
Convert
- Run
7) convert SAEHD
Use the interactive converter and memorize the shortcut keys, it will speed up the process a lot.
Setting | Value | Notes |
interactive_converter | y | Definitely use the interactive converter since you can try out all the different settings before converting all the frames |
mode | overlay | |
mask_mode | learned | |
erode_modifier | 0-50 | If src face is bleeding outside the edge of dst face increase this to 'erode' away the src face on the outside |
blur_modifier | 10-200 | The more similar the face the lower you can set erode and blur and get great results. |
motion_blur | 0 | |
color_transfer | ebs | Try all of them, can even use different ones for different scenes / lighting |
sharpen_mode | box | |
sharpen_amount | 1-3 | |
super_resolution | RankSRGAN | Enhances detail, especially around the eyes |
color_degrade_power | n | |
export_alpha_mask | n | Outputs transparent PNGs for use in post-production tools if you need it |
- While conversion is running, you can preview the final images
data_dstmerged
folder to make sure it’s correct. If it’s not, just close the convert window, delete/merged
and start conversion again. - Run
8) converted to mp4
- Bitrate of 3-8 is sufficient for most
Done 🤡
Contributions by DFBlue, PlanetOfTheFakes
Follow us on Twitter @dfblue or Reddit u/deepfakeblue to keep up with everything that is going on in the world of deepfakes. Think Blue.
UPLOAD A VIDEO CONTAINING THE FACE OF A PERSON (you or someone else) | UPLOAD A VIDEO TO DEEPFAKE | ENJOY YOUR MMASKED DEEPFAKE VIDEO ! |
Have you ever wanted to be someone else?
Better…. Have you ever wanted someone else to be someone else?
MMasked is the online deepfake video creator, which allows you to create a deepfake video of any subject doing anything you want (see example here). This subject being you, or this subject not being you.
By applying Deep Learning algorithms, MMasked allows you to transfer one person’s face from one video to another person’s body in another video. Examples of what types of faces this works for are:
Deepfake Software Mac
How does it work?
A MMasked deepfake video is a deepfake video made of two main elements :
- A face of a person showing in a “subject A“ video
- A body of another person showing in a “subject B“ video
The concept is simple : by using the MMasked video creation engine, you can transfer the face of the person showing in your “subject A” video to the body of the person present in your “subject B” video on this subject B video. We use the same technology used for creating deepfake videos, which is called Deep learning.
Deep Fake Software For Mac
For more informations about the MMasked online deepfake video creator, refer to this documentation or the FAQ page.
To start MMasking visit the page “Create a MMasked deepfake video“.
Deepfacelab
Make anyone be anyone with MMasked, the online deepfake video creator.
Deepfacelab Download
To start MMasking visit the page “Create a MMasked deepfake video“.