EP2864931A1 - Systems and method for facial verification - Google Patents

Systems and method for facial verification

Info

Publication number
EP2864931A1
EP2864931A1 EP13737464.1A EP13737464A EP2864931A1 EP 2864931 A1 EP2864931 A1 EP 2864931A1 EP 13737464 A EP13737464 A EP 13737464A EP 2864931 A1 EP2864931 A1 EP 2864931A1
Authority
EP
European Patent Office
Prior art keywords
image data
human face
live
face
skin
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP13737464.1A
Other languages
German (de)
French (fr)
Inventor
Xiaopeng Zhang
Xiaokang Zhang
Jilai WANG
Xiaoming Zhou
Gang Qiu
Liang Shen
Chen Feng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of EP2864931A1 publication Critical patent/EP2864931A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/40Spoof detection, e.g. liveness detection
    • G06V40/45Detection of the body part being alive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Definitions

  • the present disclosure relates to systems and methods for facial verification.
  • the disclosure relates to systems and methods for detecting a human face and determining whether or not the detected human face is a live human face.
  • Facial detection and/or verification systems can be useful in a variety of contexts, including, e.g. , parental control applications, law enforcement, mobile banking, and security applications.
  • Conventional automated facial detection systems can detect a human face in an image. However, these systems generally cannot determine whether the face detected in the image was captured from a live human face, or merely captured from a photograph or other reproduction of a human face.
  • the detected face can come from an artificial source, such as a face in a photograph, an image of a face on a display screen, a facial mask, a model reproduction of a face, a mannequin, or any other non-living face.
  • an artificial source such as a face in a photograph, an image of a face on a display screen, a facial mask, a model reproduction of a face, a mannequin, or any other non-living face.
  • a subject who wants to create fake identification documents for example, can use a photograph of someone else's face, or a mask, to try to trick the facial detection system.
  • detecting a live face maybe thwarted by using a video stream of someone else's face instead of a live face.
  • a method for detecting a live human face in an image can include receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near-infrared (NIR) image data.
  • the method can comprise processing the multispectral image data to detect the human face, and can further include associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
  • NIR near-infrared
  • the imaging system can include at least one image sensor configured to capture multispectral image data comprising visible light image data and near-infrared (NIR) image data, wherein the multispectral image data includes a human face.
  • the imaging system can include a face detection module configured to analyze the multispectral image data to detect the human face.
  • the imaging system can also include a skin verification module configured to analyze the multispectral image data of the detected face and determine whether the detected human face is a live human face.
  • an imaging system can include means for receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near- infrared (NIR) image data.
  • the system can further include means for processing the multispectral image data to detect the human face.
  • the system can include means for associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
  • a non-transitory computer-readable medium can have stored thereon code that when executed performs a method.
  • the method can comprise receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near-infrared (NIR) image data.
  • the method can further comprise processing the multispectral image data to detect the human face.
  • the method can include associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
  • Figure 1 is a schematic diagram of a facial verification system, according to one implementation.
  • Figure 2 is a flowchart illustrating one implementation of a method for verifying a live human face using multispectral imaging data.
  • Figure 3 is a flowchart illustrating another implementation of a method for verifying a live human face.
  • Figure 4 illustrates experimental results from the method presented in Figure 3.
  • Figure 5 is a flowchart illustrating one method for determining whether a captured human face is a live human face.
  • Figure 6A is a flowchart illustrating a method for determining whether a pixel is representative of live or non-live human skin.
  • Figure 6B is a flowchart illustrating a deterministic method, according to one implementation.
  • Figure 6C is a flowchart illustrating a probabilistic method, according to another implementation.
  • Figures 6D and 6E are graphs of experimental results for derived probability density functions.
  • Figure 6F is a flowchart illustration one method for determining whether a face is a live human face.
  • Figures 7A-7B are images of a user interface, according to various implementations.
  • Figures 8A-8B are flowcharts illustrating various other implementations for verifying a live human face.
  • Implementations disclosed herein provide systems, methods and apparatus for verifying a live human face with an electronic device having one or more imaging sensors.
  • the system may include a visible light imaging sensor and an infrared light imaging sensor.
  • the system may detect whether the captured face is from a live person, in contrast to a photograph or video, by combining the information from both sensors.
  • the data from the infrared light imaging sensor may be used to determine if there is heat emanating from the captured face, while at other wavelengths, the data from the infrared imaging sensor may be used to capture detailed texture information from the face.
  • the system may determine if the pixels corresponding to the captured face are pixels from live skin, as described below.
  • the disclosed embodiments may be implemented in hardware, software, firmware, or any combination thereof.
  • the examples may be described as a process, which is depicted as a flowchart, a flow diagram, a finite state diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel, or concurrently, and the process can be repeated. In addition, the order of the operations may be rearranged.
  • a process is terminated when its operations are completed.
  • a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
  • its termination may correspond to a return of the function to the calling function or the main function, or a similar completion of a subroutine or like functionality.
  • FIG. 1 illustrates one implementation of a facial verification system
  • the facial verification system 1 includes a multispectral imaging system 2.
  • the 2 can be configured to include a multispectral imaging sensor that can sense a broad band of wavelengths, including at least visible light wavelengths and near infrared (NIR) light wavelengths.
  • the multispectral imaging sensor can be configured to detect light at wavelengths between about 390 nm and about 1400 nm. Of course, the imaging sensor can also be configured to detect a much broader range of wavelengths as well.
  • a charge-coupled device CCD
  • CMOS imaging sensor can be used as the multispectral imaging sensor.
  • the multispectral imaging system 2 can include two separate sensors instead of a multispectral imaging sensor.
  • the multispectral imaging system 2 could include a visible light sensor and a separate NIR sensor.
  • the multispectral imaging system 2 can include a first sensor such as a CCD/CMOS capable of detecting visible light at least in the range between about 390 nm and about 800 nm.
  • the multispectral imaging system 2 can further include a second sensor, such as a CCD/CMOS that is capable of detecting NIR light in the range between about 800 nm and about 1400 nm.
  • the wavelength ranges for the visible and NIR sensors can overlap or can even be substantially the same.
  • a MT9M112 sensor manufactured by Aptina Imaging can be used as the visible light sensor
  • a MT9M001 sensor manufactured by Aptina Imaging can be used as the NIR sensor.
  • imaging filters such as a NIR pass filter
  • CCD/CMOS complementary metal-oxide-semiconductor
  • various other sensors or combinations thereof can be used to capture visible and NIR image data.
  • the facial verification system 1 can further include a memory 3 and a processor 4.
  • the memory 3 and processor 4 are configured to electrically communicate with each other and with the multispectral imaging sensor 2.
  • the facial verification system 1 also has a storage device 5 that is capable of storing various software modules that can be executed by the processor 3.
  • the processor 4 can receive and transmit data to and from the multispectral imaging system 2, and can operate on that data by executing computer-implemented instructions stored in a software module in the storage device 5.
  • the storage device 5 can be any suitable computer-readable storage medium, such as a non-transitory storage medium.
  • the storage device 5 can comprise any number of software modules.
  • a communications module 10 and a preprocessing module 11 can be stored on the storage device 5.
  • the communications module 10 can comprise computer-implemented instructions that manage the flow of data between the components of the facial verification system 1.
  • the pre-processing module 11 can be configured to pre-process data, such as image data received from the multispectral imaging system 2, before other operations are performed on the data.
  • the storage device 5 can also include a user interface module 12.
  • the user interface module 12 can comprise instructions for implementing a user interface 6.
  • a virtual box can be drawn around faces detected by the system for viewing by a user, and the percentage of pixels that have a higher probability of being live rather than non-live skin can be displayed on the user interface 6 in some implementations.
  • Other user interface features including a graphical user interface (GUI), can be controlled or implemented by instructions stored in the user interface module 12.
  • GUI graphical user interface
  • the storage device 5 further includes a face detection module 13.
  • the face detection module 13 can include software that can detect a human face in an image.
  • the face detection module 13 can use known techniques to detect and verify the geometry of a captured face in an image.
  • the face detection module 13 can be configured to detect the outline of a face, while in other implementations, the face detection module 13 can detect the general region in which a face is located (e.g. , a face located within a particular square or rectangular region).
  • the OKAO Vision Face Sensing Technology manufactured by OMRON Corporation of Kyoto, Japan, can be used by the face detection module 13.
  • a skin verification module 14 can also be stored in the storage device 5.
  • the skin verification module 14 can include computer-implemented instructions for verifying that skin in an image of a human face is live human skin, as opposed to non-live skin generated by an image captured from a photograph or other artificial human face.
  • the skin verification module 14 can also verify that skin on other parts of a human body is live human skin.
  • the storage device 5 also includes a user notification module 15.
  • the user notification module 15 can be configured to notify a user that the detected face is a live or non-live human face.
  • the user notification module 15 is able to notify the user which pixels were determined to be live or non-live skin pixels.
  • other processing modules 16 can be stored in the storage device 5 as desired for implementing various other functionalities for the system 1.
  • the facial verification system 1 includes the user interface 6.
  • the user interface 6 can enable a user of the system 1 to interact with the system and to effectively use the various modules to verify that an imaged face is a live human face in an image.
  • the user interface 6 can include one or more displays to display the captured image and/or other data related to the facial verification operation.
  • the display(s) can also be configured to display a graphical user interface (GUI) to further enhance the usability of the system 1.
  • GUI graphical user interface
  • the user interface 6 can include various audio devices, such as a microphone, speakers, or other devices configured to receive or transmit sound.
  • the user interface 6 can include various peripheral devices, including, e.g., a keyboard, a mouse, a printer, and other input/output devices.
  • the facial verification system 1 can be implemented on a mobile device, including a mobile phone or smartphone, a tablet computer, a laptop computer, a digital camera, or the like.
  • a mobile device including a mobile phone or smartphone, a tablet computer, a laptop computer, a digital camera, or the like.
  • the facial verification system 1 can advantageously be used without requiring the system to remain in a fixed location.
  • the facial verification system 1 can comprise a desktop computer, server, computer workstation, or other type of computing device.
  • the multispectral imaging system 2 can be integrated with the other computer hardware, or the multispectral imaging system 2 can be separate from the computing device, for example as a separate camera or cameras.
  • FIG. 2 is a flowchart illustrating one implementation of a method 20 for verifying a live human face using multispectral imaging data.
  • multispectral image data is captured.
  • the multispectral image data can comprise image data spanning at least the visible light and NIR spectra.
  • the image data can be captured by the multispectral imaging system 2 over a wavelength range between about 390 nm and about 1400 nm.
  • image data spanning both the visible and NIR wavelengths richer details of a scene or object can be sensed than if the image data were limited to a narrower spectrum of light.
  • NIR image data can yield smoother surfaces than corresponding visible light image data in some circumstances.
  • the method 20 moves to a block 22, wherein a human face is detected in the captured image.
  • a human face is detected in the captured image.
  • Any suitable method of face detection can be used to detect the face in the image.
  • the face detection module 13 can detect details about the geometry of the captured face.
  • the face detection module 13 can detect the general region in which a face lies, such as within a particular box in an image.
  • face detection may not be able to determine whether or not the detected face is a live human face or an artificial reproduction of a face, such as an image captured from a photograph, a mask, a facial module or mold, or any other artificial human face.
  • the method 20 moves to a block 23 wherein the facial verification system 1 can verify that the skin on the detected face is live human skin.
  • the facial verification system 1 can verify that the skin on the detected face is live human skin.
  • a variety of methods can be employed to verify that the skin is live skin.
  • the method 20 then moves to a decision block 24 to determine if the detected face is a live human face.
  • the number of live and non-live skin pixels can be computed. If the number of live skin pixels exceeds a certain threshold number of pixels within the detected face, then it can be determined that the detected face is a live human face. In other embodiments, for each pixel, the probability that the pixel is a live skin pixel can be computed. The number of pixels in which it is more probable that the pixel is live skin than non-live skin can be computed to determine the number of live skin pixels. If there are more live skin pixels than non-live skin pixels (or another threshold), then it can be determined that the face is a live human face.
  • the method 20 moves to a block 26 to notify the user that the face is live. If a decision is made that the face is not a live face, then the method 20 moves to a block 25 wherein the user is notified that the face is not a live human face.
  • the user notification module 15 can be implemented to notify the user that the face is a non-live face by way of, e.g. , the user interface 6.
  • the detected face could be an image of a reproduction of a human face, such as an image of another photograph. More details on how the system detects whether the face is live or not are described below.
  • FIG 3 another implementation of a method 30 for verifying a live human face is disclosed. Unlike in Figure 2, however, in method 30 the NIR image data and visible light image data are captured separately, as opposed to with a single multispectral sensor. The method 30 starts and moves to a block 31 , wherein a visible light image and a NIR image of a face to be analyzed are captured. As explained above with respect to Figure 1, separate visible light and NIR sensors (e.g. , CCDs or CMOSs) can capture two separate images that contain a human face.
  • NIR sensors e.g. , CCDs or CMOSs
  • the method 30 then moves to a block 32 wherein a human face is detected in both the visible light and NIR images.
  • any suitable face detection method can be implemented for both the visible and NIR images.
  • the OKAO Vision Face Sensing Technology manufactured by OMRON Corporation, can be used in some implementations to detect a face.
  • the method 30 then moves to a block 33 wherein the system verifies that the skin on the detected face in both the visible light and NIR images is live human skin.
  • Various systems and methods for verifying live skin are presented herein such as discussed with respect to Figures 6A-6C.
  • the method 30 moves to a block 35 wherein the user is notified that the face is not live. If, however, a determination is made at the decision block 34 that the detected face is determined to be a live human face, then the method 30 moves to a block 36, and the user can be notified that the captured face is from a live human.
  • Figure 4 illustrates experimental results from the method presented in Figure 3.
  • a NIR image 41 is captured and a visible (e.g. , RGB) image 42 is captured by separate NIR and visible light sensors, respectively.
  • a multispectral sensor can be used, and the image data can be post -processed to separate the NIR image data from the visible light image data.
  • filters can be applied over the sensors to filter the desired wavelengths.
  • the facial verification system 1 can be effective at verifying live human faces in both color and black and white images or representations. It should be appreciated that other artificial representations of a human face are possible.
  • a conventional face detection system may be able to detect all three human faces in the images 41 , 42; yet the conventional system would not be able to detect that two of the three faces in the images 41 , 42 are in fact artificial faces 45 instead of a live human face 46.
  • a skin verification image 43 of Figure 4 illustrates the results after executing the skin verification method of block 33 of Figure 3, which will be explained in more detail below in the discussion of Figures 6A-6C.
  • the live human face 46 has been accurately verified by the skin verification module 14, as shown by the high contrast between the live face 46 and the black background.
  • the high contrast of the live face 46 in image 43 reflects the relatively high number of live skin pixels detected in the image 43.
  • the artificial human faces 45 are illustrated as having lower contrast with the black background because there are fewer pixels determined to be live skin pixels.
  • the live face 46 has been accurately detected, as shown by the solid lines of box 47 bounding the live face 46.
  • the two non-live faces 45 have also been identified, as illustrated by the two boxes 48 having dashed lines that bound the non-live faces 45.
  • the user can be accurately notified of whether (and which) detected human faces are indeed live human faces.
  • FIG. 5 is a flowchart illustrating one method 50 for determining whether a captured human face is a live human face.
  • the method 50 begins in a block 51, wherein visible image data and NIR image data are received by the facial verification system 1.
  • the communications module 10 and/or the processor 4 can receive images from the multispectral imaging system 2.
  • the image data can be captured by the multispectral imaging system 2, or the data can be captured by an external imaging system and communicated to the processor 4 and/or communications module 10.
  • the NIR and visible image data can be captured by a single sensor or by separate sensors.
  • the method 50 moves to a block 52 to process the visible and NIR image data to detect a human face.
  • the face detection module 13 can detect the human face in the image(s) using any suitable face detection method as explained above with respect to Figures 1-3.
  • the method 50 then moves to a block 53, wherein the visible image data and the NIR image data are associated to determine whether the detected human face is a live human face.
  • the association of the visible image data with the NIR image data can be applied to a single batch of multispectral image data or to separate visible and NIR images.
  • the method 50 then moves to a decision block 54 to determine whether the detected face represents an artificial face.
  • method 50 moves to a block 55 to notify the user that the face is a non-live face. If, however, a decision is made that the detected face is a live face, then method 50 moves to a block 56 to notify the user that the detected face is from a live human.
  • Figures 6A-6C are flowcharts illustrating various implementations for identifying live and non-live skin pixels in a detected human face in multispectral image data.
  • the skin verification module 14 can determine, on a pixel-by-pixel basis, which pixels represent live human skin and which pixels represent non-live human skin.
  • FIG. 6A is a flowchart of a method 60 for determining whether a particular pixel i in an image is representative of live or non-live human skin.
  • the illustrated method 60 begins in a block 61, wherein a first reflectance difference, vi, and a second reflectance difference, v 2 , are calculated for a particular pixel i associated with both the NIR and the visible image data.
  • the first reflectance difference, vi, and the second reflectance difference, v 2 can be based in part on the reflectance value of human skin in both the visible and NIR spectra.
  • the first and second reflectance differences can be determined by
  • the reflectance value can be modeled based upon the illumination, L, that impinges on a surface and the reflectance, R, of a particular material.
  • the reflectance, R, for skin can be much stronger in the NIR spectrum than in the visible spectrum (and particularly stronger than the green wavelength band). Due to the disparity in reflectance between the NIR and green wavelengths, the green image data can be used in computing the reflectance differences in some implementations.
  • the reflectance differences v ⁇ and V2 can generally be proportional to the difference between the detected intensities of the imaged skin for NIR and green wavelengths, and for green and red wavelengths, respectively.
  • the first reflectance difference, vi can be determined based upon the difference between the reflectance value (or raw pixel data) in a portion of the NIR image data, />,( ⁇ ⁇ ), and the reflectance value (or raw pixel data) of green data in a corresponding portion of the visible light image data, pi( g ).
  • the portion of the NIR image data is a particular pixel or group of pixels
  • the corresponding portion of the visible light image data is a corresponding pixel or group of pixels of the visible light image data.
  • the second reflectance difference can be the difference between the reflectance value (or raw pixel data) of the green data and the reflectance value (or raw pixel data) of red data in the corresponding portion (e.g. , pixel or group of pixels) of the visible light image data.
  • the green image data can be used to calculate the reflectance values and/or reflectance differences because, as explained above, the contrast between NIR data and green data can be greater than between the NIR data and other colors (e. g. , blue or red).
  • the reflectance values for other colors can be compared.
  • the red and blue reflectance values or the green and blue reflectance values can be compared in some implementations to calculate V2 and V] .
  • the method 60 moves to a block 62 of Figure 6A, wherein the first and second reflectance differences, v ⁇ and v 2 , are normalized to obtain first and second normalized reflectance differences, r; and r2, respectively, given by
  • normalization need not occur; instead, the raw pixel values can be used without normalization.
  • the method 60 proceeds to a decision block 63 to determine whether a deterministic method is to be used.
  • the skin verification module 14 can select a method for analyzing the detected skin. If, for example, a decision is made to select the deterministic method, then the method 60 moves to a block 64 to perform the deterministic method. If a decision is made to not select the deterministic method, then the method 60 moves to a block 70 to perform a probabilistic method. While the probabilistic method is illustrated in Figure 6A, it should be appreciated that other methods can be used to analyze the detected skin.
  • FIG. 6B is a flowchart illustrating one implementation of the deterministic method 64.
  • the method 64 begins in block 65, wherein a first threshold t toothi, a second threshold t structuri2, a third threshold t r j, and a fourth threshold t r 2 are set or otherwise determined.
  • the thresholds can be determined experimentally using empirical methods to obtain the best results.
  • the thresholds can be estimated based on theoretical reflectance values for live and non-live human skin.
  • the thresholds can be determined in real-time based on the properties of the image and/or the imaging device or system.
  • the method 64 proceeds to a decision block 66 to compare the first and second thresholds with the first normalized reflectance difference. If a decision is made that the first reflectance difference is not greater than the first threshold and less than the second threshold, then the process proceeds to block 68 to return a non-live skin pixel to the user. If a decision is made that the first normalized reflectance difference, r; is greater than the first threshold, t habiti, but less than the second threshold, t curb2, then the process proceeds to another decision block 67 to compare the third and fourth thresholds with the second normalized reflectance difference.
  • one set of thresholds may be weighted more heaviliy than the others. For example, in some implementations, if only one of the threshold inequalities (e.g. , only one of decision blocks 66 and 67) is satisfied, then the method can nevertheless return a live skin pixel in block 69.
  • the thresholds implemented in the deterministic method can be based on pre-calibrated, experimental data, in which various thresholds are applied under various lighting conditions. The facial verification system 1 can thereby utilize the rich information provided by the NIR and visible image data in determining whether a particular pixel is representative of live or non-live human skin. Indeed, the experimental results presented in Figure 4 above illustrate an example implementation of the deterministic method disclosed in Figures 6A-6B.
  • a probabilistic method can estimate the likelihood that a given pixel displays live human skin based at least in part on image data that captures known live skin over a large number of samples. For example, one or more known, live human faces can be imaged in various lighting conditions, and the reflectance values and/or raw pixel data for the known live skin regions can be stored. Similarly, known, artificial skin such as a photograph can be imaged in similar lighting conditions over a large number of samples, and the reflectance values and/or raw pixel data can be stored. The facial verification system 1 can use this stored library of known live and non-live skin image data to estimate the probability that any given pixel in an image displays live or non-live skin.
  • the method 70 illustrated in Figure 6C starts in a block 71 , wherein probability density functions (PDFs) for the first and second normalized reflectance differences r; and r2, respectively, are obtained for live human skin.
  • PDFs can be calculated based upon experimental data under various, predetermined lighting conditions. For example, a large sample of data can be collected based upon different types of live skin, each sample imaged under different lighting conditions ranging from dim to bright. A sufficiently large number of images and/or pixels are captured by the multispectral imaging system 2, which can be performed while the system is offline, e.g. , not being employed to verify a live face.
  • (rj , ⁇ ⁇ ⁇ ⁇ , ⁇ ) denote a set of r; (e.g. , first normalized reflectance differences) that are calculated or derived from M live skin pixels.
  • M live skin pixels are known to represent live skin because a live subject is intentionally imaged in order to calculate the PDF for ry.
  • This set of known live skin image data can then be used to estimate the probability that any given pixel represents live skin.
  • the PDF, f T (ri) for live skin pixels (represented by the superscript 7) can be derived by
  • K(.) is the kernel, a symmetric function that integrates to one, and h is a positive smoothing parameter.
  • Any suitable kernel K(.) can be used.
  • K(.) can be used.
  • a normal distribution is assumed, in which case the Gaussian kernel can be implemented.
  • the method 70 moves to a block 72, wherein the PDFs f F ⁇ rj) and f F (r2) of the normalized reflectance differences rj and r2 for non-live skin (represented by the superscript F) are similarly obtained using experimental image data of non-live skin.
  • a sample of pixels representing fake skin can be obtained using one or more images of a photograph or model of a human face to obtain the PDF.
  • Figure 6D is a graph of the PDF for rj under various lighting conditions for live skin pixels and non-live skin pixels.
  • Figure 6E is a graph of the PDF for T2 under various lighting conditions for live skin pixels and non-live skin pixels.
  • the obtained PDFs of the normalized reflectance values for both live and non-live skin pixels can be saved as a look-up table (LUT) in some implementations for easy access by the skin verification module 14. In other implementations, the PDFs can be estimated as a parameterized function.
  • the method 70 then moves to a block 73, wherein the probability that a particular pixel is a live skin pixel is computed.
  • a PDF for a normalized reflectance difference is obtained for a particular device or type of device (and potentially under certain lighting conditions)
  • this information can be used in future images captured on the device(s) to estimate the probability that any particular pixel contains live skin in any subsequent images.
  • the PDFs obtained above which can be obtained offline in some implementations, can be used in an online mode to determine in real-time whether a particular pixel is a live or non-live skin pixel.
  • the probability of any pixel i to be a live skin pixel can be calculated by
  • the probability that any particular pixel i is a live skin pixel can be estimated by
  • the method 70 can move to a block 74 to similarly compute the probability that the particular pixel is a non-live skin pixel.
  • the probability that a pixel i is a non-live skin pixel can be determined by
  • the method 70 proceeds to a decision block 75 to compare the probability that the pixel displays live skin with the probability that the pixel displays non-live skin. If a decision is made that the probability that the pixel is live skin is greater than the probability that the pixel is non-live skin, then the method 70 moves to a block 77 to indicate that the pixel is a live skin pixel. On the other hand, if a decision is made that the probability that the pixel is non-live skin is greater than the probability that the pixel is live skin, then the method 70 moves to a block 76 to indicate that the pixel is a non- live skin pixel.
  • a particular pixel i can be identified as a live skin pixel if
  • a probability threshold can be employed to determine whether or not the pixel is a live or non-live skin pixel.
  • exact alignment of the visible and NIR images and/or image data is not required, because facial skin can have a smooth color response. The above methods can therefore be effective if the visible and NIR facial images are only roughly aligned based on the face detection.
  • Figures 6A-6C can be used to identify live or non-live skin pixels. In some implementations, this information can be presented to the user on a display (see, e.g. , Figure 4), and can be sufficient for the user to visually determine whether or not a detected face is a live human face. In other implementations, however, further processing can be performed to analyze the identified pixels to determine whether the detected face is a live face.
  • one method 80 for identifying a live human face is disclosed.
  • the method 80 starts in a block 81 , wherein the number of live pixels within the detected face area, Nj, is computed.
  • the method 80 proceeds to a decision block 83. If a decision is made that the number of live pixels, Nj, exceeds a threshold number of pixels, T X , then the method 80 moves to a block 85 to notify the user that the detected face is a live face. If a decision is made that Nj is less than T X , then the method 80 moves to a block 84 to notify the user that the detected face is not a live human face.
  • T X can be used.
  • T X can be a particular percentage of pixels within the detected face, e.g. , above about 50% in some implementations.
  • the threshold T X can be about 50%, 60%, 70%, 80%, 90%, or any other suitable threshold percentage of pixels.
  • various other thresholds can be used.
  • the number of non-live skin pixels within the detected face area, NF can be computed. If N R > NF, then the user can be notified that the detected face is a live face. Otherwise, the user can be notified that the detected face is not a live face.
  • Figure 7A illustrates an example implementation of the user interface 6 when a non-live face is detected.
  • an artificial model of a human face e.g. , a mannequin
  • NIR left image
  • visible light right image
  • the boxes on the left and right images can be used to illustrate the face detected by the face detection module 13.
  • the user interface 6 of Figure 7A indicates that only 36% of pixels have a higher probability of being a live skin pixel than a non-live skin pixel, and 64% of pixels have higher probability of being a non-live skin pixel than a live skin pixel.
  • the user notification modulel5 can notify the user via the user interface 6 that the detected face is not a live human face (denoted by an "X" across the center of the display).
  • Figure 7B illustrates an example implementation of the user interface 6 when a live face is detected.
  • the user notification module 15 can notify the user that the detected face is a live human face (denoted by a check mark in the center of the display in Figure 7B).
  • FIG. 8A One method 90 is shown in Figure 8A. As shown in Figure 8A, the method 90 begins in a block 91 to capture a NIR image and a visible image. As above, once the NIR and visible images are captured, the method 90 moves to a block 92, wherein a human face is detected in the NIR image and the visible image. The method 90 then moves to a block 93 to verify the geometry detected for the face using any suitable method. After verifying the facial geometry, the method 90 proceeds to a block 94, wherein the detected face is then biometrically verified.
  • image data of live and non-live skin has been used in various disclosed implementations herein, it should be appreciated that various other methods for confirming that a face is a live face can be performed.
  • iris recognition or retinal scans can be used in some implementations.
  • the subject's veins and arteries underlying the skin can be imaged to determine whether the detected face is a live face.
  • known facial movements or tics can be imaged in some implementations.
  • a heat signature can be used as a biometric verification method.
  • the method 90 proceeds to a decision block 95 to determine if the detected face is a live human face.
  • the method 90 moves to a block 96 to notify the user of a detected, live face. Otherwise, if a decision is made that the detected face is not a live face, then the method 90 moves to a block 97 to notify the user that the face is a non-live face.
  • FIG. 8B another method 100 for verifying a live face is disclosed.
  • the method 100 starts in a block 101 to capture a NIR and a visible image. After capturing the images, the method 100 proceeds to a block 102, wherein the NIR and visible image data are fused together using any known fusing algorithm. As above, the method 100 moves to a block 103 to detect a human face in the fused image. As described with respect to Figure 8A, the illustrated method 100 proceeds to a block 104 to perform one or more biometric verification processes on the detected human face in the fused image. The method 100 then moves to a decision block 105.
  • the method 100 proceeds to a block 107 to notify the user that the face is a live face. Otherwise, if a decision is made that the detected face is not a live face, then the method 100 proceeds to a block 106 to notify the user that the face is not a live face.
  • a portion, or a part may comprise something less than, or equal to, a whole.
  • a portion of a collection of pixels may refer to a sub-collection of those pixels.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory storage medium known in the art.
  • An exemplary computer- readable storage medium is coupled to the processor such the processor can read information from, and write information to, the computer-readable storage medium.
  • the storage medium may be integral to the processor.
  • the processor and the storage medium may reside in an ASIC.
  • the ASIC may reside in a user terminal, camera, or other device.
  • the processor and the storage medium may reside as discrete components in a user terminal, camera, or other device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Collating Specific Patterns (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

Systems and methods for detecting a live human face in an image are disclosed. The methods and systems are capable of receiving multispectral image data that includes a human face. The multispectral image data can comprise visible light image data and near-infrared (NIR) image data. The multispectral image data can be processed to detect the human face. The detected human face in the visible light image data can be associated with the detected human face in the NIR image data to determine whether the detected human face is a live human face.

Description

SYSTEMS AND METHOD FOR FACIAL VERIFICATION
BACKGROUND OF THE INVENTION
Field of the Invention
[0001] The present disclosure relates to systems and methods for facial verification. In particular, the disclosure relates to systems and methods for detecting a human face and determining whether or not the detected human face is a live human face.
Description of the Related Art
[0002] Facial detection and/or verification systems can be useful in a variety of contexts, including, e.g. , parental control applications, law enforcement, mobile banking, and security applications. Conventional automated facial detection systems can detect a human face in an image. However, these systems generally cannot determine whether the face detected in the image was captured from a live human face, or merely captured from a photograph or other reproduction of a human face.
[0003] For example, in some cases, the detected face can come from an artificial source, such as a face in a photograph, an image of a face on a display screen, a facial mask, a model reproduction of a face, a mannequin, or any other non-living face. A subject who wants to create fake identification documents, for example, can use a photograph of someone else's face, or a mask, to try to trick the facial detection system. Moreover, even for sophisticated systems that account for blinking and other types of facial motion, detecting a live face maybe thwarted by using a video stream of someone else's face instead of a live face.
SUMMARY OF THE INVENTION
[0004] In one implementation, a method for detecting a live human face in an image is disclosed. The method can include receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near-infrared (NIR) image data. The method can comprise processing the multispectral image data to detect the human face, and can further include associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face. [0005] In another implementation, an imaging system for detecting a live human face in an image is disclosed. The imaging system can include at least one image sensor configured to capture multispectral image data comprising visible light image data and near-infrared (NIR) image data, wherein the multispectral image data includes a human face. In addition, the imaging system can include a face detection module configured to analyze the multispectral image data to detect the human face. The imaging system can also include a skin verification module configured to analyze the multispectral image data of the detected face and determine whether the detected human face is a live human face.
[0006] In yet another implementation, an imaging system is disclosed. The imaging system can include means for receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near- infrared (NIR) image data. The system can further include means for processing the multispectral image data to detect the human face. In addition, the system can include means for associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
[0007] In another implementation, a non-transitory computer-readable medium is disclosed. The non-transitory computer-readable medium can have stored thereon code that when executed performs a method. The method can comprise receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near-infrared (NIR) image data. The method can further comprise processing the multispectral image data to detect the human face. In addition, the method can include associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 is a schematic diagram of a facial verification system, according to one implementation.
[0009] Figure 2 is a flowchart illustrating one implementation of a method for verifying a live human face using multispectral imaging data.
[0010] Figure 3 is a flowchart illustrating another implementation of a method for verifying a live human face.
[0011] Figure 4 illustrates experimental results from the method presented in Figure 3.
[0012] Figure 5 is a flowchart illustrating one method for determining whether a captured human face is a live human face.
[0013] Figure 6A is a flowchart illustrating a method for determining whether a pixel is representative of live or non-live human skin.
[0014] Figure 6B is a flowchart illustrating a deterministic method, according to one implementation.
[0015] Figure 6C is a flowchart illustrating a probabilistic method, according to another implementation.
[0016] Figures 6D and 6E are graphs of experimental results for derived probability density functions.
[0017] Figure 6F is a flowchart illustration one method for determining whether a face is a live human face.
[0018] Figures 7A-7B are images of a user interface, according to various implementations.
[0019] Figures 8A-8B are flowcharts illustrating various other implementations for verifying a live human face.
DETAILED DESCRIPTION
System Overview
[0020] Implementations disclosed herein provide systems, methods and apparatus for verifying a live human face with an electronic device having one or more imaging sensors. For example, in one embodiment, the system may include a visible light imaging sensor and an infrared light imaging sensor. During image capture, the system may detect whether the captured face is from a live person, in contrast to a photograph or video, by combining the information from both sensors. For example, at some wavelengths, the data from the infrared light imaging sensor may be used to determine if there is heat emanating from the captured face, while at other wavelengths, the data from the infrared imaging sensor may be used to capture detailed texture information from the face. In another embodiment, the system may determine if the pixels corresponding to the captured face are pixels from live skin, as described below. One skilled in the art will recognize that the disclosed embodiments may be implemented in hardware, software, firmware, or any combination thereof.
[0021] In the following description, specific details are given to provide a thorough understanding of the examples. However, it will be understood by one of ordinary skill in the art that the examples may be practiced without these specific details. For example, electrical components/devices may be shown in block diagrams in order not to obscure the examples in unnecessary detail. In other instances, such components, other structures and techniques may be shown in detail to further explain the examples.
[0022] It is also noted that the examples may be described as a process, which is depicted as a flowchart, a flow diagram, a finite state diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel, or concurrently, and the process can be repeated. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a software function, its termination may correspond to a return of the function to the calling function or the main function, or a similar completion of a subroutine or like functionality.
[0023] Those of skill in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. [0024] Figure 1 illustrates one implementation of a facial verification system
1 for verifying that an imaged human face is a live human face. The facial verification system 1 includes a multispectral imaging system 2. The multispectral imaging system
2 can be configured to include a multispectral imaging sensor that can sense a broad band of wavelengths, including at least visible light wavelengths and near infrared (NIR) light wavelengths. The multispectral imaging sensor can be configured to detect light at wavelengths between about 390 nm and about 1400 nm. Of course, the imaging sensor can also be configured to detect a much broader range of wavelengths as well. In some implementations, a charge-coupled device (CCD) can be used as the multispectral imaging sensor. In other implementations, a CMOS imaging sensor can be used as the multispectral imaging sensor.
[0025] In other implementations, the multispectral imaging system 2 can include two separate sensors instead of a multispectral imaging sensor. In this embodiment, the multispectral imaging system 2 could include a visible light sensor and a separate NIR sensor. For example, the multispectral imaging system 2 can include a first sensor such as a CCD/CMOS capable of detecting visible light at least in the range between about 390 nm and about 800 nm. The multispectral imaging system 2 can further include a second sensor, such as a CCD/CMOS that is capable of detecting NIR light in the range between about 800 nm and about 1400 nm. In some implementations, the wavelength ranges for the visible and NIR sensors can overlap or can even be substantially the same. For example, in various implementations, a MT9M112 sensor manufactured by Aptina Imaging (San Jose, CA) can be used as the visible light sensor, and a MT9M001 sensor manufactured by Aptina Imaging (San Jose, CA) can be used as the NIR sensor. Skilled artisans would understand that other types of sensors are possible. In some implementations, imaging filters, such as a NIR pass filter, can be used on a suitable CCD/CMOS to detect only the NIR data. Skilled artisans would understand that various other sensors or combinations thereof can be used to capture visible and NIR image data.
[0026] The facial verification system 1 can further include a memory 3 and a processor 4. The memory 3 and processor 4 are configured to electrically communicate with each other and with the multispectral imaging sensor 2. The facial verification system 1 also has a storage device 5 that is capable of storing various software modules that can be executed by the processor 3. In some implementations, the processor 4 can receive and transmit data to and from the multispectral imaging system 2, and can operate on that data by executing computer-implemented instructions stored in a software module in the storage device 5.
[0027] The storage device 5 can be any suitable computer-readable storage medium, such as a non-transitory storage medium. The storage device 5 can comprise any number of software modules. For example, a communications module 10 and a preprocessing module 11 can be stored on the storage device 5. The communications module 10 can comprise computer-implemented instructions that manage the flow of data between the components of the facial verification system 1. The pre-processing module 11 can be configured to pre-process data, such as image data received from the multispectral imaging system 2, before other operations are performed on the data. The storage device 5 can also include a user interface module 12. The user interface module 12 can comprise instructions for implementing a user interface 6. As will be discussed in more detail below with reference to Figures 7A-7B, a virtual box can be drawn around faces detected by the system for viewing by a user, and the percentage of pixels that have a higher probability of being live rather than non-live skin can be displayed on the user interface 6 in some implementations. Other user interface features, including a graphical user interface (GUI), can be controlled or implemented by instructions stored in the user interface module 12.
[0028] The storage device 5 further includes a face detection module 13. The face detection module 13 can include software that can detect a human face in an image. In some implementations, the face detection module 13 can use known techniques to detect and verify the geometry of a captured face in an image. In some implementations, the face detection module 13 can be configured to detect the outline of a face, while in other implementations, the face detection module 13 can detect the general region in which a face is located (e.g. , a face located within a particular square or rectangular region). In one implementation, for example, the OKAO Vision Face Sensing Technology, manufactured by OMRON Corporation of Kyoto, Japan, can be used by the face detection module 13. Other implementations of the face detection module 13 are possible and thus embodiments are not limited to any particular method for detecting faces in an image. [0029] A skin verification module 14 can also be stored in the storage device 5. As will be described in more detail herein, the skin verification module 14 can include computer-implemented instructions for verifying that skin in an image of a human face is live human skin, as opposed to non-live skin generated by an image captured from a photograph or other artificial human face. In some implementations, the skin verification module 14 can also verify that skin on other parts of a human body is live human skin. The storage device 5 also includes a user notification module 15. The user notification module 15 can be configured to notify a user that the detected face is a live or non-live human face. In some implementations, the user notification module 15 is able to notify the user which pixels were determined to be live or non-live skin pixels. Also, as shown in Figure 1, other processing modules 16 can be stored in the storage device 5 as desired for implementing various other functionalities for the system 1.
[0030] The facial verification system 1 includes the user interface 6. The user interface 6 can enable a user of the system 1 to interact with the system and to effectively use the various modules to verify that an imaged face is a live human face in an image. For example, the user interface 6 can include one or more displays to display the captured image and/or other data related to the facial verification operation. The display(s) can also be configured to display a graphical user interface (GUI) to further enhance the usability of the system 1. The user interface 6 can include various audio devices, such as a microphone, speakers, or other devices configured to receive or transmit sound. In some implementations, the user interface 6 can include various peripheral devices, including, e.g., a keyboard, a mouse, a printer, and other input/output devices.
[0031] The facial verification system 1 can be implemented on a mobile device, including a mobile phone or smartphone, a tablet computer, a laptop computer, a digital camera, or the like. By integrating the multispectral imaging system 2, the memory 3, the processor 4, the storage 5, and the user interface 6 on a mobile device, the facial verification system 1 can advantageously be used without requiring the system to remain in a fixed location. In other implementations, however, the facial verification system 1 can comprise a desktop computer, server, computer workstation, or other type of computing device. The multispectral imaging system 2 can be integrated with the other computer hardware, or the multispectral imaging system 2 can be separate from the computing device, for example as a separate camera or cameras.
Multispectral Imaging Overview
[0032] Figure 2 is a flowchart illustrating one implementation of a method 20 for verifying a live human face using multispectral imaging data. In block 21, multispectral image data is captured. The multispectral image data can comprise image data spanning at least the visible light and NIR spectra. For instance, the image data can be captured by the multispectral imaging system 2 over a wavelength range between about 390 nm and about 1400 nm. By utilizing image data spanning both the visible and NIR wavelengths, richer details of a scene or object can be sensed than if the image data were limited to a narrower spectrum of light. For example, NIR image data can yield smoother surfaces than corresponding visible light image data in some circumstances.
[0033] After the image is captured at block 21, the method 20 moves to a block 22, wherein a human face is detected in the captured image. Any suitable method of face detection can be used to detect the face in the image. For example, as described above, the face detection module 13 can detect details about the geometry of the captured face. Alternatively, the face detection module 13 can detect the general region in which a face lies, such as within a particular box in an image.
[0034] As explained above, however, face detection may not be able to determine whether or not the detected face is a live human face or an artificial reproduction of a face, such as an image captured from a photograph, a mask, a facial module or mold, or any other artificial human face. After detecting a face in block 22, the method 20 moves to a block 23 wherein the facial verification system 1 can verify that the skin on the detected face is live human skin. As discussed in more detail below, a variety of methods can be employed to verify that the skin is live skin.
[0035] The method 20 then moves to a decision block 24 to determine if the detected face is a live human face. There are various ways to determine if the detected face is a live human face. For example, as explained below with respect to Figure 6F, the number of live and non-live skin pixels can be computed. If the number of live skin pixels exceeds a certain threshold number of pixels within the detected face, then it can be determined that the detected face is a live human face. In other embodiments, for each pixel, the probability that the pixel is a live skin pixel can be computed. The number of pixels in which it is more probable that the pixel is live skin than non-live skin can be computed to determine the number of live skin pixels. If there are more live skin pixels than non-live skin pixels (or another threshold), then it can be determined that the face is a live human face.
[0036] If a decision is made that the face is a live face, then the method 20 moves to a block 26 to notify the user that the face is live. If a decision is made that the face is not a live face, then the method 20 moves to a block 25 wherein the user is notified that the face is not a live human face. For example, the user notification module 15 can be implemented to notify the user that the face is a non-live face by way of, e.g. , the user interface 6. As described below, given the image data for a set of pixels in the image, it can be determined whether or not the face as a whole is live or non-live. For example, the detected face could be an image of a reproduction of a human face, such as an image of another photograph. More details on how the system detects whether the face is live or not are described below.
[0037] Turning to Figure 3, another implementation of a method 30 for verifying a live human face is disclosed. Unlike in Figure 2, however, in method 30 the NIR image data and visible light image data are captured separately, as opposed to with a single multispectral sensor. The method 30 starts and moves to a block 31 , wherein a visible light image and a NIR image of a face to be analyzed are captured. As explained above with respect to Figure 1, separate visible light and NIR sensors (e.g. , CCDs or CMOSs) can capture two separate images that contain a human face.
[0038] The method 30 then moves to a block 32 wherein a human face is detected in both the visible light and NIR images. As above, any suitable face detection method can be implemented for both the visible and NIR images. For example, the OKAO Vision Face Sensing Technology, manufactured by OMRON Corporation, can be used in some implementations to detect a face. The method 30 then moves to a block 33 wherein the system verifies that the skin on the detected face in both the visible light and NIR images is live human skin. Various systems and methods for verifying live skin are presented herein such as discussed with respect to Figures 6A-6C. [0039] Once the skin is verified in block 33, the method 30 moves to decision block 34 to determine if the captured face is a live face. As described above with respect to Figure 2, there are a variety of ways to determine if the detected face is a live human face. For example, as above, if the number of live skin pixels exceeds a certain threshold number of pixels within the detected face, then it can be determined that the detected face is a live human face. As in Figure 2, if the detected face is not a live human face as determined in block 34, then the method 30 moves to a block 35 wherein the user is notified that the face is not live. If, however, a determination is made at the decision block 34 that the detected face is determined to be a live human face, then the method 30 moves to a block 36, and the user can be notified that the captured face is from a live human.
[0040] Figure 4 illustrates experimental results from the method presented in Figure 3. As described with respect to block 31, a NIR image 41 is captured and a visible (e.g. , RGB) image 42 is captured by separate NIR and visible light sensors, respectively. Alternatively, a multispectral sensor can be used, and the image data can be post -processed to separate the NIR image data from the visible light image data. In other implementations, filters can be applied over the sensors to filter the desired wavelengths.
[0041] In both the NIR and visible images 41 , 42, one live human face 46 is presented, and two artificial human faces 45 are presented. The artificial human faces 45 are represented by photographs of a human face. For example, the artificial face can be represented by a color or black and white photographic print of a human face. Indeed, the facial verification system 1 can be effective at verifying live human faces in both color and black and white images or representations. It should be appreciated that other artificial representations of a human face are possible. A conventional face detection system may be able to detect all three human faces in the images 41 , 42; yet the conventional system would not be able to detect that two of the three faces in the images 41 , 42 are in fact artificial faces 45 instead of a live human face 46.
[0042] A skin verification image 43 of Figure 4 illustrates the results after executing the skin verification method of block 33 of Figure 3, which will be explained in more detail below in the discussion of Figures 6A-6C. As can be seen in the skin verification image 43, the live human face 46 has been accurately verified by the skin verification module 14, as shown by the high contrast between the live face 46 and the black background. The high contrast of the live face 46 in image 43 reflects the relatively high number of live skin pixels detected in the image 43. The artificial human faces 45 are illustrated as having lower contrast with the black background because there are fewer pixels determined to be live skin pixels.
[0043] In the final live face verification image 44 of Figure 4, the live face 46 has been accurately detected, as shown by the solid lines of box 47 bounding the live face 46. On the other hand, the two non-live faces 45 have also been identified, as illustrated by the two boxes 48 having dashed lines that bound the non-live faces 45. Given the final image 44, the user can be accurately notified of whether (and which) detected human faces are indeed live human faces.
Overview - Verifying that Detected Face is Live Human Face
[0044] Figure 5 is a flowchart illustrating one method 50 for determining whether a captured human face is a live human face. The method 50 begins in a block 51, wherein visible image data and NIR image data are received by the facial verification system 1. In some implementations, the communications module 10 and/or the processor 4 can receive images from the multispectral imaging system 2. The image data can be captured by the multispectral imaging system 2, or the data can be captured by an external imaging system and communicated to the processor 4 and/or communications module 10. As explained above, the NIR and visible image data can be captured by a single sensor or by separate sensors.
[0045] After the visible and NIR image data are received in block 51, the method 50 moves to a block 52 to process the visible and NIR image data to detect a human face. For example, the face detection module 13 can detect the human face in the image(s) using any suitable face detection method as explained above with respect to Figures 1-3. The method 50 then moves to a block 53, wherein the visible image data and the NIR image data are associated to determine whether the detected human face is a live human face. The association of the visible image data with the NIR image data can be applied to a single batch of multispectral image data or to separate visible and NIR images. The method 50 then moves to a decision block 54 to determine whether the detected face represents an artificial face. If a decision is made that the detected face is not a live human face, then the method 50 moves to a block 55 to notify the user that the face is a non-live face. If, however, a decision is made that the detected face is a live face, then method 50 moves to a block 56 to notify the user that the detected face is from a live human.
Identifying Live and Non-Live Skin Pixels
[0046] Figures 6A-6C are flowcharts illustrating various implementations for identifying live and non-live skin pixels in a detected human face in multispectral image data. In some implementations, before the user is notified as to the determination of whether the detected face is a live human face, the skin verification module 14 can determine, on a pixel-by-pixel basis, which pixels represent live human skin and which pixels represent non-live human skin.
[0047] Figure 6A is a flowchart of a method 60 for determining whether a particular pixel i in an image is representative of live or non-live human skin. The illustrated method 60 begins in a block 61, wherein a first reflectance difference, vi, and a second reflectance difference, v2, are calculated for a particular pixel i associated with both the NIR and the visible image data. The first reflectance difference, vi, and the second reflectance difference, v2, can be based in part on the reflectance value of human skin in both the visible and NIR spectra. According to one implementation, the first and second reflectance differences can be determined by
= ( NIR ) - pi ( g ) , and
where p represents the reflectance value for the pixel i of the captured skin (whether live or non-live) at NIR wavelengths (λκπ , green wavelengths (λε), and red wavelengths (λτ), respectively. In some implementations, the reflectance value can be modeled based upon the illumination, L, that impinges on a surface and the reflectance, R, of a particular material. In this case, the reflectance, R, for skin can be much stronger in the NIR spectrum than in the visible spectrum (and particularly stronger than the green wavelength band). Due to the disparity in reflectance between the NIR and green wavelengths, the green image data can be used in computing the reflectance differences in some implementations. However, note that since the calculation of v\ and V2 is proportional to the difference between the detected intensities at the indicated wavelengths, in practice, the raw pixel values for each wavelength can be used for each pixel i in computing the reflectance differences v\ and V2- Thus, the reflectance differences v\ and V2 can generally be proportional to the difference between the detected intensities of the imaged skin for NIR and green wavelengths, and for green and red wavelengths, respectively.
[0048] As shown in the above relationships for v\ and v2, the first reflectance difference, vi, can be determined based upon the difference between the reflectance value (or raw pixel data) in a portion of the NIR image data, />,(λΝΙΚ), and the reflectance value (or raw pixel data) of green data in a corresponding portion of the visible light image data, pi( g). In some implementations the portion of the NIR image data is a particular pixel or group of pixels, and the corresponding portion of the visible light image data is a corresponding pixel or group of pixels of the visible light image data. The second reflectance difference can be the difference between the reflectance value (or raw pixel data) of the green data and the reflectance value (or raw pixel data) of red data in the corresponding portion (e.g. , pixel or group of pixels) of the visible light image data. Without being limited by theory, the green image data can be used to calculate the reflectance values and/or reflectance differences because, as explained above, the contrast between NIR data and green data can be greater than between the NIR data and other colors (e. g. , blue or red). Of course, the reflectance values for other colors can be compared. For example, the red and blue reflectance values or the green and blue reflectance values can be compared in some implementations to calculate V2 and V] .
[0049] After computing the first and second reflectance differences for a particular pixel, the method 60 moves to a block 62 of Figure 6A, wherein the first and second reflectance differences, v\ and v2, are normalized to obtain first and second normalized reflectance differences, r; and r2, respectively, given by
Other ways of normalizing the reflectance differences are possible. In some implementations, normalization need not occur; instead, the raw pixel values can be used without normalization.
[0050] After normalization, the method 60 proceeds to a decision block 63 to determine whether a deterministic method is to be used. In some implementations, the skin verification module 14 can select a method for analyzing the detected skin. If, for example, a decision is made to select the deterministic method, then the method 60 moves to a block 64 to perform the deterministic method. If a decision is made to not select the deterministic method, then the method 60 moves to a block 70 to perform a probabilistic method. While the probabilistic method is illustrated in Figure 6A, it should be appreciated that other methods can be used to analyze the detected skin.
Deterministic Method
[0051] Figure 6B is a flowchart illustrating one implementation of the deterministic method 64. The method 64 begins in block 65, wherein a first threshold t„i, a second threshold t„2, a third threshold trj, and a fourth threshold tr2 are set or otherwise determined. In some implementations, the thresholds can be determined experimentally using empirical methods to obtain the best results. In other implementations, the thresholds can be estimated based on theoretical reflectance values for live and non-live human skin. In yet other implementations, the thresholds can be determined in real-time based on the properties of the image and/or the imaging device or system.
[0052] After setting the thresholds in block 65, the method 64 proceeds to a decision block 66 to compare the first and second thresholds with the first normalized reflectance difference. If a decision is made that the first reflectance difference is not greater than the first threshold and less than the second threshold, then the process proceeds to block 68 to return a non-live skin pixel to the user. If a decision is made that the first normalized reflectance difference, r; is greater than the first threshold, t„i, but less than the second threshold, t„2, then the process proceeds to another decision block 67 to compare the third and fourth thresholds with the second normalized reflectance difference. [0053] Turning to block 67, if a decision is made that the second normalized reflectance difference, r2, is greater than the third threshold, trj, but less than the fourth threshold, tr2, then the method 64 proceeds to block 69 to return a live skin pixel. If a decision is made that the second normalized reflectance difference is not greater than the third threshold and less than the fourth threshold, then the method 64 moves to block 68 to return a non-live skin pixel.
[0054] Thus, as disclosed in Figure 6B, in order to identify a live skin pixel, the normalized reflectance differences satisfy both
< < tn2 and tri < r2 < tr2 .
[0055] In other implementations, one set of thresholds may be weighted more heaviliy than the others. For example, in some implementations, if only one of the threshold inequalities (e.g. , only one of decision blocks 66 and 67) is satisfied, then the method can nevertheless return a live skin pixel in block 69. The thresholds implemented in the deterministic method can be based on pre-calibrated, experimental data, in which various thresholds are applied under various lighting conditions. The facial verification system 1 can thereby utilize the rich information provided by the NIR and visible image data in determining whether a particular pixel is representative of live or non-live human skin. Indeed, the experimental results presented in Figure 4 above illustrate an example implementation of the deterministic method disclosed in Figures 6A-6B.
Probabilistic Method
[0056] Turning to Figure 6C, an example implementation of the probabilistic method 70 is illustrated. In general, a probabilistic method can estimate the likelihood that a given pixel displays live human skin based at least in part on image data that captures known live skin over a large number of samples. For example, one or more known, live human faces can be imaged in various lighting conditions, and the reflectance values and/or raw pixel data for the known live skin regions can be stored. Similarly, known, artificial skin such as a photograph can be imaged in similar lighting conditions over a large number of samples, and the reflectance values and/or raw pixel data can be stored. The facial verification system 1 can use this stored library of known live and non-live skin image data to estimate the probability that any given pixel in an image displays live or non-live skin.
[0057] The method 70 illustrated in Figure 6C starts in a block 71 , wherein probability density functions (PDFs) for the first and second normalized reflectance differences r; and r2, respectively, are obtained for live human skin. The PDFs can be calculated based upon experimental data under various, predetermined lighting conditions. For example, a large sample of data can be collected based upon different types of live skin, each sample imaged under different lighting conditions ranging from dim to bright. A sufficiently large number of images and/or pixels are captured by the multispectral imaging system 2, which can be performed while the system is offline, e.g. , not being employed to verify a live face.
[0058] Let (rj , ■ ■ ■ ΤΙ,Μ) denote a set of r; (e.g. , first normalized reflectance differences) that are calculated or derived from M live skin pixels. Many different images can be captured to obtain the set of M pixels. The M live skin pixels are known to represent live skin because a live subject is intentionally imaged in order to calculate the PDF for ry. This set of known live skin image data can then be used to estimate the probability that any given pixel represents live skin. Given the set of M live pixels, the PDF, f T(ri), for live skin pixels (represented by the superscript 7) can be derived by
M M
h
where K(.) is the kernel, a symmetric function that integrates to one, and h is a positive smoothing parameter. Any suitable kernel K(.) can be used. In some implementations, for example, a normal distribution is assumed, in which case the Gaussian kernel can be implemented. For the Gaussian kernel, an optimal choice for h can be given by h =
3
where σ is the standard deviation.
[0059] Similarly, the PDF of r2 for live skin can be given by
M M
M ~f Mh ~f [0060] After obtaining the PDFs of the first and second normalized reflectance differences for live skin, the method 70 moves to a block 72, wherein the PDFs fF{rj) and f F(r2) of the normalized reflectance differences rj and r2 for non-live skin (represented by the superscript F) are similarly obtained using experimental image data of non-live skin. For example, a sample of pixels representing fake skin can be obtained using one or more images of a photograph or model of a human face to obtain the PDF.
[0061] Figure 6D is a graph of the PDF for rj under various lighting conditions for live skin pixels and non-live skin pixels. Figure 6E is a graph of the PDF for T2 under various lighting conditions for live skin pixels and non-live skin pixels. The obtained PDFs of the normalized reflectance values for both live and non-live skin pixels can be saved as a look-up table (LUT) in some implementations for easy access by the skin verification module 14. In other implementations, the PDFs can be estimated as a parameterized function.
[0062] Given the above relationships, if it is known that a pixel j is a live skin pixel, then the probabilities of r; and r2, respectively, are
b
Pj (a≤rl < b \ live _ skin _ j ) - j / T (r, )<5?r, , and
a
b
Pj (a≤r2 < b \ live _ skin _ j) = ^ f T {r2 )dr2 .
a
Similar calculations can be performed to determine the probabilities of r; and r2, if it is instead known that the pixels is a non-live skin pixel.
[0063] The method 70 then moves to a block 73, wherein the probability that a particular pixel is a live skin pixel is computed. Once a PDF for a normalized reflectance difference is obtained for a particular device or type of device (and potentially under certain lighting conditions), this information can be used in future images captured on the device(s) to estimate the probability that any particular pixel contains live skin in any subsequent images. Thus, the PDFs obtained above, which can be obtained offline in some implementations, can be used in an online mode to determine in real-time whether a particular pixel is a live or non-live skin pixel. [0064] For example, the probability of any pixel i to be a live skin pixel can be calculated by
T (, . , . . . \ p(r, , r7 Hive _ skin _i)p(live _ skin) Pi = p live _ skin _i \ rl , r2 j = -, r .
According to the Bayesian rule,
p{rx , r2 1 live _ skin _ i) - p(r2 I r, , live _ skin _ i) p{rx I live _ skin _i) .
If it is assumed that r; and r2 are independent variables, then
_ p(r2 \ live _ skin _i)p{rx Hive _ skin _ i)p(live _ skin)
p(r r2 )
Moreover, if there is no prior knowledge that the pixel i is live or non-live, then the probability that any particular pixel i is a live skin pixel can be estimated by
p p(r2 \ live _ skin _i)p{r I live _ skin _i) .
[0065] The method 70 can move to a block 74 to similarly compute the probability that the particular pixel is a non-live skin pixel. The probability that a pixel i is a non-live skin pixel can be determined by
pf ■ Although the two expressions for p and /?, F are expressed in terms of proportionality, the relative values for these probabilities can be used to determine whether or not pixel i is a live or non-live skin pixel.
[0066] After computing the probabilities that the pixel is a live or non-live skin pixel, the method 70 proceeds to a decision block 75 to compare the probability that the pixel displays live skin with the probability that the pixel displays non-live skin. If a decision is made that the probability that the pixel is live skin is greater than the probability that the pixel is non-live skin, then the method 70 moves to a block 77 to indicate that the pixel is a live skin pixel. On the other hand, if a decision is made that the probability that the pixel is non-live skin is greater than the probability that the pixel is live skin, then the method 70 moves to a block 76 to indicate that the pixel is a non- live skin pixel. Thus, a particular pixel i can be identified as a live skin pixel if
[0067] Other methods for estimating the probability that a pixel is live or non-live skin are possible. For example, in various implementations, a probability threshold can be employed to determine whether or not the pixel is a live or non-live skin pixel. Moreover, while the above deterministic and probabilistic methods can be implemented on a pixel-by-pixel basis, exact alignment of the visible and NIR images and/or image data is not required, because facial skin can have a smooth color response. The above methods can therefore be effective if the visible and NIR facial images are only roughly aligned based on the face detection.
Identifying a Live Human Face
[0068] The implementations of Figures 6A-6C can be used to identify live or non-live skin pixels. In some implementations, this information can be presented to the user on a display (see, e.g. , Figure 4), and can be sufficient for the user to visually determine whether or not a detected face is a live human face. In other implementations, however, further processing can be performed to analyze the identified pixels to determine whether the detected face is a live face.
[0069] In Figure 6F, one method 80 for identifying a live human face is disclosed. The method 80 starts in a block 81 , wherein the number of live pixels within the detected face area, Nj, is computed. Upon computing the number of live skin pixels, the method 80 proceeds to a decision block 83. If a decision is made that the number of live pixels, Nj, exceeds a threshold number of pixels, TX, then the method 80 moves to a block 85 to notify the user that the detected face is a live face. If a decision is made that Nj is less than TX, then the method 80 moves to a block 84 to notify the user that the detected face is not a live human face. Various thresholds TX can be used. For example, in some implementations, TX can be a particular percentage of pixels within the detected face, e.g. , above about 50% in some implementations. In various implementations, the threshold TX can be about 50%, 60%, 70%, 80%, 90%, or any other suitable threshold percentage of pixels. In other implementations, various other thresholds can be used. For example, the number of non-live skin pixels within the detected face area, NF, can be computed. If NR> NF, then the user can be notified that the detected face is a live face. Otherwise, the user can be notified that the detected face is not a live face.
[0070] Figure 7A illustrates an example implementation of the user interface 6 when a non-live face is detected. In Figure 7A, for example, an artificial model of a human face (e.g. , a mannequin) is imaged using separate NIR (left image) and visible light (right image) sensors. The boxes on the left and right images can be used to illustrate the face detected by the face detection module 13. After identifying the live skin pixels, the user interface 6 of Figure 7A indicates that only 36% of pixels have a higher probability of being a live skin pixel than a non-live skin pixel, and 64% of pixels have higher probability of being a non-live skin pixel than a live skin pixel. For the illustrated implementation, because there are fewer live skin pixels than non-live skin pixels (e.g. , the number of live skin pixels is less than 50% of the total pixels within the detected face), the user notification modulel5 can notify the user via the user interface 6 that the detected face is not a live human face (denoted by an "X" across the center of the display).
[0071] On the other hand, Figure 7B illustrates an example implementation of the user interface 6 when a live face is detected. In Figure 7B, however, 81 % of the pixels have a higher probability of being a live skin pixel than a non-live skin pixel. Therefore, the user notification module 15 can notify the user that the detected face is a live human face (denoted by a check mark in the center of the display in Figure 7B).
Other Implementations
[0072] Other implementations of the facial verification system 1 are possible. One method 90 is shown in Figure 8A. As shown in Figure 8A, the method 90 begins in a block 91 to capture a NIR image and a visible image. As above, once the NIR and visible images are captured, the method 90 moves to a block 92, wherein a human face is detected in the NIR image and the visible image. The method 90 then moves to a block 93 to verify the geometry detected for the face using any suitable method. After verifying the facial geometry, the method 90 proceeds to a block 94, wherein the detected face is then biometrically verified. While image data of live and non-live skin has been used in various disclosed implementations herein, it should be appreciated that various other methods for confirming that a face is a live face can be performed. For example, iris recognition or retinal scans can be used in some implementations. In other implementations, the subject's veins and arteries underlying the skin can be imaged to determine whether the detected face is a live face. Additionally, known facial movements or tics can be imaged in some implementations. In still other implementations, a heat signature can be used as a biometric verification method. As above, the method 90 proceeds to a decision block 95 to determine if the detected face is a live human face. If a decision is made that the detected face is a live face, then the method 90 moves to a block 96 to notify the user of a detected, live face. Otherwise, if a decision is made that the detected face is not a live face, then the method 90 moves to a block 97 to notify the user that the face is a non-live face.
[0073] Turning to Figure 8B, another method 100 for verifying a live face is disclosed. The method 100 starts in a block 101 to capture a NIR and a visible image. After capturing the images, the method 100 proceeds to a block 102, wherein the NIR and visible image data are fused together using any known fusing algorithm. As above, the method 100 moves to a block 103 to detect a human face in the fused image. As described with respect to Figure 8A, the illustrated method 100 proceeds to a block 104 to perform one or more biometric verification processes on the detected human face in the fused image. The method 100 then moves to a decision block 105. If a decision is made that the detected face is a live face, then the method 100 proceeds to a block 107 to notify the user that the face is a live face. Otherwise, if a decision is made that the detected face is not a live face, then the method 100 proceeds to a block 106 to notify the user that the face is not a live face.
Clarifications Regarding Terminology
[0074] Those having skill in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and process steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. One skilled in the art will recognize that a portion, or a part, may comprise something less than, or equal to, a whole. For example, a portion of a collection of pixels may refer to a sub-collection of those pixels. [0075] The various illustrative logical blocks, modules, and circuits described in connection with the implementations disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0076] The steps of a method or process described in connection with the implementations disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory storage medium known in the art. An exemplary computer- readable storage medium is coupled to the processor such the processor can read information from, and write information to, the computer-readable storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal, camera, or other device. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal, camera, or other device.
[0077] Headings are included herein for reference and to aid in locating various sections. These headings are not intended to limit the scope of the concepts described with respect thereto. Such concepts may have applicability throughout the entire specification.
[0078] The previous description of the disclosed implementations is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these implementations will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the implementations shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

WHAT IS CLAIMED IS:
1. A method for detecting a live human face in an image, comprising:
receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near-infrared
(NIR) image data;
processing the multispectral image data to detect the human face; and associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
2. The method of Claim 1 , wherein the association between the face detected in the visible light image data with the face detected in the NIR image data is based at least in part on a first reflectance difference and a second reflectance difference, wherein the first reflectance difference is the difference between a reflectance value in a portion of the NIR image data and a reflectance value of a first color in a corresponding portion of the visible light image data, and wherein the second reflectance difference is the difference between the reflectance value of the first color and a reflectance value of a second color in the corresponding portion of the visible light image data.
3. The method of Claim 2, wherein associating the detected human face captured in the visible light image data with the detected human face captured in the NIR image data comprises:
normalizing the first reflectance difference to obtain a first normalized reflectance difference; and
normalizing the second reflectance difference to obtain a second normalized reflectance difference.
4. The method of Claim 3, wherein associating the detected human face captured in the visible light image data with the detected human face captured in the NIR image data further comprises:
comparing the first normalized reflectance difference with a first threshold and a second threshold; and
comparing the second normalized reflectance difference with a third threshold and a fourth threshold.
5. The method of Claim 4, further comprising determining whether the portion of the NIR image data and the corresponding portion of the visible light image data contain image data representative of live human skin based at least in part on whether the first normalized reflectance difference is greater than the first threshold and less than the second threshold, and based at least in part on whether the second normalized reflectance difference is greater than the third threshold and less than the fourth threshold.
6. The method of Claim 5, further comprising determining whether the detected human face is a live human face based at least in part on the number of pixels in the detected face that contain image data representative of live human skin.
7. The method of Claim 3, wherein the first color is substantially green, and wherein the second color is substantially red.
8. The method of Claim 3, further comprising obtaining a first probability density function of the first normalized reflectance difference and a second probability density function of the second normalized reflectance difference, wherein said first and second probability density functions are based at least in part on image data of live human skin.
9. The method of Claim 8, further comprising calculating a first probability that the portion of the NIR image data and the corresponding portion of the visible light image data contain image data representative of live human skin,
said first probability based at least in part on the first probability density function and the second probability density function.
10. The method of Claim 9, further comprising:
obtaining a third probability density function of the first normalized reflectance difference and a fourth probability density function of the second normalized reflectance difference, wherein said third and fourth probability density functions are based at least in part on image data that is not representative of live human skin,
calculating a second probability that the portion of the NIR image data and the corresponding portion of the visible light image data contain image data not representative of live human skin, said second probability based at least in part on the third probability density function and the fourth probability density function.
11. The method of Claim 10, further comprising comparing the first probability and the second probability to determine whether the portion of the NIR image data and the corresponding portion of the visible light image data contain image data representative of live human skin.
12. The method of Claim 11, further comprising determining whether the detected human face is a live human face based at least in part on the number of pixels in the detected face that contain image data representative of live human skin.
13. The method of Claim 1, further comprising capturing multispectral image data with an imaging apparatus.
14. The method of Claim 13, wherein capturing multispectral image data comprises capturing a visible light image and a NIR image.
15. The method of Claim 14, wherein processing the multispectral image data comprises:
processing the visible light image to detect the human face; and processing the NIR image to detect the human face.
16. An imaging system for detecting a live human face in an image, the system comprising:
at least one image sensor configured to capture multispectral image data comprising visible light image data and near-infrared (NIR) image data, wherein the multispectral image data includes a human face;
a face detection module configured to analyze the multispectral image data to detect the human face; and
a skin verification module configured to analyze the multispectral image data of the detected face and determine whether the detected human face is a live human face.
17. The imaging system of Claim 16, wherein the at least one image sensor comprises a NIR imaging sensor and a visible light sensor.
18. The imaging system of Claim 16, wherein the skin verification module is configured to determine whether the detected human face is a live human face based at least in part on a first reflectance difference and a second reflectance difference of the captured multispectral image data.
19. The imaging system of Claim 18, wherein the skin verification module is further configured to:
normalize the first reflectance difference to obtain a first normalized reflectance difference; and
normalize the second reflectance difference to obtain a second normalized reflectance difference.
20. The imaging system of Claim 19, wherein the skin verification module is further configured to:
compare the first normalized reflectance difference with a first threshold and a second threshold; and
compare the second normalized reflectance difference with a third threshold and a fourth threshold.
21. The imaging system of Claim 20, wherein the skin verification module is further configured to determine whether the detected human face is a live human face based at least in part on whether the first normalized reflectance difference is greater than the first threshold and less than the second threshold, and based at least in part on whether the second normalized reflectance difference is greater than the third threshold and less than the fourth threshold.
22. The imaging system of Claim 21 , wherein the skin verification module is further configured to determine whether the detected human face is a live human face based at least in part on the number of pixels in the detected face that contain image data representative of live human skin.
23. The imaging system of Claim 19, wherein the skin verification module is further configured to obtain a first probability density function of the first normalized reflectance difference and a second probability density function of the second normalized reflectance difference, wherein said first and second probability density functions are based at least in part on image data of live human skin.
24. The imaging system of Claim 23, wherein the skin verification module is further configured to: calculate a first probability that a portion of the NIR image data and a corresponding portion of the visible light image data contain image data representative of live human skin,
said first probability based at least in part on the first probability density function and the second probability density function.
25. The imaging system of Claim 24, wherein the skin verification module is further configured to:
obtain a third probability density function of the first normalized reflectance difference and a fourth probability density function of the second normalized reflectance difference, wherein said third and fourth probability density functions are based at least in part on image data that is not representative of live human skin,
calculate a second probability that the portion of the NIR image data and the corresponding portion of the visible light image data contain image data not representative of live human skin,
said second probability based at least in part on the third probability density function and the fourth probability density function.
26. The imaging system of Claim 16, further comprising a communications module configured to receive multispectral image data.
27. The imaging system of Claim 16, further comprising a user notification module configured to notify the user whether or not the detected face is a live human face.
28. The imaging system of Claim 16, further comprising a memory configured to store at least one of computer-readable instructions and image data.
29. An imaging system, comprising:
means for receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near- infrared (NIR) image data;
means for processing the multispectral image data to detect the human face; and means for associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
30. The imaging system of Claim 29, wherein the means for receiving multispectral image data comprises a communications module.
31. The imaging system of Claim 29, wherein the means for processing the multispectral image data comprises a face detection module.
32. The imaging system of Claim 29, wherein the means for associating the detected human face in the visible light image data with the detected human face in the NIR image data comprises a skin verification module.
33. The imaging system of Claim 29, further comprising means for capturing multispectral image data.
34. The imaging system of Claim 33, wherein the means for capturing multispectral image data comprises a NIR imaging sensor and a visible light sensor.
35. A non-transitory computer-readable medium having stored thereon code that when executed performs a method comprising :
receiving multispectral image data that includes a human face, said multispectral image data comprising visible light image data and near-infrared (NIR) image data;
processing the multispectral image data to detect the human face; and
associating the detected human face in the visible light image data with the detected human face in the NIR image data to determine whether the detected human face is a live human face.
EP13737464.1A 2012-06-26 2013-06-18 Systems and method for facial verification Withdrawn EP2864931A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/533,706 US10452894B2 (en) 2012-06-26 2012-06-26 Systems and method for facial verification
PCT/US2013/046366 WO2014004179A1 (en) 2012-06-26 2013-06-18 Systems and method for facial verification

Publications (1)

Publication Number Publication Date
EP2864931A1 true EP2864931A1 (en) 2015-04-29

Family

ID=48793523

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13737464.1A Withdrawn EP2864931A1 (en) 2012-06-26 2013-06-18 Systems and method for facial verification

Country Status (6)

Country Link
US (1) US10452894B2 (en)
EP (1) EP2864931A1 (en)
JP (1) JP6242888B2 (en)
KR (1) KR20150022016A (en)
CN (1) CN104364798B (en)
WO (1) WO2014004179A1 (en)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514435A (en) * 2012-06-29 2014-01-15 富士通株式会社 Hand detection method and device
US9996726B2 (en) 2013-08-02 2018-06-12 Qualcomm Incorporated Feature identification using an RGB-NIR camera pair
US11188770B2 (en) * 2014-03-13 2021-11-30 Nec Corporation Detecting device, detecting method, and recording medium
US9396537B2 (en) * 2014-09-09 2016-07-19 EyeVerify, Inc. Systems and methods for liveness analysis
CN107408298B (en) 2015-03-13 2021-05-28 日本电气株式会社 Living body detection device, living body detection method, and recording medium
CN104700087B (en) * 2015-03-23 2018-05-04 上海交通大学 The method for mutually conversing of visible ray and near-infrared facial image
JP6308161B2 (en) 2015-03-31 2018-04-11 株式会社エクォス・リサーチ Pulse wave detection device and pulse wave detection program
WO2016159150A1 (en) * 2015-03-31 2016-10-06 株式会社エクォス・リサーチ Pulse wave detection device and pulse wave detection program
WO2016184666A1 (en) * 2015-05-15 2016-11-24 Sony Corporation Image processing system and method
EP3414738B1 (en) * 2016-02-08 2020-01-22 Koninklijke Philips N.V. Device, system and method for skin detection
US10424072B2 (en) 2016-03-01 2019-09-24 Samsung Electronics Co., Ltd. Leveraging multi cues for fine-grained object classification
JP2017191374A (en) * 2016-04-11 2017-10-19 シャープ株式会社 Organism determination device, terminal apparatus, control method of organism determination device, and control program
CN105912908A (en) * 2016-04-14 2016-08-31 苏州优化智能科技有限公司 Infrared-based real person living body identity verification method
CN105930780A (en) * 2016-04-14 2016-09-07 苏州优化智能科技有限公司 Near infrared and micro expression based living body identity verification method
JP2017208616A (en) * 2016-05-16 2017-11-24 キヤノン株式会社 Image processing apparatus, image processing method, and program
US10579860B2 (en) 2016-06-06 2020-03-03 Samsung Electronics Co., Ltd. Learning model for salient facial region detection
CN106446831B (en) * 2016-09-24 2021-06-25 江西欧迈斯微电子有限公司 Face recognition method and device
CN107992728B (en) * 2016-10-27 2022-05-20 腾讯科技(深圳)有限公司 Face verification method and device
JP7040457B2 (en) 2016-10-31 2022-03-23 日本電気株式会社 Image processing device, image processing method, face recognition system and program
CN108229326A (en) * 2017-03-16 2018-06-29 北京市商汤科技开发有限公司 Face false-proof detection method and system, electronic equipment, program and medium
US10515199B2 (en) * 2017-04-19 2019-12-24 Qualcomm Incorporated Systems and methods for facial authentication
US10657401B2 (en) * 2017-06-06 2020-05-19 Microsoft Technology Licensing, Llc Biometric object spoof detection based on image intensity variations
TWI630559B (en) * 2017-06-22 2018-07-21 佳世達科技股份有限公司 Image capturing device and image capturing method
CN109583285B (en) * 2017-09-29 2023-03-07 阿里巴巴集团控股有限公司 Object recognition method
US10726245B2 (en) * 2017-12-12 2020-07-28 Black Sesame International Holding Limited Secure facial authentication system using active infrared light source and RGB-IR sensor
CN109977741A (en) * 2017-12-28 2019-07-05 北京京东尚科信息技术有限公司 Face identification method, device, system and medium
CN108376239B (en) * 2018-01-25 2021-10-15 努比亚技术有限公司 Face recognition method, mobile terminal and storage medium
JP2018152079A (en) * 2018-03-23 2018-09-27 日本電気株式会社 Detector
JP6819653B2 (en) * 2018-07-09 2021-01-27 日本電気株式会社 Detection device
CN109271954B (en) * 2018-09-29 2022-04-22 北京百度网讯科技有限公司 Method and device for detecting reliability of model
CN111222380B (en) * 2018-11-27 2023-11-03 杭州海康威视数字技术股份有限公司 Living body detection method and device and recognition model training method thereof
CN109871773A (en) * 2019-01-21 2019-06-11 深圳市云眸科技有限公司 Biopsy method, device and door access machine
US10970574B2 (en) * 2019-02-06 2021-04-06 Advanced New Technologies Co., Ltd. Spoof detection using dual-band near-infrared (NIR) imaging
FR3095064A1 (en) 2019-04-09 2020-10-16 Cynove BIOMETRIC DOUBT-RELATED PROCESSES AND DEVICES
CN110503023A (en) * 2019-08-19 2019-11-26 深圳市商汤科技有限公司 Biopsy method and device, electronic equipment and storage medium
KR102349424B1 (en) * 2019-12-31 2022-01-11 주식회사 에이블에이아이 Personal identification apparatus using face recongintion
JP2020074241A (en) * 2020-02-12 2020-05-14 日本電気株式会社 Detector
CN111178341B (en) * 2020-04-10 2021-01-26 支付宝(杭州)信息技术有限公司 Living body detection method, device and equipment
CN111611977B (en) * 2020-06-05 2021-10-15 吉林求是光谱数据科技有限公司 Face recognition monitoring system and recognition method based on spectrum and multiband fusion
CN112016478B (en) * 2020-08-31 2024-04-16 中国电子科技集团公司第三研究所 Complex scene recognition method and system based on multispectral image fusion
DE102020214713A1 (en) 2020-11-24 2022-05-25 Robert Bosch Gesellschaft mit beschränkter Haftung Method of distinguishing a real person from a surrogate
JP2021047929A (en) * 2020-12-28 2021-03-25 日本電気株式会社 Information processor
WO2022150874A1 (en) * 2021-01-13 2022-07-21 Seeing Machines Limited System and method for skin detection in images
US11741747B2 (en) 2021-01-13 2023-08-29 Ford Global Technologies, Llc Material spectroscopy
US11657589B2 (en) * 2021-01-13 2023-05-23 Ford Global Technologies, Llc Material spectroscopy
US11636700B2 (en) 2021-05-21 2023-04-25 Ford Global Technologies, Llc Camera identification
US11769313B2 (en) 2021-05-21 2023-09-26 Ford Global Technologies, Llc Counterfeit image detection
US11967184B2 (en) * 2021-05-21 2024-04-23 Ford Global Technologies, Llc Counterfeit image detection
CN113297978B (en) * 2021-05-26 2024-05-03 奥比中光科技集团股份有限公司 Living body detection method and device and electronic equipment
CN113297977B (en) * 2021-05-26 2023-12-22 奥比中光科技集团股份有限公司 Living body detection method and device and electronic equipment
CN113516089B (en) * 2021-07-27 2024-04-12 中国平安人寿保险股份有限公司 Face image recognition method, device, equipment and readable storage medium

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2823564B2 (en) 1988-05-27 1998-11-11 日本電信電話株式会社 Organism detection device
US6496594B1 (en) 1998-10-22 2002-12-17 Francine J. Prokoski Method and apparatus for aligning and comparing images of the face and body from different imagers
US6424727B1 (en) 1998-11-25 2002-07-23 Iridian Technologies, Inc. System and method of animal identification and animal transaction authorization using iris patterns
US6820979B1 (en) 1999-04-23 2004-11-23 Neuroptics, Inc. Pupilometer with pupil irregularity detection, pupil tracking, and pupil response detection capability, glaucoma screening capability, intracranial pressure detection capability, and ocular aberration measurement capability
US6920236B2 (en) 2001-03-26 2005-07-19 Mikos, Ltd. Dual band biometric identification system
US7027619B2 (en) * 2001-09-13 2006-04-11 Honeywell International Inc. Near-infrared method and system for use in face detection
US7469160B2 (en) 2003-04-18 2008-12-23 Banks Perry S Methods and apparatus for evaluating image focus
JP4387643B2 (en) 2002-07-31 2009-12-16 富士通株式会社 Processing device with personal recognition function
US8190239B2 (en) 2002-09-03 2012-05-29 Fujitsu Limited Individual identification device
US7460696B2 (en) 2004-06-01 2008-12-02 Lumidigm, Inc. Multispectral imaging biometrics
GB0316631D0 (en) 2003-07-16 2003-08-20 Omniperception Ltd Facial liveness assessment system
US7379567B2 (en) 2003-07-17 2008-05-27 Matsushita Electric Industrial Co., Ltd. Iris code generation method, individual authentication method, iris code entry device, individual authentication device, and individual certification program
JP4254418B2 (en) 2003-08-18 2009-04-15 Kddi株式会社 Personal authentication apparatus and method, and portable communication terminal
JP4470434B2 (en) 2003-10-06 2010-06-02 富士ゼロックス株式会社 Motion identification device and object posture identification device
FR2864290B1 (en) 2003-12-18 2006-05-26 Sagem METHOD AND DEVICE FOR RECOGNIZING IRIS
KR100682898B1 (en) 2004-11-09 2007-02-15 삼성전자주식회사 Imaging apparatus using infrared ray and image discrimination method thereof
US7469060B2 (en) 2004-11-12 2008-12-23 Honeywell International Inc. Infrared face detection and recognition system
US7602942B2 (en) 2004-11-12 2009-10-13 Honeywell International Inc. Infrared and visible fusion face recognition system
EP2083259A1 (en) * 2004-12-07 2009-07-29 Clean Earth Technologies, Llc Method and apparatus for standoff detection of liveness
EP1829479A1 (en) 2005-02-16 2007-09-05 Matsushita Electric Industrial Co., Ltd. Biometric discrimination device, authentication device, and biometric discrimination method
JP4696610B2 (en) 2005-03-15 2011-06-08 オムロン株式会社 Subject authentication device, face authentication device, mobile phone, and subject authentication method
US8260008B2 (en) 2005-11-11 2012-09-04 Eyelock, Inc. Methods for performing biometric recognition of a human eye and corroboration of same
US20070248330A1 (en) * 2006-04-06 2007-10-25 Pillman Bruce H Varying camera self-determination based on subject motion
CN103336941A (en) 2006-07-19 2013-10-02 光谱辨识公司 Multibiometric multispectral imager
US7801339B2 (en) 2006-07-31 2010-09-21 Lumidigm, Inc. Biometrics with spatiospectral spoof detection
US8965063B2 (en) 2006-09-22 2015-02-24 Eyelock, Inc. Compact biometric acquisition system and method
US8953849B2 (en) 2007-04-19 2015-02-10 Eyelock, Inc. Method and system for biometric recognition
US20090060286A1 (en) 2007-09-04 2009-03-05 General Electric Company Identification system and method utilizing iris imaging
EP2947592B1 (en) 2007-09-24 2021-10-27 Apple Inc. Embedded authentication systems in an electronic device
US8411910B2 (en) 2008-04-17 2013-04-02 Biometricore, Inc. Computationally efficient feature extraction and matching iris recognition
US8345936B2 (en) 2008-05-09 2013-01-01 Noblis, Inc. Multispectral iris fusion for enhancement and interoperability
FR2931979B1 (en) 2008-06-02 2014-02-28 Advanced Track & Trace METHOD AND DEVICE FOR IDENTIFYING A PRINTING PLATE OF A DOCUMENT
CN101404060B (en) 2008-11-10 2010-06-30 北京航空航天大学 Human face recognition method based on visible light and near-infrared Gabor information amalgamation
JP4702441B2 (en) 2008-12-05 2011-06-15 ソニー株式会社 Imaging apparatus and imaging method
US8374404B2 (en) 2009-02-13 2013-02-12 Raytheon Company Iris recognition using hyper-spectral signatures
US8503778B2 (en) 2009-05-14 2013-08-06 National University Of Singapore Enhancing photograph visual quality using texture and contrast data from near infra-red images
JP2011243862A (en) 2010-05-20 2011-12-01 Sony Corp Imaging device and imaging apparatus
US8408821B2 (en) 2010-10-12 2013-04-02 Omnivision Technologies, Inc. Visible and infrared dual mode imaging system
CN101964056B (en) 2010-10-26 2012-06-27 徐勇 Bimodal face authentication method with living body detection function and system
US8897522B2 (en) 2012-05-30 2014-11-25 Xerox Corporation Processing a video for vascular pattern detection and cardiac function analysis
US8411909B1 (en) 2012-06-26 2013-04-02 Google Inc. Facial recognition
WO2014028911A2 (en) 2012-08-16 2014-02-20 Potter Darrel V Structure formed from panels joined with universal clamping brackets
US9996726B2 (en) 2013-08-02 2018-06-12 Qualcomm Incorporated Feature identification using an RGB-NIR camera pair
US20160019421A1 (en) 2014-07-15 2016-01-21 Qualcomm Incorporated Multispectral eye analysis for identity authentication
US20160019420A1 (en) 2014-07-15 2016-01-21 Qualcomm Incorporated Multispectral eye analysis for identity authentication
US20170091550A1 (en) 2014-07-15 2017-03-30 Qualcomm Incorporated Multispectral eye analysis for identity authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2014004179A1 *

Also Published As

Publication number Publication date
JP2015528942A (en) 2015-10-01
US10452894B2 (en) 2019-10-22
WO2014004179A1 (en) 2014-01-03
US20130342702A1 (en) 2013-12-26
CN104364798B (en) 2019-04-02
KR20150022016A (en) 2015-03-03
CN104364798A (en) 2015-02-18
JP6242888B2 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
US10452894B2 (en) Systems and method for facial verification
US10691939B2 (en) Systems and methods for performing iris identification and verification using mobile devices
US11294996B2 (en) Systems and methods for using machine learning for image-based spoof detection
WO2019134536A1 (en) Neural network model-based human face living body detection
EP2962278B1 (en) Multi-spectral imaging system for shadow detection and attenuation
WO2019137178A1 (en) Face liveness detection
KR20190001066A (en) Face verifying method and apparatus
US11995916B2 (en) Electronic device capable of identifying ineligible object
EP2357589A2 (en) Image recognition apparatus and method
EP3644599B1 (en) Video processing method and apparatus, electronic device, and storage medium
KR20190089387A (en) Liveness test method and apparatus
EP2580711A2 (en) Distinguishing live faces from flat surfaces
TWI731503B (en) Live facial recognition system and method
CN111191521B (en) Face living body detection method and device, computer equipment and storage medium
CN109726613B (en) Method and device for detection
JPWO2020213166A1 (en) Image processing device, image processing method, and image processing program
JP2017157043A (en) Image processing device, imaging device, and image processing method
Hadwiger et al. Towards learned color representations for image splicing detection
JP2010122993A (en) Face authentication system
JP6878826B2 (en) Shooting device
JP7450668B2 (en) Facial recognition methods, devices, systems, electronic devices and readable storage media
KR20120002110A (en) Computer security system using hand shape image, computer security method using hand shape image and recording medium thereof
CN115880787A (en) Face living body detection method, system, terminal equipment and storage medium

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20141128

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20160628

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20161109