Detecting Wrapped Attacks in Face Recognition

The VAE-GAN-based training method generates synthetic wrap attack images to enhance liveness detection in facial recognition systems, addressing the vulnerability to wrap attacks and reducing the need for costly sensors.

JP7600315B2Active Publication Date: 2024-12-16RAKUTEN GROUP INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023100509
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-07-29
Filing Date
2023-06-20
Publication Date
2024-12-16
Estimated Expiration
2043-06-20

AI Technical Summary

Technical Problem

Biometric systems, particularly those using facial recognition, are vulnerable to wrap attacks where an attacker uses a printed mask to impersonate a registered user, and existing liveness detection methods like 3D facial depth analysis and thermal imaging are costly and complex, with limited effectiveness against such attacks.

Method used

A method using a variational autoencoder-generative adversarial network (VAE-GAN) to generate training data for a liveness detection model, which includes both authentic and synthetic wrap attack images, allowing the system to differentiate between real and fake facial images.

Benefits of technology

The VAE-GAN-based system effectively detects wrap attacks without requiring additional sensors, reducing costs and complexity while improving detection accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007600315000020
    Figure 0007600315000020
  • Figure 0007600315000021
    Figure 0007600315000021
  • Figure 0007600315000022
    Figure 0007600315000022
Patent Text Reader

Abstract

To provide a method, device, and system for generating a liveness detection training dataset, training a liveness detection model, and performing liveness detection.SOLUTION: The method includes: acquiring a plurality of real images of faces; providing the plurality of real images to a neural network; generating a plurality of synthetic images corresponding to the plurality of real images on the basis of an output of the neural network; and training the liveness detection model on the basis of the plurality of real images and the plurality of synthetic images. The liveness detection model is used to perform liveness detection by determining whether an input image of a face includes a live image of the face.SELECTED DRAWING: Figure 9A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to wrap attack detection, and more particularly to using machine learning or deep learning techniques to generate training data for wrap attack detection and to perform wrap attack detection based on the training data. [Background technology]

[0002] Biometric authentication has been used in recent years to replace or add to traditional authentication methods for increased security and user convenience. Biometric authentication may be based on many different biometric characteristics, such as iris, fingerprint, vein, and facial characteristics. In particular, facial characteristics may be used for biometric authentication in many applications, such as identity management, online payments, access control, automotive applications, and active authentication in mobile devices, computers, or other devices.

[0003] However, related art biometric systems are vulnerable to various types of presentation attacks, i.e., fraudulent presentations to a biometric capture subsystem, e.g., a camera, aimed at deceiving or otherwise interfering with the operation of the biometric system. For example, an artifact that artificially represents a copy of a biometric characteristic, such as a face, may be presented to the biometric system in order to impersonate a registered user and authenticate the attacker.

[0004] Examples of presentation attacks include print attacks, where a printed photograph (e.g., a facial image) of the registered user may be presented, and two-dimensional (2D) attacks, such as display attacks, where an image of the registered user is presented via a display device such as a mobile phone, and video attacks, where a video of the registered user is presented.

[0005] Related art liveness detection schemes automatically detect and prevent presentation attacks using various presentation attack detection mechanisms. Such mechanisms may include face detection by depth map analysis, which creates a 3D face depth map to verify the user, and thermal imaging-based face liveness detection, which verifies the user based on real-time thermal images. However, these mechanisms have various drawbacks. For example, both 3D face depth analysis and thermal-based face liveness detection incur both excessive cost and complexity resulting from the additional sensors required (e.g., thermal camera, RGB-D image sensor).

[0006] In addition, these depth-based or thermal-based mechanisms may be vulnerable to other examples of presentation attacks, e.g., three-dimensional (3D) attacks such as wrap attacks, in which an inexpensive and readily available printed mask may be worn or otherwise presented by an attacker to impersonate a registered user. Summary of the Invention

[0007] A method is provided for generating a liveness detection training dataset and for training a liveness detection model based on the liveness detection training dataset. Methods, devices and systems for performing liveness detection are also provided.

[0008] According to one aspect of the present disclosure, a method for training a liveness detection system includes obtaining a plurality of genuine images of a face, providing the plurality of genuine images to a neural network, generating a plurality of artificial images corresponding to the plurality of genuine images based on an output of the neural network, and training a liveness detection model based on the plurality of genuine images and the plurality of artificial images, wherein liveness detection is performed using the liveness detection model by determining whether an input image of a face includes a live image of the face.

[0009] The neural network can include a variational autoencoder-generative adversarial network (VAE-GAN).

[0010] The plurality of artificial images may include at least one artificial rap attack image.

[0011] At least one artificial wrap attack image is generated using the wrap attack parameters.

[0012] A first value of the wrap attack parameter may indicate that the at least one artificial wrap attack image may include a planar face image corresponding to a flat mask, and a second value of the wrap attack parameter indicates that the at least one artificial wrap attack image may include a wrapped face image corresponding to a wrapped mask.

[0013] The plurality of genuine images may include a plurality of first genuine images having a first value of a wrap attack parameter and a plurality of second genuine images having a second value of the wrap attack parameter, and at least one artificial wrap attack image having a third value of the wrap attack parameter may be generated based on the plurality of first genuine images and the plurality of second genuine images.

[0014] Training the liveness detection model may include extracting features from the plurality of real images and the plurality of synthetic images with a feature extractor, and training the liveness detection model based on the extracted features.

[0015] A classifier included in the neural network may be used as a feature extractor after a number of artificial images are generated.

[0016] The liveness detection model may include a support vector machine (SVM).

[0017] According to one aspect of the present disclosure, a method for performing liveness detection includes obtaining an input image of a face, providing information about the input image to a liveness detection model, and determining whether the input image is a live image of the face based on an output of the liveness detection model, where the liveness detection model is trained with a plurality of real images of the face and a plurality of artificial images, where the plurality of artificial images are generated by a neural network based on the plurality of real images.

[0018] The neural network may include a variational autoencoder-generative adversarial network (VAE-GAN).

[0019] The information about the input image may include at least one feature of the input image, and the at least one feature may be extracted using a feature extractor.

[0020] The feature extractor may include a classifier included in a neural network after the plurality of artificial images are generated.

[0021] The input image of the face may include at least one frame of a video.

[0022] The liveness detection model may include a support vector machine (SVM).

