Fake Video Detection

The system uses face detection and neural networks with Fourier transforms to analyze video images for irregularities, addressing the challenge of authenticating videos modified by digital image processing and deep learning algorithms.

JP7667148B2Active Publication Date: 2025-04-22SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022523639
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-10-21
Filing Date
2020-10-13
Publication Date
2025-04-22
Estimated Expiration
2040-10-13

AI Technical Summary

Technical Problem

Modern digital image processing and deep learning algorithms can easily modify video images, making it difficult to determine whether a video is authentic or fake, which can lead to defamation by making individuals appear to say insulting things.

Method used

A system that includes a face detection module, multiple neural networks, and discrete Fourier transforms to analyze images for irregularities in texture and illumination, determining if an image has been modified from its original state.

Benefits of technology

Effectively identifies irregularities in video images, determining if they have been digitally altered, thereby helping to authenticate or debunk fake videos.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007667148000001
    Figure 0007667148000001
  • Figure 0007667148000002
    Figure 0007667148000002
  • Figure 0007667148000003
    Figure 0007667148000003
Patent Text Reader

Abstract

Detecting whether a video (212) is a fake video derived from and altered from an original video (200) is performed using both image analysis (306) of one or more frames of the video and frequency domain analysis (310). The analysis may be performed using a neural network (302).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application generally relates to technically inventive and unconventional solutions that are necessarily rooted in computer technology and result in concrete technical improvements. [Background technology]

[0002] As will be appreciated herein, modern digital image processing combined with deep learning algorithms exhibits an interesting and entertaining, yet potentially sinister, ability to alter a video image of one person into an image of another person, or to alter a video of a person to have that person's voice speak words that the person never actually spoke. While such functionality can be used casually, it can also be used to defame an individual by making it appear as if the person is saying something offensive. Thus, techniques are provided herein for determining whether a video is real or a fake generated by machine learning. Summary of the Invention

[0003] Thus, the system includes at least a face detection module for receiving an image and determining whether at least one textural irregularity is present in the image, of a face in the image, or between a face and a background of the image, or both. The system also includes at least a first neural network for receiving the image, at least one Discrete Fourier Transform (DFT) for receiving the image and outputting a spectrum to at least a second neural network, and at least a detection module for accessing features output by the face detection module, the first neural network, and the second neural network to determine whether the image has been altered from an original image and providing an output representative thereof.

[0004] The texture irregularities may include a checkerboard pattern.

[0005] The detection module may determine that the image has been at least partially altered from the original image by detecting at least one irregularity in the spectrum.

[0006] The spectral irregularity may include at least one region of brightness brighter than a corresponding region of the original image. The region of brightness may be located along the periphery of the image in the frequency domain. In fact, the spectral irregularity may include multiple regions of brightness located along the periphery of the image in the frequency domain.

[0007] The face detection module may be configured to output a feature vector indicative of irregularities in the lighting of faces in the image, which are indicative of the image having been altered from the original image.

[0008] In another aspect, the method includes processing the image via a face detection module to output a feature vector indicative of at least one lighting irregularity of a face in the image, or at least one texture irregularity in the image, or both. The method also includes processing the image via at least one Discrete Fourier Transform (DFT) and at least one neural network to output a feature vector indicative of at least one irregularity of the image in the frequency domain, and returning an indication that the image has been at least partially altered from an original image based on the feature vector.

[0009] In another aspect, an apparatus includes at least one computer storage medium with instructions executable by at least one processor to process an image via an image detection module to determine if irregularities are present in the image in the spatial domain. The instructions are executable to transform the image into a frequency domain and to process the image in the frequency domain to determine if irregularities are present in the frequency domain. The instructions are executable to output an indication that the image has been digitally altered from an original image based at least in part on determining that irregularities are present in the image.

[0010] An indication that the image has been digitally altered from the original image may be output in response to determining either one of irregularities in the frequency domain or irregularities in the spatial domain, or an indication that the image has been digitally altered from the original image may be output only in response to determining that both frequency domain and spatial domain irregularities are present in the image.

[0011] The details of the present application, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which: [Brief description of the drawings]

