FaceForensics++: Learning to Detect Manipulated Facial Images

FaceForensics++: Learning to Detect Manipulated Facial Images

Andreas Rössler1    Davide Cozzolino2    Luisa Verdoliva2    Christian Riess3
Justus Thies1       Matthias Nießner1
1Technical University of Munich      2University Federico II of Naples      3University of Erlangen-Nuremberg
Abstract

The rapid progress in synthetic image generation and manipulation has now come to a point where it raises significant concerns on the implication on the society. At best, this leads to a loss of trust in digital content, but it might even cause further harm by spreading false information and the creation of fake news. In this paper, we examine the realism of state-of-the-art image manipulations, and how difficult it is to detect them – either automatically or by humans. In particular, we focus on DeepFakes [1], Face2Face [48], and FaceSwap [2] as prominent representatives for facial manipulations. We create more than half a million manipulated images respectively for each approach. The resulting publicly available dataset111https://github.com/ondyari/FaceForensics is at least an order of magnitude larger than comparable alternatives and it enables us to train data-driven forgery detectors in a supervised fashion. We show that the use of additional domain specific knowledge improves forgery detection to an unprecedented accuracy, even in the presence of strong compression. By conducting a series of thorough experiments, we quantify the differences between classical approaches, novel deep learning approaches, and the performance of human observers.

Figure 1: FaceForensics is a database of facial forgeries that enables researchers to train deep-learning-based approaches in a supervised fashion. The database contains manipulations created with three state-of-the-art methods, namely, Face2Face, FaceSwap, and DeepFakes.

1 Introduction

Figure 2: Advances in the digitization of human faces are the basis for modern facial image editing tools. The editing tools can be split in two main categories: identity modification and expression modification. Besides, manually editing the face using tools like Photoshop, many automatic approaches have been proposed in the last few years. The most prominent and most spread identity editing technique is face swapping. The popularity of these techniques stems from the fact that it is a lightweight system that can run on mobile phone. Facial reenactment is a technique to alter the expressions of a person by transferring the expressions of a source person to the target.

Nowadays, manipulation of visual content is omnipresent and one of the most critical topics in our digital society. DeepFakes, for instance, showed how computer graphics and vision techniques can be used to defame persons by replacing their face by a face of a different person. Faces are of special interest to current manipulation methods. The reason for this focus is manifold. First, the reconstruction and tracking of human faces is a well examined field in computer vision [55], which is the foundation of these editing approaches. Second, faces play a central role in human communication, as the face of a person can emphasize a message or it can even convey a message in its own right [25]. Current facial manipulation methods can be separated into two categories: facial expression manipulation and facial identity manipulation (see Fig. 2). One of the most prominent facial expression manipulation techniques is the method of Thies et al. [48] called Face2Face. It enables the transfer of facial expressions of one person to another person in real time using only commodity hardware. Follow-up work such as ”Synthesizing Obama” [45] is able to animate the face of a person based on an audio input sequence. ”Bringing Portraits to Life” [8] enables the editing of expressions in a photograph.

Identity manipulation is the second category of facial forgeries. Instead of changing expressions, these methods replace the face of a person with the face of another person. This category is known as face swapping. It became popular with wide-spread consumer-level applications like Snapchat. DeepFakes also performs face swapping, but via deep learning. While face swapping based on simple computer graphics techniques is running in real time, DeepFakes need to be trained for each pair of videos, which is a time-consuming task.

In this work, we show that we can automatically and reliably detect such manipulations, and thereby outperform human observers by a significant margin. We leverage the recent advances in deep learning, especially, the ability to learn extremely powerful image features with convolutional neural networks (CNNs). We tackle the detection problem by training a neural network in a supervised fashion. To enable supervised learning and to evaluate the performance of human observers, we generated a large-scale dataset of manipulations based on Face2Face, the classical computer graphics-based FaceSwap and DeepFakes.

To summarize, our paper makes the following contributions:

  • state-of-the-art forgery detection using domain specific knowledge,

  • a novel dataset of manipulated facial imagery composed of 510,207  images from 1,000  videos with pristine (i.e., real) sources and target ground truth to enable supervised learning,

  • and a user study that evaluates the effectiveness of the chosen face manipulation methods and the ability of human observers to detect fakes under different video quality levels.

2 Related Work

The paper intersects several fields in computer vision and digital multimedia forensics. We cover the most important related papers in the following paragraphs.

Face Manipulation Methods:

In the last two decades interest in virtual face manipulation has rapidly increased. A comprehensive state-of-the-art report has been published by Zollhöfer et al. [55]. Bregler et al. [13] presented an image-based approach called Video Rewrite to automatically create a new video of a person with generated mouth movements. With Video Face Replacement [18], Dale et al. presented one of the first automatic face swap methods. Using single-camera videos, they reconstruct a 3D model of both faces and exploit the corresponding 3D geometry to warp the source face to the target face. Garrido et al. [26] presented a similar system that replaces the face of an actor while preserving the original expressions. VDub [27] uses high-quality 3D face capturing techniques to photo-realistically alter the face of an actor to match the mouth movements of a dubber. Thies et al. [47] demonstrated the first real-time expression transfer for facial reenactment. Based on a consumer level RGB-D camera, they reconstruct and track a 3D model of the source and the target actor. The tracked deformations of the source face are applied to the target face model. As a final step, they blend the altered face on top of the original target video. Face2Face, proposed by Thies et al. [48], is an advanced real-time facial reenactment system, capable of altering facial movements in commodity video streams, e.g., videos from the internet. They combine 3D model reconstruction and image-based rendering techniques to generate their output. The same principle can be also applied in Virtual Reality in combination with eye-tracking and reenactment [49] or be extended to the full body [50]. [32] learn a image-to-image translation network to convert computer graphic renderings of faces to real images. Suwajanakorn et al. [45] learned the mapping between audio and lip motions, while their compositing approach builds on similar techniques to Face2Face [48]. Averbuch-Elor et al. [8] present a reenactment method, Bringing Portraits to Life, which employs 2D warps to deform the image to match the expressions of a source actor. They also compare to the Face2Face technique and achieve similar quality.

