# Pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# Others
pip install numpy opencv-python moviepy librosa facenet_pytorch matplotlib marlin_pytorch torchmetrics
The implementation includes several preprocessing steps to prepare the DFDC dataset for training:
final_metadata.json
.Script: dfdc_preprocessing/speaker_labeling.py --root_dir {./full_dataset} --sub_folders {dfdc_train_part_0 dfdc_train_part_1...} --num_threads {4}
Script: dfdc_preprocessing/prepare_raw_dataset.py --root_dir {./full_dataset} --sub_folders {dfdc_train_part_0 dfdc_train_part_1...} --save_dir {./raw_dataset}
.npy
files for training.Script: dfdc_preprocessing/extract_faces.py --root_dir {./prepared_raw_sample_videos} --save_dir {./preprocessed_sample_videos} --num_threads {4}
.wav
and .png
files.Script: dfdc_preprocessing/extract_audios_and_features.py -root_dir {./prepared_raw_sample_videos} --save_dir {./preprocessed_sample_videos} --num_threads {4}
Create Annotations: We generate {--root_dir}/annotation.txt
files from the processed dataset for use
with PyTorch's DataLoader.
dfdc_preprocessing/create_annotations.py --root_dir {./prepared_raw_sample_videos}
main.py --annotation_path {./annotations.txt} --n_threads {4} --marlin_model {marlin_vit_small_ytf} --train --test --val
Deepfake Detection Challenge Dataset
metadata.json
{
{filename}: {
"label": ("FAKE" or "REAL"),
"split": "train"
}
}