[0012] [Figure 1] 1 is a block diagram of an exemplary system including an example according to the present principles; [Diagram 2] FIG. 1 is a schematic diagram showing a real video and a fake video derived from the real video; [Diagram 3] 1 is a flow chart of example logic for detecting fake videos using both image processing and frequency domain analysis. [Figure 4] 4 is a flow chart of exemplary logic for training the neural network used in FIG. [Diagram 5] 1 shows a diagram of a real video frame and a corresponding fake video frame, illustrating artifacts in the fake frame. [Figure 6] FIG. 4 is a block diagram of an example neural network architecture for implementing the logic of FIG. [Figure 7] 1 is a flow chart of example logic for detecting fake videos using video sequence analysis. [Figure 8] FIG. 8 is a block diagram of an example neural network architecture for implementing the logic of FIG. [Figure 9] 1 is a flowchart of an example logic for using blockchain technology to combat fake video generation. [Figure 10] 1 is a screenshot of an exemplary user interface (UI) for reporting a fake video to an Internet Service Provider (ISP) or distributor so that the ISP / distributor can remove the video from public view. [Figure 11] 1 is a flow chart of exemplary logic for recording or uploading or downloading a video with a verification hash embedded in the video. [Figure 12] 12 is a flow chart of exemplary logic for playing back the video recorded or accessed in FIG. 11 where a hash is used to verify authenticity. [Figure 13] 1 is a flow chart of an exemplary logic for hybrid logic using previous principles; [Figure 14] 1 shows example lighting artifacts in two sets of authentic and altered images. [Figure 15] 1 illustrates an example generative adversarial network (GAN) artifact or irregularity in an image. [Figure 16] We use real and altered images to demonstrate different GAN-related artifacts or irregularities. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] The present disclosure relates generally to computer ecosystems, including aspects of consumer electronics (CE) devices, such as computer simulation networks, such as computer gaming networks and standalone computer simulation systems. The systems herein may include a server component and a client component connected through a network such that data may be exchanged between the client component and the server component. The client components may include one or more computing devices, including gaming consoles such as Sony PlayStation® or gaming consoles made by Microsoft or Nintendo or other manufacturers, virtual reality (VR) headsets, augmented reality (AR) headsets, portable televisions (e.g., smart televisions, Internet-enabled televisions), portable computers such as laptops and tablet computers, and smartphones and other mobile devices, including additional examples described below. These client devices may operate in a variety of operating environments. For example, some of the client computers may use, by way of example, a Linux® operating system, an operating system from Microsoft, or a Unix® operating system, or an operating system produced by Apple Computer or Google. These operating environments may be used to execute one or more browsing programs, such as browsers made by Microsoft, Google, or Mozilla, or other browser programs, that can access websites hosted by Internet servers described below. An operating environment consistent with the present principles may also be used to run one or more computer game programs.

[0014] The server and / or gateway may include one or more processors that execute instructions that configure the server to receive and transmit data over a network such as the Internet. Alternatively, the clients and servers may be connected through a local intranet or a virtual private network. The server or controller may be instantiated by a game console such as a Sony PlayStation®, a personal computer, or the like.

[0015] Information may be exchanged between the clients and the servers over a network. For this purpose and for security, the servers and / or clients may include firewalls, load balancers, temporary storage, and proxies, as well as other network infrastructure for reliability and security. One or more servers may form an apparatus for implementing a method for providing a secure community, such as an online social website, for network members.

[0016] As used herein, instructions refer to computer-implemented steps for processing information in a system. Instructions may be implemented in software, firmware, or hardware and may include any type of programmed steps performed by components of the system.

[0017] The processor may be any conventional general purpose single-chip or multi-chip processor capable of implementing logic via various lines, such as address, data and control lines, as well as registers and shift registers.

[0018] The software modules described herein by flowcharts and user interfaces may include various subroutines, procedures, etc. Without limiting the disclosure, logic defined to be performed by a particular module may be redistributed among other software modules and / or aggregated together in a single module and / or made available in a shareable library.

[0019] The principles described herein may be implemented as hardware, software, firmware, or any combination thereof. Accordingly, the illustrative components, blocks, modules, circuits, and steps are described in terms of their functionality.

[0020] Further to the above, the logic blocks, modules, and circuits described below may be implemented or performed by a general purpose processor, a digital signal processor (DSP), other programmable logic devices such as field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be implemented by a controller or state machine, or a combination of computing devices.

[0021] The functions and methods described below, when implemented in software, can be written in a suitable language, such as, but not limited to, Java, C#, or C++, and can be stored in or transmitted through a computer-readable storage medium, such as a random access memory (RAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM), or other optical disk storage, such as a digital versatile disk (DVD), a magnetic disk storage, or other magnetic storage device, including a removable thumb drive, etc. A connection may establish a computer-readable medium. Such connections may include wired cables, including, by way of example, optical fiber, coaxial wire, digital subscriber line (DSL), and twisted pair wire. Such connections may include wireless communication connections, including infrared and radio.

[0022] Components included in one embodiment may be used in other embodiments in any suitable combination, for example, any of the various components described herein and / or illustrated in the figures may be combined, interchanged, or excluded from other embodiments.

[0023] "A system having at least one of A, B, and C" (also "a system having at least one of A, B, or C" and "a system having at least one of A, B, C") includes systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.