Recently, several face image synthesis approaches using deep learning techniques have been proposed. Lu et al. [39] provides an overview. Generative adversarial networks (GANs) are used to apply Face Aging [7], to generate new viewpoints [29], or to alter face attributes like skin color [38]. Deep Feature Interpolation [51] shows impressive results on altering face attributes like age, mustache, smiling etc. Similar results of attribute interpolations are achieved by Fader Networks [36]. Most of these deep learning based image synthesis techniques suffer from low image resolutions. Karras et al. [31] improve the image quality using progressively growing of GANs. Their results include high-quality synthesis of faces.

Multimedia Forensics:

Multimedia forensics aims to ensure authenticity, origin, and provenance of an image or video without the help of an embedded security scheme. Focusing on integrity, early methods are driven by hand-crafted features that capture expected statistical or physics-based artifacts that occur during image formation. Surveys on these methods can be found in [22, 44]. For videos, the main body of work focuses on detecting manipulations that can be created with relatively low effort, such as dropped or duplicated frames [52, 28, 37], varying interpolation types [21], copy-move manipulations [11, 19], or chroma-key compositions [40]. However, most of the recent literature is concentrated on CNN-based solutions both through supervised and unsupervised learning [10, 17, 12, 9, 30]. Some other papers explicitely refer to detecting manipulations related to faces, like distinguishing computer generated faces from natural ones [20, 15, 43], morphed faces [42], face swapping [54] and DeepFakes [5].

While the recent publications show impressive results, robustness issues are addressed only in very few works, even though it is of paramount importance for practical applications. For example, operations like compression and resizing are known for laundering manipulation traces from the data. In a real scenario, these basic operations are standard when images and videos are for example uploaded to social networks, which is one of the most important application field for forensic analysis.

Model-based methods appear to be extremely fragile on laundered data since they focus on specific image features which oftentimes disappear with post-processing. Data-driven methods can be expected to be more robust, especially, if they rely on data which have a processing history coherent with the asset of interest. Thus, our new dataset pushes the video forensics research to create better forgery detectors for facial imagery. To this end, our dataset is designed to cover a realistic scenario, i.e., videos from the wild, manipulated and compressed with different quality level (see Sec. 3).

Forensic Analysis Datasets:

Classical forensics datasets have been created with significant manual effort under very controlled conditions, to isolate specific properties of the data like camera artifacts. While several datasets were proposed that include image manipulations, only a few of them address also the important case of video footage. Existing dataset also only contain a few hundred images. MICC_F2000 for example is an image copy-move manipulation dataset consisting of a collection of 700 forged images from various sources [6]. The First IEEE Image Forensics Challenge Dataset222http://ifc.recod.ic.unicamp.br/fc.website/index.py?sec=0 comprises a total of 1176 forged images; the Wild Web Dataset [53] with 90 real cases of manipulations coming from the web and the Realistic Tampering dataset [35] including 220 forged images. The National Institute of Standards and Technology (NIST) presented with the Nimble Challenge 2017 a large benchmark dataset [23] that contains a total of 2520 manipulated images, but only 23 manipulated videos with ground truth. A database of 2010 FaceSwap- and SwapMe-generated images has recently been proposed by Zhou et al. [54]. In contrast to these datasets, we generated a database containing more than million images from videos which is more than a magnitude more than the existing databases. We evaluate the importance of a large training corpus in Sec. 4.

3 Dataset

A core contribution of this paper is the FaceForensics dataset. This novel large-scale dataset enables us to train a state-of-the-art forgery detector for facial image manipulation in a supervised fashion (see Sec. 4). To this end, we used three automated state-of-the-art face manipulation methods that are applied to 1,000  pristine videos downloaded from the Internet. Below, we present the data selection and automatic forgery generation.

3.1 Pristine Data Acquisition

In this section we give details on the selection of videos that we use as input to state-of-the-art manipulation methods. The videos have to fulfill certain criteria. Early experiments with all manipulation methods showed that the target face has to be nearly front-facing, to prevent the methods from failing or producing strong artifacts (see Fig. 3). In addition, the manipulation methods exhibit difficulties in handling occlusions. Thus, we ensure that the face is visible in all frames to generate the best possible results.

Figure 3: Automatic face editing tools rely on the ability to track the face in the target video. State-of-the-art tracking methods like Thies et al. [48] fail in cases of profile imagery of a face (left). Rotations larger than lead to tracking errors (middle). Also occlusions lead to tracking errors (right).