[0023] According to one aspect of the present disclosure, a device for performing liveness detection includes a memory configured to store instructions and at least one processor configured to execute the instructions to obtain an input image of a face, provide information about the input image to a liveness detection model, and determine whether the input image is a live image of the face based on an output of the liveness detection model, wherein the liveness detection model is trained with a plurality of real images of the face and a plurality of artificial images, and the plurality of artificial images are generated by a neural network based on the plurality of real images.

[0024] The neural network may include a variational autoencoder-generative adversarial network (VAE-GAN).

[0025] The plurality of artificial images may include at least one artificial rap attack image.

[0026] The information about the input image may include at least one feature of the input image, and the at least one feature may be extracted using a feature extractor.

[0027] The feature extractor may include a classifier included in a neural network after the plurality of artificial images are generated.

[0028] The input image of the face may include at least one frame of a video.

[0029] The liveness detection model may include a support vector machine (SVM).

[0030] According to one aspect of the disclosure, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors of a device performing liveness detection, cause the one or more processors to obtain an input image of a face, provide information about the input image to a liveness detection model, and determine whether the input image is a live image of a face based on an output of the liveness detection model, wherein the liveness detection model is trained with a plurality of real images of the face and a plurality of artificial images, and wherein the plurality of artificial images are generated by a neural network based on the plurality of real images.

[0031] The neural network may include a variational autoencoder-generative adversarial network (VAE-GAN).

[0032] The plurality of artificial images may include at least one artificial rap attack image.

[0033] The information about the input image may include at least one feature of the input image, and the at least one feature may be extracted using a feature extractor.

[0034] The feature extractor may include a classifier included in a neural network after the plurality of artificial images are generated.

[0035] The input image of the face may include at least one frame of a video.

[0036] The liveness detection model may include a support vector machine (SVM).

[0037] These and / or other aspects will become apparent and more readily understood from the following description taken in conjunction with the accompanying drawings. [Brief description of the drawings]

[0038] [Figure 1] FIG. 1 is a block diagram of an example environment in which the systems and / or methods described herein may be implemented. [Diagram 2] FIG. 2 is a block diagram of exemplary components of a device according to an embodiment. [Diagram 3] FIG. 2 is a block diagram of an example neural network for generating a liveness detection training dataset, according to an embodiment. [Figure 4A] FIG. 1 is a block diagram of an exemplary training system for training a liveness detection model, according to an embodiment. [Figure 4B] FIG. 1 is a block diagram of an exemplary training system for training a liveness detection model, according to an embodiment. [Figure 4C] FIG. 1 is a block diagram of an exemplary training system for training a liveness detection model, according to an embodiment. [Figure 5A] FIG. 1 is a block diagram of an exemplary liveness detection system according to an embodiment. [Figure 5B] FIG. 1 is a block diagram of an exemplary liveness detection system according to an embodiment. [Figure 5C] FIG. 1 is a block diagram of an exemplary liveness detection system according to an embodiment. [Figure 6A] 1 illustrates an exemplary user interface screen of a liveness detection system, according to an embodiment. [Figure 6B] 1 illustrates an exemplary user interface screen of a liveness detection system, according to an embodiment. [Figure 7] 1 illustrates example authentic and wrap attack images along with corresponding visualizations corresponding to a liveness detection system, according to an embodiment. [Figure 8A] FIG. 1 illustrates an example image from an anti-spoofing dataset, according to an embodiment. [Figure 8B] FIG. 1 illustrates an example image from an anti-spoofing dataset, according to an embodiment. [Figure 8C] 4A-4C illustrate frames of an exemplary video from anti-spoofing data, according to an embodiment. [Figure 8D] FIG. 1 illustrates an example image from an anti-spoofing dataset, according to an embodiment. [Figure 8E] 1A-1C show experimental results corresponding to a liveness detection system, according to an embodiment. [Figure 8F] 1A-1C show experimental results corresponding to a liveness detection system, according to an embodiment. [Figure 8G] 1A-1C show experimental results corresponding to a liveness detection system, according to an embodiment. [Figure 9A] 1 is a flowchart of a method for generating a liveness detection training data set and training a liveness detection system according to an embodiment. [Figure 9B] 1 is a flowchart of a liveness detection method according to an embodiment; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0039] Exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings, in which like reference numerals refer to like elements throughout, with the understanding that the disclosure is not limited to the embodiments described herein, however, and that features and components from one embodiment may be included or omitted in other embodiments.

[0040] Additionally, as used herein, phrases such as "at least one of," when preceding a list of elements, modify the entire list of elements and not just the individual elements of the list. For example, "at least one of [A], [B], and [C]" or "at least one of [A], [B], or [C]" means A only, B only, C only, A and B, B and C, or A, B and C.

[0041] It is also understood herein that although various elements may be described herein using terms such as "first" and "second," these elements are not intended to be limited by these terms (e.g., they are not to be construed as specifying a relative order or importance), and these terms are only used to distinguish one element from another.

[0042] Additionally, as used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless expressly stated otherwise or indicated by the surrounding context.

[0043] One or more embodiments of the present disclosure provide methods, devices, and systems for generating a training dataset for liveness detection, training a liveness detection model using the generated training dataset, and performing liveness detection using the trained liveness detection model. In embodiments, the liveness detection training dataset and the liveness detection model may be related to and used to detect and prevent presentation attacks, such as wrap attacks. In a wrap attack, for example, a printed mask may be worn or presented by an attacker to impersonate a registered user of a facial recognition, identification, and / or authentication system to gain unauthorized access. In embodiments, a wrap attack may include wrapping or enveloping at least a portion of a face with a printed mask, such as a paper mask, to impersonate or fool a depth-based detection technique.

[0044] One or more embodiments of the present disclosure may simplify the implementation of such wrap attack prevention techniques. In general, wrap attack detection techniques may rely on the availability of both authentic samples and attack samples to train liveness detection systems to protect against wrap attacks. In embodiments, authentic samples may be referred to as real samples or images, or live samples or images, and may correspond to authentic access attempts by authorized users. In embodiments, attack samples may be referred to as artifact samples, and may correspond to unauthorized or spoofed access attempts or attacks, such as wrap attacks. However, many of the currently available anti-spoofing databases that may be useful as training data sets are intended for non-commercial use or research purposes only.

[0045] Thus, embodiments may relate to methods, devices, and systems for generating liveness detection training datasets, e.g., training datasets that may aid in the detection and prevention of presentation attacks, such as wrap attacks. In particular, embodiments may relate to generating liveness detection training datasets using at least one of neural networks (NNs), deep NNs, machine learning, and deep learning techniques. Embodiments may also relate to methods, devices, and systems for training a liveness detection model based on the generated liveness detection training dataset and performing liveness detection using the trained detection model. In embodiments, the liveness detection model may be a NN, or any other type of detection model as desired.

