Skip to content

dfi-visiontransformer-commercial (Deepfake Image Detection)

Version Changelog

Plugin Version Change
v1.0.0 Initial plugin, released with OLIVE 6.1.0

Description

Deepfake image detection (DFI) plugins process an input image and classify whether it was created via photography or whether it was synthetically generated. Such deepfake images can be generated by a variety of generative AI algorithms based on generative adversarial networks (GANs), diffusion, or other approaches. Detecting synthetically generated images is crucial to preventing misinformation, and safeguarding against malicious activities such as impersonation and fraud.

This plugin detects whether a given image came from a photo or from a synthetic system. The plugin uses a CLIP-based deepfake detection model to compute a score for an input image which is subsequently transformed to a likelihood ratio using linear calibration. It is adapted from the model described in Ojha, U., Li, Y., & Lee, Y. J. (2023). Towards universal fake image detectors that generalize across generative models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 24480-24489).

Domains

  • multi-v1
    • A general purpose image deepfake detection domain.

Inputs

An image file to process.

Outputs

The detection scores represent whether a given image is detected as being synthetically generated or not. The scores are log-likelihood ratios where a score of greater than "0" is considered a "synthetic" or deep-fake image detection and a score below "0" is considered an image from a bonafide photo.

That output looks like this:

    <file> synthetic <score> (<x1>, <y1>, <x2>, <y2>)

Where the bounding box spans the entire image and is defined by the four coordinates in parentheses:

    (Upper Left: x1, y1    |    Lower Right: x2, y2)

Note that the bounding box of the current version of the plugin does not attempt to localize a manipulation. The current model is making a decision based on whether the entire image is a deepfake.

An example output could look like this:

    input-image-1.jpg synthetic -1.9423 (0, 0, 640, 480)
    input-image-2.png synthetic 1.2817 (0, 0, 4096, 1365)

In this example, input-image-1.jpg has a negative score, meaning the model does not believe the image to be synthetic, manipulated, or fake. The second input, input-image-2.png has a positve score, meaning the model does detect it as a deepfake.

Functionality (Traits)

The functions of this plugin are defined by its Traits and implemented API messages. A list of these Traits is below, along with the corresponding API messages for each. Click the message name below to go to additional implementation details below.

  • BOUNDING_BOX_SCORER – Score all submitted images or videos, returning labeled bounding box regions within the image frames, or labeled bounding box regions with an associated start and end time region if scoring video files.

Compatibility

OLIVE 6.1+

Limitations

The deepfake image detection model was trained on real and synthetic images showing scenes with 20 different object classes to enhance generalization; however, it is not specifically designed for use in detecting images of synthetically generated faces or modifications or edits to face images.

This model was also created to make decisions on the input image as a whole. It doesn't attempt to find smaller or localized manipulations, but rather if the entire image itself was synthetically generated. Because of this it may be subject to misses in cases where a small part of an image has been generated; like a single person's face or facial features, the addition or removal of small objects within the frame, etc.

The model has also been exposed primarily to photographic images during training - it may behave unpredictably when scoring images of drawings, paintings, or to other non-photographic digital art, where the lines between machine-generated imagery and human-created images may be blurrier.

Comments

Detecting deepfake images is a cat-and-mouse game. The field is (as of writing) moving incredibly fast with new advances and models constantly released. We strove to adopt a well-trained public deepfake detection model but cannot guarantee that it will be able to detect novel or recently developed generators.

GPU Support

Please refer to the OLIVE GPU Installation and Support documentation page for instructions on how to enable and configure GPU capability in supported plugins. By default this plugin will run on CPU only.

Global Options

This plugin does not currently have user-configurable options, though it is possible for some performance tweaks and configuration changes to be made. If you find this plugin to not perform adequately for your data conditions, or have a specific use case, please get in touch with SRI to discuss how the plugin can be tuned for optimal performance on your data.