For a realistic scenario, we chose to collect videos in the wild, more specifically from YouTube. As the YouTube search engine limits search hits, we made use of the youtube8m dataset [4] to collect videos with the tags “face”, “newscaster” or “newsprogram” and also included videos which we collected from the YouTube search interface with the same tags and additional tags like “interview”, “blog” or “video blog”. To ensure adequate video quality, we only downloaded videos that offer a resolution of 480p or higher. For every video, we save its metadata to sort them by properties later on. In order to not change any image information and also to prevent the introduction of additional artifacts, we extract all video sequences into a lossless image format.

In order to match the above requirements, we first process all downloaded videos with a standard CPU Dlib face detector [33], which is based on Histograms of Oriented Gradients (HOG). During this step, we track the largest detected face by ensuring that the centers of two detections of consecutive frames are pixel-wise close. The histogram-based face tracker was chosen to ensure that the resulting video sequences contain little occlusions and thus contain easy-to-manipulate faces.

Methods like Face2Face or DeepFakes rely on sufficiently many training images for each video. We therefore select all sequences with a minimal length of 280 after removal of the first and last 10 to omit transition effects like fading overlays in TV shows. In addition, we perform a manual screening of the resulting clips to ensure a high quality video selection and to avoid videos with face occlusions. We selected 1,000 video sequences containing images which we use as our pristine data. All examined manipulation methods need a source and a target video. In case of facial reenactment, the expressions of the source video are transfered to the target video while retaining the identity of the target person. In contrast, the face swapping methods replace the face in the target video with the face in the source video. For the face swap methods, one has also to select source and target videos with similar resolutions to avoid strong visual artifacts. To this end, we compare the bounding box sizes that are computed by the DLib face detector. Further, we ensure that a video pair contains persons of the same gender and that the frame rates are similar. Fig. 4 shows the corresponding statistics of our FaceForensics dataset.

(a) Gender
(b) Resolution
(c) Pixel Coverage of Faces
Figure 4: Statistics of our extracted sequences. VGA denotes 480p, HD denotes 720p and FHD denotes 1080p resolution of our videos. The last graphs shows the number of sequences (y-axis) with given pixel height (x-axis).

3.2 Video Manipulation

To generate a large scale manipulation database, we adapted state-of-the-art video editing methods to work fully automatically. In the following paragraphs we describe the modifications of these methods.

For our dataset, we chose two computer graphics-based approaches (Face2Face and FaceSwap) and a deep-learning-based approach (Deepfakes). The computer graphics-based approaches are both 3D editing techniques that reconstruct a 3D model of a face and apply edits in 3D. FaceSwap is a lightweight editing tool that copies the face region from one image to another by using sparse face marker positions. In contrast, Face2Face is a more sophisticated technique with superior face tracking and modeling that enables reenactment of facial expressions. Similar to FaceSwap, DeepFakes is an identity manipulation tool. It is a deep-learning-based method that uses an auto-encoder to replace the face of a target video by the face of a source video. All three methods require source and a target actor video pairs as input. The final output of each methods is a video composed of generated images. Besides the manipulation output, we can also access ground truth masks that indicate whether a pixel has been modified or not. These binary masks can be used to train forgery localization methods.

FaceSwap

FaceSwap is a graphics-based approach to transfer the face region from a source video to a target video. Based on sparse detected facial landmarks the face region is extracted. Using these landmarks, the method fits a 3D template model using blendshapes. This model is back-projected to the target image by minimizing the difference between the projected shape and the localized landmarks using the textures of the input image. Finally, the rendered model is blended with the image and color correction is applied. We perform these steps for all pairs of source and target frames until one videos ends. The implementation is computationally light-weight and can be computed quite fast with CPU only.

DeepFakes

DeepFakes is a synonym for face replacement that is based on deep learning. A face in a target sequence is replaced by a face that has been observed in a source video or image collection. There are various public implementations of DeepFakes available, most notably FakeApp [3] and the faceswap github [1]. The methods are based on two autoencoders with a shared encoder that are trained to reconstruct training images of the source and the target face, respectively. They are using a face detector to crop and to align the images. To create a fake image they apply the trained encoder and the decoder of the source face on the target face. The autoencoder output is then blended with the rest of the image using Poisson image editing [41].

For our dataset, we use the faceswap github implementation. We slightly modify the implementation by replacing the manual training data selection with a fully automated data loader. We used the default parameters to train the video-pair models. Since the training of these models is very time-consuming, we also publish the models as part of the dataset. This allows to easily generate additional manipulations of these persons with different post-processing.

Face2Face

Face2Face [48] is a facial reenactment system that transfers the expressions of a source video to a target video while maintaining the identity of the target person. The original implementation is based on two video input streams with a manual key-frame selection. These frames are used to generate a dense reconstruction of the face which can be used to re-synthesize the face under different illumination and expressions. To process our video database, we adapt the Face2Face approach to fully-automatically create reenactment manipulations. We process each video in a preprocessing pass; here, we use the first frames in order to obtain a temporary face identity (i.e., a 3D model), and track the expressions over the remaining frames. In order to select the key frames that are used to improve the identity fitting and the static texture, we select the frames with the left- and rightmost angle of the face. Based on this identity reconstruction, we track the whole video to compute per frame the expression, rigid pose, and lighting parameters as done in the original implementation of Face2Face. We generate the reenactment video outputs by transferring the source expression parameters of each frame (i.e., 76 Blendshape coefficients) to the target video. More details of the reenactment process can be found in the original paper [48].

3.3 Video Quality