[0024] Referring now specifically to FIG. 1, an exemplary system 10 is shown, which may include one or more of the exemplary devices described above and detailed below in accordance with the present principles. A first of the exemplary devices included in the system 10 is a consumer electronics (CE) device, such as an audio-video device (AVD) 12, such as, but not limited to, an Internet-enabled TV with a TV tuner (equivalently, a set-top box that controls the TV). However, the AVD 12 may alternatively be an appliance or household item, such as a computer-controlled Internet-enabled refrigerator, washer, or dryer. Alternatively, the AVD 12 may also be a computer-controlled Internet-enabled ("smart") phone, a tablet computer, a notebook computer, a wearable computer-controlled device, such as, for example, a computer-controlled Internet-enabled watch, a computer-controlled Internet-enabled bracelet, other computer-controlled Internet-enabled devices, a computer-controlled Internet-enabled music player, a computer-controlled Internet-enabled headphones, a computer-controlled Internet-enabled implantable device, such as an implantable skin device, and the like. Nonetheless, it should be understood that ADV12 is configured to implement the present principles (e.g., to communicate with other CE devices to implement the present principles, to execute the logic described herein, and to perform any other functions and / or operations described herein).

[0025] Thus, to implement such principles, an AVD 12 can be established by some or all of the components shown in FIG. 1. For example, the AVD 12 can include one or more displays 14, which may be implemented by high-definition or ultra-high-definition flat screens of "4K" or higher, and may be touch-enabled for touching the display to receive user input signals. The AVD 12 can include one or more speakers 16 for outputting audio in accordance with the present principles, and at least one additional input device 18, such as, for example, an audio receiver / microphone, for inputting audible commands to the AVD 12, for controlling the AVD 12. The exemplary AVD 12 can also include one or more network interfaces 20 for communicating over at least one network 22, such as the Internet, a WAN, a LAN, etc., under the control of one or more processors 24, etc., and can also include a graphics processor 24A. Thus, the interface 20 can be, but is not limited to, a Wi-Fi transceiver, which is an example of a wireless computer network interface, such as, but not limited to, a mesh network transceiver. It should be understood that processor 24 controls AVD 12 to implement the present principles, including, for example, controlling display 14 to present images, receiving input therefrom, and other elements of AVD 12 described herein. It should further be noted that network interface 20 may be, for example, a wired or wireless modem or router, or other suitable interface, such as, for example, a wireless telephony transceiver or a Wi-Fi transceiver as described above.

[0026] In addition to the above, AVD 12 may also include one or more input ports 26, such as, for example, a High Definition Multimedia Interface (HDMI) port or a USB port for physically connecting (e.g., using a wired connection) to another CE device, and / or a headphone port for connecting headphones to AVD 12 to present audio to the user from AVD 12 through the headphones. For example, input port 26 may be wired or wirelessly connected to a cable or satellite source 26a of audio-video content. Thus, source 26a may be, for example, a separate or integrated set-top box, or a satellite receiver. Alternatively, source 26a may be a game console or disc player that contains content that a user may deem to be preferred for channel allocation purposes, as described in more detail below. When implemented as a game console, source 26a may include some or all of the components described below in connection with CE device 44.

[0027] The AVD 12 may further include one or more computer memories 28, such as non-transitory, disk-based or solid-state storage, which may in some cases be embodied within the AVD's chassis as a standalone device, or as a personal video recording device (PVR) or video disk player, or as a removable memory medium, either internal or external to the AVD's chassis for playing AVD programs. In some embodiments, the AVD 12 may also include a position or location receiver, such as, but not limited to, a cellular telephone receiver, a GPS receiver, and / or an altimeter 30, configured to receive geographic location information from at least one satellite or cellular telephone tower, provide the information to the processor 24, and / or determine the altitude at which the AVD 12 is located in conjunction with the processor 24. However, it should be understood that another suitable position receiver other than a cellular telephone receiver, a GPS receiver, and / or an altimeter may be used in accordance with the present principles, for example to determine the location of the AVD 12, e.g., in all three dimensions.

[0028] Continuing with the description of the AVD 12, in some embodiments, the AVD 12 may include one or more cameras 32, which may be, for example, a digital camera such as a thermal imaging camera, a webcam, and / or a camera incorporated into the AVD 12 and controllable by the processor 24 to collect pictures / images and / or videos in accordance with the present principles. Also included in the AVD 12 may be a Bluetooth transceiver 34 and other NFC elements 36 for communicating with other devices using Bluetooth and / or Near Field Communication (NFC) technologies, respectively. An exemplary NFC element may be a Radio Frequency Identification (RFID) element.