[0046] In an embodiment, a NN, which may be referred to as an artificial NN, may include an interconnected group of artificial neurons that use mathematical or computational models for information processing. A NN may be an adaptive system that may change its structure based on external or internal information flowing through the network. A NN may be used to model complex relationships between inputs and outputs or to find patterns in data.

[0047] In an embodiment, a NN may be used to generate a liveness detection training dataset based on publicly or commercially available authentic samples. For example, an embodiment may involve the use of at least one NN from among a variational autoencoder (VAE), a generative adversarial network (GAN), and / or a combination thereof, which may be referred to as a VAE-GAN. In an embodiment, a VAE-GAN architecture may generate a training dataset, e.g., a liveness detection training dataset, by generating attack samples using authentic samples. In an embodiment, the attack samples generated by a NN, such as a VAE-GAN, may be referred to as artificial attack samples, which may be based on authentic samples but may share characteristics of real attack samples. In an embodiment, the authentic face images may include authentic face images from, for example, a publicly or commercially available face recognition image dataset. In an embodiment, the artificial attack samples may include artificial rap attack images, which may be based on authentic face images and may have characteristics of real rap attack images.

[0048] In an embodiment, the authentic samples and the synthetic attack samples may be used to generate a training dataset that may be used to train the liveness detection model. For example, the training dataset may be a liveness detection training dataset that may include authentic face images and corresponding synthetic rap attack images.

[0049] In embodiments, one or more components of a VAE-GAN may be used to train a liveness model or perform liveness detection. For example, a VAE-GAN may include elements such as an encoder and a classifier, one or more of which may be useful as feature extractors that may extract features, such as discriminative or salient features, of genuine samples and artificial attack samples included in a training dataset, and provide these extracted features to a liveness detection model during training, although embodiments are not limited in this respect.

[0050] 1 is a diagram of an example environment 100 in which the systems and / or methods described herein may be implemented. As shown in FIG. 1, environment 100 may include a user device 110, a platform 120, and a network 130. The devices of environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections. In an embodiment, any of the functions and operations described with reference to FIG. 1 above may be performed by any combination of the elements shown in FIG. 1.

[0051] User device 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with platform 120. For example, user device 110 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some embodiments, user device 110 may receive information from platform 120 and / or transmit information to platform 120.

[0052] Platform 120 includes one or more devices that can receive, generate, store, process, and / or provide information. In some embodiments, platform 120 can include a cloud server or a group of cloud servers. In some implementations, platform 120 can be designed in a modular manner such that certain software components can be swapped out depending on specific needs. Thus, platform 120 can be easily and / or quickly reconfigured for different uses.

[0053] In some implementations, as shown, platform 120 may be hosted in a cloud computing environment 122. It is worth noting that while the embodiments described herein refer to platform 120 as being hosted in cloud computing environment 122, in some implementations platform 120 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.

[0054] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 may provide services, such as computing, software, data access, storage, etc., that do not require end users (e.g., user devices 110) to be aware of the physical location and configuration of the system(s) and / or device(s) that host platform 120. As shown, cloud computing environment 122 may include a group of computing resources 124 (collectively referred to as “computing resources 124” and individually referred to as “computing resource 124”).

[0055] Computing resources 124 include one or more personal computers, clusters of computing devices, workstation computers, server devices, or other types of computing and / or communications devices. In some embodiments, computing resources 124 may host platform 120. Cloud resources may include computational instances executing on computing resources 124, storage devices provided on computing resources 124, data transfer devices provided by computing resources 124, etc. In some embodiments, computing resources 124 may communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.

[0056] As further shown in FIG. 1, computing resources 124 include a group of cloud resources, such as one or more applications (“APP”) 124-1, one or more virtual machines (“VM”) 124-2, virtualized storage (“VS”) 124-3, and one or more hypervisors (“HYP”) 124-4.

[0057] Application 124-1 includes one or more software applications that may be provided to or accessed by user device 110. Application 124-1 may eliminate the need to install and run a software application on user device 110. For example, application 124-1 may include software associated with platform 120 and / or any other software that may be provided via cloud computing environment 122. In some embodiments, one application 124-1 may send / receive information to / from one or more other applications 124-1 via virtual machine 124-2.

[0058] Virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 124-2 may be either a system virtual machine or a process virtual machine, depending on the application and the degree to which virtual machine 124-2 corresponds to any real machine. A system virtual machine may provide a complete system platform that supports the execution of a complete operating system ("OS"). A process virtual machine may execute a single program and support a single process. In some implementations, virtual machine 124-2 may run on behalf of a user (e.g., user device 110) and manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-term data transfer.

[0059] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization techniques within the storage systems or devices of computing resources 124. In some implementations, in the context of storage systems, types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the abstraction (separation) of logical storage from physical storage such that the storage system can be accessed regardless of the physical storage or heterogeneous structure. Such separation allows flexibility in how storage system administrators manage storage for end users. File virtualization allows data accessed at the file level to be independent of where the file is physically stored. This allows for optimization of storage usage, server consolidation, and / or non-disruptive file migration.

[0060] The hypervisor 124-4 may provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to run simultaneously on a host computer, such as the computing resource 124. The hypervisor 124-4 may present a virtual operating platform to the guest operating systems and may also manage the execution of the guest operating systems. Multiple instances of different operating systems may share virtualized hardware resources.

[0061] Network 130 may include one or more wired and / or wireless networks. For example, network 130 may include a cellular network (e.g., a fifth generation (5G) network, a long term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad-hoc network, an intranet, the Internet, a fiber optic based network, etc., and / or combinations of these or other types of networks.

[0062] The number and arrangement of devices and networks shown in Figure 1 are provided as an example. In practice, there may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or a different arrangement of devices and / or networks than those shown in Figure 1. Furthermore, two or more devices shown in Figure 1 may be implemented within a single device, or a single device shown in Figure 1 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.

[0063] 2 is a diagram of example components of a device 200. The device 200 may correspond to a user device 110 and / or a platform 120. As shown in FIG. 2, the device 200 may include a bus 210, a processor 220, a memory 230, a storage component 240, an input component 250, an output component 260, and a communication interface 270.

[0064] The bus 210 may include components that allow communication between the components of the device 200. The processor 220 may be implemented in hardware, firmware, or a combination of hardware and software. The processor 220 may be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some embodiments, the processor 220 includes one or more processors that can be programmed to perform functions. The memory 230 includes a random access memory (RAM), a read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions used by the processor 220.

[0065] The storage component 240 stores information and / or software related to the operation and use of the device 200. For example, the storage component 240 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium along with a corresponding drive. The input component 250 includes components that enable the device 200 to receive information, such as via a user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone). Additionally or alternatively, the input component 250 may include sensors that detect information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). The output component 260 includes components that provide output information from the device 200 (e.g., a display, a speaker, and / or one or more light-emitting diodes (LEDs)).