To create a realistic scenario of manipulated videos, we generate output videos with different quality levels as they are used in many social networks. Since raw videos are rarely found on the Internet, we compress the videos using the H.264 codec, which is used by social networks or video-sharing websites. To generate high quality videos, we use a light compression denoted by HQ  (quantization parameter equal to ) which is visually nearly lossless. Low quality videos are produced using a quantization of (LQ ).

Methods Train Validation Test
Original 367,578 68,859 73,770
Face2Face 367,578 68,859 73,770
FaceSwap 292,376 54,624 59,672
Deepfakes 367,578 68,859 73,770
Table 1: Number of unique images of the dataset w.r.t. the method and the split in train validation and test used for our tests.

4 Forgery Detection

Figure 5: Our domain specific forgery detection pipeline: the input image is processed by a robust face tracking method, we use the information to extract the region of the image that is covered by the face, this region is fed into a learned classification network that outputs the final decision whether the image is ’real’ or ’fake’.

We cast the forgery detection as a binary classification problem per frame of the manipulated videos. The following sections show the results of manual and automatic forgery detection. For all experiments, we split the dataset into a fixed training, validation and test set, consisting of , and videos respectively. All evaluations are reported using videos from the test set.

4.1 Forgery Detection of Human Observers

To evaluate the performance of humans in the task of forgery detection, we conducted a user study with 143 participants consisting mostly of computer science university students. This forms the baseline for the automated forgery detection methods.

Layout of the User Study:

After a short introduction to the binary task, users are told to classify randomly selected images from our test set. The selected images vary in video quality and in the manipulation method. To ensure similar resolutions of the face region, we compare the bounding box sizes that are computed by the DLib face detector. We used a split of pristine and fake images. The users were asked whether the displayed image is ‘real’ or ‘fake’. Since the time for inspection of an image may be important, we randomly set a time limit of , or seconds after which we hide the image. To ensure that the users spend the available time on inspection, the question is asked after the image has been displayed and not during the observation time. We designed the study to only take a few minutes per participant. To this end, we were able to show 60 images per attendee which results in a collection of 8580 human decisions.

Evaluation:

In Fig. 6 we show the results of our study on all quality levels. It shows the dependency between the ability of detecting fakes and video quality. With a lower video quality the human performance decreases in average from % to %. The graph shows the numbers averaged across all time intervals, since the different time constraints did not result in significantly different observations.

Note that the user study contained fake images of all three manipulation methods and pristine images. In this setting Face2Face is particularly harder to detect by human observers since Face2Face does not introduce a strong semantical change, and thus, introducing only subtle visual artifacts in comparison to the face replacement methods.

Figure 6: Forgery detection results of our user study with participants. The accuracy is dependent on the video quality and results in a decreasing accuracy rate that is % in average on raw videos, % on high quality, and % on low quality videos.

4.2 Automatic Forgery Detection Methods

We analyze the detection accuracy of our forgery detection pipeline depicted in Fig. 5. Since our goal is to detect forgeries of facial imagery, we use additional domain-specific information that we can extract from input sequences. To this end, we use the state-of-the-art face tracking method by Thies et al. [48] to track the face in the video and to extract the face region of the image. We use a conservative crop (enlarged by a factor of 1.3) around the center of the tracked face, enclosing the reconstructed face. This incorporation of domain knowledge improves the overall performance of a forgery detector in comparison to a naïve approach that uses the whole image as input (see Sec. 4.2.2). We evaluated various variants of our approach by using different state-of-the-art classification methods. We are considering learning-based methods used in the forensic community for generic manipulation detection [10, 17], computer-generated vs natural image detection [43] and face tampering detection [5]. In addition, we show that the classification based on XceptionNet [14] outperforms all other variants in detecting fakes.

4.2.1 Detection based on Steganalysis Features:

Following the method by Fridrich et al. [24], we are using hand-crafted features to detect forgeries. The features are co-occurrences on 4 pixels patterns along horizontal and vertical direction on the high-pass images for a total feature length of 162. These features are then used to train a linear Support Vector Machine (SVM) classifier. This technique was the winning approach in the first IEEE Image forensic Challenge [16]. We provide a central crop-out of the face as input to the method. While the hand-crafted method outperforms human accuracy on raw images by a large margin, it struggles to cope with compression, which leads to an accuracy below human performance for low quality videos (see Fig. 7 to Fig. 9).

Figure 7: Binary detection accuracy of all evaluated architectures on the different manipulation methods using the domain specific information of facial image forgery, i.e., face tracking. Methods are trained on the different manipulation methods separately.

4.2.2 Detection based on Learned Features:

Figure 8: Binary detection accuracy of all variants of our detector on the different manipulation methods using the domain specific information of facial image forgery, i.e., face tracking. Methods are trained on the full dataset using the tracking information of a face tracker, except of the right most classifier that uses the full image as input.

We evaluate five network architectures known from the literature to solve the classification task:

(1) Cozzolino et al. [17] cast the hand-crafted Steganalysis features from the previous section in a CNN-based network. We fine-tune this network on our large scale dataset.

(2) We use our dataset to train the convolutional neural network proposed by Bayar and Stamm [10] that uses a constrained convolutional layer followed by two convolutional, two max-pooling and three fully-connected layer. The constrained convolutional layer is specifically designed to suppress the high-level content of the image.

(3) Rahmouni et al. [43] adopt different CNN architectures with a global pooling layer that computes four statistics (mean, variance, maximum and minimum). We consider the Stats-2L network that had the best performance.