[0029] Furthermore, the AVD 12 may include one or more auxiliary sensors 37 (e.g., motion sensors such as accelerometers, gyroscopes, cyclometers, or magnetic sensors, infrared (IR) sensors, optical sensors, speed and / or cadence sensors, gesture sensors (e.g., for sensing gesture commands), etc.) that provide input to the processor 24. The AVD 12 may include an over-the-air TV broadcast port 38 for receiving OTA (over-the-air) TV broadcasts that provide input to the processor 24. In addition to the above, it is noted that the AVD 12 may also include an infrared (IR) transmitter and / or an IR receiver and / or an IR transceiver 42, such as an Infrared Data Association (IRDA) device. A battery (not shown) may be provided for powering the AVD 12.

[0030] 1, in addition to the AVD 12, the system 10 may include one or more other CE device types. In one example, a first CE device 44 may be used to transmit audio and video of a computer game to the AVD 12 via commands sent directly to the AVD 12 and / or through a server, as described below, while a second CE device 46 may include similar components as the first CE device 44. In the example shown, the second CE device 46 may be configured as a VR headset worn by a player 47 as shown. In the illustrated example, only two CE devices 44, 46 are shown, but it should be understood that fewer or more devices may be used. For example, the following principle describes multiple players 47 with respective headsets communicating with each other during the play of a computer game provided by a game console to one or more AVDs 12.

[0031] In the illustrated example, for purposes of illustrating the present principles, it is assumed that all three devices 12, 44, 46 are members of, for example, a home entertainment network, or at least are located in close proximity to one another in a location such as a residence, but the present principles are not limited to the particular location indicated by dashed line 48 unless expressly asserted otherwise.

[0032] An exemplary, non-limiting first CE device 44 may be established by any one of the devices mentioned above, e.g., a portable wireless laptop or notebook computer or a game controller, and may therefore have one or more of the components described below. The first CE device 44 may be, for example, a remote control (RC) for issuing AV play and pause commands to the AVD 12, or may be a more capable device, such as a tablet computer, a game controller, a personal computer, a wireless phone, etc., that communicates with the AVD 12 and / or a game console via a wired or wireless link.

[0033] Thus, the first CE device 44 may include one or more displays 50, which may be touch-enabled for touching the display to receive user input signals. The first CE device 44 may include one or more speakers 52 for outputting audio in accordance with the present principles, and at least one additional input device 54, such as, for example, an audio receiver / microphone, for inputting audible commands to the first CE device 44, for example, to control the device 44. The exemplary first CE device 44 may also include one or more network interfaces 56 for communicating over the network 22 under the control of one or more CE device processors 58. It may also include a graphics processor 58A. Thus, the interface 56 may be, without limitation, a Wi-Fi transceiver, which is an example of a wireless computer network interface, including a mesh network interface. It should be understood that the processor 58 controls the first CE device 44 to implement the present principles, including, for example, controlling the display 50 to present images and receiving input therefrom, as well as other elements of the first CE device 44 described herein. Further, it should be noted that network interface 56 may be, for example, a wired or wireless modem or router, or any other suitable interface, such as, for example, a wireless telephony transceiver or a Wi-Fi transceiver as described above.

[0034] In addition to the above, the first CE device 44 may also include one or more input ports 60, such as, for example, an HDMI port or a USB port for physically connecting (e.g., using a wired connection) to another CE device, and / or a headphone port for connecting headphones to the first CE device 44 to present audio to a user from the first CE device 44 through the headphones. The first CE device 44 may further include one or more tangible computer-readable storage media 62, such as disk-based storage or solid-state storage. Also, in some embodiments, the first CE device 44 may include a position or location receiver, such as, but not limited to, a cellular receiver and / or a GPS receiver, and / or an altimeter 64, configured to receive geographic location information from at least one satellite and / or cellular base station, for example, using triangulation, and provide the information to the CE device processor 58, and / or determine an altitude at which the first CE device 44 is located in conjunction with the CE device processor 58. However, it should be understood that another suitable location receiver other than a mobile phone and / or a GPS receiver and / or an altimeter may be used in accordance with the present principles to determine, for example, the location of the first CE device 44 in all three dimensions.

[0035] Continuing with the description of the first CE device 44, in some embodiments the first CE device 44 may include one or more cameras 66, which may be, for example, a digital camera such as a thermal imaging camera, a webcam, and / or a camera incorporated in the first CE device 44 and controllable by the CE device processor 58 to collect pictures / images and / or videos in accordance with the present principles. Also included in the first CE device 44 may be a Bluetooth transceiver 68 and other NFC elements 70 for communicating with other devices using Bluetooth and / or Near Field Communication (NFC) technologies, respectively. An exemplary NFC element may be a Radio Frequency Identification (RFID) element.