[0066] Communications interface 270 includes transceiver-type components (e.g., a transceiver, and / or a separate receiver and transmitter) that enable device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communications interface 270 may enable device 200 to receive information from and / or provide information to another device. For example, communications interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.

[0067] Device 200 may perform one or more of the processes described herein. Device 200 may perform these processes by processor 220 executing software instructions stored in a non-transitory computer-readable medium, such as memory 230 and / or storage component 240. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

[0068] The software instructions may be loaded into memory 230 and / or storage component 240 from another computer readable medium or from another device via communications interface 270. The software instructions stored in memory 230 and / or storage component 240, when executed, can cause processor 220 to perform one or more operations described herein.

[0069] Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more of the operations described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.

[0070] The number and arrangement of components shown in Figure 2 are provided as an example. In practice, device 200 may have more components, fewer components, different components, or a different arrangement of components than that shown in Figure 2. Additionally or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions that are described as being performed by another set of components of device 200.

[0071] As discussed below with respect to Figures 3-9B, in an embodiment, at least one of the elements discussed above may be used to implement at least one of a system or device that generates a liveness detection training dataset, a system or device that trains a liveness detection model, and a system or device that performs liveness detection.

[0072] FIG. 3 is a block diagram of an exemplary dataset generation system 300 for generating a liveness detection training dataset, according to an embodiment. In an embodiment, the dataset generation system 300 may relate to the use of discriminative adversarial features to identify presentation attacks, e.g., printed mask attacks or wrap attacks. In an embodiment, the discriminative adversarial features are for robustly detecting 2D printed mask attacks or wrap attacks without resorting to advanced imaging schemes, such as spectral imaging or RGB-D imaging. The examples of FIGS. 3-9B are described below with respect to liveness detection based on face images, but the embodiments are not limited thereto. It should be understood that the embodiments may be used to perform liveness detection or any other detection or identification based on any characteristic, e.g., other biometric characteristics, such as iris, fingerprint, vein characteristics, or any other characteristic as desired.

[0073] As discussed above, many related art techniques rely on the availability of training datasets that contain both genuine and attack samples. However, such training datasets may be difficult or impossible to obtain in practice. For example, datasets such as the FRGC dataset and SWAN-MBD may be available only for research or non-commercial purposes.

[0074] Thus, embodiments of the present disclosure may use a NN architecture, such as a VAE-GAN architecture, to model and utilize latent feature representations of genuine samples to generate artificial attack samples. As a result, a training dataset that includes both genuine and attack samples may be generated using only genuine samples as input.

[0075] In general, the NN element corresponding to the VAE may learn a distribution of input data, which may be, for example, genuine samples or genuine samples. Because pixel-level differences exist in genuine images and attack images, such as wrapped attack images, learning or training the VAE over RGB images of genuine samples may provide robust latent representations of genuine samples or genuine samples only. Thus, passing genuine and fake samples through the VAE encoder will result in latent representation differences in these samples. Additionally, adversarial training with the NN element corresponding to the GAN may help the VAE element generate artificial attack samples, for example, with additional parameters, such as parameter Z, which will be discussed in more detail below.

[0076] In an embodiment, the dataset generation system 300 may receive image data 302, which may include authentic samples. In an embodiment, the authentic samples may include authentic facial images, for example, facial images from one or more publicly or commercially available facial recognition databases. In an embodiment, such databases may include the Face Recognition Grand Challenge (FRGC) dataset, the SWAN Multi-modal Biometric Dataset (SWAN-MBD), or any commercially available dataset. In an embodiment, the input data 302 may include only authentic or genuine samples and may not include challenge samples, although embodiments are not limited in this respect.

[0077] In an embodiment, the dataset generation system 300 may include a pre-processing module 304 that may perform pre-processing on the input data 302. For example, the pre-processing module 304 may perform operations such as face and landmark detection, scaling, cropping face regions, and normalization to constrain the dynamic range of the input RGB image to a particular range, e.g., [0, 255]. In an embodiment, the authentic samples included in the input data 302 may be pre-processed to increase their suitability as inputs for generating artificial attack samples or for inclusion in a training dataset. In an embodiment, the pre-processing module 304 may include NN elements, although embodiments are not limited thereto. For example, the pre-processing module 304 may include elements corresponding to a multi-task cascaded convolutional network (MTCNN) or any other type of NN.

[0078] In an embodiment, the pre-processed real samples may be used as genuine samples X, which may be provided as input for machine learning NN elements included in the dataset generation system 300. In an embodiment, the dataset generation system 300 may include NN elements that may correspond to a VAE-GAN architecture. For example, the dataset generation system 300 may include an encoder 306, a decoder / generator 314, and a classifier 316. In an embodiment, the encoder 306 may correspond to an encoder element of a VAE, the classifier 316 may correspond to a classifier element of a GAN, and the decoder / generator 314 may correspond to both the decoder element of a VAE and the generator element of a GAN.

[0079] In an embodiment, a genuine image X may be provided as an input to an encoder 306. The output of the encoder 306 may include a mean vector 308 and a standard deviation vector 310, which may correspond to the genuine image X. In an embodiment, the output of the encoder 306 may include a vector 312, which may be used as an input to a decoder / generator 314. In an embodiment, the vector 312 may be modified by one or more additional parameters, such as a parameter Z, to generate an artificial attack image. In an embodiment, the additional parameters may be used in attack pattern generation.