(4) MesoInception-4 [5] is a CNN-based network inspired by InceptionNet [46] to detect face tampering in videos. The network has two inception modules and two classic convolution layers interlaced by max-pooling layers. Afterwards, there are two fully-connected layers. Instead of the classic cross-entropy loss, the authors propose the mean squared error between true and predicted labels. We resize the face images to , the input of the network.

(5) XceptionNet [14] is a traditional CNN trained on imagenet based on separable convolutions with residual connections. We transfer it to our task by replacing the final fully connected layer with two outputs. The other layers are initialized with the ImageNet weights. To set up the newly inserted fully connected layer, we fix all weights up to the final layers and pre-train the network for epochs. We use hyper-parameter optimization to find the best performing model based on validation accuracy. After this step, we train the best performing network for more epochs where one epoch equals one fourth of the actual dataset size.

All five methods are trained with the Adam optimizer using the default values for the moments (, , ). We stop the training process if the validation accuracy doesn’t change for consecutive epochs. Validation accuracies are computed on images per video to decrease training time. Finally, we solve the imbalance between real and fake images in the binary task (i.e., number of fake images three times as large as the number of pristine images) by weighting the training images correspondingly.

Comparison of our Forgery Detection Variants:

Fig. 7 shows the results of a binary forgery detection task using all network architectures, evaluated separately on all three manipulation methods and at different video quality levels. All approaches achieve a very high performance on raw input data. Performance drops for compressed videos, particularly for hand-crafted features and for shallow CNN architectures [10, 17]. The neural networks are better at handling these situations, with XceptionNet being able to achieve compelling results on weak compression while still maintaining reasonable performance on low quality images.

To compare the results of our user study to the performance of our automatic detectors, we also tested the detection variants on a dataset containing images from all manipulation methods. Fig. 8 and Fig. 9 show the results on the full dataset. Here, our automated detectors outperform human performance by a large margin (cf. Fig. 6). We also evaluate a naïve forgery detector operating on the full image (resized to the XceptionNet input) instead of using face tracking information (see Fig. 8, right most column). Due to the lack of the domain-specific information, the XceptionNet classifier has in this scenario a significantly lower accuracy. To summarize, domain-specific information in combination with a XceptionNet classifier shows the best performance in each test. We use this network to further understand the influence of the training corpus size and its ability to distinguish between the different manipulation methods.

Figure 9: Average binary detection accuracy of all variants of our detector on the different manipulation methods using the domain specific information of facial image forgery, i.e., face tracking. Methods are trained on the full dataset using the tracking information of a face tracker, except of the right most classifier that uses the full image as input.
Evaluation of the Training Corpus Size:

Fig. 10 shows the importance of the training corpus size. To this end, we trained the XceptionNet classifier with different training corpus sizes on all there video quality level separately. The overall performance increases with the number of training images. This is particularly important for low quality video footage, as can be seen in the bottom of the figure.

Figure 10: The detection performance of our approach using XceptionNet depends on the training corpus size. Especially, for low quality video data a large database is needed.
Classification of Manipulation Method:

To train the XceptionNet classification network to distinguish between all three manipulation methods and the pristine images, we adapted the final output layer to return four class probabilities. The network is trained on the full dataset containing all pristine and manipulated images. On raw data the network is able to achieve a accuracy, which slightly decreases for the high quality compression to and to on low quality images.

5 Discussion & Conclusion

While current state-of-the-art facial image manipulation methods exhibit visually stunning results, we demonstrate that they can be detected by trained forgery detectors. It is particularly encouraging that also the challenging case of low-quality video can be tackled by learning-based approaches, where humans and simpler hand-crafted features exhibit difficulties. To this end, we demonstrate that domain-specific knowledge improves the overall forgery detection performance. To train the detectors, we introduce a novel dataset of videos of manipulated faces that exceeds all existing publicly available forensic datasets by orders of magnitude. We hope that the dataset becomes a stepping stone for other researchers to work in the field of digital media forensics, and in particular with a focus on facial forgeries. All data and trained models will be released to the public.

6 Acknowledgement

We gratefully acknowledge the support of this research by the AI Foundation, a TUM-IAS Rudolf Mößbauer Fellowship, the and the ERC Starting Grant Scan2CAD (804724), and Google Faculty Award. We would also like to thank Google’s Chris Bregler for help with the cloud computing. In addition, this material is based on research sponsored by the Air Force Research Laboratory and the Defense Advanced Research Projects Agency under agreement number FA8750-16-2-0204. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Air Force Research Laboratory and the Defense Advanced Research Projects Agency or the U.S. Government.

Appendix A Forgery Localization

Forgery localization is an important task in the field of digital multimedia forensics. It is the term for forgery segmentation, i.e., predicting a probability map with the size of the input image indicating whether a pixel has been altered or not. We built our database to also include such ground truth segmentation masks for each manipulation method which are published alongside the image data and can be used to train neural networks in a supervised fashion. We evaluate the performance of our method described in the main paper to detect forgeries on the task of forgery localization. I.e., instead of a binary decision on the image, we predict per-pixel classifications. To this end, we use our method in combination with the XceptionNet, as it performed better than the other classification networks for the forgery detection task. In the following, we detail the network architecture and show an evaluation of our approach.

Network Architecture:

To enable per-pixel classification we adapt the architecture presented in the main paper as follows. We designed the network to estimate the probability of a single patch being manipulated. To this end, we are using a sliding window with a size of pixels with stride 16. Thus, resulting in a probability map with the size of a sixteenth part of the original image. We are using a linear interpolation to distribute the likelihoods to all pixels of the frames.

(a) Deepfakes (b) Face2Face (c) FaceSwap (c) All
Figure 11: Precision vs. recall curve of the localization task evaluated on the three examined manipulation methods separately and on all methods. The training considered all manipulation methods at full resolution. The test set comprises both forged and pristine images.
Training:

The network is trained on randomly extracted patches from the frames. We compute smooth labels for each patch in a neighborhood around the center of the patch using a box filter assuming manipulated pixels having a label of class and pristine pixels having the class label . Based on these smooth labels that are in the range of , we employ a cross-entropy loss to train the network. We are using ADAM [34] to optimize the network, with a learning rate of and a mini-batch size of patches. The patches are extracted from forged frames and the corresponding pristine ones.

Convergence of the training is measured by the change in accuracy. If the accuracy does not improve for epochs (each iterations), we stop the training process.

Evaluation of the Localization Performance:

Fig. 11 shows an evaluation of our approach applied to our test set. As can be seen our approach is able to reliably localize the manipulated region in a raw image. Similar to the detection accuracy reported in the main paper, the performance is lowered by a reduced quality level but is still at a high level. In Fig. 13, we show qualitative results on randomly picked images from the test set.

Figure 12: Our forgery localization network is able to reliably detect manipulated pixels of a face in an image. In this experiment, we manipulate only the lower part of the face using the Face2Face algorithm [48]. As can be seen, the trained network does not learn a simple face detector, but instead correctly identifies the manipulated regions.
Figure 13: Examples of forgery localization results on three real and manipulated images on our three quality levels.

We also conducted an experiment on a face manipulation that is not influencing the whole face region (see Fig. 12). Specifically, we want to highlight that the forgery localization in the case of facial manipulations is not equivalent to a face segmentation. As can be seen, our detection approach is able to detect the region of the manipulation when half of the face is untouched.

Conclusion

As shown in the main paper, our dataset can be used for various tasks in the field of digital multimedia forensics. Specifically, we addressed the task of forgery localization, the segmentation of the altered region. Our approach enables the forgery localization in high-quality as well as in low-quality video footage.

Appendix B Hyperparameters

For reproducibility, we detail the hyperparameters used for the methods in the main paper. We structured this section into two parts, one for the manipulation methods and the second part for the classification approaches used for forgery detection.

b.1 Manipulation Methods

Only DeepFakes is learning-based, for the other manipulation methods we used the default parameters of the approaches. Our DeepFakes implementation is based on the deepfakes faceswap github project [1]. We keep most of the default parameters of this implementation. MTCNN ([7553523]) is used to extract and align the images for each video. Specifically, the largest face in the first frame of a sequence is detected and tracked throughout the whole video. This tracking information is used to extract the training data for DeepFakes. The auto-encoder takes input images of (default). It uses a shared encoder consisting of four convolutional layers which downsizes the image to a bottleneck of , where we flatten the input, apply a fully connected layer, reshape the dense layer and apply a single upscaling using a convolutional layer as well as a pixel shuffle layer (see [shi2016real]). The two decoders use three identical up-scaling layers to attain full input image resolution. All layers use Leaky ReLus as non-linearities. The network is trained using Adam with a learning rate of , and as well as a batch size of . In our experiments we run the training for iterations on a cloud platform. Since the training procedure of the auto-encoder networks is very time-consuming, we also publish the corresponding models.

By exchanging the decoder of one person to another, we can generate a identity-swapped face region. To insert the face into the target image we chose Poisson Image Editing [41] to achieve a seamless blending result.

b.2 Classification Methods

For our forgery detection pipeline proposed in the main paper, we conducted studies with five classification approaches based on convolutional neural networks. The networks are trained using the Adam optimizer with different parameters for learning-rate and batch-size. In particular, for the network proposed in Cozzolino at al. [17] the used learning-rate is with batch-size . For the proposal of Bayar and Stamm [10], we use a learning-rate equal to with a batch-size of . The network proposed by Rahmouni [43] is trained with a learning-rate of and a batch-size equal to . MesoNet [5] uses a batch-size of . The learning-rate is initially set to and is consecutively reduced by a factor of ten for each epoch to . Our XceptionNet [14]-based approach is trained with a learning-rate of and a batch-size of .

The moments of Adam are set to the default values (, ) for all experiments. The stop criterion of the training process is triggered when the validation accuracy does not improve for 10 consecutive epochs (an epoch equals to a fourth of the training set). We keep the network weights relative to the epoch with the best validation accuracy.