[0036] Furthermore, the first CE device 44 may include one or more auxiliary sensors 72 (e.g., motion sensors such as accelerometers, gyroscopes, cyclometers, or magnetic sensors, infrared (IR) sensors, optical sensors, speed and / or cadence sensors, gesture sensors (e.g., for sensing gesture commands), etc.) that provide input to the CE device processor 58. The first CE device 44 may include still other sensors, such as, for example, one or more climate sensors 74 (e.g., barometers, humidity sensors, wind sensors, light sensors, temperature sensors, etc.) and / or one or more biometric sensors 76, that provide input to the CE device processor 58. In addition to the above, it is noted that in some embodiments the first CE device 44 may also include an infrared (IR) transmitter and / or an IR receiver, and / or an IR transceiver 78, such as an Infrared Data Association (IRDA) device. A battery (not shown) may be provided for powering the first CE device 44. CE device 44 may communicate with AVD 12 via any of the communication modes and associated components described above.

[0037] The second CE device 46 may include some or all of the components illustrated for CE device 44. Either one or both of the CE devices may be powered by one or more batteries.

[0038] Referring now to the at least one server 80 described above, the server 80 includes at least one server processor 82, at least one tangible computer-readable storage medium 84, such as disk-based or solid-state storage, and at least one network interface 86 that, under the control of the server processor 82, enables communication with other devices of Figure 1 over the network 22, and may, in fact, facilitate communications between the server and client devices in accordance with the present principles. It should be noted that the network interface 86 may be, for example, a wired or wireless modem or router, a Wi-Fi transceiver, or other suitable interface, such as, for example, a wireless telephony transceiver.

[0039] Thus, in some embodiments, server 80 may be an entire Internet server or server "farm," or may include or perform "cloud" functions, such that devices of system 10 may access a "cloud" environment via server 80, for example, in an exemplary embodiment for a network gaming application. Alternatively, server 80 may be implemented by one or more game consoles or other computers in the same room or nearby as the other devices shown in FIG.

[0040] The methods herein may be implemented as software instructions executed by a processor, a suitably configured application specific integrated circuit (ASIC) or field programmable gate array (FPGA) module, or any other convenient manner recognized by one of ordinary skill in the art. When used, the software instructions may be embodied in a non-transitory device such as a CD ROM or flash drive. Alternatively, the software code instructions may be embodied in a transitory configuration such as a radio or optical signal, or via download over the Internet.

[0041] 2-6, a first technique for determining whether an image is "fake" or has been digitally altered from an original image is shown. In FIG. 2, an original image 200 is shown that may be presented on a display 202 of a person having a face 204 speaking audible words 206. Image 200 may be an image, such as an I-frame from a video stream, some or all of the frames of the video stream may be processed as disclosed herein.

[0042] A person operating a computer 208 using an input device 210, such as, but not limited to, a keyboard, may alter the image and / or sound to generate an altered image 212 of a person who may be depicted as speaking altered audible words 214. The present principles are directed to detecting that the altered image 212 has in fact been altered from the original 200.

[0043] Figure 3 illustrates logic that may be performed in a first technique, while Figure 6 illustrates an exemplary architecture that may embody the logic of Figure 3. Beginning at block 300, an image is received. The image may be directly analyzed at block 302 by processing the image through a first neural network (NN), such as a convolutional neural network (CNN). The first NN outputs a feature vector representing the image at block 304.

[0044] The image may also be input to a face recognition module for analysis of the face and / or background of the image for artifacts, also referred to herein as irregularities, and lighting irregularities in the image, at block 306. The face recognition module, which may employ one or more NNs, outputs a feature vector to block 304.

[0045] As an example, facial irregularities in an image (spatial domain) may include small areas that have a checkerboard-like appearance, indicating blurred resolution due to digital alteration.

[0046] Further, the image may be transformed to the frequency domain in block 308 using, for example, a Discrete Fourier Transform (DFT) which outputs a frequency spectrum that is analyzed in block 310 using another NN, such as a CNN, to detect image irregularities in the frequency domain. A feature vector representing the spectrum is provided to block 304.

[0047] As an example, a frequency domain irregularity may include one or more bright spots along the perimeter of a graphical representation of an image in the frequency domain.

[0048] Moving to decision diamond 312, a detection module, which may include one or more NNs, analyzes the feature vector from block 304 to determine whether one or more irregularities are present in the spatial and / or frequency domains. If no irregularities are present, the process may end at state 314, however, in some implementations, if any irregularities are present in any domain, an indication that the image is fake may be returned at block 316. In other implementations, an indication that the image is fake may be returned at block 316 only if both irregularities are present in the spatial domain and irregularities are present in the frequency domain.

[0049] Briefly referring to FIG. 4, a process for training a NN as described herein is shown. Beginning at block 400, an original, unaltered image of the ground truth is input to the NN. An altered, or fake, image of the ground truth is also input to the NN at block 402. The fake image may be generated by a designer from the original image of the ground truth using “deep fake” techniques. The NN may be programmed to begin analysis using, for example, any or example irregularities described above for both the frequency and spatial domains. The NN is trained on the ground truth input at block 404. Reinforcement learning may then be applied to refine the training of the NN at block 404.