[0080] For example, the parameter Z may indicate a characteristic of the attack image that will be added when the one or more artificial attack images are generated. For example, the parameter Z may be a wrap attack parameter, e.g., may indicate an amount of curvature that will be added to the one or more artificial attack images when the one or more artificial attack images are generated. In an embodiment, based on the value of the parameter Z being a first value, e.g., a value of 0, the corresponding artificial attack image may be generated as a planar image corresponding to a mask printed on a planar surface. In an embodiment, based on the value of the parameter Z being a second value, e.g., a value of 1, the corresponding artificial attack image may be generated as a wrapped image corresponding to a wrapped printed mask. In an embodiment, the parameter Z may be constrained to a discrete value or may be a range of continuous values ​​corresponding to various degrees of curvature. In an embodiment, the parameter Z or other additional parameters may be used to add other characteristics of the attack image, such as a wrap attack image. For example, in an embodiment, the parameter Z or other additional parameters may be used to add texture, e.g., a texture associated with a printed image, such as a flat texture or a glossy texture.

[0081] In an embodiment, during training, samples having a value of 0 for parameter Z and samples having a value of 1 for parameter Z may be obtained and used to train the VAE-GAN model. The GAN model may then automatically learn interpolated features corresponding to values ​​of 0.1-0.9 for parameter Z. After training is complete, the VAE-GAN model may generate several partially curved or interpolated training samples, for example, when samples have parameter Z with values ​​between 0.1-0.9.

[0082] Thus, in an embodiment, the encoder 306 may create the latent representations and the decoder / generator 314 may generate the attack samples. In an embodiment, the use of adversarial training with GANs may help the VAE generate wrapped attack samples or mixed samples with the help of the parameter Z. The discriminator 316 may then learn to discriminate between real or genuine samples and artificial attack samples.

[0083] In an embodiment, one or more of the mean vector 308, the standard deviation vector 310, the vector 312 (which may be modified by the artificial attack parameter Z) and any other output of the encoder 306 may be shared as inputs for a decoder / generator 314. The output of the decoder / generator 314 is the artificial attack samples.

number

number

[0084] In an embodiment, the authentic sample X and the artificial challenge sample

number

number

number

[0085] In an embodiment, the artificial challenge sample

number

number

number

number

[0086] Although the dataset generation system 300 is described above as including NN elements corresponding to a VAE-GAN, embodiments are not so limited. In embodiments, the dataset generation system 300 may include any other type of NN element, such as a GAN, a recurrent NN (RNN), a convolutional NN (CNN), or a self-organizing map (SOM).

[0087] 4A-4C are block diagrams of an example training system for training a liveness detection model, according to an embodiment.

[0088] 4A, a training dataset 402 may be provided as an input to the training system 400A. As discussed above, in an embodiment, the training dataset 402 may correspond to a training dataset generated by the dataset generation system 300. For example, the training dataset 402 may include authentic samples X, such as authentic face images, and artificial attack samples, such as artificial rap attack images.

number

[0089] In an embodiment, samples from the training dataset 402 may be provided to a feature extractor 404, which may provide features extracted from the samples to a liveness detection model 406. The liveness detection model 406 may learn or train on the extracted features and / or the training dataset 402 based on a real / fake decision indicating whether a particular input is real or fake. For example, based on the training dataset 402 being a liveness detection training dataset including real face images and synthetic rap attack images, the liveness detection model 406 may be trained by the training system 400A to provide a real / fake decision indicating whether a particular image is a real face image or an attack image, such as a rap attack image.

[0090] In embodiments, the liveness detection model 406 may be a machine learning and / or NN model or may otherwise include machine learning and / or NN elements. For example, the liveness detection model 406 may include a support vector machine (SVM) or a support vector classifier, although embodiments are not limited in this respect and other machine learning methods may be used.

[0091] In embodiments, the VAE-GAN component described above may capture and model the dominant structural information and distribution of genuine and attack samples, such that the training dataset generated by the VAE-GAN component may enable the liveness detection model 406 to learn their latent features and discriminate between them.

[0092] 4B and 4C, training system 400B and training system 400C may be similar to training system 400A, except that training system 400B and training system 400C may perform one or more of the functions of feature extractor 404 using one or more elements of dataset generation system 300. For convenience, redundant descriptions of some elements shown in Figures 4B and 4C may be omitted.

[0093] In an embodiment, when the classifier 316 is trained as discussed above with respect to FIG. 3, the classifier network 316 is trained on the genuine samples X and the artificial attack samples

number

number

[0094] 4C, the training system 400C may perform the functions of the feature extractor 404 using an encoder 306 whose output has been modified by a parameter Z. In other words, samples from the training dataset 402 may be provided to an encoder 306 whose output has been modified by a parameter Z, and the encoder 306 may provide features extracted from the samples to the liveness detection model 406.

[0095] Although training systems 400A-400C are shown as including various elements for feature extraction, embodiments are not limited in this respect. For example, in embodiments, samples from training data set 402 may be provided directly to liveness detection model 406, and liveness detection model 406 may learn or train directly on samples from training data set 402.

[0096] 5A-5C are block diagrams of an exemplary liveness detection system according to an embodiment.

[0097] 5A, the liveness detection system 500A may include an application server 502 that may communicate with a backend 504 over at least one of a link 506 and a link 508, which may be, for example, a server. In an embodiment, the application server 502 may communicate with the backend 504 using one or more of HyperText Transfer Protocol (HTTP) requests and Asynchronous JavaScript and XML (AJAX) requests, or using any other communication scheme as desired.

[0098] The application server 502 may provide an input video to the backend 504 and request that the backend 504 perform liveness detection on the input video. The input video may be provided to a pre-processing module 542, which may perform pre-processing on the input video to generate a sequence of frames. In an embodiment, the pre-processing module 542 may be similar to the pre-processing module 304 and may perform operations such as face and landmark detection, scaling, cropping of face regions, and normalization to constrain the dynamic range of the input RGB image to a particular range, e.g., [0, 255]. In an embodiment, the input video may be pre-processed to increase the suitability of the sequence of frames as an input for liveness detection. In an embodiment, the pre-processing module 542 may include NN elements, although embodiments are not limited thereto. For example, the pre-processing module 542 may include elements corresponding to an MTCNN or any other type of NN. In an embodiment, the pre-processing module 542 may detect one or more of a face and facial landmarks and then generate a sequence of frames to include the detected face, for example by cropping the input video. In an embodiment, the pre-processing operations may instead be performed by another element, for example an element included in the application server 502.

[0099] After preprocessing, the sequence of frames may be provided as input for a feature extractor 404, which may provide features extracted from the samples to a liveness detection model 406. The liveness detection model 406 may perform liveness detection on the preprocessed sequence of frames and provide a real / fake decision based on one or more frames of the preprocessed sequence of frames. For example, the real / fake decision may indicate whether one or more frames of the sequence of frames include real or authentic images of a face or include attack images, such as rap attack images.

