Dharshaneshwaran commited on
Commit
ddcedb5
·
0 Parent(s):

Full updated code with finding ai generated images too

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +40 -0
  2. .gitignore +3 -0
  3. README.md +125 -0
  4. __pycache__/demo.txt +0 -0
  5. __pycache__/inference.cpython-39.pyc +0 -0
  6. __pycache__/inference_2.cpython-310.pyc +0 -0
  7. __pycache__/inference_2.cpython-39.pyc +0 -0
  8. app.py +59 -0
  9. audio.py +2 -0
  10. audios/DF_E_2000027.flac +0 -0
  11. audios/DF_E_2000028.flac +0 -0
  12. audios/DF_E_2000031.flac +0 -0
  13. audios/DF_E_2000032.flac +0 -0
  14. audios/demo.txt +0 -0
  15. checkpoints/demo.txt +0 -0
  16. checkpoints/efficientnet.onnx +3 -0
  17. checkpoints/model.pth +3 -0
  18. data/__init__.py +22 -0
  19. data/__pycache__/__init__.cpython-39.pyc +0 -0
  20. data/__pycache__/augmentation_utils.cpython-39.pyc +0 -0
  21. data/__pycache__/demo.txt +0 -0
  22. data/__pycache__/dfdt_dataset.cpython-39.pyc +0 -0
  23. data/augmentation_utils.py +88 -0
  24. data/demo.txt +0 -0
  25. data/dfdt_dataset.py +130 -0
  26. data/generate_dataset_to_tfrecord.py +178 -0
  27. datasets/demo.txt +0 -0
  28. datasets/fakeavceleb_100.csv +101 -0
  29. datasets/fakeavceleb_1k.csv +1001 -0
  30. datasets/train/.gitkeep +0 -0
  31. datasets/train/demo.txt +0 -0
  32. datasets/val/.gitkeep +0 -0
  33. datasets/val/demo.txt +0 -0
  34. images/demo.txt +0 -0
  35. images/fake_image.jpg +0 -0
  36. images/lady.jpg +0 -0
  37. images/real.jpeg +0 -0
  38. inference.py +211 -0
  39. inference_2.py +265 -0
  40. inference_3.py +17 -0
  41. main.py +247 -0
  42. model.py +3 -0
  43. models/TMC.py +156 -0
  44. models/__pycache__/TMC.cpython-310.pyc +0 -0
  45. models/__pycache__/TMC.cpython-39.pyc +0 -0
  46. models/__pycache__/classifiers.cpython-310.pyc +0 -0
  47. models/__pycache__/classifiers.cpython-39.pyc +0 -0
  48. models/__pycache__/demo.txt +0 -0
  49. models/__pycache__/image.cpython-310.pyc +0 -0
  50. models/__pycache__/image.cpython-39.pyc +0 -0