[0050] 5 illustrates an example spatial and frequency domain irregularity. An original image 500 is shown in the original spatial domain 502 and the original frequency domain 504. An altered image 506 of the original image 500 has an altered spatial domain image 508 and an altered frequency domain image shown at 510.

[0051] As shown, region 512 in the altered spatial domain image 508 has a checkerboard pattern that is enlarged and shown at 514. There may also be lighting irregularities between the original and altered images.

[0052] One or more frequency domain irregularities 516 may also be detected in the representation of the image in the frequency domain 510. The frequency domain irregularities 516 may include bright spots along the edges or periphery of the frequency domain graphical depiction, as shown. In the example shown, there are two bright spots per side, indicating irregularities caused by image alterations in the frequency domain.

[0053] Figure 6 shows an exemplary architecture that may be used to embody the logic of Figure 3. An image 600 to be tested for alterations is input to a face detection module 602 that analyzes the image in the spatial domain to detect image lighting irregularities at a neural network (NN) 604 of the module 602, and face resolution / irregularity checks at 606. The face detection module 602 may use image recognition principles and may be embodied by one or more NNs.

[0054] Also, the image 600 may be directly input to the NN 608, which may be a CNN, for direct analysis using additional rules. Note that the NN 608 extracts a feature vector for the image. The NN 604 also performs image processing, which is particularly advantageous when there is not enough training data. However, the NNs 604, 608 may be implemented by a single NN.

[0055] Further, the image 600 is processed by a Discrete Fourier Transform (DFT) 610 that outputs a spectrum 612 that represents the image 600 in the frequency domain. The spectrum 612 is sent to a CNN 614 for analyzing the spectrum.

[0056] The face recognition module 602 (including lighting irregularity check 604 and face resolution / artifact check 606) and CNNs 608 and 614 generate a group of feature vectors 616 that represent the image 600 in both the spatial and frequency domains. A detection module 618, which may be implemented by one or more NNs, such as recurrent NNs (RNNs) such as long short-term modules (LSTMs), analyzes the feature vectors to ascertain whether the image 600 contains digital alterations from the original image according to the principles proposed herein. If the image 600 contains digital alterations, an indication is generated at 620 that the image 600 may be fake.

[0057] Figure 7 illustrates a second technique for detecting altered video, and Figure 8 illustrates an example architecture for implementing the logic of Figure 7. A video sequence, such as a video clip or other sequence of video frames, is input to a NN at block 700. The sequence is analyzed at block 702 using the NN, which outputs a feature vector representing the video sequence at 704.

[0058] In analyzing a video sequence, the NN can be trained to learn natural human facial movement patterns, for example, during speech. As understood herein, when a video sequence is altered, slightly unnatural movement patterns can be detected by the NN in the fake video sequence because the alterer cannot accurately model the natural patterns of, for example, lip movement.

[0059] Also, audio associated with the video sequence is input to a frequency transform at block 706. The spectrum output by the frequency transform 706 is provided to a NN at block 708 for analysis of the spectrum, outputting a feature vector representing the audio at block 704.

[0060] In analyzing the accompanying audio, the NN can be trained to learn natural human speech characteristics such as cadence, tone, pitch patterns, and emphasis. As understood herein, when audio, such as a voice of a voice, is altered, the alterer may not accurately model the natural patterns of human speech. Thus, slightly unnatural speech patterns, such as unnatural cadence or tone or pitch, may be detected by the NN in the fake audio sequence. Training may be accomplished along the lines shown in FIG. 4, where ground truth audio and fake ground truth audio derived from the original ground truth audio are used as a training set.

[0061] The feature set 704 may be provided to a NN, such as an RNN 710, to analyze the feature vectors to detect whether the input video sequence and / or accompanying audio has been altered from the original, at decision diamond 712. If no anomalies or irregularities are found, the process may end at state 714, however, if irregularities are detected, an indication that the video sequence may have been altered is output at block 716.

[0062] In some embodiments, if any irregularities are detected in either the audio or the video, a fake indication is output at block 716. In other embodiments, a fake indication is output at block 716 only if irregularities are detected in both the audio and the video.

[0063] Figure 8 illustrates an architecture that can be used to embody the logic of Figure 7. A video sequence 800 is input to a NN 802, such as a CNN, to extract a feature vector 804 therefrom. Audio, such as speech 806, is also input to a frequency transform 808, such as a short-time Fourier transform (STFT), to generate a representation of the audio in the frequency domain that is analyzed by a NN 810, such as a CNN, to extract a feature vector therefrom. A NN 212, such as an RNN, such as an LSTM, analyzes the feature vector according to principles described herein to detect any irregularities in the video sequence 800 and audio 806 at block 814. A state 816 indicates the output of an indication that the input may be fake.