[0100] After the liveness detection model 406 outputs the real / fake decision, the real / fake decision may be provided to the application server 502. In an embodiment, the application server 502 may include a framework 522, which may operate a page rendering module 524 and a prediction module 526. In an embodiment, the page rendering module 524 and the prediction module 526 may correspond to, for example, an application programming interface. In an embodiment, the page rendering module 524 may render a page, such as a web page, and the application server 502 may provide the rendered page to a user. The page may display one or more of a video corresponding to the input video and a user interface that allows the user to request liveness detection. Based on the request for liveness detection being received, the prediction module 526 may provide the input video to the backend 504, and after the application server 502 receives the real / fake decision, the page rendering module 524 may update the rendered page to include information corresponding to the real / fake decision.

[0101] In an embodiment, the backend 504 may provide additional information to the application server 502 along with the real / fake decision. For example, information corresponding to the extracted features may be provided to the application server 502, and the page rendering module 524 may update the rendered page to include this information. The information corresponding to the extracted features may include, for example, information indicating the location of the detected face within the image, and the page rendering module 524 may render a face bounding box for display on the rendered page.

[0102] As can be seen in Figures 5B and 5C, the liveness detection system 500B and the liveness detection system 500C may be similar to the liveness detection system 500A, except that the liveness detection system 500B and the liveness detection system 500C may perform one or more of the functions of the feature extractor 404 using one or more elements of the dataset generation system 300.

[0103] For example, as shown in FIG. 5B, the liveness detection system 500B may perform the function of the feature extractor 404 using the classifier 316. In other words, a sequence of frames may be provided to the classifier 316, which may provide features extracted from the sequence of frames to the liveness detection model 406. In addition, as shown in FIG. 5C, the liveness detection system 500C may perform the function of the feature extractor 404 using the encoder 306, whose output is modified by a parameter Z. In other words, a sequence of frames may be provided to the encoder 306, whose output is modified by a parameter Z, which may provide features extracted from the sequence of frames to the liveness detection model 406. For convenience, redundant descriptions of other elements shown in FIG. 5B and FIG. 5C may be omitted.

[0104] 6A and 6B show exemplary user interface screens of a liveness detection system, according to an embodiment. In an embodiment, the user interface screens of FIGS. 6A and 6B may correspond to a web page rendered by the page rendering module 524. As can be seen in FIGS. 6A and 6B, the user interface screens may include one or more frames of an original video of an attack image, such as an attack image, and one or more frames of a processed version of the input video, e.g., after the original video has been processed using the backend 504, as discussed above with respect to FIGS. 5A-5C. The one or more frames of the processed video may include information corresponding to the real / fake decision made by the liveness model 406, e.g., a label, and information corresponding to features extracted from the original video, e.g., a face bounding box placed around the detected face.

[0105] 6A, based on the Original video containing the wrap attack image, the liveness detection model 406 may output a real / fake decision of "Fake," indicating that the wrap attack image is detected. As a result, the Processed video displayed on the user interface screen may include a label indicating "Fake" and a face bounding box located on the face detected in the wrap attack image.

[0106] 6A, based on the original video containing authentic face images, the liveness detection model 406 may output a real / fake decision of "Real" indicating that authentic face images are detected. As a result, the processed video displayed on the user interface screen may include a label indicating "Real" and a face bounding box located on the face detected in the authentic face image.

[0107] 7 illustrates exemplary authentic and wrap-attack images, along with corresponding visualizations related to a liveness detection system, in an embodiment. For example, image 702 may be an authentic face image, and image 706 may be a wrap-attack image corresponding to the authentic face image of image 702. In addition, image 704 may be a gradient-weighted class activation mapping (Grad-CAM) image corresponding to image 702, and image 708 may be a Grad-CAM image corresponding to image 706. In addition, image 710 may be an authentic face image, and image 714 may be a wrap-attack image corresponding to the authentic face image of image 710. In addition, image 712 may be a Grad-CAM image corresponding to image 710, and image 716 may be a Grad-CAM image corresponding to image 714.

[0108] In general, the Grad-CAM image may use gradients of a target concept flowing to a final convolutional layer to generate a coarse localization map that highlights important regions in the image. In an embodiment, images 702 and 704 may be generated based on information corresponding to features extracted from images 702 and 706 using feature extractor 404, or features identified as important using one or more of feature extractor 404 and liveness detection model 406, for example.

[0109] 8A-8G may relate to experimental setups and experimental results obtained from a liveness detection system consistent with the embodiments discussed above with respect to FIGS. 1-7.

[0110] 8A and 8B show example images from an anti-spoofing dataset, according to one embodiment. In particular, FIG. 8A shows authentic samples and FIG. 8B shows attack samples from the ChaLearn CASIA-SURF dataset. The ChaLearn CASIA-SURF dataset may be one of the largest publicly available face anti-spoofing datasets in terms of both subject and visual modality. In particular, ChaLearn CASIA-SURF consists of 1000 subjects with 21000 videos with three modalities (RGB, depth and IR). The authentic and attack samples include RGB information (left), depth information (center) and infrared information (right).

[0111] FIG. 8C illustrates an example frame of a video from anti-spoofing data, according to an embodiment. In particular, FIG. 8C illustrates frames corresponding to original data and processed data for real and fake videos included in the ChaLearn CASIA SURF dataset. In general, the samples in the ChaLearn CASIA SURF dataset may include one live video and six corresponding fake videos related to six attack modes, which may include printed flat face images, curved face images with cutouts in the eye region, nose region, mouth region, and combinations thereof. Data acquisition for the ChaLearn CASIA SURF dataset may be captured by an Intel RealSense SR300.

[0112] 8D illustrates example images from an anti-spoofing dataset, according to one embodiment. In particular, image 802 may be a genuine face image, and image 804 may be a wrap attack image that corresponds to image 802. Additionally, image 806 may be a depth-based image that corresponds to image 802, and image 818 may be a depth-based image that corresponds to image 804. Table 1 below includes details of the creation of the anti-spoofing dataset that includes images 802-808.

[0113] [Table 1]

[0114] FIG. 8E illustrates experimental results corresponding to a liveness detection system, according to one embodiment. In particular, FIG. 8E illustrates results of experimental testing of a liveness detection system consistent with embodiments discussed above with respect to FIGS. 1-7 and further below with respect to FIGS. 9A and 9B. These results are expressed in terms of ISO / IEC 30107-3:2017 metrics for biometric presentation attack detection. The metrics may include Attack Presentation Classification Error Rate (APCER). APCER may be expressed according to Equation 1 below:

[0115]

number

[0116] In the above formula 1, N PAI is the number of attacks presented, and Res i takes the value of 1 if the i-th submission is classified as an attack submission and takes the value of 0 if it is classified as a genuine submission.

[0117] The metrics may further include a true positive presentation classification error rate (BPCER), which may be expressed according to Equation 2 below:

number

[0118] In the above formula 2, N BF is the total number of genuine submissions.

[0119] The metrics may further include an average classification error rate (ACER), which may be expressed according to Equation 3 below:

number

[0120] The metrics may further include an equivalent error rate (EER), which may be expressed according to Equation 4 below:

number

[0121] Table 2 below details the experimental setup corresponding to the results shown in FIG. 8E.

[0122] [Table 2]

[0123] As shown in FIG. 8E, results labeled "Print Paper Mask" and "Glossy Paper Mask" were obtained by testing the liveness detection system using the anti-spoofing dataset discussed above with respect to FIG. 8D as input, and results labeled "CASIA-SURF" were obtained by testing the liveness detection system using the anti-spoofing dataset discussed above with respect to FIGS. 8A-8C as input.

[0124] 8F and 8G show experimental results corresponding to a liveness detection system according to an embodiment. In particular, FIG. 8F shows the receiver operating characteristic (ROC) curves of the cross-database evaluation of different databases, and FIG. 8E shows the corresponding detection error trade-off (DET) curves.

[0125] 9A is a flowchart of an example process 900A for generating a liveness detection training dataset and training a liveness detection model. In some implementations, one or more process blocks of FIG. 9A may be performed by one or more elements of dataset generation system 300 and training systems 400A-400C. In some implementations, one or more process blocks of FIG. 9A may be performed by another device or group of devices separate from or including generation system 300 and training system 400, such as platform 220 and user device 210.

[0126] 9A, the process 900A may include obtaining a plurality of authentic images of a face (block 912). In an embodiment, the plurality of authentic images of a face may correspond to at least one of the input data 302 and the authentic sample X.

[0127] 9A, the process 900A may include providing a plurality of real images to a neural network (block 914). In an embodiment, the term neural network may refer to at least one of a deep NN, a deep learning technique, or any other type of machine learning technique. In an embodiment, the neural network may include at least one of the NN elements of the dataset generation system 300, such as the encoder 306, the decoder / generator 314, and the classifier 316.

[0128] 9A, the process 900A may include generating a plurality of artificial images corresponding to the plurality of genuine images based on the output of the neural network (block 916). In an embodiment, the plurality of artificial images may include a plurality of artificial attack samples.

number

[0129] 9A, the process 900A may include training a liveness detection model based on the plurality of real images and the plurality of synthetic images, and using the liveness detection model to perform liveness detection by determining whether the input image of a face includes a live image of a face (block 918). In an embodiment, the liveness detection model may correspond to the liveness detection model 406.

[0130] In an embodiment, the neural network may include a variational autoencoder-generative adversarial network (VAE-GAN).

[0131] In an embodiment, the plurality of artificial images may include at least one artificial rap attack image.

[0132] In an embodiment, at least one artificial wrap attack image may be generated using the wrap attack parameters.

[0133] In an embodiment, a first value of the wrap attack parameter may indicate that the at least one artificial wrap attack image may include a planar face image corresponding to a flat mask, and a second value of the wrap attack parameter may indicate that the at least one artificial wrap attack image may include a wrapped face image corresponding to a wrapped mask.

[0134] In an embodiment, the plurality of genuine images may include a first plurality of genuine images having a first value of a wrap attack parameter and a second plurality of genuine images having a second value of the wrap attack parameter, and based on the first plurality of genuine images and the second plurality of genuine images, at least one artificial wrap attack image may be generated having a third value of the wrap attack parameter.

[0135] In an embodiment, training the liveness detection model may include extracting features from a plurality of real images and a plurality of synthetic images using a feature extractor, and training the liveness detection model based on the extracted features.

[0136] In an embodiment, a classifier included in a neural network may be used as a feature extractor after a number of artificial images are generated.

[0137] In an embodiment, the liveness detection model may include a support vector machine (SVM).

[0138] 9B is a flow chart of an example process 900B of liveness detection. In some implementations, one or more process blocks of FIG. 9B may be performed by one or more elements of liveness detection systems 500A-500C. In some implementations, one or more process blocks of FIG. 9B may be performed by another device or group of devices separate from or including liveness detection systems 500A-500C, such as platform 220 and user device 210.

[0139] As shown in Figure 9B, process 900B may include obtaining an input image of a face (block 922). In an embodiment, the input image of the face may correspond to at least one of the input video and sequences of frames discussed above with respect to Figures 5A-5C.

[0140] As further shown in FIG. 9B, the process 900B may include providing information regarding the input image to a liveness detection model (block 924). In an embodiment, the liveness detection model may be trained using a plurality of real images of a face and a plurality of artificial images generated by a neural network based on the plurality of real images. In an embodiment, the liveness detection model may correspond to the liveness detection model 406. In an embodiment, the neural network may include at least one of a plurality of NN elements of the dataset generation system 300, such as the encoder 306, the decoder / generator 314, and the classifier 316b.

[0141] As further shown in FIG. 9B, the process 900B may include determining whether the input image is a live image of a face based on the output of the liveness detection model (block 926).

[0142] In an embodiment, the information about the input image may include at least one feature of the input image, and the at least one feature may be extracted using a feature extractor.

[0143] In an embodiment, the feature extractor may include a classifier included in a neural network after the plurality of artificial images are generated.

[0144] 9A and 9B depict example blocks of processes 900A and 900B, in some implementations processes 900A and 900B may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those depicted in Figures 9A and 900B. Additionally or alternatively, two or more of the blocks of processes 900A and 900B may be performed in parallel.

[0145] The embodiments discussed above may relate to a VAE-GAN-based model architecture of wrapped attack detection that may be largely based only on live or genuine presentations. The embodiments may be trained against any face recognition database that may serve as genuine samples, and then generate attack samples independently, which may enable the classifier to generalize the network parameters and extract discriminative features of genuine and attack classes. The embodiments may utilize a VAE-GAN architecture to obtain deep generative representation learning that models wrapped attack images, and the parameter Z may control the curvature of the wrapped face image. The VAE-GAN classifier may help the generator to generate refined attack samples while discriminating between original and generated samples. Thus, the features extracted from the last layer of the classifier may be able to capture salient features of genuine and attack samples. In an embodiment, the VAE-GAN may capture and model the dominant structural information and distribution of genuine and attack samples, which may enable the SVM to learn their latent features and distinguish them.