.gitattributes ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ checkpoints/model.pth filter=lfs diff=lfs merge=lfs -text
37
+ checkpoints/efficientnet.onnx filter=lfs diff=lfs merge=lfs -textvideos/0317.mp4 filter=lfs diff=lfs merge=lfs -text
38
+ videos/celeb_synthesis.mp4 filter=lfs diff=lfs merge=lfs -text
39
+ images/lady.png filter=lfs diff=lfs merge=lfs -text
40
+ *.ext filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ checkpoints/RawNet2.pth
2
+ deepfake/
3
+ .gradio/
README.md ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DeepSecure-AI
2
+
3
+ DeepSecure-AI is a powerful open-source tool designed to detect fake images, videos, and audios. Utilizing state-of-the-art deep learning techniques like EfficientNetV2 and MTCNN, DeepSecure-AI offers frame-by-frame video analysis, enabling high-accuracy deepfake detection. It's developed with a focus on ease of use, making it accessible for researchers, developers, and security analysts...
4
+
5
+ ---
6
+
7
+ ## Features
8
+
9
+ - Multimedia Detection: Detect deepfakes in images, videos, and audio files using a unified platform.
10
+ - High Accuracy: Leverages EfficientNetV2 for enhanced prediction performance and accurate results.
11
+ - Real-Time Video Analysis: Frame-by-frame analysis of videos with automatic face detection.
12
+ - User-Friendly Interface: Easy-to-use interface built with Gradio for uploading and processing media files.
13
+ - Open Source: Completely open source under the MIT license, making it available for developers to extend and improve.
14
+
15
+ ---
16
+
17
+ ## Demo-Data
18
+
19
+ You can test the deepfake detection capabilities of DeepSecure-AI by uploading your video files. The tool will analyze each frame of the video, detect faces, and determine the likelihood of the video being real or fake.
20
+
21
+ Examples:
22
+ 1. [Video1-fake-1-ff.mp4](#)
23
+ 2. [Video6-real-1-ff.mp4](#)
24
+
25
+ ---
26
+
27
+ ## How It Works
28
+
29
+ DeepSecure-AI uses the following architecture:
30
+
31
+ 1. Face Detection:
32
+ The [MTCNN](https://arxiv.org/abs/1604.02878) model detects faces in each frame of the video. If no face is detected, it will use the previous frame's face to ensure accuracy.
33
+
34
+ 2. Fake vs. Real Classification:
35
+ Once the face is detected, it's resized and fed into the [EfficientNetV2](https://arxiv.org/abs/2104.00298) deep learning model, which determines the likelihood of the frame being real or fake.
36
+
37
+ 3. Fake Confidence:
38
+ A final prediction is generated as a percentage score, indicating the confidence that the media is fake.
39
+
40
+ 4. Results:
41
+ DeepSecure-AI provides an output video, highlighting the detected faces and a summary of whether the input is classified as real or fake.
42
+
43
+ ---
44
+
45
+ ## Project Setup
46
+
47
+ ### Prerequisites
48
+
49
+ Ensure you have the following installed:
50
+
51
+ - Python 3.10
52
+ - Gradio (pip install gradio)
53
+ - TensorFlow (pip install tensorflow)
54
+ - OpenCV (pip install opencv-python)
55
+ - PyTorch (pip install torch torchvision torchaudio)
56
+ - facenet-pytorch (pip install facenet-pytorch)
57
+ - MoviePy (pip install moviepy)
58
+
59
+ ### Installation
60
+
61
+ 1. Clone the repository:
62
+ git clone https://github.com/Divith123/DeepSecure-AI.git
63
+ cd DeepSecure-AI
64
+
65
+
66
+ 2. Install required dependencies:
67
+ pip install -r requirements.txt
68
+
69
+
70
+ 3. Download the pre-trained model weights for EfficientNetV2 and place them in the project folder.
71
+
72
+ ### Running the Application
73
+
74
+ 1. Launch the Gradio interface:
75
+ python app.py
76
+
77
+
78
+ 2. The web interface will be available locally. You can upload a video, and DeepSecure-AI will analyze and display results.
79
+
80
+ ---
81
+
82
+ ## Example Usage
83
+
84
+ Upload a video or image to DeepSecure-AI to detect fake media. Here are some sample predictions:
85
+
86
+ - Video Analysis: The tool will detect faces from each frame and classify whether the video is fake or real.
87
+ - Result Output: A GIF or MP4 file with the sequence of detected faces and classification result will be provided.
88
+
89
+ ---
90
+
91
+ ## Technologies Used
92
+
93
+ - TensorFlow: For building and training deep learning models.
94
+ - EfficientNetV2: The core model for image and video classification.
95
+ - MTCNN: For face detection in images and videos.
96
+ - OpenCV: For video processing and frame manipulation.
97
+ - MoviePy: For video editing and result generation.
98
+ - Gradio: To create a user-friendly interface for interacting with the deepfake detector.
99
+
100
+ ---
101
+
102
+ ## License
103
+
104
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
105
+
106
+ ---
107
+
108
+ ## Contributions
109
+
110
+ Contributions are welcome! If you'd like to improve the tool, feel free to submit a pull request or raise an issue.
111
+
112
+ For more information, check the [Contribution Guidelines](CONTRIBUTING.md).
113
+
114
+ ---
115
+
116
+ ## References
117
+ - Li et al. (2020): [Celeb-DF(V2)](https://arxiv.org/abs/2008.06456)
118
+ - Rossler et al. (2019): [FaceForensics++](https://arxiv.org/abs/1901.08971)
119
+ - Timesler (2020): [Facial Recognition Model in PyTorch](https://www.kaggle.com/timesler/facial-recognition-model-in-pytorch)
120
+
121
+ ---
122
+
123
+ ### Disclaimer
124
+
125
+ DeepSecure-AI is a research project and is designed for educational purposes.Please use responsibly and always give proper credit when utilizing the model in your work.
__pycache__/demo.txt ADDED
File without changes
__pycache__/inference.cpython-39.pyc ADDED
Binary file (5.97 kB). View file
 
__pycache__/inference_2.cpython-310.pyc ADDED
Binary file (7.34 kB). View file
 
__pycache__/inference_2.cpython-39.pyc ADDED
Binary file (5.97 kB). View file
 
app.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import inference_2 as inference
3
+
4
+ # Title and Description
5
+ title = " Multimodal Deepfake Detector"
6
+ description = "Detect deepfakes and AI-generated content from videos, audio, and images using advanced AI models."
7
+
8
+ # Individual Interfaces
9
+ video_interface = gr.Interface(
10
+ inference.deepfakes_video_predict,
11
+ inputs=gr.Video(label="Upload a Video"),
12
+ outputs=gr.Textbox(label="Prediction"),
13
+ examples=["videos/aaa.mp4", "videos/bbb.mp4"],
14
+ cache_examples=False
15
+ )
16
+
17
+ image_interface = gr.Interface(
18
+ inference.deepfakes_image_predict,
19
+ inputs=gr.Image(label="Upload an Image"),
20
+ outputs=gr.Textbox(label="Prediction"),
21
+ examples=["images/lady.jpg", "images/fake_image.jpg"],
22
+ cache_examples=False
23
+ )
24
+
25
+ audio_interface = gr.Interface(
26
+ inference.deepfakes_spec_predict,
27
+ inputs=gr.Audio(label="Upload an Audio"),
28
+ outputs=gr.Textbox(label="Prediction"),
29
+ examples=["audios/DF_E_2000027.flac", "audios/DF_E_2000031.flac"],
30
+ cache_examples=False
31
+ )
32
+
33
+ ai_image_detector = gr.Interface(
34
+ fn=inference.detect_ai_generated_image,
35
+ inputs=gr.Image(label="Upload an Image"),
36
+ outputs=gr.Textbox(label="AI-Generated or Human-Created"),
37
+ examples=["images/ai_generated.jpg", "images/real.jpeg"],
38
+ cache_examples=False
39
+ )
40
+
41
+ # 🧩 Full UI with Title & Tabs
42
+ with gr.Blocks(title=title) as app:
43
+ gr.Markdown(f"# {title}")
44
+ gr.Markdown(description)
45
+
46
+ with gr.Tab("🎬 Video Inference"):
47
+ video_interface.render()
48
+
49
+ with gr.Tab("🎧 Audio Inference"):
50
+ audio_interface.render()
51
+
52
+ with gr.Tab("🖼️ Image Inference"):
53
+ image_interface.render()
54
+
55
+ with gr.Tab("🤖 AI Image Detector"):
56
+ ai_image_detector.render()
57
+
58
+ if __name__ == '__main__':
59
+ app.launch(share=False)
audio.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ import os
2
+ os.system("ffprobe -version")
audios/DF_E_2000027.flac ADDED
Binary file (30.3 kB). View file
 
audios/DF_E_2000028.flac ADDED
Binary file (29.7 kB). View file
 
audios/DF_E_2000031.flac ADDED
Binary file (65.2 kB). View file
 
audios/DF_E_2000032.flac ADDED
Binary file (80.3 kB). View file
 
audios/demo.txt ADDED
File without changes
checkpoints/demo.txt ADDED
File without changes
checkpoints/efficientnet.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:206f99f4c4efe6d088ba6e53bfcdec76ffa796a345d50770c037005e3cd11639
3
+ size 23510323
checkpoints/model.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3de812710093068acee6200b8d162aab074975edffa3edf2ccbe562868e4adf6
3
+ size 117418889
data/__init__.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch.utils.data
2
+
3
+ class DataProvider():
4
+
5
+ def __init__(self, cfg, dataset, batch_size=None, shuffle=True):
6
+ super().__init__()
7
+ self.dataset = dataset
8
+ if batch_size is None:
9
+ batch_size = cfg.BATCH_SIZE
10
+ self.dataloader = torch.utils.data.DataLoader(
11
+ self.dataset,
12
+ batch_size=batch_size,
13
+ shuffle=shuffle,
14
+ num_workers=int(cfg.WORKERS),
15
+ drop_last=False)
16
+
17
+ def __len__(self):
18
+ return len(self.dataset)
19
+
20
+ def __iter__(self):
21
+ for i, data in enumerate(self.dataloader):
22
+ yield data
data/__pycache__/__init__.cpython-39.pyc ADDED
Binary file (1.05 kB). View file
 
data/__pycache__/augmentation_utils.cpython-39.pyc ADDED
Binary file (3.55 kB). View file
 
data/__pycache__/demo.txt ADDED
File without changes
data/__pycache__/dfdt_dataset.cpython-39.pyc ADDED
Binary file (4.56 kB). View file
 
data/augmentation_utils.py ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2
2
+ import librosa
3
+ import numpy as np
4
+ import albumentations
5
+ from albumentations import (Compose, ImageCompression, GaussNoise, HorizontalFlip,
6
+ PadIfNeeded, OneOf,ToGray, ShiftScaleRotate, GaussianBlur,
7
+ RandomBrightnessContrast, FancyPCA, HueSaturationValue, BasicTransform)
8
+
9
+
10
+ class AudioTransform(BasicTransform):
11
+ """ Transform for audio task. This is the main class where we override the targets and update params function for our need"""
12
+ @property
13
+ def targets(self):
14
+ return {"data": self.apply}
15
+
16
+ def update_params(self, params, **kwargs):
17
+ if hasattr(self, "interpolation"):
18
+ params["interpolation"] = self.interpolation
19
+ if hasattr(self, "fill_value"):
20
+ params["fill_value"] = self.fill_value
21
+ return params
22
+
23
+ class TimeShifting(AudioTransform):
24
+ """ Do time shifting of audio """
25
+ def __init__(self, always_apply=False, p=0.5):
26
+ super(TimeShifting, self).__init__(always_apply, p)
27
+
28
+ def apply(self,data,**params):
29
+ '''
30
+ data : ndarray of audio timeseries
31
+ '''
32
+ start_ = int(np.random.uniform(-80000,80000))
33
+ if start_ >= 0:
34
+ audio_time_shift = np.r_[data[start_:], np.random.uniform(-0.001,0.001, start_)]
35
+ else:
36
+ audio_time_shift = np.r_[np.random.uniform(-0.001,0.001, -start_), data[:start_]]
37
+
38
+ return audio_time_shift
39
+
40
+ class PitchShift(AudioTransform):
41
+ """ Do time shifting of audio """
42
+ def __init__(self, always_apply=False, p=0.5 , n_steps=None):
43
+ super(PitchShift, self).__init__(always_apply, p)
44
+ '''
45
+ nsteps here is equal to number of semitones
46
+ '''
47
+
48
+ self.n_steps = n_steps
49
+
50
+ def apply(self,data,**params):
51
+ '''
52
+ data : ndarray of audio timeseries
53
+ '''
54
+ return librosa.effects.pitch_shift(data,sr=16000,n_steps=self.n_steps)
55
+
56
+
57
+ class AddGaussianNoise(AudioTransform):
58
+ """ Do time shifting of audio """
59
+ def __init__(self, always_apply=False, p=0.5):
60
+ super(AddGaussianNoise, self).__init__(always_apply, p)
61
+
62
+
63
+ def apply(self,data,**params):
64
+ '''
65
+ data : ndarray of audio timeseries
66
+ '''
67
+ noise = np.random.randn(len(data))
68
+ data_wn = data + 0.005*noise
69
+ return data_wn
70
+
71
+
72
+ create_frame_transforms = Compose([
73
+ ImageCompression(quality_lower=60, quality_upper=100, p=0.5),
74
+ GaussNoise(p=0.1),
75
+ GaussianBlur(blur_limit=3, p=0.05),
76
+ HorizontalFlip(),
77
+ PadIfNeeded(min_height=256, min_width=256, border_mode=cv2.BORDER_CONSTANT),
78
+ OneOf([RandomBrightnessContrast(), FancyPCA(), HueSaturationValue()], p=0.7),
79
+ ToGray(p=0.2),
80
+ ShiftScaleRotate(shift_limit=0.1, scale_limit=0.2, rotate_limit=10, border_mode=cv2.BORDER_CONSTANT, p=0.5),])
81
+
82
+
83
+
84
+ create_spec_transforms = albumentations.Compose([
85
+ TimeShifting(p=0.9), # here not p=1.0 because your nets should get some difficulties
86
+ AddGaussianNoise(p=0.8),
87
+ PitchShift(p=0.5,n_steps=4)
88
+ ])
data/demo.txt ADDED
File without changes
data/dfdt_dataset.py ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''Module for loading the fakeavceleb dataset from tfrecord format'''
2
+ import numpy as np
3
+ import tensorflow as tf
4
+ from data.augmentation_utils import create_frame_transforms, create_spec_transforms
5
+
6
+ FEATURE_DESCRIPTION = {
7
+ 'video_path': tf.io.FixedLenFeature([], tf.string),
8
+ 'image/encoded': tf.io.FixedLenFeature([], tf.string),
9
+ 'clip/label/index': tf.io.FixedLenFeature([], tf.int64),
10
+ 'clip/label/text': tf.io.FixedLenFeature([], tf.string),
11
+ 'WAVEFORM/feature/floats': tf.io.FixedLenFeature([], tf.string)
12
+ }
13
+
14
+ @tf.function
15
+ def _parse_function(example_proto):
16
+
17
+ #Parse the input `tf.train.Example` proto using the dictionary above.
18
+ example = tf.io.parse_single_example(example_proto, FEATURE_DESCRIPTION)
19
+
20
+ video_path = example['video_path']
21
+ video = tf.io.decode_raw(example['image/encoded'], tf.int8)
22
+ spectrogram = tf.io.decode_raw(example['WAVEFORM/feature/floats'], tf.float32)
23
+
24
+ label = example["clip/label/text"]
25
+ label_map = example["clip/label/index"]
26
+
27
+ return video, spectrogram, label_map
28
+
29
+ @tf.function
30
+ def decode_inputs(video, spectrogram, label_map):
31
+ '''Decode tensors to arrays with desired shape'''
32
+ frame = tf.reshape(video, [10, 3, 256, 256])
33
+ frame = frame[0] / 255 #Pick the first frame and normalize it.
34
+ # frame = tf.cast(frame, tf.float32)
35
+
36
+ label_map = tf.expand_dims(label_map, axis = 0)
37
+
38
+ sample = {'video_reshaped': frame, 'spectrogram': spectrogram, 'label_map': label_map}
39
+ return sample
40
+
41
+
42
+ def decode_train_inputs(video, spectrogram, label_map):
43
+ #Data augmentation for spectograms
44
+ spectrogram_shape = spectrogram.shape
45
+ spec_augmented = tf.py_function(aug_spec_fn, [spectrogram], tf.float32)
46
+ spec_augmented.set_shape(spectrogram_shape)
47
+
48
+ frame = tf.reshape(video, [10, 256, 256, 3])
49
+ frame = frame[0] #Pick the first frame.
50
+ frame = frame / 255 #Normalize tensor.
51
+
52
+ frame_augmented = tf.py_function(aug_img_fn, [frame], tf.uint8)
53
+ # frame_augmented.set_shape(frame_shape)
54
+
55
+ frame_augmented.set_shape([3, 256, 256])
56
+ label_map = tf.expand_dims(label_map, axis = 0)
57
+
58
+ augmented_sample = {'video_reshaped': frame_augmented, 'spectrogram': spec_augmented, 'label_map': label_map}
59
+ return augmented_sample
60
+
61
+
62
+ def aug_img_fn(frame):
63
+ frame = frame.numpy().astype(np.uint8)
64
+ frame_data = {'image': frame}
65
+ aug_frame_data = create_frame_transforms(**frame_data)
66
+ aug_img = aug_frame_data['image']
67
+ aug_img = aug_img.transpose(2, 0, 1)
68
+ return aug_img
69
+
70
+ def aug_spec_fn(spec):
71
+ spec = spec.numpy()
72
+ spec_data = {'spec': spec}
73
+ aug_spec_data = create_spec_transforms(**spec_data)
74
+ aug_spec = aug_spec_data['spec']
75
+ return aug_spec
76
+
77
+
78
+ class FakeAVCelebDatasetTrain:
79
+
80
+ def __init__(self, args):
81
+ self.args = args
82
+ self.samples = self.load_features_from_tfrec()
83
+
84
+ def load_features_from_tfrec(self):
85
+ '''Loads raw features from a tfrecord file and returns them as raw inputs'''
86
+ ds = tf.io.matching_files(self.args.data_dir)
87
+ files = tf.random.shuffle(ds)
88
+
89
+ shards = tf.data.Dataset.from_tensor_slices(files)
90
+ dataset = shards.interleave(tf.data.TFRecordDataset)
91
+ dataset = dataset.shuffle(buffer_size=100)
92
+
93
+ dataset = dataset.map(_parse_function, num_parallel_calls = tf.data.AUTOTUNE)
94
+ dataset = dataset.map(decode_train_inputs, num_parallel_calls = tf.data.AUTOTUNE)
95
+ dataset = dataset.padded_batch(batch_size = self.args.batch_size)
96
+ return dataset
97
+
98
+
99
+ def __len__(self):
100
+ self.samples = self.load_features_from_tfrec(self.args.data_dir)
101
+ cnt = self.samples.reduce(np.int64(0), lambda x, _: x + 1)
102
+ cnt = cnt.numpy()
103
+ return cnt
104
+
105
+ class FakeAVCelebDatasetVal:
106
+
107
+ def __init__(self, args):
108
+ self.args = args
109
+ self.samples = self.load_features_from_tfrec()
110
+
111
+ def load_features_from_tfrec(self):
112
+ '''Loads raw features from a tfrecord file and returns them as raw inputs'''
113
+ ds = tf.io.matching_files(self.args.data_dir)
114
+ files = tf.random.shuffle(ds)
115
+
116
+ shards = tf.data.Dataset.from_tensor_slices(files)
117
+ dataset = shards.interleave(tf.data.TFRecordDataset)
118
+ dataset = dataset.shuffle(buffer_size=100)
119
+
120
+ dataset = dataset.map(_parse_function, num_parallel_calls = tf.data.AUTOTUNE)
121
+ dataset = dataset.map(decode_inputs, num_parallel_calls = tf.data.AUTOTUNE)
122
+ dataset = dataset.padded_batch(batch_size = self.args.batch_size)
123
+ return dataset
124
+
125
+
126
+ def __len__(self):
127
+ self.samples = self.load_features_from_tfrec(self.args.data_dir)
128
+ cnt = self.samples.reduce(np.int64(0), lambda x, _: x + 1)
129
+ cnt = cnt.numpy()
130
+ return cnt
data/generate_dataset_to_tfrecord.py ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #Code outsourced from https://github.com/deepmind/dmvr/tree/master and later modified.
2
+
3
+ """Python script to generate TFRecords of SequenceExample from raw videos."""
4
+
5
+ import contextlib
6
+ import math
7
+ import os
8
+ import cv2
9
+ from typing import Dict, Optional, Sequence
10
+ import moviepy.editor
11
+ from absl import app
12
+ from absl import flags
13
+ import ffmpeg
14
+ import numpy as np
15
+ import pandas as pd
16
+ import tensorflow as tf
17
+
18
+ import warnings
19
+ warnings.filterwarnings('ignore')
20
+
21
+ flags.DEFINE_string("csv_path", "fakeavceleb_1k.csv", "Input csv")
22
+ flags.DEFINE_string("output_path", "fakeavceleb_tfrec", "Tfrecords output path.")
23
+ flags.DEFINE_string("video_root_path", "./",
24
+ "Root directory containing the raw videos.")
25
+ flags.DEFINE_integer(
26
+ "num_shards", 4, "Number of shards to output, -1 means"
27
+ "it will automatically adapt to the sqrt(num_examples).")
28
+ flags.DEFINE_bool("decode_audio", False, "Whether or not to decode the audio")
29
+ flags.DEFINE_bool("shuffle_csv", False, "Whether or not to shuffle the csv.")
30
+ FLAGS = flags.FLAGS
31
+
32
+
33
+ _JPEG_HEADER = b"\xff\xd8"
34
+
35
+
36
+ @contextlib.contextmanager
37
+ def _close_on_exit(writers):
38
+ """Call close on all writers on exit."""
39
+ try:
40
+ yield writers
41
+ finally:
42
+ for writer in writers:
43
+ writer.close()
44
+
45
+
46
+ def add_float_list(key: str, values: Sequence[float],
47
+ sequence: tf.train.SequenceExample):
48
+ sequence.feature_lists.feature_list[key].feature.add(
49
+ ).float_list.value[:] = values
50
+
51
+
52
+ def add_bytes_list(key: str, values: Sequence[bytes],
53
+ sequence: tf.train.SequenceExample):
54
+ sequence.feature_lists.feature_list[key].feature.add().bytes_list.value[:] = values
55
+
56
+
57
+ def add_int_list(key: str, values: Sequence[int],
58
+ sequence: tf.train.SequenceExample):
59
+ sequence.feature_lists.feature_list[key].feature.add().int64_list.value[:] = values
60
+
61
+
62
+ def set_context_int_list(key: str, value: Sequence[int],
63
+ sequence: tf.train.SequenceExample):
64
+ sequence.context.feature[key].int64_list.value[:] = value
65
+
66
+
67
+ def set_context_bytes(key: str, value: bytes,
68
+ sequence: tf.train.SequenceExample):
69
+ sequence.context.feature[key].bytes_list.value[:] = (value,)
70
+
71
+ def set_context_bytes_list(key: str, value: Sequence[bytes],
72
+ sequence: tf.train.SequenceExample):
73
+ sequence.context.feature[key].bytes_list.value[:] = value
74
+
75
+
76
+ def set_context_float(key: str, value: float,
77
+ sequence: tf.train.SequenceExample):
78
+ sequence.context.feature[key].float_list.value[:] = (value,)
79
+
80
+
81
+ def set_context_int(key: str, value: int, sequence: tf.train.SequenceExample):
82
+ sequence.context.feature[key].int64_list.value[:] = (value,)
83
+
84
+
85
+ def extract_frames(video_path, fps = 10, min_resize = 256):
86
+ '''Load n number of frames from a video'''
87
+ v_cap = cv2.VideoCapture(video_path)
88
+ v_len = int(v_cap.get(cv2.CAP_PROP_FRAME_COUNT))
89
+
90
+ if fps is None:
91
+ sample = np.arange(0, v_len)
92
+ else:
93
+ sample = np.linspace(0, v_len - 1, fps).astype(int)
94
+
95
+ frames = []
96
+ for j in range(v_len):
97
+ success = v_cap.grab()
98
+ if j in sample:
99
+ success, frame = v_cap.retrieve()
100
+ if not success:
101
+ continue
102
+
103
+ frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
104
+ frame = cv2.resize(frame, (min_resize, min_resize))
105
+ frames.append(frame)
106
+
107
+ v_cap.release()
108
+ frame_np = np.stack(frames)
109
+ return frame_np.tobytes()
110
+
111
+ def extract_audio(video_path: str,
112
+ sampling_rate: int = 16_000):
113
+ """Extract raw mono audio float list from video_path with ffmpeg."""
114
+ video = moviepy.editor.VideoFileClip(video_path)
115
+ audio = video.audio.to_soundarray()
116
+ #Load first channel.
117
+ audio = audio[:, 0]
118
+
119
+ return np.array(audio)
120
+
121
+ #Each of the features can be coerced into a tf.train.Example-compatible type using one of the _bytes_feature, _float_feature and the _int64_feature.
122
+ #You can then create a tf.train.Example message from these encoded features.
123
+
124
+ def serialize_example(video_path: str, label_name: str, label_map: Optional[Dict[str, int]] = None):
125
+ # Initiate the sequence example.
126
+ seq_example = tf.train.SequenceExample()
127
+
128
+ imgs_encoded = extract_frames(video_path, fps = 10)
129
+
130
+ audio = extract_audio(video_path)
131
+
132
+ set_context_bytes(f'image/encoded', imgs_encoded, seq_example)
133
+ set_context_bytes("video_path", video_path.encode(), seq_example)
134
+ set_context_bytes("WAVEFORM/feature/floats", audio.tobytes(), seq_example)
135
+ set_context_int("clip/label/index", label_map[label_name], seq_example)
136
+ set_context_bytes("clip/label/text", label_name.encode(), seq_example)
137
+ return seq_example
138
+
139
+
140
+ def main(argv):
141
+ del argv
142
+ # reads the input csv.
143
+ input_csv = pd.read_csv(FLAGS.csv_path)
144
+ if FLAGS.num_shards == -1:
145
+ num_shards = int(math.sqrt(len(input_csv)))
146
+ else:
147
+ num_shards = FLAGS.num_shards
148
+ # Set up the TFRecordWriters.
149
+ basename = os.path.splitext(os.path.basename(FLAGS.csv_path))[0]
150
+ shard_names = [
151
+ os.path.join(FLAGS.output_path, f"{basename}-{i:05d}-of-{num_shards:05d}")
152
+ for i in range(num_shards)
153
+ ]
154
+ writers = [tf.io.TFRecordWriter(shard_name) for shard_name in shard_names]
155
+
156
+ if "label" in input_csv:
157
+ unique_labels = list(set(input_csv["label"].values))
158
+ l_map = {unique_labels[i]: i for i in range(len(unique_labels))}
159
+ else:
160
+ l_map = None
161
+
162
+ if FLAGS.shuffle_csv:
163
+ input_csv = input_csv.sample(frac=1)
164
+ with _close_on_exit(writers) as writers:
165
+ row_count = 0
166
+ for row in input_csv.itertuples():
167
+ index = row[0]
168
+ v = row[1]
169
+ if os.name == 'posix':
170
+ v = v.str.replace('\\', '/')
171
+ l = row[2]
172
+ row_count += 1
173
+ print("Processing example %d of %d (%d%%) \r" %(row_count, len(input_csv), row_count * 100 / len(input_csv)), end="")
174
+ seq_ex = serialize_example(video_path = v, label_name = l,label_map = l_map)
175
+ writers[index % len(writers)].write(seq_ex.SerializeToString())
176
+
177
+ if __name__ == "__main__":
178
+ app.run(main)
datasets/demo.txt ADDED
File without changes
datasets/fakeavceleb_100.csv ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ video_path,label
2
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00076/00109.mp4,real
3
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00166/00010.mp4,real
4
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00173/00118.mp4,real
5
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00366/00118.mp4,real
6
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00391/00052.mp4,real
7
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00475/00099.mp4,real
8
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00476/00109.mp4,real
9
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00478/00206.mp4,real
10
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00518/00031.mp4,real
11
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00701/00092.mp4,real
12
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00761/00072.mp4,real
13
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00781/00092.mp4,real
14
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00830/00143.mp4,real
15
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00944/00135.mp4,real
16
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id00987/00160.mp4,real
17
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01036/00010.mp4,real
18
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01076/00005.mp4,real
19
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01170/00021.mp4,real
20
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01171/00053.mp4,real
21
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01179/00160.mp4,real
22
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01207/00320.mp4,real
23
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01236/00005.mp4,real
24
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01392/00167.mp4,real
25
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01452/00001.mp4,real
26
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01521/00109.mp4,real
27
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01528/00017.mp4,real
28
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01530/00002.mp4,real
29
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01544/00044.mp4,real
30
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01597/00005.mp4,real
31
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01598/00044.mp4,real
32
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01610/00090.mp4,real
33
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01637/00002.mp4,real
34
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01691/00045.mp4,real
35
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01717/00005.mp4,real
36
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01779/00010.mp4,real
37
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01835/00130.mp4,real
38
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01856/00006.mp4,real
39
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01920/00099.mp4,real
40
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01933/00028.mp4,real
41
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01972/00078.mp4,real
42
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id01995/00071.mp4,real
43
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02005/00052.mp4,real
44
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02040/00476.mp4,real
45
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02051/00015.mp4,real
46
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02268/00036.mp4,real
47
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02296/00019.mp4,real
48
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02316/00094.mp4,real
49
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02342/00191.mp4,real
50
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id02494/00050.mp4,real
51
+ FakeAVCeleb/RealVideo-RealAudio/African/men/id04727/00007.mp4,real
52
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_10_id00476_wavtolip.mp4,fake
53
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_10_id01076_wavtolip.mp4,fake
54
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_10_id01179_wavtolip.mp4,fake
55
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_10_id02005_wavtolip.mp4,fake
56
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_10_id02342_wavtolip.mp4,fake
57
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_12_id00518_wavtolip.mp4,fake
58
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_12_id00761_wavtolip.mp4,fake
59
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_12_id00987_wavtolip.mp4,fake
60
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_12_id01856_wavtolip.mp4,fake
61
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_12_id02296_wavtolip.mp4,fake
62
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_2_id00166_wavtolip.mp4,fake
63
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_2_id00701_wavtolip.mp4,fake
64
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_2_id01236_wavtolip.mp4,fake
65
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_2_id01521_wavtolip.mp4,fake
66
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_2_id01598_wavtolip.mp4,fake
67
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_4_id01392_wavtolip.mp4,fake
68
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_4_id01528_wavtolip.mp4,fake
69
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_4_id01691_wavtolip.mp4,fake
70
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_4_id01995_wavtolip.mp4,fake
71
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_4_id02296_wavtolip.mp4,fake
72
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_7_id00166_wavtolip.mp4,fake
73
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_7_id00478_wavtolip.mp4,fake
74
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_7_id01452_wavtolip.mp4,fake
75
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_7_id01717_wavtolip.mp4,fake
76
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_7_id01995_wavtolip.mp4,fake
77
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_8_id00166_wavtolip.mp4,fake
78
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_8_id00701_wavtolip.mp4,fake
79
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_8_id00761_wavtolip.mp4,fake
80
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_8_id01170_wavtolip.mp4,fake
81
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_8_id02005_wavtolip.mp4,fake
82
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_9_id00076_wavtolip.mp4,fake
83
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_9_id01036_wavtolip.mp4,fake
84
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_9_id01452_wavtolip.mp4,fake
85
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_9_id01528_wavtolip.mp4,fake
86
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00076/00109_9_id02005_wavtolip.mp4,fake
87
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00166/00010_id01637_5VjcPZm8knM_faceswap_id00166_wavtolip.mp4,fake
88
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00166/00010_id01637_5VjcPZm8knM_faceswap_id00761_wavtolip.mp4,fake
89
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00166/00010_id01637_5VjcPZm8knM_faceswap_id01171_wavtolip.mp4,fake
90
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00166/00010_id01637_5VjcPZm8knM_faceswap_id01530_wavtolip.mp4,fake
91
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00166/00010_id01637_5VjcPZm8knM_faceswap_id01598_wavtolip.mp4,fake
92
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00173/00118_id00476_UgdYVJ6xPYg_faceswap_id00166_wavtolip.mp4,fake
93
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00173/00118_id00476_UgdYVJ6xPYg_faceswap_id00173_wavtolip.mp4,fake
94
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00173/00118_id00476_UgdYVJ6xPYg_faceswap_id01530_wavtolip.mp4,fake
95
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00173/00118_id00476_UgdYVJ6xPYg_faceswap_id01598_wavtolip.mp4,fake
96
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00173/00118_id00476_UgdYVJ6xPYg_faceswap_id01779_wavtolip.mp4,fake
97
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00366/00118_id00076_Isiq7cA-DNE_faceswap_id01170_wavtolip.mp4,fake
98
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00366/00118_id00076_Isiq7cA-DNE_faceswap_id01779_wavtolip.mp4,fake
99
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00366/00118_id00076_Isiq7cA-DNE_faceswap_id02316_wavtolip.mp4,fake
100
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00366/00118_id00076_Isiq7cA-DNE_faceswap_id02342_wavtolip.mp4,fake
101
+ FakeAVCeleb/FakeVideo-FakeAudio/African/men/id00366/00118_id00076_Isiq7cA-DNE_faceswap_id02494_wavtolip.mp4,fake
datasets/fakeavceleb_1k.csv ADDED
@@ -0,0 +1,1001 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ video_path,label
2
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00076\00109.mp4,real
3
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00166\00010.mp4,real
4
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00173\00118.mp4,real
5
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00366\00118.mp4,real
6
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00391\00052.mp4,real
7
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00475\00099.mp4,real
8
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00476\00109.mp4,real
9
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00478\00206.mp4,real
10
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00518\00031.mp4,real
11
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00701\00092.mp4,real
12
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00761\00072.mp4,real
13
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00781\00092.mp4,real
14
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00830\00143.mp4,real
15
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00944\00135.mp4,real
16
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id00987\00160.mp4,real
17
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01036\00010.mp4,real
18
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01076\00005.mp4,real
19
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01170\00021.mp4,real
20
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01171\00053.mp4,real
21
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01179\00160.mp4,real
22
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01207\00320.mp4,real
23
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01236\00005.mp4,real
24
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01392\00167.mp4,real
25
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01452\00001.mp4,real
26
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01521\00109.mp4,real
27
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01528\00017.mp4,real
28
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01530\00002.mp4,real
29
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01544\00044.mp4,real
30
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01597\00005.mp4,real
31
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01598\00044.mp4,real
32
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01610\00090.mp4,real
33
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01637\00002.mp4,real
34
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01691\00045.mp4,real
35
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01717\00005.mp4,real
36
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01779\00010.mp4,real
37
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01835\00130.mp4,real
38
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01856\00006.mp4,real
39
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01920\00099.mp4,real
40
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01933\00028.mp4,real
41
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01972\00078.mp4,real
42
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id01995\00071.mp4,real
43
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02005\00052.mp4,real
44
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02040\00476.mp4,real
45
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02051\00015.mp4,real
46
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02268\00036.mp4,real
47
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02296\00019.mp4,real
48
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02316\00094.mp4,real
49
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02342\00191.mp4,real
50
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id02494\00050.mp4,real
51
+ FakeAVCeleb\RealVideo-RealAudio\African\men\id04727\00007.mp4,real
52
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00220\00027.mp4,real
53
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00359\00053.mp4,real
54
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00371\00099.mp4,real
55
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00460\00005.mp4,real
56
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00568\00384.mp4,real
57
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00577\00010.mp4,real
58
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00592\00017.mp4,real
59
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00707\00052.mp4,real
60
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00829\00271.mp4,real
61
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id00832\00078.mp4,real
62
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id01178\00028.mp4,real
63
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id01532\00065.mp4,real
64
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id01661\00059.mp4,real
65
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id01783\00015.mp4,real
66
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id01838\00126.mp4,real
67
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id01907\00148.mp4,real
68
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02071\00195.mp4,real
69
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02301\00092.mp4,real
70
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02508\00083.mp4,real
71
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02586\00042.mp4,real
72
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02617\00028.mp4,real
73
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02721\00424.mp4,real
74
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02808\00056.mp4,real
75
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02824\00130.mp4,real
76
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02838\00080.mp4,real
77
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id02948\00298.mp4,real
78
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id03103\00130.mp4,real
79
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id03569\00065.mp4,real
80
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id03656\00052.mp4,real
81
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id03658\00077.mp4,real
82
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id03713\00249.mp4,real
83
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id03747\00273.mp4,real
84
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04055\00001.mp4,real
85
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04245\00072.mp4,real
86
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04374\00032.mp4,real
87
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04376\00181.mp4,real
88
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04437\00002.mp4,real
89
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04540\00078.mp4,real
90
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04547\00052.mp4,real
91
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04689\00005.mp4,real
92
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04705\00408.mp4,real
93
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04736\00083.mp4,real
94
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04820\00015.mp4,real
95
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id04939\00174.mp4,real
96
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id05106\00078.mp4,real
97
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id05231\00149.mp4,real
98
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id05235\00052.mp4,real
99
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id05251\00033.mp4,real
100
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id05252\00052.mp4,real
101
+ FakeAVCeleb\RealVideo-RealAudio\African\women\id05980\00143.mp4,real
102
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00018\00181.mp4,real
103
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00020\00206.mp4,real
104
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00021\00010.mp4,real
105
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00029\00288.mp4,real
106
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00049\00118.mp4,real
107
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00052\00015.mp4,real
108
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00060\00307.mp4,real
109
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00062\00278.mp4,real
110
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00087\00002.mp4,real
111
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00088\00005.mp4,real
112
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00169\00021.mp4,real
113
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00179\00143.mp4,real
114
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00184\00241.mp4,real
115
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00243\00037.mp4,real
116
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00264\00257.mp4,real
117
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00345\00243.mp4,real
118
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00529\00409.mp4,real
119
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00696\00005.mp4,real
120
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00708\00043.mp4,real
121
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00775\00092.mp4,real
122
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00777\00160.mp4,real
123
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00943\00304.mp4,real
124
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00945\00107.mp4,real
125
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id00971\00253.mp4,real
126
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01035\00012.mp4,real
127
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01042\00154.mp4,real
128
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01044\00336.mp4,real
129
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01048\00160.mp4,real
130
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01096\00037.mp4,real
131
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01105\00083.mp4,real
132
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01124\00063.mp4,real
133
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01163\00195.mp4,real
134
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01168\00028.mp4,real
135
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01172\00015.mp4,real
136
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01175\00025.mp4,real
137
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01182\00167.mp4,real
138
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01192\00217.mp4,real
139
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01201\00028.mp4,real
140
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01210\00283.mp4,real
141
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01211\00023.mp4,real
142
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id01239\00280.mp4,real
143
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id03525\00048.mp4,real
144
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id03668\00143.mp4,real
145
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id03678\00078.mp4,real
146
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id03757\00149.mp4,real
147
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id04034\00009.mp4,real
148
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id04073\00021.mp4,real
149
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id04216\00470.mp4,real
150
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id04219\00130.mp4,real
151
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\men\id04221\00053.mp4,real
152
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00025\00025.mp4,real
153
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00097\00162.mp4,real
154
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00098\00004.mp4,real
155
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00100\00028.mp4,real
156
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00145\00043.mp4,real
157
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00180\00206.mp4,real
158
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00190\00072.mp4,real
159
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00231\00037.mp4,real
160
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00261\00048.mp4,real
161
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00272\00195.mp4,real
162
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00291\00052.mp4,real
163
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00381\00030.mp4,real
164
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00383\00171.mp4,real
165
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00385\00439.mp4,real
166
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00398\00016.mp4,real
167
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00418\00052.mp4,real
168
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00428\00017.mp4,real
169
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00431\00039.mp4,real
170
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00458\00072.mp4,real
171
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00462\00143.mp4,real
172
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00555\00005.mp4,real
173
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00575\00092.mp4,real
174
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00616\00305.mp4,real
175
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00618\00195.mp4,real
176
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00680\00110.mp4,real
177
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00752\00340.mp4,real
178
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00835\00195.mp4,real
179
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00841\00078.mp4,real
180
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00842\00043.mp4,real
181
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id00848\00028.mp4,real
182
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01004\00028.mp4,real
183
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01005\00028.mp4,real
184
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01075\00160.mp4,real
185
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01091\00236.mp4,real
186
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01216\00025.mp4,real
187
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01217\00005.mp4,real
188
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01223\00255.mp4,real
189
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01225\00300.mp4,real
190
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01227\00052.mp4,real
191
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01231\00015.mp4,real
192
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01238\00037.mp4,real
193
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01245\00028.mp4,real
194
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id01248\00005.mp4,real
195
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id02464\00002.mp4,real
196
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id02466\00136.mp4,real
197
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id03556\00043.mp4,real
198
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id03605\00048.mp4,real
199
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id03696\00160.mp4,real
200
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id03707\00055.mp4,real
201
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (American)\women\id03781\00113.mp4,real
202
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id00056\00028.mp4,real
203
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id00126\00173.mp4,real
204
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id00560\00041.mp4,real
205
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id00597\00019.mp4,real
206
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id00740\00015.mp4,real
207
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id00863\00069.mp4,real
208
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id01204\00092.mp4,real
209
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id01212\00183.mp4,real
210
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id01215\00001.mp4,real
211
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id01589\00017.mp4,real
212
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id01683\00052.mp4,real
213
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id02332\00055.mp4,real
214
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id02365\00028.mp4,real
215
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id02493\00073.mp4,real
216
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id02553\00043.mp4,real
217
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id02561\02561.mp4,real
218
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id03028\00466.mp4,real
219
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id03168\03168.mp4,real
220
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id03889\00052.mp4,real
221
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id03965\00051.mp4,real
222
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04111\00015.mp4,real
223
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04222\00078.mp4,real
224
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04687\00066.mp4,real
225
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04691\1.mp4,real
226
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04726\00245.mp4,real
227
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04774\00032.mp4,real
228
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04789\002121.mp4,real
229
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id04884\00028.mp4,real
230
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id05268\00010.mp4,real
231
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id05332\00065.mp4,real
232
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id05383\00015.mp4,real
233
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id05479\05479.mp4,real
234
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id05743\00015.mp4,real
235
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06152\06152.mp4,real
236
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06269\00005.mp4,real
237
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06467\00010.mp4,real
238
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06470\00052.mp4,real
239
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06535\00183.mp4,real
240
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06591\00021.mp4,real
241
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06594\00002.mp4,real
242
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06776\00021.mp4,real
243
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06807\00015.mp4,real
244
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id06878\00001.mp4,real
245
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id07102\00052.mp4,real
246
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id07338\00003.mp4,real
247
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id08299\00110.mp4,real
248
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id08613\00074.mp4,real
249
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id08652\00006.mp4,real
250
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id09053\00005.mp4,real
251
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\men\id09143\00056.mp4,real
252
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00137\00025.mp4,real
253
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00363\00014.mp4,real
254
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00430\00209.mp4,real
255
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00566\00032.mp4,real
256
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00579\00030.mp4,real
257
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00582\00006.mp4,real
258
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00763\00074.mp4,real
259
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id00935\00005.mp4,real
260
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id01281\00040.mp4,real
261
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id01451\00099.mp4,real
262
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id02587\00020.mp4,real
263
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id02807\00032.mp4,real
264
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id03211\00032.mp4,real
265
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id03379\00032.mp4,real
266
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id03940\00025.mp4,real
267
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id04057\00015.mp4,real
268
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id04066\00013.mp4,real
269
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id04144\00028.mp4,real
270
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id04414\00001.mp4,real
271
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id04701\00017.mp4,real
272
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id05576\00368.mp4,real
273
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id05620\00005.mp4,real
274
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id05631\00073.mp4,real
275
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id05844\00072.mp4,real
276
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06054\00010.mp4,real
277
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06060\00219.mp4,real
278
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06061\00002.mp4,real
279
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06065\00160.mp4,real
280
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06066\00028.mp4,real
281
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06158\00015.mp4,real
282
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06225\00005.mp4,real
283
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06388\00005.mp4,real
284
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06427\00138.mp4,real
285
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06443\00232.mp4,real
286
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id06462\00014.mp4,real
287
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id07039\00105.mp4,real
288
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id07383\00011.mp4,real
289
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id07739\00019.mp4,real
290
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id07799\00063.mp4,real
291
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id07901\00040.mp4,real
292
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id08139\00067.mp4,real
293
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id08397\00167.mp4,real
294
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id08402\00092.mp4,real
295
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id08819\00052.mp4,real
296
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id09116\00026.mp4,real
297
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id09125\00098.mp4,real
298
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id09171\00092.mp4,real
299
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id09174\00015.mp4,real
300
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id09175\00072.mp4,real
301
+ FakeAVCeleb\RealVideo-RealAudio\Asian (East)\women\id09181\00048.mp4,real
302
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00055\00120.mp4,real
303
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00063\00021.mp4,real
304
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00171\00092.mp4,real
305
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00183\00015.mp4,real
306
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00185\00015.mp4,real
307
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00186\00120.mp4,real
308
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00187\00360.mp4,real
309
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00192\00078.mp4,real
310
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00225\00078.mp4,real
311
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00241\00015.mp4,real
312
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00253\00021.mp4,real
313
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00265\00130.mp4,real
314
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00266\00470.mp4,real
315
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00282\00268.mp4,real
316
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00292\00072.mp4,real
317
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00305\00113.mp4,real
318
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00306\00015.mp4,real
319
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00358\00217.mp4,real
320
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00368\00078.mp4,real
321
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00415\00017.mp4,real
322
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00498\00014.mp4,real
323
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00519\00028.mp4,real
324
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00520\00187.mp4,real
325
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00535\00005.mp4,real
326
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00548\00015.mp4,real
327
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00554\00028.mp4,real
328
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00559\00078.mp4,real
329
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00594\00005.mp4,real
330
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00694\00340.mp4,real
331
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00709\00206.mp4,real
332
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00909\00037.mp4,real
333
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00919\00063.mp4,real
334
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00946\00126.mp4,real
335
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00963\00028.mp4,real
336
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00981\00092.mp4,real
337
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00990\00160.mp4,real
338
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id00999\00028.mp4,real
339
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01051\00322.mp4,real
340
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01052\00076.mp4,real
341
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01058\00005.mp4,real
342
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01098\00044.mp4,real
343
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01099\00206.mp4,real
344
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01102\00197.mp4,real
345
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01123\00072.mp4,real
346
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01126\00040.mp4,real
347
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01154\00118.mp4,real
348
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01156\00078.mp4,real
349
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id01157\00048.mp4,real
350
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id02567\00040.mp4,real
351
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\men\id03205\00150.mp4,real
352
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00042\00028.mp4,real
353
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00068\00004.mp4,real
354
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00071\00014.mp4,real
355
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00188\00020.mp4,real
356
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00232\00025.mp4,real
357
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00234\00063.mp4,real
358
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00262\00028.mp4,real
359
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00270\00088.mp4,real
360
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00271\00028.mp4,real
361
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00287\00005.mp4,real
362
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00325\00015.mp4,real
363
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00328\00092.mp4,real
364
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00330\00118.mp4,real
365
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00332\00293.mp4,real
366
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00365\00078.mp4,real
367
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00373\00028.mp4,real
368
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00374\00311.mp4,real
369
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00379\00043.mp4,real
370
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00395\00420.mp4,real
371
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00403\00052.mp4,real
372
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00434\00046.mp4,real
373
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00484\00202.mp4,real
374
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00491\00122.mp4,real
375
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00495\00027.mp4,real
376
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00496\00015.mp4,real
377
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00569\00239.mp4,real
378
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00581\00010.mp4,real
379
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00589\00130.mp4,real
380
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00591\00001.mp4,real
381
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00633\00088.mp4,real
382
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00634\00078.mp4,real
383
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00735\00037.mp4,real
384
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00806\00005.mp4,real
385
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00813\00169.mp4,real
386
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00823\00125.mp4,real
387
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00826\00065.mp4,real
388
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id00897\00005.mp4,real
389
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id01001\00086.mp4,real
390
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id01002\00043.mp4,real
391
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id01018\00072.mp4,real
392
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03371\00430.mp4,real
393
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03589\00002.mp4,real
394
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03620\00081.mp4,real
395
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03649\00001.mp4,real
396
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03651\00092.mp4,real
397
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03716\00040.mp4,real
398
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03816\00093.mp4,real
399
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03844\00028.mp4,real
400
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03858\00092.mp4,real
401
+ FakeAVCeleb\RealVideo-RealAudio\Caucasian (European)\women\id03941\00021.mp4,real
402
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00032\00028.mp4,real
403
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00033\00276.mp4,real
404
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00078\00114.mp4,real
405
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00082\00052.mp4,real
406
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00103\00241.mp4,real
407
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00350\00015.mp4,real
408
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00414\00052.mp4,real
409
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00459\00382.mp4,real
410
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00685\00146.mp4,real
411
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00732\00118.mp4,real
412
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00745\00165.mp4,real
413
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00769\00015.mp4,real
414
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00773\00038.mp4,real
415
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00816\00118.mp4,real
416
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00857\00347.mp4,real
417
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id00860\00154.mp4,real
418
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id03180\00039.mp4,real
419
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id03344\00114.mp4,real
420
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id03599\00072.mp4,real
421
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id03945\00063.mp4,real
422
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04526\00317.mp4,real
423
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04537\00083.mp4,real
424
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04554\00118.mp4,real
425
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04560\00195.mp4,real
426
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04561\00248.mp4,real
427
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04562\00221.mp4,real
428
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04599\00111.mp4,real
429
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04601\00118.mp4,real
430
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id04928\00027.mp4,real
431
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id06334\00015.mp4,real
432
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id06354\00021.mp4,real
433
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id06355\00347.mp4,real
434
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id06753\00021.mp4,real
435
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07058\00010.mp4,real
436
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07108\00412.mp4,real
437
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07161\00159.mp4,real
438
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07163\00141.mp4,real
439
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07165\00368.mp4,real
440
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07179\00206.mp4,real
441
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07182\00040.mp4,real
442
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07194\00014.mp4,real
443
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07195\00186.mp4,real
444
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07200\00045.mp4,real
445
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07210\00005.mp4,real
446
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07233\00010.mp4,real
447
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07463\00028.mp4,real
448
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id07768\00143.mp4,real
449
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id08313\00202.mp4,real
450
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id08314\00028.mp4,real
451
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\men\id08457\00417.mp4,real
452
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00043\00135.mp4,real
453
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00080\00281.mp4,real
454
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00149\00284.mp4,real
455
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00235\00052.mp4,real
456
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00417\00069.mp4,real
457
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00461\00043.mp4,real
458
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00488\00028.mp4,real
459
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00739\00005.mp4,real
460
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id00747\00053.mp4,real
461
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id01026\00083.mp4,real
462
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id02089\00092.mp4,real
463
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id02310\00139.mp4,real
464
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id02619\00015.mp4,real
465
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id03559\00023.mp4,real
466
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id03815\00118.mp4,real
467
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id03897\00021.mp4,real
468
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id03985\00005.mp4,real
469
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04070\00072.mp4,real
470
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04490\00054.mp4,real
471
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04529\00186.mp4,real
472
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04530\00231.mp4,real
473
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04564\00417.mp4,real
474
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04582\00180.mp4,real
475
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04583\00077.mp4,real
476
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id04927\00013.mp4,real
477
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id05434\00052.mp4,real
478
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id05435\00107.mp4,real
479
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id05478\00135.mp4,real
480
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id05845\00027.mp4,real
481
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id05920\00161.mp4,real
482
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id05931\00013.mp4,real
483
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06232\00025.mp4,real
484
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06254\00043.mp4,real
485
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06268\00159.mp4,real
486
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06343\00023.mp4,real
487
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06428\00043.mp4,real
488
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06437\00028.mp4,real
489
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06438\00110.mp4,real
490
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06439\00118.mp4,real
491
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06445\00150.mp4,real
492
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id06752\00221.mp4,real
493
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07008\00175.mp4,real
494
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07049\00043.mp4,real
495
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07051\00083.mp4,real
496
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07078\00405.mp4,real
497
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07136\00052.mp4,real
498
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07236\00143.mp4,real
499
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07377\00025.mp4,real
500
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07686\00254.mp4,real
501
+ FakeAVCeleb\RealVideo-RealAudio\Asian (South)\women\id07689\00028.mp4,real
502
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_10_id00476_wavtolip.mp4,fake
503
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_10_id01076_wavtolip.mp4,fake
504
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_10_id01179_wavtolip.mp4,fake
505
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_10_id02005_wavtolip.mp4,fake
506
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_10_id02342_wavtolip.mp4,fake
507
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_12_id00518_wavtolip.mp4,fake
508
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_12_id00761_wavtolip.mp4,fake
509
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_12_id00987_wavtolip.mp4,fake
510
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_12_id01856_wavtolip.mp4,fake
511
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_12_id02296_wavtolip.mp4,fake
512
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_2_id00166_wavtolip.mp4,fake
513
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_2_id00701_wavtolip.mp4,fake
514
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_2_id01236_wavtolip.mp4,fake
515
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_2_id01521_wavtolip.mp4,fake
516
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_2_id01598_wavtolip.mp4,fake
517
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_4_id01392_wavtolip.mp4,fake
518
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_4_id01528_wavtolip.mp4,fake
519
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_4_id01691_wavtolip.mp4,fake
520
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_4_id01995_wavtolip.mp4,fake
521
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_4_id02296_wavtolip.mp4,fake
522
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_7_id00166_wavtolip.mp4,fake
523
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_7_id00478_wavtolip.mp4,fake
524
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_7_id01452_wavtolip.mp4,fake
525
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_7_id01717_wavtolip.mp4,fake
526
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_7_id01995_wavtolip.mp4,fake
527
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_8_id00166_wavtolip.mp4,fake
528
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_8_id00701_wavtolip.mp4,fake
529
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_8_id00761_wavtolip.mp4,fake
530
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_8_id01170_wavtolip.mp4,fake
531
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_8_id02005_wavtolip.mp4,fake
532
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_9_id00076_wavtolip.mp4,fake
533
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_9_id01036_wavtolip.mp4,fake
534
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_9_id01452_wavtolip.mp4,fake
535
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_9_id01528_wavtolip.mp4,fake
536
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00076\00109_9_id02005_wavtolip.mp4,fake
537
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00166\00010_id01637_5VjcPZm8knM_faceswap_id00166_wavtolip.mp4,fake
538
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00166\00010_id01637_5VjcPZm8knM_faceswap_id00761_wavtolip.mp4,fake
539
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00166\00010_id01637_5VjcPZm8knM_faceswap_id01171_wavtolip.mp4,fake
540
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00166\00010_id01637_5VjcPZm8knM_faceswap_id01530_wavtolip.mp4,fake
541
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00166\00010_id01637_5VjcPZm8knM_faceswap_id01598_wavtolip.mp4,fake
542
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00173\00118_id00476_UgdYVJ6xPYg_faceswap_id00166_wavtolip.mp4,fake
543
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00173\00118_id00476_UgdYVJ6xPYg_faceswap_id00173_wavtolip.mp4,fake
544
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00173\00118_id00476_UgdYVJ6xPYg_faceswap_id01530_wavtolip.mp4,fake
545
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00173\00118_id00476_UgdYVJ6xPYg_faceswap_id01598_wavtolip.mp4,fake
546
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00173\00118_id00476_UgdYVJ6xPYg_faceswap_id01779_wavtolip.mp4,fake
547
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00366\00118_id00076_Isiq7cA-DNE_faceswap_id01170_wavtolip.mp4,fake
548
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00366\00118_id00076_Isiq7cA-DNE_faceswap_id01779_wavtolip.mp4,fake
549
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00366\00118_id00076_Isiq7cA-DNE_faceswap_id02316_wavtolip.mp4,fake
550
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00366\00118_id00076_Isiq7cA-DNE_faceswap_id02342_wavtolip.mp4,fake
551
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00366\00118_id00076_Isiq7cA-DNE_faceswap_id02494_wavtolip.mp4,fake
552
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00391\00052_id00476_UgdYVJ6xPYg_faceswap_id00761_wavtolip.mp4,fake
553
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00391\00052_id00476_UgdYVJ6xPYg_faceswap_id01179_wavtolip.mp4,fake
554
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00391\00052_id00476_UgdYVJ6xPYg_faceswap_id01610_wavtolip.mp4,fake
555
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00391\00052_id00476_UgdYVJ6xPYg_faceswap_id02005_wavtolip.mp4,fake
556
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00391\00052_id00476_UgdYVJ6xPYg_faceswap_id02342_wavtolip.mp4,fake
557
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00475\00099_0_id01530_wavtolip.mp4,fake
558
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00475\00099_0_id01920_wavtolip.mp4,fake
559
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00475\00099_0_id01972_wavtolip.mp4,fake
560
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00475\00099_0_id02316_wavtolip.mp4,fake
561
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00475\00099_0_id04727_wavtolip.mp4,fake
562
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00476_UgdYVJ6xPYg_faceswap_id00076_wavtolip.mp4,fake
563
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00476_UgdYVJ6xPYg_faceswap_id00761_wavtolip.mp4,fake
564
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00476_UgdYVJ6xPYg_faceswap_id00781_wavtolip.mp4,fake
565
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00476_UgdYVJ6xPYg_faceswap_id00830_wavtolip.mp4,fake
566
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00476_UgdYVJ6xPYg_faceswap_id01207_wavtolip.mp4,fake
567
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00781_fvsSae9yc0A_faceswap_id00476_wavtolip.mp4,fake
568
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00781_fvsSae9yc0A_faceswap_id00944_wavtolip.mp4,fake
569
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00781_fvsSae9yc0A_faceswap_id01597_wavtolip.mp4,fake
570
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00781_fvsSae9yc0A_faceswap_id01691_wavtolip.mp4,fake
571
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00476\00109_id00781_fvsSae9yc0A_faceswap_id04727_wavtolip.mp4,fake
572
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00478\00109_11_id00478_wavtolip.mp4,fake
573
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00478\00109_11_id01610_wavtolip.mp4,fake
574
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00478\00109_11_id01856_wavtolip.mp4,fake
575
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00478\00109_11_id02005_wavtolip.mp4,fake
576
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00478\00109_11_id02342_wavtolip.mp4,fake
577
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_0_id00166_wavtolip.mp4,fake
578
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_0_id00391_wavtolip.mp4,fake
579
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_0_id00830_wavtolip.mp4,fake
580
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_0_id01170_wavtolip.mp4,fake
581
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_0_id02268_wavtolip.mp4,fake
582
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_1_id00478_wavtolip.mp4,fake
583
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_1_id00987_wavtolip.mp4,fake
584
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_1_id01076_wavtolip.mp4,fake
585
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_1_id01207_wavtolip.mp4,fake
586
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_1_id02494_wavtolip.mp4,fake
587
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_2_id01544_wavtolip.mp4,fake
588
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_2_id01598_wavtolip.mp4,fake
589
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_2_id01717_wavtolip.mp4,fake
590
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_2_id01835_wavtolip.mp4,fake
591
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_2_id02296_wavtolip.mp4,fake
592
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_3_id00475_wavtolip.mp4,fake
593
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_3_id01528_wavtolip.mp4,fake
594
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_3_id01691_wavtolip.mp4,fake
595
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_3_id02040_wavtolip.mp4,fake
596
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00518\00031_3_id02268_wavtolip.mp4,fake
597
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00701\00092_id01036_AohKaMtIHxA_faceswap_id00391_wavtolip.mp4,fake
598
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00701\00092_id01036_AohKaMtIHxA_faceswap_id01392_wavtolip.mp4,fake
599
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00701\00092_id01036_AohKaMtIHxA_faceswap_id01528_wavtolip.mp4,fake
600
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00701\00092_id01036_AohKaMtIHxA_faceswap_id01610_wavtolip.mp4,fake
601
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00701\00092_id01036_AohKaMtIHxA_faceswap_id01972_wavtolip.mp4,fake
602
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00761\00072_id01835_UZbWA0QfXXA_faceswap_id00478_wavtolip.mp4,fake
603
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00761\00072_id01835_UZbWA0QfXXA_faceswap_id00761_wavtolip.mp4,fake
604
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00761\00072_id01835_UZbWA0QfXXA_faceswap_id01036_wavtolip.mp4,fake
605
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00761\00072_id01835_UZbWA0QfXXA_faceswap_id01528_wavtolip.mp4,fake
606
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00761\00072_id01835_UZbWA0QfXXA_faceswap_id01717_wavtolip.mp4,fake
607
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00781\00092_id00476_UgdYVJ6xPYg_faceswap_id01170_wavtolip.mp4,fake
608
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00781\00092_id00476_UgdYVJ6xPYg_faceswap_id01610_wavtolip.mp4,fake
609
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00781\00092_id00476_UgdYVJ6xPYg_faceswap_id01972_wavtolip.mp4,fake
610
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00781\00092_id00476_UgdYVJ6xPYg_faceswap_id01995_wavtolip.mp4,fake
611
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00781\00092_id00476_UgdYVJ6xPYg_faceswap_id02494_wavtolip.mp4,fake
612
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00830\00143_id00076_Isiq7cA-DNE_faceswap_id00478_wavtolip.mp4,fake
613
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00830\00143_id00076_Isiq7cA-DNE_faceswap_id01207_wavtolip.mp4,fake
614
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00830\00143_id00076_Isiq7cA-DNE_faceswap_id01544_wavtolip.mp4,fake
615
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00830\00143_id00076_Isiq7cA-DNE_faceswap_id01920_wavtolip.mp4,fake
616
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00944\00135_id01528_SBAS9Kcb8QY_faceswap_id01179_wavtolip.mp4,fake
617
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00987\00160_id02005_7_Egh9mW5y4_faceswap_id01236_wavtolip.mp4,fake
618
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00987\00160_id02005_7_Egh9mW5y4_faceswap_id01528_wavtolip.mp4,fake
619
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00987\00160_id02005_7_Egh9mW5y4_faceswap_id01691_wavtolip.mp4,fake
620
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00987\00160_id02005_7_Egh9mW5y4_faceswap_id02040_wavtolip.mp4,fake
621
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id00987\00160_id02005_7_Egh9mW5y4_faceswap_id02342_wavtolip.mp4,fake
622
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01036\00010_id00701_lW6uzLIOwd0_faceswap_id00475_wavtolip.mp4,fake
623
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01036\00010_id00701_lW6uzLIOwd0_faceswap_id01171_wavtolip.mp4,fake
624
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01036\00010_id00701_lW6uzLIOwd0_faceswap_id01530_wavtolip.mp4,fake
625
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01036\00010_id00701_lW6uzLIOwd0_faceswap_id01597_wavtolip.mp4,fake
626
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01076\00005_id01207_mt129WTRSII_faceswap_id00391_wavtolip.mp4,fake
627
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01076\00005_id01207_mt129WTRSII_faceswap_id00781_wavtolip.mp4,fake
628
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01076\00005_id01207_mt129WTRSII_faceswap_id01530_wavtolip.mp4,fake
629
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01076\00005_id01207_mt129WTRSII_faceswap_id02040_wavtolip.mp4,fake
630
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01076\00005_id01207_mt129WTRSII_faceswap_id02342_wavtolip.mp4,fake
631
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01170\00021_id01933_I5XXxgK7QpE_faceswap_id00478_wavtolip.mp4,fake
632
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01170\00021_id01933_I5XXxgK7QpE_faceswap_id01597_wavtolip.mp4,fake
633
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01170\00021_id01933_I5XXxgK7QpE_faceswap_id01637_wavtolip.mp4,fake
634
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01170\00021_id01933_I5XXxgK7QpE_faceswap_id01856_wavtolip.mp4,fake
635
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01171\00053_id02494_lObg47hQleE_faceswap_id00475_wavtolip.mp4,fake
636
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01171\00053_id02494_lObg47hQleE_faceswap_id00476_wavtolip.mp4,fake
637
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01171\00053_id02494_lObg47hQleE_faceswap_id01779_wavtolip.mp4,fake
638
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01171\00053_id02494_lObg47hQleE_faceswap_id01835_wavtolip.mp4,fake
639
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01171\00053_id02494_lObg47hQleE_faceswap_id02051_wavtolip.mp4,fake
640
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01179\00160_id02005_7_Egh9mW5y4_faceswap_id01528_wavtolip.mp4,fake
641
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01179\00160_id02005_7_Egh9mW5y4_faceswap_id01779_wavtolip.mp4,fake
642
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01179\00160_id02005_7_Egh9mW5y4_faceswap_id01835_wavtolip.mp4,fake
643
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01179\00160_id02005_7_Egh9mW5y4_faceswap_id01972_wavtolip.mp4,fake
644
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01179\00160_id02005_7_Egh9mW5y4_faceswap_id02316_wavtolip.mp4,fake
645
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01207\00320_id00076_Isiq7cA-DNE_faceswap_id00366_wavtolip.mp4,fake
646
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01207\00320_id00076_Isiq7cA-DNE_faceswap_id00701_wavtolip.mp4,fake
647
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01207\00320_id00076_Isiq7cA-DNE_faceswap_id01530_wavtolip.mp4,fake
648
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01207\00320_id00076_Isiq7cA-DNE_faceswap_id01597_wavtolip.mp4,fake
649
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01207\00320_id00076_Isiq7cA-DNE_faceswap_id04727_wavtolip.mp4,fake
650
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01236\00005_id01610_l8zb_iaDJJA_faceswap_id00366_wavtolip.mp4,fake
651
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01236\00005_id01610_l8zb_iaDJJA_faceswap_id00830_wavtolip.mp4,fake
652
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01236\00005_id01610_l8zb_iaDJJA_faceswap_id01076_wavtolip.mp4,fake
653
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01236\00005_id01610_l8zb_iaDJJA_faceswap_id01691_wavtolip.mp4,fake
654
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01236\00005_id01610_l8zb_iaDJJA_faceswap_id01779_wavtolip.mp4,fake
655
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_2_id00166_wavtolip.mp4,fake
656
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_2_id00475_wavtolip.mp4,fake
657
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_2_id00478_wavtolip.mp4,fake
658
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_2_id01207_wavtolip.mp4,fake
659
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_2_id01521_wavtolip.mp4,fake
660
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_3_id00830_wavtolip.mp4,fake
661
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_3_id01392_wavtolip.mp4,fake
662
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_3_id01610_wavtolip.mp4,fake
663
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_3_id01933_wavtolip.mp4,fake
664
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01392\00167_3_id02040_wavtolip.mp4,fake
665
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01452\00001_id01528_SBAS9Kcb8QY_faceswap_id00173_wavtolip.mp4,fake
666
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01452\00001_id01528_SBAS9Kcb8QY_faceswap_id00475_wavtolip.mp4,fake
667
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01452\00001_id01528_SBAS9Kcb8QY_faceswap_id00987_wavtolip.mp4,fake
668
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01452\00001_id01528_SBAS9Kcb8QY_faceswap_id01392_wavtolip.mp4,fake
669
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01452\00001_id01528_SBAS9Kcb8QY_faceswap_id01717_wavtolip.mp4,fake
670
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01528\00017_id01452_4MqeoSxSy3w_faceswap_id00701_wavtolip.mp4,fake
671
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01528\00017_id01452_4MqeoSxSy3w_faceswap_id01076_wavtolip.mp4,fake
672
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01528\00017_id01452_4MqeoSxSy3w_faceswap_id01610_wavtolip.mp4,fake
673
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01528\00017_id01452_4MqeoSxSy3w_faceswap_id02005_wavtolip.mp4,fake
674
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01528\00017_id01452_4MqeoSxSy3w_faceswap_id02494_wavtolip.mp4,fake
675
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01544\00044_3_id00166_wavtolip.mp4,fake
676
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01544\00044_3_id00173_wavtolip.mp4,fake
677
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01544\00044_3_id00830_wavtolip.mp4,fake
678
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01544\00044_3_id01530_wavtolip.mp4,fake
679
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01544\00044_3_id02268_wavtolip.mp4,fake
680
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_0_id00076_wavtolip.mp4,fake
681
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_1_id01171_wavtolip.mp4,fake
682
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_1_id01392_wavtolip.mp4,fake
683
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_1_id01544_wavtolip.mp4,fake
684
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_1_id02005_wavtolip.mp4,fake
685
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_1_id02494_wavtolip.mp4,fake
686
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_2_id00987_wavtolip.mp4,fake
687
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_2_id01236_wavtolip.mp4,fake
688
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_2_id01995_wavtolip.mp4,fake
689
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_2_id02040_wavtolip.mp4,fake
690
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_2_id02494_wavtolip.mp4,fake
691
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_3_id00761_wavtolip.mp4,fake
692
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_3_id00781_wavtolip.mp4,fake
693
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_3_id01528_wavtolip.mp4,fake
694
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_3_id01920_wavtolip.mp4,fake
695
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01597\00005_3_id02268_wavtolip.mp4,fake
696
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01598\00109_1_id01637_wavtolip.mp4,fake
697
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01598\00109_1_id01691_wavtolip.mp4,fake
698
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01598\00109_1_id02005_wavtolip.mp4,fake
699
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01598\00109_1_id02051_wavtolip.mp4,fake
700
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01598\00109_1_id02316_wavtolip.mp4,fake
701
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01610\00090_id01236_7WdumGR5-JM_faceswap_id00475_wavtolip.mp4,fake
702
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01610\00090_id01236_7WdumGR5-JM_faceswap_id00761_wavtolip.mp4,fake
703
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01610\00090_id01236_7WdumGR5-JM_faceswap_id01392_wavtolip.mp4,fake
704
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01610\00090_id01236_7WdumGR5-JM_faceswap_id02040_wavtolip.mp4,fake
705
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01610\00090_id01236_7WdumGR5-JM_faceswap_id02051_wavtolip.mp4,fake
706
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_1_id01598_wavtolip.mp4,fake
707
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_1_id01610_wavtolip.mp4,fake
708
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_1_id01920_wavtolip.mp4,fake
709
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_1_id02296_wavtolip.mp4,fake
710
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_1_id02342_wavtolip.mp4,fake
711
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_2_id00701_wavtolip.mp4,fake
712
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_2_id00761_wavtolip.mp4,fake
713
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_2_id00944_wavtolip.mp4,fake
714
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_2_id01392_wavtolip.mp4,fake
715
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01637\00002_2_id01452_wavtolip.mp4,fake
716
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01691\00045_id01779_HgyHpDEo_jk_faceswap_id00830_wavtolip.mp4,fake
717
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01691\00045_id01779_HgyHpDEo_jk_faceswap_id01236_wavtolip.mp4,fake
718
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01691\00045_id01779_HgyHpDEo_jk_faceswap_id02040_wavtolip.mp4,fake
719
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01691\00045_id01779_HgyHpDEo_jk_faceswap_id02268_wavtolip.mp4,fake
720
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01717\00005_id02005_7_Egh9mW5y4_faceswap_id01170_wavtolip.mp4,fake
721
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01717\00005_id02005_7_Egh9mW5y4_faceswap_id01392_wavtolip.mp4,fake
722
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01717\00005_id02005_7_Egh9mW5y4_faceswap_id01691_wavtolip.mp4,fake
723
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01717\00005_id02005_7_Egh9mW5y4_faceswap_id01779_wavtolip.mp4,fake
724
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01717\00005_id02005_7_Egh9mW5y4_faceswap_id04727_wavtolip.mp4,fake
725
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01779\00010_id01691_IVtS5z8Jrrk_faceswap_id00173_wavtolip.mp4,fake
726
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01779\00010_id01691_IVtS5z8Jrrk_faceswap_id00478_wavtolip.mp4,fake
727
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01779\00010_id01691_IVtS5z8Jrrk_faceswap_id00701_wavtolip.mp4,fake
728
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01779\00010_id01691_IVtS5z8Jrrk_faceswap_id01170_wavtolip.mp4,fake
729
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01779\00010_id01691_IVtS5z8Jrrk_faceswap_id01779_wavtolip.mp4,fake
730
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01835\00130_id00761_QtTNFhCCgzw_faceswap_id00391_wavtolip.mp4,fake
731
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01835\00130_id00761_QtTNFhCCgzw_faceswap_id00518_wavtolip.mp4,fake
732
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01835\00130_id00761_QtTNFhCCgzw_faceswap_id01170_wavtolip.mp4,fake
733
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01835\00130_id00761_QtTNFhCCgzw_faceswap_id02051_wavtolip.mp4,fake
734
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01835\00130_id00761_QtTNFhCCgzw_faceswap_id02494_wavtolip.mp4,fake
735
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01856\00109_3_id01207_wavtolip.mp4,fake
736
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01856\00109_3_id01392_wavtolip.mp4,fake
737
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01856\00109_3_id01530_wavtolip.mp4,fake
738
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01856\00109_3_id01610_wavtolip.mp4,fake
739
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01856\00109_3_id02051_wavtolip.mp4,fake
740
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01920\00099_id00476_UgdYVJ6xPYg_faceswap_id00476_wavtolip.mp4,fake
741
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01920\00099_id00476_UgdYVJ6xPYg_faceswap_id00944_wavtolip.mp4,fake
742
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01920\00099_id00476_UgdYVJ6xPYg_faceswap_id01597_wavtolip.mp4,fake
743
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01920\00099_id00476_UgdYVJ6xPYg_faceswap_id01779_wavtolip.mp4,fake
744
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01920\00099_id00476_UgdYVJ6xPYg_faceswap_id02316_wavtolip.mp4,fake
745
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01933\00028_3_id00475_wavtolip.mp4,fake
746
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01933\00028_3_id00518_wavtolip.mp4,fake
747
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01933\00028_3_id00987_wavtolip.mp4,fake
748
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01933\00028_3_id01995_wavtolip.mp4,fake
749
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01933\00028_3_id02494_wavtolip.mp4,fake
750
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_2_id01171_wavtolip.mp4,fake
751
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_2_id01179_wavtolip.mp4,fake
752
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_2_id01207_wavtolip.mp4,fake
753
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_2_id01597_wavtolip.mp4,fake
754
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_2_id01717_wavtolip.mp4,fake
755
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_3_id00366_wavtolip.mp4,fake
756
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_3_id01392_wavtolip.mp4,fake
757
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_3_id01544_wavtolip.mp4,fake
758
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_3_id01779_wavtolip.mp4,fake
759
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id01972\00078_3_id02005_wavtolip.mp4,fake
760
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02005\00052_id02342_RJPBPhJB8TA_faceswap_id00478_wavtolip.mp4,fake
761
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02005\00052_id02342_RJPBPhJB8TA_faceswap_id00518_wavtolip.mp4,fake
762
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02005\00052_id02342_RJPBPhJB8TA_faceswap_id01207_wavtolip.mp4,fake
763
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02005\00052_id02342_RJPBPhJB8TA_faceswap_id01544_wavtolip.mp4,fake
764
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02005\00052_id02342_RJPBPhJB8TA_faceswap_id01717_wavtolip.mp4,fake
765
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_0_id00761_wavtolip.mp4,fake
766
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_0_id01076_wavtolip.mp4,fake
767
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_0_id01835_wavtolip.mp4,fake
768
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_0_id02051_wavtolip.mp4,fake
769
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_0_id02296_wavtolip.mp4,fake
770
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_2_id00478_wavtolip.mp4,fake
771
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_2_id01170_wavtolip.mp4,fake
772
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_2_id01452_wavtolip.mp4,fake
773
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_2_id01610_wavtolip.mp4,fake
774
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02296\00019_2_id01920_wavtolip.mp4,fake
775
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02342\00191_id02005_7_Egh9mW5y4_faceswap_id01076_wavtolip.mp4,fake
776
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02342\00191_id02005_7_Egh9mW5y4_faceswap_id01598_wavtolip.mp4,fake
777
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02342\00191_id02005_7_Egh9mW5y4_faceswap_id01835_wavtolip.mp4,fake
778
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02342\00191_id02005_7_Egh9mW5y4_faceswap_id02316_wavtolip.mp4,fake
779
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02342\00191_id02005_7_Egh9mW5y4_faceswap_id02342_wavtolip.mp4,fake
780
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02494\00050_id00475_xQjvXRcnPvw_faceswap_id00475_wavtolip.mp4,fake
781
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02494\00050_id00475_xQjvXRcnPvw_faceswap_id01995_wavtolip.mp4,fake
782
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02494\00050_id00475_xQjvXRcnPvw_faceswap_id02005_wavtolip.mp4,fake
783
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02494\00050_id00475_xQjvXRcnPvw_faceswap_id02296_wavtolip.mp4,fake
784
+ FakeAVCeleb\FakeVideo-FakeAudio\African\men\id02494\00050_id00475_xQjvXRcnPvw_faceswap_id04727_wavtolip.mp4,fake
785
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00220\00027_id02586_wavtolip.mp4,fake
786
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00220\00027_id03569_wavtolip.mp4,fake
787
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00220\00027_id03658_wavtolip.mp4,fake
788
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00220\00027_id04376_wavtolip.mp4,fake
789
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00220\00027_id05251_wavtolip.mp4,fake
790
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00359\00053_id01838_q_lUk55OrL0_faceswap_id00568_wavtolip.mp4,fake
791
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00359\00053_id01838_q_lUk55OrL0_faceswap_id03658_wavtolip.mp4,fake
792
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00359\00053_id01838_q_lUk55OrL0_faceswap_id04736_wavtolip.mp4,fake
793
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00359\00053_id01838_q_lUk55OrL0_faceswap_id05106_wavtolip.mp4,fake
794
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00359\00053_id01838_q_lUk55OrL0_faceswap_id05252_wavtolip.mp4,fake
795
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00460\00005_id00371_wavtolip.mp4,fake
796
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00460\00005_id00460_wavtolip.mp4,fake
797
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00460\00005_id01178_wavtolip.mp4,fake
798
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00460\00005_id02721_wavtolip.mp4,fake
799
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00460\00005_id02808_wavtolip.mp4,fake
800
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00568\00384_id05252_CMxIX3absYM_faceswap_id00577_wavtolip.mp4,fake
801
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00568\00384_id05252_CMxIX3absYM_faceswap_id00707_wavtolip.mp4,fake
802
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00568\00384_id05252_CMxIX3absYM_faceswap_id01661_wavtolip.mp4,fake
803
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00568\00384_id05252_CMxIX3absYM_faceswap_id03747_wavtolip.mp4,fake
804
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00568\00384_id05252_CMxIX3absYM_faceswap_id05252_wavtolip.mp4,fake
805
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00577\00010_id01532_wavtolip.mp4,fake
806
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00577\00010_id01907_wavtolip.mp4,fake
807
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00577\00010_id04055_wavtolip.mp4,fake
808
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00577\00010_id04376_wavtolip.mp4,fake
809
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00577\00010_id04736_wavtolip.mp4,fake
810
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00592\00017_id00371_wavtolip.mp4,fake
811
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00592\00017_id01661_wavtolip.mp4,fake
812
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00592\00017_id01838_wavtolip.mp4,fake
813
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00592\00017_id04055_wavtolip.mp4,fake
814
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00592\00017_id05252_wavtolip.mp4,fake
815
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00707\00052_id04820_64ybrA1atlM_faceswap_id02824_wavtolip.mp4,fake
816
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00707\00052_id04820_64ybrA1atlM_faceswap_id04376_wavtolip.mp4,fake
817
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00707\00052_id04820_64ybrA1atlM_faceswap_id04547_wavtolip.mp4,fake
818
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00707\00052_id04820_64ybrA1atlM_faceswap_id04689_wavtolip.mp4,fake
819
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00707\00052_id04820_64ybrA1atlM_faceswap_id04820_wavtolip.mp4,fake
820
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00829\00271_id01178_wavtolip.mp4,fake
821
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00829\00271_id03103_wavtolip.mp4,fake
822
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00829\00271_id04705_wavtolip.mp4,fake
823
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00829\00271_id04736_wavtolip.mp4,fake
824
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00829\00271_id05106_wavtolip.mp4,fake
825
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00832\00078_id00371_t20i0HtPwW0_faceswap_id00371_wavtolip.mp4,fake
826
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00832\00078_id00371_t20i0HtPwW0_faceswap_id00832_wavtolip.mp4,fake
827
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00832\00078_id00371_t20i0HtPwW0_faceswap_id01178_wavtolip.mp4,fake
828
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00832\00078_id00371_t20i0HtPwW0_faceswap_id04055_wavtolip.mp4,fake
829
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id00832\00078_id00371_t20i0HtPwW0_faceswap_id04540_wavtolip.mp4,fake
830
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01178\00028_id05252_CMxIX3absYM_faceswap_id00371_wavtolip.mp4,fake
831
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01178\00028_id05252_CMxIX3absYM_faceswap_id01838_wavtolip.mp4,fake
832
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01178\00028_id05252_CMxIX3absYM_faceswap_id02071_wavtolip.mp4,fake
833
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01178\00028_id05252_CMxIX3absYM_faceswap_id02721_wavtolip.mp4,fake
834
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01178\00028_id05252_CMxIX3absYM_faceswap_id04437_wavtolip.mp4,fake
835
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01532\00065_id00220_wavtolip.mp4,fake
836
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01532\00065_id00371_wavtolip.mp4,fake
837
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01532\00065_id02508_wavtolip.mp4,fake
838
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01532\00065_id02824_wavtolip.mp4,fake
839
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01532\00065_id05231_wavtolip.mp4,fake
840
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01661\00059_id00577_wavtolip.mp4,fake
841
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01661\00059_id00832_wavtolip.mp4,fake
842
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01661\00059_id01178_wavtolip.mp4,fake
843
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01661\00059_id02586_wavtolip.mp4,fake
844
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01661\00059_id04055_wavtolip.mp4,fake
845
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01783\00015_id02948_wavtolip.mp4,fake
846
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01783\00015_id03569_wavtolip.mp4,fake
847
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01783\00015_id03713_wavtolip.mp4,fake
848
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01783\00015_id04705_wavtolip.mp4,fake
849
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01783\00015_id05235_wavtolip.mp4,fake
850
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01838\00126_id05235_ASy8lP3SRtw_faceswap_id00568_wavtolip.mp4,fake
851
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01838\00126_id05235_ASy8lP3SRtw_faceswap_id00829_wavtolip.mp4,fake
852
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01838\00126_id05235_ASy8lP3SRtw_faceswap_id01838_wavtolip.mp4,fake
853
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01838\00126_id05235_ASy8lP3SRtw_faceswap_id02071_wavtolip.mp4,fake
854
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01838\00126_id05235_ASy8lP3SRtw_faceswap_id05106_wavtolip.mp4,fake
855
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01907\00148_id05235_ASy8lP3SRtw_faceswap_id00371_wavtolip.mp4,fake
856
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01907\00148_id05235_ASy8lP3SRtw_faceswap_id03656_wavtolip.mp4,fake
857
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01907\00148_id05235_ASy8lP3SRtw_faceswap_id04437_wavtolip.mp4,fake
858
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01907\00148_id05235_ASy8lP3SRtw_faceswap_id05251_wavtolip.mp4,fake
859
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id01907\00148_id05235_ASy8lP3SRtw_faceswap_id05252_wavtolip.mp4,fake
860
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02301\00092_id00829_aMEvVaUBq2Y_faceswap_id00371_wavtolip.mp4,fake
861
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02301\00092_id00829_aMEvVaUBq2Y_faceswap_id01838_wavtolip.mp4,fake
862
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02301\00092_id00829_aMEvVaUBq2Y_faceswap_id02508_wavtolip.mp4,fake
863
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02301\00092_id00829_aMEvVaUBq2Y_faceswap_id04055_wavtolip.mp4,fake
864
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02301\00092_id00829_aMEvVaUBq2Y_faceswap_id04705_wavtolip.mp4,fake
865
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02508\00083_id03658_8Wtu9VXKqjY_faceswap_id01532_wavtolip.mp4,fake
866
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02508\00083_id03658_8Wtu9VXKqjY_faceswap_id01661_wavtolip.mp4,fake
867
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02508\00083_id03658_8Wtu9VXKqjY_faceswap_id04540_wavtolip.mp4,fake
868
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02508\00083_id03658_8Wtu9VXKqjY_faceswap_id04705_wavtolip.mp4,fake
869
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02508\00083_id03658_8Wtu9VXKqjY_faceswap_id05980_wavtolip.mp4,fake
870
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02586\00042_id04939_i4v2cXo9HIQ_faceswap_id00460_wavtolip.mp4,fake
871
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02586\00042_id04939_i4v2cXo9HIQ_faceswap_id04245_wavtolip.mp4,fake
872
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02586\00042_id04939_i4v2cXo9HIQ_faceswap_id04374_wavtolip.mp4,fake
873
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02586\00042_id04939_i4v2cXo9HIQ_faceswap_id04820_wavtolip.mp4,fake
874
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02586\00042_id04939_i4v2cXo9HIQ_faceswap_id05106_wavtolip.mp4,fake
875
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02617\00028_id00592_wavtolip.mp4,fake
876
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02617\00028_id02838_wavtolip.mp4,fake
877
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02617\00028_id03713_wavtolip.mp4,fake
878
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02617\00028_id04689_wavtolip.mp4,fake
879
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02617\00028_id04736_wavtolip.mp4,fake
880
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02721\00424_id03658_8Wtu9VXKqjY_faceswap_id00371_wavtolip.mp4,fake
881
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02721\00424_id03658_8Wtu9VXKqjY_faceswap_id02824_wavtolip.mp4,fake
882
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02721\00424_id03658_8Wtu9VXKqjY_faceswap_id02838_wavtolip.mp4,fake
883
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02721\00424_id03658_8Wtu9VXKqjY_faceswap_id02948_wavtolip.mp4,fake
884
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02721\00424_id03658_8Wtu9VXKqjY_faceswap_id04820_wavtolip.mp4,fake
885
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02808\00056_id03103_wiCYm3THQPw_faceswap_id00371_wavtolip.mp4,fake
886
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02808\00056_id03103_wiCYm3THQPw_faceswap_id00832_wavtolip.mp4,fake
887
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02808\00056_id03103_wiCYm3THQPw_faceswap_id02301_wavtolip.mp4,fake
888
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02808\00056_id03103_wiCYm3THQPw_faceswap_id05235_wavtolip.mp4,fake
889
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02808\00056_id03103_wiCYm3THQPw_faceswap_id05252_wavtolip.mp4,fake
890
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02824\00130_id03747_wQOOhZvnrq4_faceswap_id01783_wavtolip.mp4,fake
891
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02824\00130_id03747_wQOOhZvnrq4_faceswap_id02617_wavtolip.mp4,fake
892
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02824\00130_id03747_wQOOhZvnrq4_faceswap_id04245_wavtolip.mp4,fake
893
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02824\00130_id03747_wQOOhZvnrq4_faceswap_id05106_wavtolip.mp4,fake
894
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02824\00130_id03747_wQOOhZvnrq4_faceswap_id05231_wavtolip.mp4,fake
895
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02948\00298_id04820_64ybrA1atlM_faceswap_id00460_wavtolip.mp4,fake
896
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02948\00298_id04820_64ybrA1atlM_faceswap_id01178_wavtolip.mp4,fake
897
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02948\00298_id04820_64ybrA1atlM_faceswap_id02721_wavtolip.mp4,fake
898
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02948\00298_id04820_64ybrA1atlM_faceswap_id04374_wavtolip.mp4,fake
899
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id02948\00298_id04820_64ybrA1atlM_faceswap_id05251_wavtolip.mp4,fake
900
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03569\00065_id00220_WlHLlTQKj8g_faceswap_id00220_wavtolip.mp4,fake
901
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03569\00065_id00220_WlHLlTQKj8g_faceswap_id01178_wavtolip.mp4,fake
902
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03569\00065_id00220_WlHLlTQKj8g_faceswap_id02586_wavtolip.mp4,fake
903
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03569\00065_id00220_WlHLlTQKj8g_faceswap_id04705_wavtolip.mp4,fake
904
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03569\00065_id00220_WlHLlTQKj8g_faceswap_id05252_wavtolip.mp4,fake
905
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_1_id00359_wavtolip.mp4,fake
906
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_1_id00460_wavtolip.mp4,fake
907
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_1_id00592_wavtolip.mp4,fake
908
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_1_id02721_wavtolip.mp4,fake
909
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_1_id02838_wavtolip.mp4,fake
910
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_3_id00371_wavtolip.mp4,fake
911
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_3_id00592_wavtolip.mp4,fake
912
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_3_id01532_wavtolip.mp4,fake
913
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_3_id02301_wavtolip.mp4,fake
914
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03656\00052_3_id04705_wavtolip.mp4,fake
915
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03658\00077_id00371_t20i0HtPwW0_faceswap_id00220_wavtolip.mp4,fake
916
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03658\00077_id00371_t20i0HtPwW0_faceswap_id02301_wavtolip.mp4,fake
917
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03658\00077_id00371_t20i0HtPwW0_faceswap_id03713_wavtolip.mp4,fake
918
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03658\00077_id00371_t20i0HtPwW0_faceswap_id04245_wavtolip.mp4,fake
919
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03658\00077_id00371_t20i0HtPwW0_faceswap_id04705_wavtolip.mp4,fake
920
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03713\00249_id02617_4EZjRXC4fLk_faceswap_id00220_wavtolip.mp4,fake
921
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03713\00249_id02617_4EZjRXC4fLk_faceswap_id00832_wavtolip.mp4,fake
922
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03713\00249_id02617_4EZjRXC4fLk_faceswap_id01178_wavtolip.mp4,fake
923
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03713\00249_id02617_4EZjRXC4fLk_faceswap_id01532_wavtolip.mp4,fake
924
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03713\00249_id02617_4EZjRXC4fLk_faceswap_id04245_wavtolip.mp4,fake
925
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03747\00273_id02824_glBy_mYcXZw_faceswap_id01661_wavtolip.mp4,fake
926
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03747\00273_id02824_glBy_mYcXZw_faceswap_id04055_wavtolip.mp4,fake
927
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03747\00273_id02824_glBy_mYcXZw_faceswap_id04374_wavtolip.mp4,fake
928
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03747\00273_id02824_glBy_mYcXZw_faceswap_id04547_wavtolip.mp4,fake
929
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id03747\00273_id02824_glBy_mYcXZw_faceswap_id05235_wavtolip.mp4,fake
930
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04055\00001_id05252_CMxIX3absYM_faceswap_id00577_wavtolip.mp4,fake
931
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04055\00001_id05252_CMxIX3absYM_faceswap_id03569_wavtolip.mp4,fake
932
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04055\00001_id05252_CMxIX3absYM_faceswap_id04705_wavtolip.mp4,fake
933
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04055\00001_id05252_CMxIX3absYM_faceswap_id05251_wavtolip.mp4,fake
934
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04055\00001_id05252_CMxIX3absYM_faceswap_id05980_wavtolip.mp4,fake
935
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04374\00032_id04689_0YqK1ksKjLg_faceswap_id00371_wavtolip.mp4,fake
936
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04374\00032_id04689_0YqK1ksKjLg_faceswap_id01532_wavtolip.mp4,fake
937
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04374\00032_id04689_0YqK1ksKjLg_faceswap_id04689_wavtolip.mp4,fake
938
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04374\00032_id04689_0YqK1ksKjLg_faceswap_id05231_wavtolip.mp4,fake
939
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04376\00181_id04437_2csrqaF55pk_faceswap_id00371_wavtolip.mp4,fake
940
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04376\00181_id04437_2csrqaF55pk_faceswap_id00460_wavtolip.mp4,fake
941
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04376\00181_id04437_2csrqaF55pk_faceswap_id00577_wavtolip.mp4,fake
942
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04376\00181_id04437_2csrqaF55pk_faceswap_id01838_wavtolip.mp4,fake
943
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04376\00181_id04437_2csrqaF55pk_faceswap_id02721_wavtolip.mp4,fake
944
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04547\00052_2_id00832_wavtolip.mp4,fake
945
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04547\00052_2_id02617_wavtolip.mp4,fake
946
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04547\00052_2_id02808_wavtolip.mp4,fake
947
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04547\00052_2_id02824_wavtolip.mp4,fake
948
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04547\00052_2_id05251_wavtolip.mp4,fake
949
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04705\00408_id05252_CMxIX3absYM_faceswap_id00460_wavtolip.mp4,fake
950
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04705\00408_id05252_CMxIX3absYM_faceswap_id01838_wavtolip.mp4,fake
951
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04705\00408_id05252_CMxIX3absYM_faceswap_id02948_wavtolip.mp4,fake
952
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04705\00408_id05252_CMxIX3absYM_faceswap_id03747_wavtolip.mp4,fake
953
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04705\00408_id05252_CMxIX3absYM_faceswap_id04736_wavtolip.mp4,fake
954
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04736\00083_id05235_ASy8lP3SRtw_faceswap_id00592_wavtolip.mp4,fake
955
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04736\00083_id05235_ASy8lP3SRtw_faceswap_id01907_wavtolip.mp4,fake
956
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04736\00083_id05235_ASy8lP3SRtw_faceswap_id02721_wavtolip.mp4,fake
957
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04736\00083_id05235_ASy8lP3SRtw_faceswap_id04245_wavtolip.mp4,fake
958
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04820\00015_id02948__ZEDGNWjuFE_faceswap_id00568_wavtolip.mp4,fake
959
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04820\00015_id02948__ZEDGNWjuFE_faceswap_id01783_wavtolip.mp4,fake
960
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04820\00015_id02948__ZEDGNWjuFE_faceswap_id02721_wavtolip.mp4,fake
961
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04820\00015_id02948__ZEDGNWjuFE_faceswap_id04376_wavtolip.mp4,fake
962
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04820\00015_id02948__ZEDGNWjuFE_faceswap_id04689_wavtolip.mp4,fake
963
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04939\00174_id02586_dEYzYDsbAeo_faceswap_id00460_wavtolip.mp4,fake
964
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04939\00174_id02586_dEYzYDsbAeo_faceswap_id01907_wavtolip.mp4,fake
965
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04939\00174_id02586_dEYzYDsbAeo_faceswap_id03747_wavtolip.mp4,fake
966
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04939\00174_id02586_dEYzYDsbAeo_faceswap_id04939_wavtolip.mp4,fake
967
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id04939\00174_id02586_dEYzYDsbAeo_faceswap_id05235_wavtolip.mp4,fake
968
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05106\00078_id04820_64ybrA1atlM_faceswap_id00371_wavtolip.mp4,fake
969
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05106\00078_id04820_64ybrA1atlM_faceswap_id00592_wavtolip.mp4,fake
970
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05106\00078_id04820_64ybrA1atlM_faceswap_id01661_wavtolip.mp4,fake
971
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05106\00078_id04820_64ybrA1atlM_faceswap_id04437_wavtolip.mp4,fake
972
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05106\00078_id04820_64ybrA1atlM_faceswap_id05231_wavtolip.mp4,fake
973
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05231\00149_id01178_6XpgYMiKxhc_faceswap_id00371_wavtolip.mp4,fake
974
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05231\00149_id01178_6XpgYMiKxhc_faceswap_id00592_wavtolip.mp4,fake
975
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05231\00149_id01178_6XpgYMiKxhc_faceswap_id01907_wavtolip.mp4,fake
976
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05231\00149_id01178_6XpgYMiKxhc_faceswap_id02301_wavtolip.mp4,fake
977
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05231\00149_id01178_6XpgYMiKxhc_faceswap_id02721_wavtolip.mp4,fake
978
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05235\00052_id01907_LBcRkuRq0uY_faceswap_id01783_wavtolip.mp4,fake
979
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05235\00052_id01907_LBcRkuRq0uY_faceswap_id02808_wavtolip.mp4,fake
980
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05235\00052_id01907_LBcRkuRq0uY_faceswap_id04055_wavtolip.mp4,fake
981
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05235\00052_id01907_LBcRkuRq0uY_faceswap_id04736_wavtolip.mp4,fake
982
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05235\00052_id01907_LBcRkuRq0uY_faceswap_id05251_wavtolip.mp4,fake
983
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05251\00033_id01178_6XpgYMiKxhc_faceswap_id00568_wavtolip.mp4,fake
984
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05251\00033_id01178_6XpgYMiKxhc_faceswap_id03569_wavtolip.mp4,fake
985
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05251\00033_id01178_6XpgYMiKxhc_faceswap_id03658_wavtolip.mp4,fake
986
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05251\00033_id01178_6XpgYMiKxhc_faceswap_id04437_wavtolip.mp4,fake
987
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05252\00052_id01178_6XpgYMiKxhc_faceswap_id00220_wavtolip.mp4,fake
988
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05252\00052_id01178_6XpgYMiKxhc_faceswap_id00832_wavtolip.mp4,fake
989
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05252\00052_id01178_6XpgYMiKxhc_faceswap_id02824_wavtolip.mp4,fake
990
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05252\00052_id01178_6XpgYMiKxhc_faceswap_id04376_wavtolip.mp4,fake
991
+ FakeAVCeleb\FakeVideo-FakeAudio\African\women\id05252\00052_id01178_6XpgYMiKxhc_faceswap_id04437_wavtolip.mp4,fake
992
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00018\00181_id01201_Q8XWfmNiWYA_faceswap_id00243_wavtolip.mp4,fake
993
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00018\00181_id01201_Q8XWfmNiWYA_faceswap_id00777_wavtolip.mp4,fake
994
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00018\00181_id01201_Q8XWfmNiWYA_faceswap_id00945_wavtolip.mp4,fake
995
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00018\00181_id01201_Q8XWfmNiWYA_faceswap_id01239_wavtolip.mp4,fake
996
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00018\00181_id01201_Q8XWfmNiWYA_faceswap_id03678_wavtolip.mp4,fake
997
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00020\00206_id01182_zca-PHR_U40_faceswap_id00018_wavtolip.mp4,fake
998
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00020\00206_id01182_zca-PHR_U40_faceswap_id00049_wavtolip.mp4,fake
999
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00020\00206_id01182_zca-PHR_U40_faceswap_id00696_wavtolip.mp4,fake
1000
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00020\00206_id01182_zca-PHR_U40_faceswap_id01048_wavtolip.mp4,fake
1001
+ FakeAVCeleb\FakeVideo-FakeAudio\Caucasian (American)\men\id00020\00206_id01182_zca-PHR_U40_faceswap_id01201_wavtolip.mp4,fake
datasets/train/.gitkeep ADDED
File without changes
datasets/train/demo.txt ADDED
File without changes
datasets/val/.gitkeep ADDED
File without changes
datasets/val/demo.txt ADDED
File without changes
images/demo.txt ADDED
File without changes
images/fake_image.jpg ADDED
images/lady.jpg ADDED
images/real.jpeg ADDED
inference.py ADDED
@@ -0,0 +1,211 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import cv2
3
+ import torch
4
+ import argparse
5
+ import numpy as np
6
+ import torch.nn as nn
7
+ from models.TMC import ETMC
8
+ from models import image
9
+
10
+ #Set random seed for reproducibility.
11
+ torch.manual_seed(42)
12
+
13
+
14
+ # Define the audio_args dictionary
15
+ audio_args = {
16
+ 'nb_samp': 64600,
17
+ 'first_conv': 1024,
18
+ 'in_channels': 1,
19
+ 'filts': [20, [20, 20], [20, 128], [128, 128]],
20
+ 'blocks': [2, 4],
21
+ 'nb_fc_node': 1024,
22
+ 'gru_node': 1024,
23
+ 'nb_gru_layer': 3,
24
+ }
25
+
26
+
27
+ def get_args(parser):
28
+ parser.add_argument("--batch_size", type=int, default=8)
29
+ parser.add_argument("--data_dir", type=str, default="datasets/train/fakeavceleb*")
30
+ parser.add_argument("--LOAD_SIZE", type=int, default=256)
31
+ parser.add_argument("--FINE_SIZE", type=int, default=224)
32
+ parser.add_argument("--dropout", type=float, default=0.2)
33
+ parser.add_argument("--gradient_accumulation_steps", type=int, default=1)
34
+ parser.add_argument("--hidden", nargs="*", type=int, default=[])
35
+ parser.add_argument("--hidden_sz", type=int, default=768)
36
+ parser.add_argument("--img_embed_pool_type", type=str, default="avg", choices=["max", "avg"])
37
+ parser.add_argument("--img_hidden_sz", type=int, default=1024)
38
+ parser.add_argument("--include_bn", type=int, default=True)
39
+ parser.add_argument("--lr", type=float, default=1e-4)
40
+ parser.add_argument("--lr_factor", type=float, default=0.3)
41
+ parser.add_argument("--lr_patience", type=int, default=10)
42
+ parser.add_argument("--max_epochs", type=int, default=500)
43
+ parser.add_argument("--n_workers", type=int, default=12)
44
+ parser.add_argument("--name", type=str, default="MMDF")
45
+ parser.add_argument("--num_image_embeds", type=int, default=1)
46
+ parser.add_argument("--patience", type=int, default=20)
47
+ parser.add_argument("--savedir", type=str, default="./savepath/")
48
+ parser.add_argument("--seed", type=int, default=1)
49
+ parser.add_argument("--n_classes", type=int, default=2)
50
+ parser.add_argument("--annealing_epoch", type=int, default=10)
51
+ parser.add_argument("--device", type=str, default='cpu')
52
+ parser.add_argument("--pretrained_image_encoder", type=bool, default = False)
53
+ parser.add_argument("--freeze_image_encoder", type=bool, default = False)
54
+ parser.add_argument("--pretrained_audio_encoder", type = bool, default=False)
55
+ parser.add_argument("--freeze_audio_encoder", type = bool, default = False)
56
+ parser.add_argument("--augment_dataset", type = bool, default = True)
57
+
58
+ for key, value in audio_args.items():
59
+ parser.add_argument(f"--{key}", type=type(value), default=value)
60
+
61
+ def model_summary(args):
62
+ '''Prints the model summary.'''
63
+ model = ETMC(args)
64
+
65
+ for name, layer in model.named_modules():
66
+ print(name, layer)
67
+
68
+ def load_multimodal_model(args):
69
+ '''Load multimodal model'''
70
+ model = ETMC(args)
71
+ ckpt = torch.load('checkpoints/model_best.pt', map_location = torch.device('cpu'))
72
+ model.load_state_dict(ckpt,strict = False)
73
+ model.eval()
74
+ return model
75
+
76
+ def load_img_modality_model(args):
77
+ '''Loads image modality model.'''
78
+ rgb_encoder = image.ImageEncoder(args)
79
+ ckpt = torch.load('checkpoints/model_best.pt', map_location = torch.device('cpu'))
80
+ rgb_encoder.load_state_dict(ckpt,strict = False)
81
+ rgb_encoder.eval()
82
+ return rgb_encoder
83
+
84
+ def load_spec_modality_model(args):
85
+ spec_encoder = image.RawNet(args)
86
+ ckpt = torch.load('checkpoints/model_best.pt', map_location = torch.device('cpu'))
87
+ spec_encoder.load_state_dict(ckpt,strict = False)
88
+ spec_encoder.eval()
89
+ return spec_encoder
90
+
91
+
92
+ #Load models.
93
+ parser = argparse.ArgumentParser(description="Train Models")
94
+ get_args(parser)
95
+ args, remaining_args = parser.parse_known_args()
96
+ assert remaining_args == [], remaining_args
97
+
98
+ multimodal = load_multimodal_model(args)
99
+ spec_model = load_spec_modality_model(args)
100
+ img_model = load_img_modality_model(args)
101
+
102
+
103
+ def preprocess_img(face):
104
+ face = face / 255
105
+ face = cv2.resize(face, (256, 256))
106
+ face = face.transpose(2, 0, 1) #(W, H, C) -> (C, W, H)
107
+ face_pt = torch.unsqueeze(torch.Tensor(face), dim = 0)
108
+ return face_pt
109
+
110
+ def preprocess_audio(audio_file):
111
+ audio_pt = torch.unsqueeze(torch.Tensor(audio_file), dim = 0)
112
+ return audio_pt
113
+
114
+ def deepfakes_spec_predict(input_audio):
115
+ x, _ = input_audio
116
+ audio = preprocess_audio(x)
117
+ spec_grads = spec_model.forward(audio)
118
+ multimodal_grads = multimodal.spec_depth[0].forward(spec_grads)
119
+
120
+ out = nn.Softmax()(multimodal_grads)
121
+ max = torch.argmax(out, dim = -1) #Index of the max value in the tensor.
122
+ max_value = out[max] #Actual value of the tensor.
123
+ max_value = np.argmax(out[max].detach().numpy())
124
+
125
+ if max_value > 0.5:
126
+ preds = round(100 - (max_value*100), 3)
127
+ text2 = f"The audio is REAL."
128
+
129
+ else:
130
+ preds = round(max_value*100, 3)
131
+ text2 = f"The audio is FAKE."
132
+
133
+ return text2
134
+
135
+ def deepfakes_image_predict(input_image):
136
+ face = preprocess_img(input_image)
137
+
138
+ img_grads = img_model.forward(face)
139
+ multimodal_grads = multimodal.clf_rgb[0].forward(img_grads)
140
+
141
+ out = nn.Softmax()(multimodal_grads)
142
+ max = torch.argmax(out, dim=-1) #Index of the max value in the tensor.
143
+ max = max.cpu().detach().numpy()
144
+ max_value = out[max] #Actual value of the tensor.
145
+ max_value = np.argmax(out[max].detach().numpy())
146
+
147
+ if max_value > 0.5:
148
+ preds = round(100 - (max_value*100), 3)
149
+ text2 = f"The image is REAL."
150
+
151
+ else:
152
+ preds = round(max_value*100, 3)
153
+ text2 = f"The image is FAKE."
154
+
155
+ return text2
156
+
157
+
158
+ def preprocess_video(input_video, n_frames = 5):
159
+ v_cap = cv2.VideoCapture(input_video)
160
+ v_len = int(v_cap.get(cv2.CAP_PROP_FRAME_COUNT))
161
+
162
+ # Pick 'n_frames' evenly spaced frames to sample
163
+ if n_frames is None:
164
+ sample = np.arange(0, v_len)
165
+ else:
166
+ sample = np.linspace(0, v_len - 1, n_frames).astype(int)
167
+
168
+ #Loop through frames.
169
+ frames = []
170
+ for j in range(v_len):
171
+ success = v_cap.grab()
172
+ if j in sample:
173
+ # Load frame
174
+ success, frame = v_cap.retrieve()
175
+ if not success:
176
+ continue
177
+ frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
178
+ frame = preprocess_img(frame)
179
+ frames.append(frame)
180
+ v_cap.release()
181
+ return frames
182
+
183
+
184
+ def deepfakes_video_predict(input_video):
185
+ '''Perform inference on a video.'''
186
+ video_frames = preprocess_video(input_video)
187
+
188
+ real_grads = []
189
+ fake_grads = []
190
+
191
+ for face in video_frames:
192
+ img_grads = img_model.forward(face)
193
+ multimodal_grads = multimodal.clf_rgb[0].forward(img_grads)
194
+
195
+ out = nn.Softmax()(multimodal_grads)
196
+ real_grads.append(out.cpu().detach().numpy()[0])
197
+ print(f"Video out tensor shape is: {out.shape}, {out}")
198
+
199
+ fake_grads.append(out.cpu().detach().numpy()[0])
200
+
201
+ real_grads_mean = np.mean(real_grads)
202
+ fake_grads_mean = np.mean(fake_grads)
203
+
204
+ if real_grads_mean > fake_grads_mean:
205
+ res = round(real_grads_mean * 100, 3)
206
+ text = f"The video is REAL."
207
+ else:
208
+ res = round(100 - (real_grads_mean * 100), 3)
209
+ text = f"The video is FAKE."
210
+ return text
211
+
inference_2.py ADDED
@@ -0,0 +1,265 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import cv2
3
+ import onnx
4
+ import torch
5
+ import argparse
6
+ import numpy as np
7
+ import torch.nn as nn
8
+ from models.TMC import ETMC
9
+ from models import image
10
+
11
+ from onnx2pytorch import ConvertModel
12
+
13
+ onnx_model = onnx.load('checkpoints/efficientnet.onnx')
14
+ pytorch_model = ConvertModel(onnx_model)
15
+
16
+ #Set random seed for reproducibility.
17
+ torch.manual_seed(42)
18
+
19
+
20
+ # Define the audio_args dictionary
21
+ audio_args = {
22
+ 'nb_samp': 64600,
23
+ 'first_conv': 1024,
24
+ 'in_channels': 1,
25
+ 'filts': [20, [20, 20], [20, 128], [128, 128]],
26
+ 'blocks': [2, 4],
27
+ 'nb_fc_node': 1024,
28
+ 'gru_node': 1024,
29
+ 'nb_gru_layer': 3,
30
+ 'nb_classes': 2
31
+ }
32
+
33
+ import torch
34
+ from torchvision import transforms
35
+ from PIL import Image
36
+ from timm import create_model
37
+ import os
38
+ import numpy as np
39
+
40
+ # Constants
41
+ MODEL_PATH = r"models\ai_detector\pytorch_model.pth"
42
+ IMG_SIZE = 380
43
+ DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
44
+ LABEL_MAPPING = {0: "AI-generated", 1: "Human-created"}
45
+
46
+ # Load model from local file
47
+ model = create_model('efficientnet_b4', pretrained=False, num_classes=2)
48
+ state_dict = torch.load(MODEL_PATH, map_location=DEVICE)
49
+ model.load_state_dict(state_dict)
50
+ model.to(DEVICE).eval()
51
+
52
+ # Define preprocessing transform
53
+ transform = transforms.Compose([
54
+ transforms.Resize(IMG_SIZE + 20),
55
+ transforms.CenterCrop(IMG_SIZE),
56
+ transforms.ToTensor(),
57
+ transforms.Normalize(mean=[0.485, 0.456, 0.406],
58
+ std=[0.229, 0.224, 0.225]),
59
+ ])
60
+
61
+ def detect_ai_generated_image(img):
62
+ # Handle file path or numpy input
63
+ if isinstance(img, str) and os.path.isfile(img):
64
+ img = Image.open(img).convert("RGB")
65
+ elif isinstance(img, np.ndarray):
66
+ img = Image.fromarray(img.astype('uint8'), 'RGB')
67
+ elif isinstance(img, Image.Image):
68
+ img = img.convert("RGB")
69
+ else:
70
+ raise ValueError("Invalid image input")
71
+
72
+ input_tensor = transform(img).unsqueeze(0).to(DEVICE)
73
+
74
+ with torch.no_grad():
75
+ output = model(input_tensor)
76
+ probs = torch.nn.functional.softmax(output, dim=1)
77
+ pred_class = probs.argmax().item()
78
+ confidence = probs[0, pred_class].item()
79
+
80
+ return f"{LABEL_MAPPING[pred_class]} (confidence: {confidence:.2%})"
81
+
82
+
83
+ def get_args(parser):
84
+ parser.add_argument("--batch_size", type=int, default=8)
85
+ parser.add_argument("--data_dir", type=str, default="datasets/train/fakeavceleb*")
86
+ parser.add_argument("--LOAD_SIZE", type=int, default=256)
87
+ parser.add_argument("--FINE_SIZE", type=int, default=224)
88
+ parser.add_argument("--dropout", type=float, default=0.2)
89
+ parser.add_argument("--gradient_accumulation_steps", type=int, default=1)
90
+ parser.add_argument("--hidden", nargs="*", type=int, default=[])
91
+ parser.add_argument("--hidden_sz", type=int, default=768)
92
+ parser.add_argument("--img_embed_pool_type", type=str, default="avg", choices=["max", "avg"])
93
+ parser.add_argument("--img_hidden_sz", type=int, default=1024)
94
+ parser.add_argument("--include_bn", type=int, default=True)
95
+ parser.add_argument("--lr", type=float, default=1e-4)
96
+ parser.add_argument("--lr_factor", type=float, default=0.3)
97
+ parser.add_argument("--lr_patience", type=int, default=10)
98
+ parser.add_argument("--max_epochs", type=int, default=500)
99
+ parser.add_argument("--n_workers", type=int, default=12)
100
+ parser.add_argument("--name", type=str, default="MMDF")
101
+ parser.add_argument("--num_image_embeds", type=int, default=1)
102
+ parser.add_argument("--patience", type=int, default=20)
103
+ parser.add_argument("--savedir", type=str, default="./savepath/")
104
+ parser.add_argument("--seed", type=int, default=1)
105
+ parser.add_argument("--n_classes", type=int, default=2)
106
+ parser.add_argument("--annealing_epoch", type=int, default=10)
107
+ parser.add_argument("--device", type=str, default='cpu')
108
+ parser.add_argument("--pretrained_image_encoder", type=bool, default = False)
109
+ parser.add_argument("--freeze_image_encoder", type=bool, default = False)
110
+ parser.add_argument("--pretrained_audio_encoder", type = bool, default=False)
111
+ parser.add_argument("--freeze_audio_encoder", type = bool, default = False)
112
+ parser.add_argument("--augment_dataset", type = bool, default = True)
113
+
114
+ for key, value in audio_args.items():
115
+ parser.add_argument(f"--{key}", type=type(value), default=value)
116
+
117
+ def model_summary(args):
118
+ '''Prints the model summary.'''
119
+ model = ETMC(args)
120
+
121
+ for name, layer in model.named_modules():
122
+ print(name, layer)
123
+
124
+ def load_multimodal_model(args):
125
+ '''Load multimodal model'''
126
+ model = ETMC(args)
127
+ ckpt = torch.load('checkpoints/model.pth', map_location = torch.device('cpu'))
128
+ model.load_state_dict(ckpt, strict = True)
129
+ model.eval()
130
+ return model
131
+
132
+ def load_img_modality_model(args):
133
+ '''Loads image modality model.'''
134
+ rgb_encoder = pytorch_model
135
+
136
+ ckpt = torch.load('checkpoints/model.pth', map_location = torch.device('cpu'))
137
+ rgb_encoder.load_state_dict(ckpt['rgb_encoder'], strict = True)
138
+ rgb_encoder.eval()
139
+ return rgb_encoder
140
+
141
+ def load_spec_modality_model(args):
142
+ spec_encoder = image.RawNet(args)
143
+ ckpt = torch.load('checkpoints/model.pth', map_location = torch.device('cpu'))
144
+ spec_encoder.load_state_dict(ckpt['spec_encoder'], strict = True)
145
+ spec_encoder.eval()
146
+ return spec_encoder
147
+
148
+
149
+ #Load models.
150
+ parser = argparse.ArgumentParser(description="Inference models")
151
+ get_args(parser)
152
+ args, remaining_args = parser.parse_known_args()
153
+ assert remaining_args == [], remaining_args
154
+
155
+ spec_model = load_spec_modality_model(args)
156
+
157
+ img_model = load_img_modality_model(args)
158
+
159
+
160
+ def preprocess_img(face):
161
+ face = face / 255
162
+ face = cv2.resize(face, (256, 256))
163
+ # face = face.transpose(2, 0, 1) #(W, H, C) -> (C, W, H)
164
+ face_pt = torch.unsqueeze(torch.Tensor(face), dim = 0)
165
+ return face_pt
166
+
167
+ def preprocess_audio(audio_file):
168
+ audio_pt = torch.unsqueeze(torch.Tensor(audio_file), dim = 0)
169
+ return audio_pt
170
+
171
+ def deepfakes_spec_predict(input_audio):
172
+ x, _ = input_audio
173
+ audio = preprocess_audio(x)
174
+ spec_grads = spec_model.forward(audio)
175
+ spec_grads_inv = np.exp(spec_grads.cpu().detach().numpy().squeeze())
176
+
177
+ # multimodal_grads = multimodal.spec_depth[0].forward(spec_grads)
178
+
179
+ # out = nn.Softmax()(multimodal_grads)
180
+ # max = torch.argmax(out, dim = -1) #Index of the max value in the tensor.
181
+ # max_value = out[max] #Actual value of the tensor.
182
+ max_value = np.argmax(spec_grads_inv)
183
+
184
+ if max_value > 0.5:
185
+ preds = round(100 - (max_value*100), 3)
186
+ text2 = f"The audio is REAL."
187
+
188
+ else:
189
+ preds = round(max_value*100, 3)
190
+ text2 = f"The audio is FAKE."
191
+
192
+ return text2
193
+
194
+ def deepfakes_image_predict(input_image):
195
+ face = preprocess_img(input_image)
196
+ print(f"Face shape is: {face.shape}")
197
+ img_grads = img_model.forward(face)
198
+ img_grads = img_grads.cpu().detach().numpy()
199
+ img_grads_np = np.squeeze(img_grads)
200
+
201
+ if img_grads_np[0] > 0.5:
202
+ preds = round(img_grads_np[0] * 100, 3)
203
+ text2 = f"The image is REAL. \nConfidence score is: {preds}"
204
+
205
+ else:
206
+ preds = round(img_grads_np[1] * 100, 3)
207
+ text2 = f"The image is FAKE. \nConfidence score is: {preds}"
208
+
209
+ return text2
210
+
211
+
212
+ def preprocess_video(input_video, n_frames = 3):
213
+ v_cap = cv2.VideoCapture(input_video)
214
+ v_len = int(v_cap.get(cv2.CAP_PROP_FRAME_COUNT))
215
+
216
+ # Pick 'n_frames' evenly spaced frames to sample
217
+ if n_frames is None:
218
+ sample = np.arange(0, v_len)
219
+ else:
220
+ sample = np.linspace(0, v_len - 1, n_frames).astype(int)
221
+
222
+ #Loop through frames.
223
+ frames = []
224
+ for j in range(v_len):
225
+ success = v_cap.grab()
226
+ if j in sample:
227
+ # Load frame
228
+ success, frame = v_cap.retrieve()
229
+ if not success:
230
+ continue
231
+ frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
232
+ frame = preprocess_img(frame)
233
+ frames.append(frame)
234
+ v_cap.release()
235
+ return frames
236
+
237
+
238
+ def deepfakes_video_predict(input_video):
239
+ '''Perform inference on a video.'''
240
+ video_frames = preprocess_video(input_video)
241
+ real_faces_list = []
242
+ fake_faces_list = []
243
+
244
+ for face in video_frames:
245
+ # face = preprocess_img(face)
246
+
247
+ img_grads = img_model.forward(face)
248
+ img_grads = img_grads.cpu().detach().numpy()
249
+ img_grads_np = np.squeeze(img_grads)
250
+ real_faces_list.append(img_grads_np[0])
251
+ fake_faces_list.append(img_grads_np[1])
252
+
253
+ real_faces_mean = np.mean(real_faces_list)
254
+ fake_faces_mean = np.mean(fake_faces_list)
255
+
256
+ if real_faces_mean > 0.5:
257
+ preds = round(real_faces_mean * 100, 3)
258
+ text2 = f"The video is REAL. \nConfidence score is: {preds}%"
259
+
260
+ else:
261
+ preds = round(fake_faces_mean * 100, 3)
262
+ text2 = f"The video is FAKE. \nConfidence score is: {preds}%"
263
+
264
+ return text2
265
+
inference_3.py ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # inference_2.py
2
+
3
+ from PIL import Image
4
+ import numpy as np
5
+
6
+ def detect_ai_generated_image(img):
7
+ # if img is a path, load as array
8
+ if isinstance(img, str):
9
+ img = np.array(Image.open(img).convert("RGB"))
10
+
11
+ # 🧠 PLACEHOLDER: fake logic
12
+ # Replace with actual AI detection logic or model
13
+ mean_pixel = img.mean()
14
+ if mean_pixel > 120:
15
+ return "Possibly AI-generated"
16
+ else:
17
+ return "Likely Real"
main.py ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import argparse
3
+ from tqdm import tqdm
4
+ import torch.nn as nn
5
+ import tensorflow as tf
6
+ import torch.optim as optim
7
+
8
+ from models.TMC import ETMC, ce_loss
9
+ import torchvision.transforms as transforms
10
+ from data.dfdt_dataset import FakeAVCelebDatasetTrain, FakeAVCelebDatasetVal
11
+
12
+
13
+ from utils.utils import *
14
+ from utils.logger import create_logger
15
+ from sklearn.metrics import accuracy_score
16
+ from torch.utils.tensorboard import SummaryWriter
17
+
18
+ # Define the audio_args dictionary
19
+ audio_args = {
20
+ 'nb_samp': 64600,
21
+ 'first_conv': 1024,
22
+ 'in_channels': 1,
23
+ 'filts': [20, [20, 20], [20, 128], [128, 128]],
24
+ 'blocks': [2, 4],
25
+ 'nb_fc_node': 1024,
26
+ 'gru_node': 1024,
27
+ 'nb_gru_layer': 3,
28
+ }
29
+
30
+
31
+ def get_args(parser):
32
+ parser.add_argument("--batch_size", type=int, default=8)
33
+ parser.add_argument("--data_dir", type=str, default="datasets/train/fakeavceleb*")
34
+ parser.add_argument("--LOAD_SIZE", type=int, default=256)
35
+ parser.add_argument("--FINE_SIZE", type=int, default=224)
36
+ parser.add_argument("--dropout", type=float, default=0.2)
37
+ parser.add_argument("--gradient_accumulation_steps", type=int, default=1)
38
+ parser.add_argument("--hidden", nargs="*", type=int, default=[])
39
+ parser.add_argument("--hidden_sz", type=int, default=768)
40
+ parser.add_argument("--img_embed_pool_type", type=str, default="avg", choices=["max", "avg"])
41
+ parser.add_argument("--img_hidden_sz", type=int, default=1024)
42
+ parser.add_argument("--include_bn", type=int, default=True)
43
+ parser.add_argument("--lr", type=float, default=1e-4)
44
+ parser.add_argument("--lr_factor", type=float, default=0.3)
45
+ parser.add_argument("--lr_patience", type=int, default=10)
46
+ parser.add_argument("--max_epochs", type=int, default=500)
47
+ parser.add_argument("--n_workers", type=int, default=12)
48
+ parser.add_argument("--name", type=str, default="MMDF")
49
+ parser.add_argument("--num_image_embeds", type=int, default=1)
50
+ parser.add_argument("--patience", type=int, default=20)
51
+ parser.add_argument("--savedir", type=str, default="./savepath/")
52
+ parser.add_argument("--seed", type=int, default=1)
53
+ parser.add_argument("--n_classes", type=int, default=2)
54
+ parser.add_argument("--annealing_epoch", type=int, default=10)
55
+ parser.add_argument("--device", type=str, default='cpu')
56
+ parser.add_argument("--pretrained_image_encoder", type=bool, default = False)
57
+ parser.add_argument("--freeze_image_encoder", type=bool, default = True)
58
+ parser.add_argument("--pretrained_audio_encoder", type = bool, default=False)
59
+ parser.add_argument("--freeze_audio_encoder", type = bool, default = True)
60
+ parser.add_argument("--augment_dataset", type = bool, default = True)
61
+
62
+ for key, value in audio_args.items():
63
+ parser.add_argument(f"--{key}", type=type(value), default=value)
64
+
65
+ def get_optimizer(model, args):
66
+ optimizer = optim.Adam(model.parameters(), lr=args.lr, weight_decay=1e-5)
67
+ return optimizer
68
+
69
+
70
+ def get_scheduler(optimizer, args):
71
+ return optim.lr_scheduler.ReduceLROnPlateau(
72
+ optimizer, "max", patience=args.lr_patience, verbose=True, factor=args.lr_factor
73
+ )
74
+
75
+ def model_forward(i_epoch, model, args, ce_loss, batch):
76
+ rgb, spec, tgt = batch['video_reshaped'], batch['spectrogram'], batch['label_map']
77
+ rgb_pt = torch.Tensor(rgb.numpy())
78
+ spec = spec.numpy()
79
+ spec_pt = torch.Tensor(spec)
80
+ tgt_pt = torch.Tensor(tgt.numpy())
81
+
82
+ if torch.cuda.is_available():
83
+ rgb_pt, spec_pt, tgt_pt = rgb_pt.cuda(), spec_pt.cuda(), tgt_pt.cuda()
84
+
85
+ # depth_alpha, rgb_alpha, depth_rgb_alpha = model(rgb_pt, spec_pt)
86
+
87
+ # loss = ce_loss(tgt_pt, depth_alpha, args.n_classes, i_epoch, args.annealing_epoch) + \
88
+ # ce_loss(tgt_pt, rgb_alpha, args.n_classes, i_epoch, args.annealing_epoch) + \
89
+ # ce_loss(tgt_pt, depth_rgb_alpha, args.n_classes, i_epoch, args.annealing_epoch)
90
+ # return loss, depth_alpha, rgb_alpha, depth_rgb_alpha, tgt_pt
91
+
92
+ depth_alpha, rgb_alpha, pseudo_alpha, depth_rgb_alpha = model(rgb_pt, spec_pt)
93
+
94
+ loss = ce_loss(tgt_pt, depth_alpha, args.n_classes, i_epoch, args.annealing_epoch) + \
95
+ ce_loss(tgt_pt, rgb_alpha, args.n_classes, i_epoch, args.annealing_epoch) + \
96
+ ce_loss(tgt_pt, pseudo_alpha, args.n_classes, i_epoch, args.annealing_epoch) + \
97
+ ce_loss(tgt_pt, depth_rgb_alpha, args.n_classes, i_epoch, args.annealing_epoch)
98
+ return loss, depth_alpha, rgb_alpha, depth_rgb_alpha, tgt_pt
99
+
100
+
101
+
102
+ def model_eval(i_epoch, data, model, args, criterion):
103
+ model.eval()
104
+ with torch.no_grad():
105
+ losses, depth_preds, rgb_preds, depthrgb_preds, tgts = [], [], [], [], []
106
+ for batch in tqdm(data):
107
+ loss, depth_alpha, rgb_alpha, depth_rgb_alpha, tgt = model_forward(i_epoch, model, args, criterion, batch)
108
+ losses.append(loss.item())
109
+
110
+ depth_pred = depth_alpha.argmax(dim=1).cpu().detach().numpy()
111
+ rgb_pred = rgb_alpha.argmax(dim=1).cpu().detach().numpy()
112
+ depth_rgb_pred = depth_rgb_alpha.argmax(dim=1).cpu().detach().numpy()
113
+
114
+ depth_preds.append(depth_pred)
115
+ rgb_preds.append(rgb_pred)
116
+ depthrgb_preds.append(depth_rgb_pred)
117
+ tgt = tgt.cpu().detach().numpy()
118
+ tgts.append(tgt)
119
+
120
+ metrics = {"loss": np.mean(losses)}
121
+ print(f"Mean loss is: {metrics['loss']}")
122
+
123
+ tgts = [l for sl in tgts for l in sl]
124
+ depth_preds = [l for sl in depth_preds for l in sl]
125
+ rgb_preds = [l for sl in rgb_preds for l in sl]
126
+ depthrgb_preds = [l for sl in depthrgb_preds for l in sl]
127
+ metrics["spec_acc"] = accuracy_score(tgts, depth_preds)
128
+ metrics["rgb_acc"] = accuracy_score(tgts, rgb_preds)
129
+ metrics["specrgb_acc"] = accuracy_score(tgts, depthrgb_preds)
130
+ return metrics
131
+
132
+ def write_weight_histograms(writer, step, model):
133
+ for idx, item in enumerate(model.named_parameters()):
134
+ name = item[0]
135
+ weights = item[1].data
136
+ if weights.size(dim = 0) > 2:
137
+ try:
138
+ writer.add_histogram(name, weights, idx)
139
+ except ValueError as e:
140
+ continue
141
+
142
+ writer = SummaryWriter()
143
+
144
+ def train(args):
145
+ set_seed(args.seed)
146
+ args.savedir = os.path.join(args.savedir, args.name)
147
+ os.makedirs(args.savedir, exist_ok=True)
148
+
149
+ train_ds = FakeAVCelebDatasetTrain(args)
150
+ train_ds = train_ds.load_features_from_tfrec()
151
+
152
+ val_ds = FakeAVCelebDatasetVal(args)
153
+ val_ds = val_ds.load_features_from_tfrec()
154
+
155
+ model = ETMC(args)
156
+ optimizer = get_optimizer(model, args)
157
+ scheduler = get_scheduler(optimizer, args)
158
+ logger = create_logger("%s/logfile.log" % args.savedir, args)
159
+ if torch.cuda.is_available():
160
+ model.cuda()
161
+
162
+ torch.save(args, os.path.join(args.savedir, "checkpoint.pt"))
163
+ start_epoch, global_step, n_no_improve, best_metric = 0, 0, 0, -np.inf
164
+
165
+ for i_epoch in range(start_epoch, args.max_epochs):
166
+ train_losses = []
167
+ model.train()
168
+ optimizer.zero_grad()
169
+
170
+ for index, batch in tqdm(enumerate(train_ds)):
171
+ loss, depth_out, rgb_out, depthrgb, tgt = model_forward(i_epoch, model, args, ce_loss, batch)
172
+ if args.gradient_accumulation_steps > 1:
173
+ loss = loss / args.gradient_accumulation_steps
174
+
175
+ train_losses.append(loss.item())
176
+ loss.backward()
177
+ global_step += 1
178
+ if global_step % args.gradient_accumulation_steps == 0:
179
+ optimizer.step()
180
+ optimizer.zero_grad()
181
+
182
+ #Write weight histograms to Tensorboard.
183
+ write_weight_histograms(writer, i_epoch, model)
184
+
185
+ model.eval()
186
+ metrics = model_eval(
187
+ np.inf, val_ds, model, args, ce_loss
188
+ )
189
+ logger.info("Train Loss: {:.4f}".format(np.mean(train_losses)))
190
+ log_metrics("val", metrics, logger)
191
+ logger.info(
192
+ "{}: Loss: {:.5f} | spec_acc: {:.5f}, rgb_acc: {:.5f}, depth rgb acc: {:.5f}".format(
193
+ "val", metrics["loss"], metrics["spec_acc"], metrics["rgb_acc"], metrics["specrgb_acc"]
194
+ )
195
+ )
196
+ tuning_metric = metrics["specrgb_acc"]
197
+
198
+ scheduler.step(tuning_metric)
199
+ is_improvement = tuning_metric > best_metric
200
+ if is_improvement:
201
+ best_metric = tuning_metric
202
+ n_no_improve = 0
203
+ else:
204
+ n_no_improve += 1
205
+
206
+ save_checkpoint(
207
+ {
208
+ "epoch": i_epoch + 1,
209
+ "optimizer": optimizer.state_dict(),
210
+ "scheduler": scheduler.state_dict(),
211
+ "n_no_improve": n_no_improve,
212
+ "best_metric": best_metric,
213
+ },
214
+ is_improvement,
215
+ args.savedir,
216
+ )
217
+
218
+ if n_no_improve >= args.patience:
219
+ logger.info("No improvement. Breaking out of loop.")
220
+ break
221
+ writer.close()
222
+ # load_checkpoint(model, os.path.join(args.savedir, "model_best.pt"))
223
+ model.eval()
224
+ test_metrics = model_eval(
225
+ np.inf, val_ds, model, args, ce_loss
226
+ )
227
+ logger.info(
228
+ "{}: Loss: {:.5f} | spec_acc: {:.5f}, rgb_acc: {:.5f}, depth rgb acc: {:.5f}".format(
229
+ "Test", test_metrics["loss"], test_metrics["spec_acc"], test_metrics["rgb_acc"],
230
+ test_metrics["depthrgb_acc"]
231
+ )
232
+ )
233
+ log_metrics(f"Test", test_metrics, logger)
234
+
235
+
236
+ def cli_main():
237
+ parser = argparse.ArgumentParser(description="Train Models")
238
+ get_args(parser)
239
+ args, remaining_args = parser.parse_known_args()
240
+ assert remaining_args == [], remaining_args
241
+ train(args)
242
+
243
+
244
+ if __name__ == "__main__":
245
+ import warnings
246
+ warnings.filterwarnings("ignore")
247
+ cli_main()
model.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ from torchvision.models import efficientnet_v2_s, EfficientNet_V2_S_Weights
2
+
3
+ model = efficientnet_v2_s(weights=EfficientNet_V2_S_Weights.IMAGENET1K_V1)
models/TMC.py ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ from models import image
4
+ import torch.nn.functional as F
5
+
6
+
7
+ # loss function
8
+ def KL(alpha, c):
9
+ if torch.cuda.is_available():
10
+ beta = torch.ones((1, c)).cuda()
11
+ else:
12
+ beta = torch.ones((1, c))
13
+ S_alpha = torch.sum(alpha, dim=1, keepdim=True)
14
+ S_beta = torch.sum(beta, dim=1, keepdim=True)
15
+ lnB = torch.lgamma(S_alpha) - torch.sum(torch.lgamma(alpha), dim=1, keepdim=True)
16
+ lnB_uni = torch.sum(torch.lgamma(beta), dim=1, keepdim=True) - torch.lgamma(S_beta)
17
+ dg0 = torch.digamma(S_alpha)
18
+ dg1 = torch.digamma(alpha)
19
+ kl = torch.sum((alpha - beta) * (dg1 - dg0), dim=1, keepdim=True) + lnB + lnB_uni
20
+ return kl
21
+
22
+ def ce_loss(p, alpha, c, global_step, annealing_step):
23
+ S = torch.sum(alpha, dim=1, keepdim=True)
24
+ E = alpha - 1
25
+ label = p
26
+ A = torch.sum(label * (torch.digamma(S) - torch.digamma(alpha)), dim=1, keepdim=True)
27
+
28
+ annealing_coef = min(1, global_step / annealing_step)
29
+ alp = E * (1 - label) + 1
30
+ B = annealing_coef * KL(alp, c)
31
+ return torch.mean((A + B))
32
+
33
+
34
+ class TMC(nn.Module):
35
+ def __init__(self, args):
36
+ super(TMC, self).__init__()
37
+ self.args = args
38
+ self.rgbenc = image.ImageEncoder(args)
39
+ self.specenc = image.RawNet(args)
40
+
41
+ spec_last_size = args.img_hidden_sz * 1
42
+ rgb_last_size = args.img_hidden_sz * args.num_image_embeds
43
+ self.spec_depth = nn.ModuleList()
44
+ self.clf_rgb = nn.ModuleList()
45
+
46
+ for hidden in args.hidden:
47
+ self.spec_depth.append(nn.Linear(spec_last_size, hidden))
48
+ self.spec_depth.append(nn.ReLU())
49
+ self.spec_depth.append(nn.Dropout(args.dropout))
50
+ spec_last_size = hidden
51
+ self.spec_depth.append(nn.Linear(spec_last_size, args.n_classes))
52
+
53
+ for hidden in args.hidden:
54
+ self.clf_rgb.append(nn.Linear(rgb_last_size, hidden))
55
+ self.clf_rgb.append(nn.ReLU())
56
+ self.clf_rgb.append(nn.Dropout(args.dropout))
57
+ rgb_last_size = hidden
58
+ self.clf_rgb.append(nn.Linear(rgb_last_size, args.n_classes))
59
+
60
+ def DS_Combin_two(self, alpha1, alpha2):
61
+ # Calculate the merger of two DS evidences
62
+ alpha = dict()
63
+ alpha[0], alpha[1] = alpha1, alpha2
64
+ b, S, E, u = dict(), dict(), dict(), dict()
65
+ for v in range(2):
66
+ S[v] = torch.sum(alpha[v], dim=1, keepdim=True)
67
+ E[v] = alpha[v] - 1
68
+ b[v] = E[v] / (S[v].expand(E[v].shape))
69
+ u[v] = self.args.n_classes / S[v]
70
+
71
+ # b^0 @ b^(0+1)
72
+ bb = torch.bmm(b[0].view(-1, self.args.n_classes, 1), b[1].view(-1, 1, self.args.n_classes))
73
+ # b^0 * u^1
74
+ uv1_expand = u[1].expand(b[0].shape)
75
+ bu = torch.mul(b[0], uv1_expand)
76
+ # b^1 * u^0
77
+ uv_expand = u[0].expand(b[0].shape)
78
+ ub = torch.mul(b[1], uv_expand)
79
+ # calculate K
80
+ bb_sum = torch.sum(bb, dim=(1, 2), out=None)
81
+ bb_diag = torch.diagonal(bb, dim1=-2, dim2=-1).sum(-1)
82
+ # bb_diag1 = torch.diag(torch.mm(b[v], torch.transpose(b[v+1], 0, 1)))
83
+ K = bb_sum - bb_diag
84
+
85
+ # calculate b^a
86
+ b_a = (torch.mul(b[0], b[1]) + bu + ub) / ((1 - K).view(-1, 1).expand(b[0].shape))
87
+ # calculate u^a
88
+ u_a = torch.mul(u[0], u[1]) / ((1 - K).view(-1, 1).expand(u[0].shape))
89
+ # test = torch.sum(b_a, dim = 1, keepdim = True) + u_a #Verify programming errors
90
+
91
+ # calculate new S
92
+ S_a = self.args.n_classes / u_a
93
+ # calculate new e_k
94
+ e_a = torch.mul(b_a, S_a.expand(b_a.shape))
95
+ alpha_a = e_a + 1
96
+ return alpha_a
97
+
98
+ def forward(self, rgb, spec):
99
+ spec = self.specenc(spec)
100
+ spec = torch.flatten(spec, start_dim=1)
101
+
102
+ rgb = self.rgbenc(rgb)
103
+ rgb = torch.flatten(rgb, start_dim=1)
104
+
105
+ spec_out = spec
106
+
107
+ for layer in self.spec_depth:
108
+ spec_out = layer(spec_out)
109
+
110
+ rgb_out = rgb
111
+
112
+ for layer in self.clf_rgb:
113
+ rgb_out = layer(rgb_out)
114
+
115
+ spec_evidence, rgb_evidence = F.softplus(spec_out), F.softplus(rgb_out)
116
+ spec_alpha, rgb_alpha = spec_evidence+1, rgb_evidence+1
117
+ spec_rgb_alpha = self.DS_Combin_two(spec_alpha, rgb_alpha)
118
+ return spec_alpha, rgb_alpha, spec_rgb_alpha
119
+
120
+
121
+ class ETMC(TMC):
122
+ def __init__(self, args):
123
+ super(ETMC, self).__init__(args)
124
+ last_size = args.img_hidden_sz * args.num_image_embeds + args.img_hidden_sz * args.num_image_embeds
125
+ self.clf = nn.ModuleList()
126
+ for hidden in args.hidden:
127
+ self.clf.append(nn.Linear(last_size, hidden))
128
+ self.clf.append(nn.ReLU())
129
+ self.clf.append(nn.Dropout(args.dropout))
130
+ last_size = hidden
131
+ self.clf.append(nn.Linear(last_size, args.n_classes))
132
+
133
+ def forward(self, rgb, spec):
134
+ spec = self.specenc(spec)
135
+ spec = torch.flatten(spec, start_dim=1)
136
+
137
+ rgb = self.rgbenc(rgb)
138
+ rgb = torch.flatten(rgb, start_dim=1)
139
+
140
+ spec_out = spec
141
+ for layer in self.spec_depth:
142
+ spec_out = layer(spec_out)
143
+
144
+ rgb_out = rgb
145
+ for layer in self.clf_rgb:
146
+ rgb_out = layer(rgb_out)
147
+
148
+ pseudo_out = torch.cat([rgb, spec], -1)
149
+ for layer in self.clf:
150
+ pseudo_out = layer(pseudo_out)
151
+
152
+ depth_evidence, rgb_evidence, pseudo_evidence = F.softplus(spec_out), F.softplus(rgb_out), F.softplus(pseudo_out)
153
+ depth_alpha, rgb_alpha, pseudo_alpha = depth_evidence+1, rgb_evidence+1, pseudo_evidence+1
154
+ depth_rgb_alpha = self.DS_Combin_two(self.DS_Combin_two(depth_alpha, rgb_alpha), pseudo_alpha)
155
+ return depth_alpha, rgb_alpha, pseudo_alpha, depth_rgb_alpha
156
+
models/__pycache__/TMC.cpython-310.pyc ADDED
Binary file (4.34 kB). View file
 
models/__pycache__/TMC.cpython-39.pyc ADDED
Binary file (4.35 kB). View file
 
models/__pycache__/classifiers.cpython-310.pyc ADDED
Binary file (5.54 kB). View file
 
models/__pycache__/classifiers.cpython-39.pyc ADDED
Binary file (5.68 kB). View file
 
models/__pycache__/demo.txt ADDED
File without changes
models/__pycache__/image.cpython-310.pyc ADDED
Binary file (5.58 kB). View file
 
models/__pycache__/image.cpython-39.pyc ADDED
Binary file (5.58 kB). View file