[0064] Turning now to FIG. 9, a third technique for addressing fake video generation using blockchain and / or digital fingerprinting technology is shown. In general, a hash / signature of a video can be embedded in an imaging device, such as a smartphone or other recording device, using a web browser, or can be coded into the hardware. A digital fingerprint can be generated from bits of data for the entire video or sub-tracks, so that when the video content is changed, the fingerprint changes. A digital fingerprint can be generated along with metadata such as the location and timestamp of where and when the video was originally created. Every time a video is attempted to be re-distributed, the distributor must request permission from the original block on the blockchain, and a new block for the new (copied) video is bound, making it easy to trace back to the original video and any node on the blockchain. Before re-uploading a video, the fingerprint of the video can be checked against the original fingerprint to determine whether the video being added has been manipulated.

[0065] For example, a video website may incorporate a video fingerprint detector, so that every time a video is uploaded / downloaded, it is recorded and stamped. If the video is classified as fake based on the fingerprint not matching the original video fingerprint, the video may be recorded as such throughout the chain. This emulates antivirus software, but in this case, all users are protected simultaneously.

[0066] Starting at block 900, the original ("authentic") video is added to the video blockchain along with a hash of the video, which may act as a digital fingerprint, typically based on the video's pixel values ​​or encoded information or other image-dependent values. A request to copy the video may be received at block 902, and the request may be granted at block 904.

[0067] Moving to block 906, a request may be received to add a new video that is a copy of the original video back to the blockchain. The request may be accompanied by a hash (fingerprint) for the new video to be valid. Proceeding to decision diamond 908, the hash of the video being added to the blockchain is compared to the hash of the original video from which the video was copied, and if the hashes match, the new video may be added to the blockchain at block 910.

[0068] On the other hand, if at decision diamond 908 it is determined that the hashes do not match, the logic may move to block 912 to either refuse to add the new video to the blockchain or add it to the blockchain with an indication that the new video has been altered from the original and may therefore be fake. If desired, the altered video may be made inaccessible from the blockchain or otherwise unplayable at block 914.

[0069] Additionally, if an altered video is detected, the logic may move to block 916 to report to an Internet Service Provider (ISP) or other distributor of the new altered video that the video has in fact been digitally altered from the original video and therefore should be examined to determine whether to remove the new (altered) video from public view, as illustrated in FIG.

[0070] As shown, a user interface (UI) 1000 may be presented on a display 1002 of a device that executes the logic of Figure 9 and / or receives information from a device that executes the logic of Figure 9. The UI 1000 may include a prompt 1004 that a fake video may have been detected. The UI 1000 may also include a selector 1006 to allow a user to report the presence of the fake along with identifying information to a distributor or other authority.

[0071] Figures 11 and 12 illustrate additional fingerprinting logic. Beginning at block 1100 of Figure 11, following the creation of a new original video and / or upon upload or download of a video, a hash is performed within the frame for at least some frames of the video, and in some embodiments, all frames of the video. Proceeding to block 1002, the hash is then embedded into the frame from which it was derived.

[0072] In an example, a hash of a video frame may be steganographically embedded in the video frame such that it is undetectable to the naked eye and may be uniformly distributed throughout the video frame. For example, each individual pixel of the steganographic hash may be in a known location, either because it is always in a fixed position, or because the location is included in the video metadata for the frame (allowing every frame to be different). Knowing this location allows the pixels representing the hash to be excluded from the video being hashed. In other words, the original hash is created only from pixels that were not steganographically altered. This location may also be used by video compression algorithms to ensure that the pixels representing the hash are not compressed or altered in a way that would affect the hash.

[0073] FIG. 12 shows that the video playback software would reverse this process. Beginning at block 1200, the steganographically embedded hash is extracted from the video frame. Moving to block 1202, the remaining pixels of the video frame are hashed. Moving to decision diamond 1204, the new hash is compared to the hash extracted from the frame. If they match, the frame has not been altered from the original source video and the logic moves to block 1206 to indicate so and add the video to the blockchain if desired (assuming all frames or at least a threshold number of frames match). If the hashes do not match, the logic moves to block 1208 to indicate that the displayed video has been altered from the original by (for example) a red border or highlighting around the altered frames. The altered portions of the frames may also be outlined.

[0074] This same verification process can be performed on a backend server that detects fakes and either proactively prevents them from being published or adds a warning to the video.

[0075] If any malicious actor were to alter the source video in any meaningful way, the frames would hash differently and / or the embedded steganographic hash would be corrupted. As long as there are honest parties on both ends of this activity, alterations to the video are detectable.