[0146] The foregoing disclosure provides illustration and description, and is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.

[0147] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software.

[0148] It will be apparent that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0149] Although particular combinations of features are recited in the claims and / or disclosed herein, these combinations are not intended to limit the disclosure of contemplated implementations. Indeed, many of these features can be combined in ways not specifically recited in the claims and / or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of contemplated implementations includes each dependent claim in combination with every other claim in the set of claims.

[0150] No element, act, or instruction used herein should be construed as critical or essential unless expressly stated to be so. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Additionally, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and may be used interchangeably with "one or more." When only one item is intended, the term "one" or similar words are used. Also, as used herein, terms such as "has," "have," "having," and the like are intended to be open-ended terms. Additionally, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise.

[0151] Although one or more exemplary embodiments have been described above with reference to the drawings, those skilled in the art will recognize that various changes in form and details may be made therein without departing from the spirit and scope, as defined at least in part by the appended claims.

Claims

1. 1. A method for training a liveness detection system, comprising: Obtaining a plurality of authentic images of a face; providing the plurality of real images to a neural network including a variational autoencoder-generative adversarial network (VAE-GAN); generating a plurality of artificial images corresponding to the plurality of genuine images based on an output of the neural network; training a liveness detection model based on the plurality of real images and the plurality of synthetic images; Including, the plurality of artificial images includes at least one artificial rap attack image; Any of the plurality of genuine images is input to an encoder in the variational autoencoder, a vector based on the output of the encoder is transformed based on a wrap attack parameter, and the transformed vector is input to a decoder in the variational autoencoder to generate the at least one artificial wrap attack image; and using the liveness detection model to determine whether an input image of a face includes a live image of the face to perform liveness detection. method.

2. a first value of the wrap attack parameter indicating that the at least one artificial wrap attack image includes a planar face image corresponding to a flat mask; a second value of the wrap attack parameter indicating that the at least one artificial wrap attack image includes a wrapped face image corresponding to a wrapped mask; The method of claim 1.

3. the plurality of genuine images includes a plurality of first genuine images having a first value of the wrap attack parameter and a plurality of second genuine images having a second value of the wrap attack parameter; generating the at least one artificial wrap attack image having a third value of the wrap attack parameter based on the plurality of first genuine images and the plurality of second genuine images; The method of claim 1.

4. Training the liveness detection model comprises: extracting features from the plurality of real images and the plurality of synthetic images using a feature extractor; and training the liveness detection model based on the extracted features.

5. The method of claim 4 , wherein a classifier included in the neural network is used as the feature extractor after the plurality of artificial images are generated.

6. The method of claim 1 , wherein the liveness detection model comprises a support vector machine (SVM).

7. 1. A method for performing liveness detection, comprising: Obtaining an input image of a face; providing information about the input image to a liveness detection model; determining whether the input image is a live image of the face based on an output of the liveness detection model; Including, the liveness detection model is trained with a plurality of real images of a face and a plurality of synthetic images including at least one synthetic rap attack image; the plurality of artificial images are generated by a neural network based on the plurality of real images; The neural network includes a variational autoencoder-generative adversarial network (VAE-GAN); Any of the plurality of genuine images is input to an encoder in the variational autoencoder, a vector based on the output of the encoder is transformed based on a wrap attack parameter, and the transformed vector is input to a decoder in the variational autoencoder to generate the at least one artificial wrap attack image. method.

8. the information about the input image includes at least one feature of the input image; The at least one feature is extracted using a feature extractor. The method according to claim 7.

9. The method of claim 8 , wherein the feature extractor comprises a classifier included in the neural network after the plurality of artificial images are generated.

10. The method of claim 7 , wherein the input image of the face comprises at least one frame of a video.

11. 1. A device that performs liveness detection, comprising: A memory configured to store instructions; At least one processor, Obtain an input image of a face, providing information about the input image to a liveness detection model; determining whether the input image is a live image of the face based on an output of the liveness detection model; at least one processor configured to execute the instructions; Equipped with the liveness detection model is trained with a plurality of real images of a face and a plurality of synthetic images including at least one synthetic rap attack image; the plurality of artificial images are generated by a neural network based on the plurality of real images; The neural network includes a variational autoencoder-generative adversarial network (VAE-GAN); Any of the plurality of genuine images is input to an encoder in the variational autoencoder, a vector based on the output of the encoder is transformed based on a wrap attack parameter, and the transformed vector is input to a decoder in the variational autoencoder to generate the at least one artificial wrap attack image. device.

12. the information about the input image includes at least one feature of the input image; The device of claim 11 , wherein the at least one feature is extracted using a feature extractor.

13. The device of claim 12 , wherein the feature extractor comprises a classifier included in the neural network after the plurality of artificial images are generated.

14. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a device that performs liveness detection, cause the one or more processors to: Acquire an input image of a face, providing information about the input image to a liveness detection model; determining whether the input image is a live image of the face based on an output of the liveness detection model; the liveness detection model is trained with a plurality of real images of a face and a plurality of synthetic images including at least one synthetic rap attack image; the plurality of artificial images are generated by a neural network based on the plurality of real images; The neural network includes a variational autoencoder-generative adversarial network (VAE-GAN); Any of the plurality of genuine images is input to an encoder in the variational autoencoder, a vector based on the output of the encoder is transformed based on a wrap attack parameter, and the transformed vector is input to a decoder in the variational autoencoder to generate the at least one artificial wrap attack image. Non-transitory computer-readable medium.

15. the information about the input image includes at least one feature of the input image; The instructions cause the one or more processors to: extracting the at least one feature from the input image using a feature extractor; 15. The non-transitory computer readable medium of claim 14.

16. The instructions to the one or more processors:

16. The non-transitory computer readable medium of claim 15, further comprising: extracting the at least one feature from the input image using the feature extractor including a classifier included in the neural network after the plurality of artificial images are generated.

Citation Information

Patent Citations

  • Liveness detection method and apparatus, face authentication method and apparatus

    JP2020184331A

  • Liveness detection method and device, electronic device, and computer-readable storage medium

    JP2020535529A

  • Device and method for handling anomaly detection

    JP2021117968A

  • Biodetection method and device, equipment, and storage medium

    JP2021519962A