References

  • [1] Deepfakes Github, howpublished = https://github.com/deepfakes/faceswap, note = Accessed: 2018-10-29.
  • [2] Faceswap. https://github.com/MarekKowalski/FaceSwap/.
  • [3] FakeApp, howpublished = https://www.fakeapp.com/, note = Accessed: 2018-09-01.
  • [4] S. Abu-El-Haija, N. Kothari, J. Lee, P. Natsev, G. Toderici, B. Varadarajan, and S. Vijayanarasimhan. Youtube-8m: A large-scale video classification benchmark. arXiv preprint arXiv:1609.08675, 2016.
  • [5] D. Afchar, V. Nozick, J. Yamagishi, and I. Echizen. Mesonet: a compact facial video forgery detection network. arXiv preprint arXiv:1809.00888, 2018.
  • [6] I. Amerini, L. Ballan, R. Caldelli, A. Del Bimbo, and G. Serra. A SIFT-based forensic method for copy-move attack detection and transformation recovery. IEEE Transactions on Information Forensics and Security, 6(3):1099–1110, Mar. 2011.
  • [7] G. Antipov, M. Baccouche, and J. Dugelay. Face aging with conditional generative adversarial networks. CoRR, abs/1702.01983, 2017.
  • [8] H. Averbuch-Elor, D. Cohen-Or, J. Kopf, and M. F. Cohen. Bringing portraits to life. ACM Transactions on Graphics (Proceeding of SIGGRAPH Asia 2017), 36(4):to appear, 2017.
  • [9] J. Bappy, A. Roy-Chowdhury, J. Bunk, L. Nataraj, and B. Manjunath. Exploiting spatial structure for localizing manipulated image regions. In IEEE International Conference on Computer Vision, pages 4970–4979, 2017.
  • [10] B. Bayar and M. Stamm. A deep learning approach to universal image manipulation detection using a new convolutional layer. In ACM Workshop on Information Hiding and Multimedia Security, pages 5–10, 2016.
  • [11] P. Bestagini, S. Milani, M. Tagliasacchi, and S. Tubaro. Local tampering detection in video sequences. In IEEE International Workshop on Multimedia Signal Processing, pages 488–493, October 2013.
  • [12] L. Bondi, S. Lameri, D. Güera, P. Bestagini, E. Delp, and S. Tubaro. Tampering Detection and Localization through Clustering of Camera-Based CNN Features. In IEEE Computer Vision and Pattern Recognition Workshops, 2017.
  • [13] C. Bregler, M. Covell, and M. Slaney. Video rewrite: Driving visual speech with audio. In Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’97, pages 353–360, New York, NY, USA, 1997. ACM Press/Addison-Wesley Publishing Co.
  • [14] F. Chollet. Xception: Deep Learning with Depthwise Separable Convolutions. In IEEE Conference on Computer Vision and Pattern Recognition, 2017.
  • [15] V. Conotter, E. Bodnari, G. Boato, and H. Farid. Physiologically-based detection of computer generated faces in video. In IEEE International Conference on Image Processing, pages 1–5, Oct 2014.
  • [16] D. Cozzolino, D. Gragnaniello, and L.Verdoliva. Image forgery detection through residual-based local descriptors and block-matching. In IEEE International Conference on Image Processing, pages 5297–5301, October 2014.
  • [17] D. Cozzolino, G. Poggi, and L. Verdoliva. Recasting residual-based local descriptors as convolutional neural networks: an application to image forgery detection. In ACM Workshop on Information Hiding and Multimedia Security, pages 1–6, 2017.
  • [18] K. Dale, K. Sunkavalli, M. K. Johnson, D. Vlasic, W. Matusik, and H. Pfister. Video face replacement. ACM Trans. Graph., 30(6):130:1–130:10, Dec. 2011.
  • [19] L. D’Amiano, D. Cozzolino, G. Poggi, and L. Verdoliva. A PatchMatch-based Dense-field Algorithm for Video Copy-Move Detection and Localization. IEEE Transactions on Circuits and Systems for Video Technology, in press, 2018.
  • [20] D.-T. Dang-Nguyen, G. Boato, and F. De Natale. Identify computer generated characters by analysing facial expressions variation. In IEEE International Workshop on Information Forensics and Security, pages 252–257, 2012.
  • [21] X. Ding, Y. Gaobo, R. Li, L. Zhang, Y. Li, and X. Sun. Identification of Motion-Compensated Frame Rate Up-Conversion Based on Residual Signal. IEEE Transactions on Circuits and Systems for Video Technology, in press, 2017.
  • [22] H. Farid. Photo Forensics. The MIT Press, 2016.
  • [23] J. G. Fiscus, H. Guan, Y. Lee, A. N. Yates, A. P. Delgado, D. F. Zhou, and T. N. Kheyrkhah. Nimble Challenge 2017 Evaluation. National Institute of Standards and Technology, 2017. https://www.nist.gov/itl/iad/mig/nimble-challenge-2017-evaluation.
  • [24] J. Fridrich and J. Kodovský. Rich Models for Steganalysis of Digital Images. IEEE Transactions on Information Forensics and Security, 7(3):868–882, June 2012.
  • [25] C. Frith. Role of facial expressions in social interactions. Philosophical Transactions of the Royal Society B: Biological Sciences, 364(1535), Dec. 2009.
  • [26] P. Garrido, L. Valgaerts, O. Rehmsen, T. Thormaehlen, P. Perez, and C. Theobalt. Automatic face reenactment. In IEEE Conference on Computer Vision and Pattern Recognition, pages 4217–4224, 2014.
  • [27] P. Garrido, L. Valgaerts, H. Sarmadi, I. Steiner, K. Varanasi, P. Perez, and C. Theobalt. Vdub: Modifying face video of actors for plausible visual alignment to a dubbed audio track. Computer Graphics Forum, 34(2):193–204, 2015.
  • [28] A. Gironi, M. Fontani, T. Bianchi, A. Piva, and M. Barni. A video forensic technique for detection frame deletion and insertion. In IEEE International Conference on Acoustics, Speech and Signal Processing, pages 6226–6230, 2014.
  • [29] R. Huang, S. Zhang, T. Li, and R. He. Beyond face rotation: Global and local perception GAN for photorealistic and identity preserving frontal view synthesis. CoRR, abs/1704.04086, 2017.
  • [30] M. Huh, A. Liu, A. Owens, and A. A. Efros. Fighting fake news: Image splice detection via learned self-consistency. In ECCV, 2018.
  • [31] T. Karras, T. Aila, S. Laine, and J. Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. CoRR, abs/1710.10196, 2017.
  • [32] H. Kim, P. Garrido, A. Tewari, W. Xu, J. Thies, N. Nießner, P. Pérez, C. Richardt, M. Zollhöfer, and C. Theobalt. Deep Video Portraits. ACM Transactions on Graphics 2018 (TOG), 2018.
  • [33] D. E. King. Dlib-ml: A machine learning toolkit. Journal of Machine Learning Research, 10:1755–1758, 2009.
  • [34] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.
  • [35] P. Korus and J. Huang. Multi-scale Analysis Strategies in PRNU-based Tampering Localization. IEEE Transactions on Information Forensics and Security, 12(4):809–824, Apr. 2017.
  • [36] G. Lample, N. Zeghidour, N. Usunier, A. Bordes, L. Denoyer, and M. Ranzato. Fader networks: Manipulating images by sliding attributes. CoRR, abs/1706.00409, 2017.
  • [37] C. Long, E. Smith, A. Basharat, and A. Hoogs. A C3D-based Convolutional Neural Network for Frame Dropping Detection in a Single Video Shot. In IEEE Computer Vision and Pattern Recognition Workshops, pages 1898–1906, 2017.
  • [38] Y. Lu, Y. Tai, and C. Tang. Conditional cyclegan for attribute guided face image generation. CoRR, abs/1705.09966, 2017.
  • [39] Z. Lu, Z. Li, J. Cao, R. He, and Z. Sun. Recent progress of face image synthesis. CoRR, abs/1706.04717, 2017.
  • [40] P. Mullan, D. Cozzolino, L. Verdoliva, and C. Riess. Residual-based forensic comparison of video sequences. In IEEE International Conference on Image Processing, 2017.
  • [41] P. Pérez, M. Gangnet, and A. Blake. Poisson image editing. ACM Transactions on graphics (TOG), 22(3):313–318, 2003.
  • [42] R. Raghavendra, K. Raja, S. Venkatesh, and C. Busch. Transferable Deep-CNN features for detecting digital and print-scanned morphed face images. In IEEE Computer Vision and Pattern Recognition Workshops, 2017.
  • [43] N. Rahmouni, V. Nozick, J. Yamagishi, and I. Echizeny. Distinguishing computer graphics from natural images using convolution neural networks. In IEEE Workshop on Information Forensics and Security, pages 1–6, 2017.
  • [44] H. T. Sencar and N. Memon. Digital Image Forensics — There is More to a Picture than Meets the Eye. Springer, 2013.
  • [45] S. Suwajanakorn, S. M. Seitz, and I. Kemelmacher-Shlizerman. Synthesizing Obama: learning lip sync from audio. ACM Transactions on Graphics (TOG), 36(4), 2017.
  • [46] C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. 2017.
  • [47] J. Thies, M. Zollhöfer, M. Nießner, L. Valgaerts, M. Stamminger, and C. Theobalt. Real-time expression transfer for facial reenactment. ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH Asia 2015, 34(6):Art. No. 183, 2015.
  • [48] J. Thies, M. Zollhöfer, M. Stamminger, C. Theobalt, and M. Nießner. Face2Face: Real-Time Face Capture and Reenactment of RGB Videos. In IEEE Conference on Computer Vision and Pattern Recognition, pages 2387–2395, June 2016.
  • [49] J. Thies, M. Zollhöfer, M. Stamminger, C. Theobalt, and M. Nießner. Facevr: Real-time gaze-aware facial reenactment in virtual reality. ACM Transactions on Graphics 2018 (TOG), 2018.
  • [50] J. Thies, M. Zollhöfer, C. Theobalt, M. Stamminger, and M. Nießner. Headon: Real-time reenactment of human portrait videos. arXiv preprint arXiv:1805.11729, 2018.
  • [51] P. Upchurch, J. R. Gardner, K. Bala, R. Pless, N. Snavely, and K. Q. Weinberger. Deep feature interpolation for image content changes. CoRR, abs/1611.05507, 2016.
  • [52] W. Wang and H. Farid. Exposing Digital Forgeries in Interlaced and Deinterlaced Video. IEEE Transactions on Information Forensics and Security, 2(3):438–449, Sept. 2007.
  • [53] M. Zampoglou, S. Papadopoulos, , and Y. Kompatsiaris. Detecting image splicing in the wild (Web). In IEEE International Conference on Multimedia & Expo Workshops (ICMEW), 2015.
  • [54] P. Zhou, X. Han, V. Morariu, and L. Davis. Two-stream neural networks for tampered face detection. In IEEE Computer Vision and Pattern Recognition Workshops, pages 1831–1839, 2017.
  • [55] M. Zollhöfer, J. Thies, D. Bradley, P. Garrido, T. Beeler, P. Péerez, M. Stamminger, M. Nießner, and C. Theobalt. State of the art on monocular 3d face reconstruction, tracking, and applications. 2018.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
333691
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description