[0076] FIG. 13 shows that hybrid techniques combining the above principles may be used. Block 1300 shows that both image processing / video sequencing combined with frequency domain analysis may be used to identify video artifacts / irregularities. Block 1302 further shows that speech processing may be used in combination with any of the above techniques to identify video artifacts / irregularities. Block 1304 shows that identification of video artifacts / irregularities may be combined with blockchain technology to track the original (authentic) video and its copies (fakes) that have been altered.

[0077] 14-16 show additional examples of artifacts or irregularities that may appear in altered images, labeled "fake" images in the figures. A first genuine image 1400 in FIG. 14 has been altered to produce a corresponding altered image 1402 in which the lighting appears brighter in a region 1404 than in the corresponding region of the first genuine image 1400. Similarly, a second genuine image 1406 has been altered to produce an altered image 1408 in which the lighting in a facial region 1410 appears brighter than in the genuine image 1406. The resolution of the altered images 1402, 1408 is also lower than the resolution of the corresponding genuine images 1400, 1406, meaning that the NN can learn to distinguish between altered images based on either or both of lighting irregularities and reduced resolution.

[0078] 15 illustrates an altered image 1500 in which, in a small region 1502, image irregularities or artifacts are present due to generative adversarial network (GAN) upsampling performed to generate the altered image 1500. As shown in an exploded view 1504 of region 1502, the GAN irregularities may include uniformly solid color in regions of the image where non-uniform solid subject matter (in the illustrated example, grass with varying degrees of shading) appears in the original image.

[0079] 16 shows a genuine image 1600 and an altered image 1602 that is derived from the genuine image 1600 by superimposing the face of another person onto the face of a subject in the genuine image 1600. As shown at 1604, this superimposition results in a misalignment of the face relative to the head or rest of the body, in this case the nose relative to the angle at which the head is shown.

[0080] While the present principles have been described with reference to certain illustrative embodiments, it should be understood that these are not intended to be limiting and that various alternative configurations may be used to implement the subject matter claimed herein.

Claims

1. 1. A system comprising: at least one face detection module for receiving an image and determining whether at least one texture irregularity of a face in the image, or between the face and a background of the image, or both, is present in the image; at least one first neural network generated by machine learning for receiving said images; a second neural network generated by machine learning; and at least one Discrete Fourier Transform (DFT) for receiving the image and outputting a spectrum to the at least one second neural network; at least one detection module for analysing the feature vector output by the face detection module, the first feature vector output by the first neural network, and the second feature vector output by the second neural network to determine whether the image has been altered from an original image and to provide an output representative thereof; Equipped with the first feature vector represents a digitally altered image in the spatial domain; The second feature vector represents the digitally altered image in the frequency domain.

2. The system of claim 1 , wherein the texture irregularities include a checkerboard pattern.

3. The system of claim 1 , wherein the detection module determines that the image has been at least partially altered from an original image by detecting at least one irregularity in the spectrum.

4. The system of claim 3 , wherein the irregularity in the spectrum includes at least one bright spot.

5. The system of claim 4 , wherein the bright points are located along the periphery of the image in the frequency domain.

6. The system of claim 3 , wherein the irregularities in the spectrum include regions of multiple brightnesses.

7. The system of claim 6 , wherein the plurality of brightness regions are located along a periphery of the image in the frequency domain.

8. The system of claim 1 , wherein the face detection module is configured to output a feature vector indicative of irregularities in facial lighting in the image that are indicative of the image having been altered from the original image.

9. 1. A method comprising: processing the image through a face detection module to output a first feature vector indicative of at least one lighting irregularity of a face in the image, or at least one texture irregularity in the image, or both; processing the image through at least one Discrete Fourier Transform (DFT) and at least one neural network to output a second feature vector indicative of at least one irregularity of the image in the frequency domain; returning an indication that the image has been at least partially altered from an original image based on the first feature vector and the second feature vector. A method comprising:

10. The method of claim 9 , wherein the texture irregularities include texture irregularities of a face in the image, or texture irregularities between the face and a background of the image, or both.

11. The method of claim 9 , wherein the texture irregularities include a checkerboard pattern.

12. The method of claim 9 , wherein the irregularity in the image in the frequency domain includes at least one bright spot.

13. The method of claim 12 , wherein the bright points are located along the periphery of the image in the frequency domain.

14. The method of claim 9 , wherein the irregularities in the frequency domain include regions of multiple brightnesses.

15. The method of claim 14 , wherein the plurality of brightness regions are located along a periphery of the image in the frequency domain.

16. 10. The method of claim 9, comprising outputting a feature vector indicative of irregularities in facial lighting in the image that are indicative of the image being altered from the original image.

Citation Information

Patent Citations

  • Systems and methods for facial authentication

    US20180307815A1