论文讲解请看:https://blog.youkuaiyun.com/JustWantToLearn/article/details/138758033
代码链接:https://github.com/megvii-research/CADDM
在这里,我们简要描述算法流程,着重分析模型搭建细节,以及为什么要这样搭建。
part 1:数据集准备 本文
part 2: 数据集加载,包含 Multi-scale Facial Swap(MFS) 模块:https://blog.youkuaiyun.com/JustWantToLearn/article/details/139092687
part 3:训练过程,ADM模块 https://blog.youkuaiyun.com/JustWantToLearn/article/details/139116455
文章目录
环境准备
- linux
- Python 3 >= 3.6
- Pytorch >= 1.6.0
- OpenCV >= 4.4.0
- Scipy >= 1.4.1
- NumPy >= 1.19.5
在安装dlib库的时候卡了很久,先安装cmake,再去安装dlib。如果不成功,直接源码安装
git clone https://github.com/davisking/dlib.git
cd dlib
mkdir build
cd build
cmake ..
cmake --build . --config Release
cmake --build . --config Release --target install
cd ..
python setup.py install
数据准备 提取ff++数据集的ldm
1、下载FF++数据集
根据链接https://github.com/ondyari/FaceForensics/tree/master提示下载
放入特定文件夹中
.
└── data
└── FaceForensics++
├── original_sequences
│ └── youtube
│ └── raw
│ └── videos
│ └── *.mp4
├── manipulated_sequences
│ ├── Deepfakes
│ └── raw
│ └── videos
│ └── *.mp4
│ ├── Face2Face
│ ...
│ ├── FaceSwap
│ ...
│ ├── NeuralTextures
│ ...
│ ├── FaceShifter
│ ...
2、提取ldm
python lib/extract_frames_ldm_ff++.py
2.1 定义路径,函数
#extract_frames_ldm_ff++.py
#!/usr/bin/env python3
from glob import glob
import os
import cv2
from tqdm import tqdm
import numpy as np
import dlib
import json
import argparse
from imutils import face_utils
#定义路径
VIDEO_PATH = "./CADDM/data/FaceForensics++"
SAVE_IMGS_PATH = "./test_images"
#下载好的形状预测模型
PREDICTOR_PATH = "./CADDM/lib/shape_predictor_81_face_landmarks.dat"
DATASETS = {
'Original', 'FaceSwap', 'FaceShifter', 'Face2Face', 'Deepfakes', 'NeuralTextures'}
COMPRESSION = {
'raw'}
NUM_FRAMES = 1
IMG_META_DICT = dict()
def parse_labels(video_path):
label = None
if "original" in video_path:
label = 0
else:
label = 1
return label
def parse_source_save_path(save_path):
source_save_path = None
if "original" in save_path:
source_save_path = save_path
else:
img_meta = save_path.split('/')
source_target_index

最低0.47元/天 解锁文章
606





