US20160048736A1 - False face representation identification - Google Patents
False face representation identification Download PDFInfo
- Publication number
- US20160048736A1 US20160048736A1 US14/458,134 US201414458134A US2016048736A1 US 20160048736 A1 US20160048736 A1 US 20160048736A1 US 201414458134 A US201414458134 A US 201414458134A US 2016048736 A1 US2016048736 A1 US 2016048736A1
- Authority
- US
- United States
- Prior art keywords
- face
- candidate face
- data streams
- false representation
- human face
- 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.)
- Granted
Links
Images
Classifications
-
- G06K9/00899—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/40—Spoof detection, e.g. liveness detection
-
- G06K9/00268—
-
- G06K9/00288—
-
- G06K9/4652—
-
- G06K9/52—
-
- G06T7/0051—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/166—Detection; Localisation; Normalisation using acquisition arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Definitions
- Face recognition technology may be utilized to identify a person in various applications and contexts.
- applications and contexts may include, for example, computing system natural user interfaces, security systems, identity authentication systems, and the like.
- facial recognition systems may be deceived by, for example, presenting a printed photograph of a face, displaying a static or video image of a face on device display, or presenting a three-dimensional (3D) mask of a person's face.
- a single data stream related to a captured image of a face may be analyzed.
- the increasing variety and sophistication of methods for forging face biometrics makes such approaches less effective.
- cooperation and/or movement by the user is needed to effectuate the detection.
- Such approaches inconvenience a user and present additional delays to the user's intended actions.
- a method may include receiving a plurality of different data streams captured by a respective plurality of sensors of differing sensor types sensing a candidate face.
- a cascading plurality of stages one or more of the plurality of different data streams may be analyzed, wherein each of the cascading plurality of stages comprises a different analysis.
- the method may determine that one or more of the different data streams corresponds to the false representation of the human face. Based on this determination, an indication of the false representation of the human face may be outputted.
- FIG. 1 is a schematic view of a computing device for identifying a false representation of a human face according to an example of the present disclosure.
- FIG. 2 is an example of an infrared pattern of a human face.
- FIG. 3 is an example of an infrared pattern of a printed photograph containing an image of a human face.
- FIGS. 4A and 4B are a flow diagram illustrating a method for identifying a false representation of a human face according to one example of the present disclosure.
- FIG. 5 is a simplified schematic illustration of an embodiment of a computing device.
- FIG. 1 is a schematic illustration of a computing device 10 according to an embodiment of the present disclosure.
- the computing device 10 may be used to perform methods for identifying a false representation of a human face.
- Computing device 10 may take the form of a gaming console, mobile communication device, multi-touch display device, desktop computer, laptop computer, tablet computer, networking computer, set-top box (e.g. cable television box, satellite television box), or any other type of suitable computing device.
- computing device 10 may comprise an embedded system within a larger electronic or mechanical device or system. Additional details regarding the components and computing aspects of the computing device 10 are described in more detail below with respect to FIG. 5 .
- the computing device 10 may include a false representation detection program 14 that may be stored in mass storage 18 of the computing device.
- the false representation detection program 14 may be loaded into memory 22 and executed by a processor 26 of the computing device 10 to perform one or more of the methods and processes for identifying a false representation of a human face and outputting such indication, as described in more detail below.
- the computing device 10 may also include a facial recognition program 30 that may be stored in mass storage 18 , loaded into memory 22 and executed by processor to authenticate the identity of a person. For example, a captured visible image of a person (still image or video) may be analyzed using face recognition techniques and compared to a reference image of the person. Where the captured image matches the reference image, the identity of the person in the captured image may be authenticated. It will be appreciated that any suitable facial recognition techniques, algorithms and technologies may be utilized to perform such identification.
- the false representation detection program 14 may output an indication of a false representation of a human face to the facial recognition program 30 .
- the facial recognition program 30 may take appropriate action to deny an attempted access, log-on or other request associated with the false representation.
- the false representation detection program 14 may output an indication of a true representation of a human face to the facial recognition program 30 .
- the facial recognition program 30 may proceed to determine an authenticity of the captured image.
- a facial recognition program 30 may be stored in mass storage of a separate computing device 12 that is communicatively coupled to computing device 10 via a wired connection or a network, such as network 34 .
- Network 34 may take the form of a local area network (LAN), wide area network (WAN), wired network, wireless network, personal area network, or a combination thereof, and may include the Internet. It will be appreciated that the computing device 10 also may be operatively connected with one or more additional devices via network 34 .
- the false representation detection program 14 may alternatively or additionally output an indication of a false representation of a human face to a user via a display 38 , audio speaker 40 , electronic communication (text message, email, etc.), and/or any other suitable output modality.
- the indication may comprise a value indicating that candidate face data corresponds to a false representation of a human face.
- the computing device 10 may include a plurality of sensors of differing sensor types that are each configured to sense different data streams. Each sensor may capture data streams from a subject within the field of view of the sensor, with the data streams including data representing a candidate face that may be an actual human face or a false representation of a human face.
- FIG. 1 schematically illustrates one example of a human user 42 having a human face 44 . It will be appreciated that data including the candidate face may also include features of the face and/or head of the reference subject such as, for example, ears, chin, forehead, hairline, etc.
- the plurality of sensors may comprise a color sensor 48 , such as a red-green-blue (RGB) sensor, that captures color image data in a color information data stream 50 .
- the color sensor 48 may comprise a plurality of active pixel sensors, such as CMOS sensors, or any other suitable type of color-capable sensor.
- the color information data stream 50 may comprise one or more digital images and/or digital video.
- the plurality of sensors may comprise an infrared (IR) sensor 54 that captures IR radiation data in an IR data stream 56 .
- the IR sensor 54 may comprise a thermographic camera that uses uncooled IR sensors or any other suitable type of IR sensor.
- the IR data stream 56 may comprise one or more digital images and/or digital video.
- the plurality of sensors may comprise a depth sensor system 60 that includes one or more depth cameras that generate a depth information data stream 62 .
- Depth sensor system 60 may create a depth map of a candidate face, and also may detect movements within its field of view, such as gesture-based inputs or other movements performed by a person or physical object within the depth cameras' field of view.
- each depth camera may include left and right cameras of a stereoscopic vision system. Time-resolved images from one or more of these depth cameras may be registered to each other and/or to images from another optical sensor, such as a color sensor 48 , and may be combined to yield depth-resolved video.
- a structured light depth camera may be configured to project structured IR illumination, and to image the illumination reflected from a candidate face onto which the illumination is projected.
- a depth map of the candidate face may be constructed based on spacings between adjacent features in the various regions of an imaged face.
- a depth camera may take the form of a time-of-flight depth camera configured to project a pulsed IR illumination onto a candidate face and detect the illumination reflected from the face. It will be appreciated that any other suitable depth camera may be used within the scope of the present disclosure.
- the color sensor 48 , IR sensor 54 , and depth sensor system 60 may be integrated into the computing device 10 as shown in FIG. 1 , or may be physically separated from the computing device.
- an imposter 66 may attempt to spoof a facial recognition program 30 with a printed photograph 70 of a printed image 72 of the face 44 of the human user 42 .
- the imposter 66 may be attempting to log on to an on-line social networking account of the user 42 via a web camera of the user's laptop computer that comprises a color sensor 48 .
- the imposter 66 may position the photograph 70 in front of the web camera in an attempt to spoof the facial biometrics of the user's face 44 .
- the imposter 66 may use a mobile communication device 74 , such as a smart phone, to display a displayed image 76 of the user's face 44 .
- the imposter 66 may present the displayed image 76 to a camera comprising a color sensor 48 embedded in a desktop display that is communicatively coupled to a desktop computer.
- the imposter 66 may use a multi-touch display device 78 , such as a tablet computer, to display a displayed image 80 of the user's face 44 .
- the imposter 66 may present the displayed image 80 to an imaging system in a gaming console comprising a color sensor 48 , infrared sensor 54 and depth sensor system 60 .
- the imposter 66 may wear a physical, three-dimensional mask 82 made of a life-like material, such as silicone, that is constructed to duplicate the user's face 44 .
- each of the color sensor 48 , IR sensor 54 and depth sensor system 60 may receive respective data streams from sensing a candidate face, such as the printed photograph 70 or the actual face 44 of user 42 . More particularly, the color data stream 50 , IR data stream 56 and depth information data stream 62 may be received by the color sensor 48 , IR sensor 54 and depth sensor system 60 , respectively. As described in more detail below, the false representation detection program 14 may analyze one or more of these different data streams in a cascading plurality of stages, where each stage comprises a different analysis.
- the different analysis of each stage of the cascading plurality of stages may be configured to identify one or more different types of spoofing attempts. In this manner, the cascading plurality of stages may be configured to detect a wide variety of different spoofing attempts. In some examples, each of the different stages and corresponding analyses may be configured to detect a different sub-group of attempted spoofing techniques or modalities. In some examples, two or more of the cascading plurality of stages may be configured to detect the same attempted spoofing technique or modality.
- the cascading plurality of stages are arranged and performed sequentially in a predetermined order.
- the false representation detection program 14 may comprise a first stage 86 , second stage 90 , third stage 94 , fourth stage 98 and fifth stage 102 . It will be appreciated that in other examples, the false representation detection program 14 may comprise fewer stages or more stages than those depicted in FIG. 1 .
- the predetermined order of the cascading plurality of stages may be configured to sequentially detect various spoofing attempts in order of escalating difficulty of detection.
- a level of detection difficulty of a particular spoofing attempt may correspond to a relative frequency of successful identifications of a false representation of a human face and/or unsuccessful identifications of a false representation of a human face.
- a level of detection difficulty of a particular spoofing attempt may correspond to a computational complexity associated with detecting such an attempt.
- the predetermined order of the cascading plurality of stages may be configured to sequentially detect various spoofing attempts in order of decreasing commonality of attempts, beginning with more common spoofing attempts and ending with less common spoofing attempts.
- the false representation detection program 14 may be configured to more quickly identify the more common spoofing attempts, and accordingly decrease delays associated with the detection process.
- the false representation detection program 14 may output a corresponding indication and forego performing any remaining stages in the cascade. Accordingly, and in another potential advantage of the present disclosure, by executing a cascading plurality of stages in this manner, the false representation detection program 14 may decrease the processing time needed to detect a false representation of a human face. User waiting time is also correspondingly reduced.
- each of the cascading plurality of stages avoids incorporating or otherwise utilizing user movement in their analyses. Accordingly and in another potential advantage of the present disclosure, false representations of a human face may be identified without burdening the user with requested user movements or additional user interventions.
- a first stage 86 of the cascading plurality of stages may be configured to utilize the infrared data stream 56 to determine whether an infrared candidate face pattern of a candidate face, such as printed image 72 of face 44 , matches a predetermined infrared human face pattern 88 .
- the wavelength of the IR radiation used to capture the infrared candidate face pattern may be centered at 865 nanometers (nm), and may range between 855 nm to 875 nm.
- FIG. 2 illustrates an example infrared human face pattern 88 .
- the false representation detection program 14 may determine whether the infrared candidate face pattern has an IR pattern that is generally characteristic of a human face. As schematically illustrated in FIG. 3 , the displayed image 80 of face 44 on multi-touch display device 78 may exhibit a very small or essentially no IR signature, which creates an infrared candidate face pattern 302 that does not match infrared human face pattern 88 . In some examples, pattern matching between an infrared candidate face pattern and a predetermined infrared human face pattern 88 may be performed using any suitable statistical classification algorithm. In some examples, the first stage 86 also may utilize color data stream 50 to determine whether a color image of a candidate face, such as printed image 72 of face 44 , matches a predetermined color human face.
- a second stage 90 of the cascading plurality of stages may be configured to utilize the depth information data stream 62 and the color data stream 50 to determine whether the size of a candidate face, such as displayed image 76 of face 44 on mobile communication device 74 , is within a predetermined range of human face sizes 92 .
- a predetermined range of human face sizes 92 may comprise a range between an average face size of a young adult to an average face size of a mature adult. It will also be appreciated that any suitable predetermined range of human face sizes may be utilized.
- a displayed image 76 of face 44 on mobile communication device 74 may be significantly smaller than the actual face 44 of human user 44 , and may not fall within a predetermined range of human face sizes 92 .
- an image distance from the depth sensor system 60 to the displayed image 76 on mobile communication device 74 may be determined utilizing the depth information data stream 62 .
- the false representation detection program 14 may also utilize the color data stream 50 to measure an interpupillary distance between the pupils of the eyes in displayed image 76 .
- the false representation detection program 14 may select a predetermined range of average human interpupillary distances that corresponds with such image distance.
- an average human interpupillary distance 84 may be 64 mm, and an example range of human interpupillary distances may be 52 mm to 78 mm.
- the false representation detection program 14 may adjust the example range of human interpupillary distances to account for the image distance. For example, as the image distance increases, the example range of human interpupillary distances may be correspondingly reduced. The false representation detection program 14 may then determine whether the measured interpupillary distance of the eyes in displayed image 76 falls within the adjusted predetermined range of human interpupillary distances. If it does not, then an indication of a false representation of a human face may be outputted.
- determining whether the size of a candidate face, such as displayed image 80 of face 44 on multi-touch display device 78 , is within a predetermined range of human face sizes 92 may comprise measuring the size of a face detection bounding box.
- the false representation detection program 14 may analyze the color data stream 50 and/or IR data stream 56 to detect the displayed image 80 of face 44 , and establish a face detection bounding box around the image.
- the false representation detection program 14 may acquire a face detection bounding box corresponding to the displayed image 80 from a facial recognition program 30 .
- the false representation detection program 14 may compare the size of the face detection bounding box around the displayed image 80 with a predetermined size of a face detection bounding box around an actual human face that is adjusted for the image distance. The false representation detection program 14 may then determine whether the size of the face detection bounding box around the displayed image 80 falls within an adjusted predetermined range of sizes of face detection bounding boxes of human faces. If it does not, then an indication of a false representation of a human face may be outputted.
- the false representation detection program 14 may analyze the alignment of one or more facial landmarks in a candidate face to determine a size of the face. Using an image distance to adjust a predetermined range of corresponding facial landmarks of actual human faces as described above, the false representation detection program 14 may then determine whether the size of the candidate face falls within a predetermined range of actual human face sizes.
- a third stage 94 of the cascading plurality of stages may be configured to utilize the depth information data stream 62 to determine whether a plurality of candidate face depth points lies on a single flat plane or on a curving plane. It will be appreciated that paper or other flat media containing a printed image of a face will be planar, whether substantially flat or curving. Similarly, a display screen of a display device will typically be planar.
- the false representation detection program 14 may utilize the depth information data stream 62 to generate three-dimensional (3D) coordinates of a candidate face, such as the printed image 72 on photograph 70 of face 44 .
- 3D coordinates may be fitted to a facial point plane.
- a least squares data fitting method may be used to find the facial point plane.
- the false representation detection program 14 may determine if the sum of the distances from the 3D coordinates of the candidate face to the facial point plane is less than a predetermined planar threshold. If they are, then an indication of a false representation of a human face may be outputted.
- a fourth stage 98 of the cascading plurality of stages may be configured to analyze a plurality of image frames of the candidate face for changes in color that indicate blood flow in the candidate face. For spoofing attempts that utilize a physical 3D mask or a still image, whether printed or displayed, identifying a lack of blood flow in the candidate face may signal a false representation of a face.
- fluctuations in the color of the skin of the candidate face may be analyzed to identify the presence or absence of blood flow.
- the IR data stream 56 and/or color data stream 50 may be analyzed to identify such fluctuations.
- Frame-by-frame video data may be provided to a blood flow identification classifier that identifies patterns over time consistent with blood flow and/or a human pulse.
- a fifth stage 102 of the cascading plurality of stages may be configured to extract a candidate face texture feature from one or more of the color data stream 50 and the IR data stream 56 of a candidate face.
- the false representation detection program 14 may determine whether the candidate face texture feature corresponds to a human face texture feature 106 .
- the texture of actual human skin is very different from the texture of paper or other printed media, a display screen, or a 3D silicone mask.
- image artifacts representing texture differences between an actual human face and a false representation of a face may be identified in the color data stream 50 and/or IR data stream 56 .
- the false representation detection program 14 may extract one or more candidate face texture features from images of the candidate face. Such features may be analyzed using a classifier trained to differentiate actual human face texture features 106 from texture features of a false representation of a face.
- a local binary pattern (LBP) feature vector and Difference of Gaussians (DoG) feature enhancement algorithm may be utilized to differentiate actual human face texture features 106 from texture features of a false representation of a face.
- LBP local binary pattern
- DoG Difference of Gaussians
- a support vector machine (SVM), random forest classifier, and/or other supervised learning models with associated learning algorithms may be utilized to analyze the data and recognize patterns consistent with either a human face or a false representation of a face.
- a false representation of a human face may exhibit a high frequency component loss that exceeds a predetermined loss threshold. For example, a printed image of a photograph of a human face will lose high frequency information and corresponding detail during compression of the digital image and rendering and printing of the compressed image onto media.
- a region of the candidate face may be analyzed to determine an amount of variation in color data in that region. Such amount may then be compared to a predetermined reference amount of color data variation corresponding to an image of an actual human face captured directly by one of the sensors. Using such comparison, a color variation component loss may be determined. If such color variation component loss exceeds a predetermined loss threshold, then the false representation detection program 14 may output an indication of a false representation of a human face.
- data generated by the false representation detection program 14 may be provided to a cloud-based system via network 34 to facilitate improvement of the program.
- data related to each of the cascading plurality of stages such as frequency of successful false representation detection, false positives, and the like, may be utilized to enhance performance of the false representation detection program 14 .
- the method 400 may be performed using the hardware and software components of the computing device 10 described above, or using any other suitable components.
- the method 400 may include receiving a plurality of different data streams captured by a respective plurality of sensors of differing sensor types sensing a candidate face.
- the plurality of different data streams may comprise an infrared data stream.
- the plurality of different data streams may comprise a depth information data stream.
- the plurality of different data streams may comprise a color information data stream.
- the plurality of different data streams of a candidate face may be received at a computing device selected from the group consisting of a gaming console, a mobile communication device, and a multi-touch display device.
- the method 400 may include, in a cascading plurality of stages, analyzing one or more of the plurality of different data streams, wherein each of the cascading plurality of stages comprises a different analysis.
- the method 400 may include a first stage comprising determining whether an infrared candidate face pattern of the candidate face matches a predetermined infrared human face pattern.
- the method 400 may include a second stage comprising determining whether a candidate face size of the candidate face is within a predetermined range of human face sizes.
- the method 400 may include determining whether a candidate face size of the candidate face is within a predetermined range of human face sizes by measuring an interpupillary distance of the candidate face.
- the method 400 may include determining whether the interpupillary distance of the candidate face falls within a predetermined range of an average human interpupillary distance.
- the method 400 may include a third stage comprising determining whether a plurality of candidate face depth points lies on a single flat plane or a curving plane.
- the method 400 may include a fourth stage comprising analyzing a plurality of image frames of the candidate face for changes in color that indicate blood flow in the candidate face.
- the method 400 may include a fifth stage comprising extracting a candidate face texture feature from one or more of the infrared data stream and the color information data stream of the candidate face, and determining whether the candidate face texture feature corresponds to a human face texture feature.
- the method 400 may include determining whether a high frequency component loss in one or more of the infrared data stream and the color information data stream of the candidate face exceeds a predetermined loss threshold.
- the method 400 may include, in one of the cascading plurality of stages, determining that one or more of the different data streams corresponds to the false representation of the human face.
- the method 400 may include, based on determining that one or more of the different data streams corresponds to the false representation of the human face, outputting an indication of the false representation of the human face.
- method 400 is provided by way of example and is not meant to be limiting. Therefore, it is to be understood that method 400 may include additional and/or alternative steps than those illustrated in FIGS. 4A and 4B . Further, it is to be understood that method 400 may be performed in any suitable order. Further still, it is to be understood that one or more steps may be omitted from method 400 without departing from the scope of this disclosure.
- FIG. 5 schematically shows a nonlimiting example of a computing system 500 that may perform one or more of the above described methods and processes.
- Computing device 10 and computing device 12 may take the form of or include one or more aspects of computing system 500 .
- Computing system 500 is shown in simplified form. It is to be understood that virtually any computer architecture may be used without departing from the scope of this disclosure.
- computing system 500 may take the form of a mainframe computer, server computer, desktop computer, tablet computer, home entertainment computer, gaming console, network computing device, tablet, notebook, smartphone, multi-touch display device, or other mobile computing device, mobile communication device, etc.
- computing system 500 includes a logic subsystem 504 and a storage subsystem 508 .
- Computing system 500 may optionally include a sensor subsystem 512 , display subsystem 516 , communication subsystem 520 , input subsystem 522 and/or other subsystems and components not shown in FIG. 5 .
- Computing system 500 may also include computer readable media, with the computer readable media including computer readable storage media and computer readable communication media.
- Computing system 500 may also optionally include other user input devices such as keyboards, mice, game controllers, and/or touch screens, for example.
- the methods and processes described herein may be implemented as a computer application, computer service, computer API, computer library, and/or other computer program product in a computing system that includes one or more computers.
- Logic subsystem 504 may include one or more physical devices configured to execute one or more instructions.
- the logic subsystem 504 may be configured to execute one or more instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs.
- Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more devices, or otherwise arrive at a desired result.
- the logic subsystem 504 may include one or more processors that are configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic subsystem may be single core or multicore, and the programs executed thereon may be configured for parallel or distributed processing. The logic subsystem may optionally include individual components that are distributed throughout two or more devices, which may be remotely located and/or configured for coordinated processing. One or more aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration.
- Storage subsystem 508 may include one or more physical, persistent devices configured to hold data and/or instructions executable by the logic subsystem 504 to implement the herein described methods and processes. When such methods and processes are implemented, the state of storage subsystem 508 may be transformed (e.g., to hold different data).
- Storage subsystem 508 may include removable media and/or built-in devices.
- Storage subsystem 508 may include optical memory devices (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory devices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), among others.
- Storage subsystem 508 may include devices with one or more of the following characteristics: volatile, nonvolatile, dynamic, static, read/write, read-only, random access, sequential access, location addressable, file addressable, and content addressable.
- aspects of logic subsystem 504 and storage subsystem 508 may be integrated into one or more common devices through which the functionally described herein may be enacted, at least in part.
- Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC) systems, and complex programmable logic devices (CPLDs), for example.
- FIG. 5 also shows an aspect of the storage subsystem 508 in the form of removable computer readable storage media 524 , which may be used to store data and/or instructions executable to implement the methods and processes described herein.
- Removable computer-readable storage media 524 may take the form of CDs, DVDs, HD-DVDs, Blu-Ray Discs, EEPROMs, and/or floppy disks, among others.
- storage subsystem 508 includes one or more physical, persistent devices.
- aspects of the instructions described herein may be propagated in a transitory fashion by a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for at least a finite duration.
- a pure signal e.g., an electromagnetic signal, an optical signal, etc.
- data and/or other forms of information pertaining to the present disclosure may be propagated by a pure signal via computer-readable communication media.
- sensor subsystem 512 may include one or more sensors configured to sense different physical phenomenon (e.g., visible light, infrared light, sound, acceleration, orientation, position, etc.) as described above.
- Sensor subsystem 512 may be configured to provide sensor data to logic subsystem 504 , for example.
- Such data may include image information, ambient lighting information, depth information, gaze tracking information, audio information, position information, motion information, user location information, and/or any other suitable sensor data that may be used to perform the methods and processes described above.
- display subsystem 516 may be used to present a visual representation of data held by storage subsystem 508 .
- the display subsystem 516 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 504 and/or storage subsystem 508 in a shared enclosure, or such display devices may be peripheral display devices.
- communication subsystem 520 may be configured to communicatively couple computing system 500 with one or more networks and/or one or more other computing devices.
- Communication subsystem 520 may include wired and/or wireless communication devices compatible with one or more different communication protocols.
- the communication subsystem 520 may be configured for communication via a wireless telephone network, a wireless local area network, a wired local area network, a wireless wide area network, a wired wide area network, etc.
- the communication subsystem may allow computing system 500 to send and/or receive messages to and/or from other devices via a network such as the Internet.
- input subsystem 522 may comprise or interface with one or more sensors or user-input devices such as a game controller, gesture input detection device, voice recognizer, inertial measurement unit, keyboard, mouse, or touch screen.
- the input subsystem 522 may comprise or interface with selected natural user input (NUI) componentry.
- NUI natural user input
- Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board.
- program may be used to describe an aspect of computing device 10 that is implemented to perform one or more particular functions. In some cases, such a program may be instantiated via logic subsystem 504 executing instructions held by storage subsystem 508 . It is to be understood that different programs may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same program may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc.
- program is meant to encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
Abstract
Description
- Face recognition technology may be utilized to identify a person in various applications and contexts. Such applications and contexts may include, for example, computing system natural user interfaces, security systems, identity authentication systems, and the like. However, in some cases facial recognition systems may be deceived by, for example, presenting a printed photograph of a face, displaying a static or video image of a face on device display, or presenting a three-dimensional (3D) mask of a person's face.
- In some prior approaches for detecting such deceptions, a single data stream related to a captured image of a face may be analyzed. However, the increasing variety and sophistication of methods for forging face biometrics makes such approaches less effective. Additionally and in some approaches, cooperation and/or movement by the user is needed to effectuate the detection. Such approaches inconvenience a user and present additional delays to the user's intended actions.
- To address the above issues, methods and computing devices for identifying a false representation of a human face are provided. In one example, a method may include receiving a plurality of different data streams captured by a respective plurality of sensors of differing sensor types sensing a candidate face. In a cascading plurality of stages, one or more of the plurality of different data streams may be analyzed, wherein each of the cascading plurality of stages comprises a different analysis. In one of the cascading plurality of stages, the method may determine that one or more of the different data streams corresponds to the false representation of the human face. Based on this determination, an indication of the false representation of the human face may be outputted.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
-
FIG. 1 is a schematic view of a computing device for identifying a false representation of a human face according to an example of the present disclosure. -
FIG. 2 is an example of an infrared pattern of a human face. -
FIG. 3 is an example of an infrared pattern of a printed photograph containing an image of a human face. -
FIGS. 4A and 4B are a flow diagram illustrating a method for identifying a false representation of a human face according to one example of the present disclosure. -
FIG. 5 is a simplified schematic illustration of an embodiment of a computing device. -
FIG. 1 is a schematic illustration of acomputing device 10 according to an embodiment of the present disclosure. As explained in more detail below, thecomputing device 10 may be used to perform methods for identifying a false representation of a human face.Computing device 10 may take the form of a gaming console, mobile communication device, multi-touch display device, desktop computer, laptop computer, tablet computer, networking computer, set-top box (e.g. cable television box, satellite television box), or any other type of suitable computing device. In some examples,computing device 10 may comprise an embedded system within a larger electronic or mechanical device or system. Additional details regarding the components and computing aspects of thecomputing device 10 are described in more detail below with respect toFIG. 5 . - The
computing device 10 may include a falserepresentation detection program 14 that may be stored inmass storage 18 of the computing device. The falserepresentation detection program 14 may be loaded intomemory 22 and executed by aprocessor 26 of thecomputing device 10 to perform one or more of the methods and processes for identifying a false representation of a human face and outputting such indication, as described in more detail below. - In some examples, the
computing device 10 may also include afacial recognition program 30 that may be stored inmass storage 18, loaded intomemory 22 and executed by processor to authenticate the identity of a person. For example, a captured visible image of a person (still image or video) may be analyzed using face recognition techniques and compared to a reference image of the person. Where the captured image matches the reference image, the identity of the person in the captured image may be authenticated. It will be appreciated that any suitable facial recognition techniques, algorithms and technologies may be utilized to perform such identification. - In these examples, the false
representation detection program 14 may output an indication of a false representation of a human face to thefacial recognition program 30. In response, thefacial recognition program 30 may take appropriate action to deny an attempted access, log-on or other request associated with the false representation. In some examples, the falserepresentation detection program 14 may output an indication of a true representation of a human face to thefacial recognition program 30. In response, thefacial recognition program 30 may proceed to determine an authenticity of the captured image. - In other examples, a
facial recognition program 30 may be stored in mass storage of aseparate computing device 12 that is communicatively coupled to computingdevice 10 via a wired connection or a network, such asnetwork 34.Network 34 may take the form of a local area network (LAN), wide area network (WAN), wired network, wireless network, personal area network, or a combination thereof, and may include the Internet. It will be appreciated that thecomputing device 10 also may be operatively connected with one or more additional devices vianetwork 34. - In some examples, the false
representation detection program 14 may alternatively or additionally output an indication of a false representation of a human face to a user via adisplay 38,audio speaker 40, electronic communication (text message, email, etc.), and/or any other suitable output modality. In some examples, the indication may comprise a value indicating that candidate face data corresponds to a false representation of a human face. - The
computing device 10 may include a plurality of sensors of differing sensor types that are each configured to sense different data streams. Each sensor may capture data streams from a subject within the field of view of the sensor, with the data streams including data representing a candidate face that may be an actual human face or a false representation of a human face.FIG. 1 schematically illustrates one example of ahuman user 42 having ahuman face 44. It will be appreciated that data including the candidate face may also include features of the face and/or head of the reference subject such as, for example, ears, chin, forehead, hairline, etc. - In some examples the plurality of sensors may comprise a
color sensor 48, such as a red-green-blue (RGB) sensor, that captures color image data in a colorinformation data stream 50. Thecolor sensor 48 may comprise a plurality of active pixel sensors, such as CMOS sensors, or any other suitable type of color-capable sensor. The colorinformation data stream 50 may comprise one or more digital images and/or digital video. - In some examples, the plurality of sensors may comprise an infrared (IR)
sensor 54 that captures IR radiation data in anIR data stream 56. TheIR sensor 54 may comprise a thermographic camera that uses uncooled IR sensors or any other suitable type of IR sensor. TheIR data stream 56 may comprise one or more digital images and/or digital video. - In some examples, the plurality of sensors may comprise a
depth sensor system 60 that includes one or more depth cameras that generate a depthinformation data stream 62.Depth sensor system 60 may create a depth map of a candidate face, and also may detect movements within its field of view, such as gesture-based inputs or other movements performed by a person or physical object within the depth cameras' field of view. In one example, each depth camera may include left and right cameras of a stereoscopic vision system. Time-resolved images from one or more of these depth cameras may be registered to each other and/or to images from another optical sensor, such as acolor sensor 48, and may be combined to yield depth-resolved video. - In other examples, a structured light depth camera may be configured to project structured IR illumination, and to image the illumination reflected from a candidate face onto which the illumination is projected. A depth map of the candidate face may be constructed based on spacings between adjacent features in the various regions of an imaged face. In still other examples, a depth camera may take the form of a time-of-flight depth camera configured to project a pulsed IR illumination onto a candidate face and detect the illumination reflected from the face. It will be appreciated that any other suitable depth camera may be used within the scope of the present disclosure.
- The
color sensor 48,IR sensor 54, anddepth sensor system 60 may be integrated into thecomputing device 10 as shown inFIG. 1 , or may be physically separated from the computing device. - As noted above, in some situations a dishonorable user may attempt to forge or spoof the facial biometrics of a human face in various manners. As schematically shown in
FIG. 1 , in one example animposter 66 may attempt to spoof afacial recognition program 30 with a printed photograph 70 of a printedimage 72 of theface 44 of thehuman user 42. For example, theimposter 66 may be attempting to log on to an on-line social networking account of theuser 42 via a web camera of the user's laptop computer that comprises acolor sensor 48. Theimposter 66 may position the photograph 70 in front of the web camera in an attempt to spoof the facial biometrics of the user'sface 44. - In other examples, the
imposter 66 may use amobile communication device 74, such as a smart phone, to display a displayedimage 76 of the user'sface 44. For example, theimposter 66 may present the displayedimage 76 to a camera comprising acolor sensor 48 embedded in a desktop display that is communicatively coupled to a desktop computer. In other examples, theimposter 66 may use amulti-touch display device 78, such as a tablet computer, to display a displayedimage 80 of the user'sface 44. For example, theimposter 66 may present the displayedimage 80 to an imaging system in a gaming console comprising acolor sensor 48,infrared sensor 54 anddepth sensor system 60. In other examples, theimposter 66 may wear a physical, three-dimensional mask 82 made of a life-like material, such as silicone, that is constructed to duplicate the user'sface 44. - It will be appreciated that the foregoing examples are merely exemplary, and that other spoofing attempts using other devices, objects or methods for deceiving a
facial recognition program 30 may be possible. It will also be appreciated that various other combinations of spoofing attempts and user computing devices also may be attempted. - As schematically shown in the example of
FIG. 1 , each of thecolor sensor 48,IR sensor 54 anddepth sensor system 60 may receive respective data streams from sensing a candidate face, such as the printed photograph 70 or theactual face 44 ofuser 42. More particularly, thecolor data stream 50,IR data stream 56 and depthinformation data stream 62 may be received by thecolor sensor 48,IR sensor 54 anddepth sensor system 60, respectively. As described in more detail below, the falserepresentation detection program 14 may analyze one or more of these different data streams in a cascading plurality of stages, where each stage comprises a different analysis. - In one potential advantage of the present disclosure, the different analysis of each stage of the cascading plurality of stages may be configured to identify one or more different types of spoofing attempts. In this manner, the cascading plurality of stages may be configured to detect a wide variety of different spoofing attempts. In some examples, each of the different stages and corresponding analyses may be configured to detect a different sub-group of attempted spoofing techniques or modalities. In some examples, two or more of the cascading plurality of stages may be configured to detect the same attempted spoofing technique or modality.
- In another potential advantage of the present disclosure, the cascading plurality of stages are arranged and performed sequentially in a predetermined order. As illustrated in
FIG. 1 and as described in more detail below, in one example the falserepresentation detection program 14 may comprise afirst stage 86,second stage 90,third stage 94,fourth stage 98 andfifth stage 102. It will be appreciated that in other examples, the falserepresentation detection program 14 may comprise fewer stages or more stages than those depicted inFIG. 1 . - In some examples, the predetermined order of the cascading plurality of stages may be configured to sequentially detect various spoofing attempts in order of escalating difficulty of detection. A level of detection difficulty of a particular spoofing attempt may correspond to a relative frequency of successful identifications of a false representation of a human face and/or unsuccessful identifications of a false representation of a human face. In other examples, a level of detection difficulty of a particular spoofing attempt may correspond to a computational complexity associated with detecting such an attempt.
- In other examples, the predetermined order of the cascading plurality of stages may be configured to sequentially detect various spoofing attempts in order of decreasing commonality of attempts, beginning with more common spoofing attempts and ending with less common spoofing attempts. In this manner, and in another potential advantage of the present disclosure, the false
representation detection program 14 may be configured to more quickly identify the more common spoofing attempts, and accordingly decrease delays associated with the detection process. - At each of the cascading plurality of stages, if a determination is reached that one or more of the different data streams corresponds to a false representation of a human face, then the false
representation detection program 14 may output a corresponding indication and forego performing any remaining stages in the cascade. Accordingly, and in another potential advantage of the present disclosure, by executing a cascading plurality of stages in this manner, the falserepresentation detection program 14 may decrease the processing time needed to detect a false representation of a human face. User waiting time is also correspondingly reduced. - Additionally and as described in more detail below, each of the cascading plurality of stages avoids incorporating or otherwise utilizing user movement in their analyses. Accordingly and in another potential advantage of the present disclosure, false representations of a human face may be identified without burdening the user with requested user movements or additional user interventions.
- Returning to the example of
FIG. 1 , afirst stage 86 of the cascading plurality of stages may be configured to utilize theinfrared data stream 56 to determine whether an infrared candidate face pattern of a candidate face, such as printedimage 72 offace 44, matches a predetermined infraredhuman face pattern 88. In some examples, the wavelength of the IR radiation used to capture the infrared candidate face pattern may be centered at 865 nanometers (nm), and may range between 855 nm to 875 nm.FIG. 2 illustrates an example infraredhuman face pattern 88. - In some examples, the false
representation detection program 14 may determine whether the infrared candidate face pattern has an IR pattern that is generally characteristic of a human face. As schematically illustrated inFIG. 3 , the displayedimage 80 offace 44 onmulti-touch display device 78 may exhibit a very small or essentially no IR signature, which creates an infraredcandidate face pattern 302 that does not match infraredhuman face pattern 88. In some examples, pattern matching between an infrared candidate face pattern and a predetermined infraredhuman face pattern 88 may be performed using any suitable statistical classification algorithm. In some examples, thefirst stage 86 also may utilizecolor data stream 50 to determine whether a color image of a candidate face, such as printedimage 72 offace 44, matches a predetermined color human face. - A
second stage 90 of the cascading plurality of stages may be configured to utilize the depthinformation data stream 62 and thecolor data stream 50 to determine whether the size of a candidate face, such as displayedimage 76 offace 44 onmobile communication device 74, is within a predetermined range of human face sizes 92. In some examples, a predetermined range of human face sizes 92 may comprise a range between an average face size of a young adult to an average face size of a mature adult. It will also be appreciated that any suitable predetermined range of human face sizes may be utilized. For example and as schematically illustrated inFIG. 1 , a displayedimage 76 offace 44 onmobile communication device 74 may be significantly smaller than theactual face 44 ofhuman user 44, and may not fall within a predetermined range of human face sizes 92. - In some examples, an image distance from the
depth sensor system 60 to the displayedimage 76 onmobile communication device 74 may be determined utilizing the depthinformation data stream 62. The falserepresentation detection program 14 may also utilize thecolor data stream 50 to measure an interpupillary distance between the pupils of the eyes in displayedimage 76. For a given image distance from thedepth sensor system 60, the falserepresentation detection program 14 may select a predetermined range of average human interpupillary distances that corresponds with such image distance. For example, an average human interpupillary distance 84 may be 64 mm, and an example range of human interpupillary distances may be 52 mm to 78 mm. - The false
representation detection program 14 may adjust the example range of human interpupillary distances to account for the image distance. For example, as the image distance increases, the example range of human interpupillary distances may be correspondingly reduced. The falserepresentation detection program 14 may then determine whether the measured interpupillary distance of the eyes in displayedimage 76 falls within the adjusted predetermined range of human interpupillary distances. If it does not, then an indication of a false representation of a human face may be outputted. - In other examples, determining whether the size of a candidate face, such as displayed
image 80 offace 44 onmulti-touch display device 78, is within a predetermined range of human face sizes 92 may comprise measuring the size of a face detection bounding box. The falserepresentation detection program 14 may analyze thecolor data stream 50 and/orIR data stream 56 to detect the displayedimage 80 offace 44, and establish a face detection bounding box around the image. In some examples, the falserepresentation detection program 14 may acquire a face detection bounding box corresponding to the displayedimage 80 from afacial recognition program 30. - Using an image distance from the
color sensor 48 to the displayedimage 80, the falserepresentation detection program 14 may compare the size of the face detection bounding box around the displayedimage 80 with a predetermined size of a face detection bounding box around an actual human face that is adjusted for the image distance. The falserepresentation detection program 14 may then determine whether the size of the face detection bounding box around the displayedimage 80 falls within an adjusted predetermined range of sizes of face detection bounding boxes of human faces. If it does not, then an indication of a false representation of a human face may be outputted. - In other examples, the false
representation detection program 14 may analyze the alignment of one or more facial landmarks in a candidate face to determine a size of the face. Using an image distance to adjust a predetermined range of corresponding facial landmarks of actual human faces as described above, the falserepresentation detection program 14 may then determine whether the size of the candidate face falls within a predetermined range of actual human face sizes. - A
third stage 94 of the cascading plurality of stages may be configured to utilize the depthinformation data stream 62 to determine whether a plurality of candidate face depth points lies on a single flat plane or on a curving plane. It will be appreciated that paper or other flat media containing a printed image of a face will be planar, whether substantially flat or curving. Similarly, a display screen of a display device will typically be planar. - In one example, the false
representation detection program 14 may utilize the depthinformation data stream 62 to generate three-dimensional (3D) coordinates of a candidate face, such as the printedimage 72 on photograph 70 offace 44. Using a planar classifier, the 3D coordinates may be fitted to a facial point plane. In some examples, a least squares data fitting method may be used to find the facial point plane. In one example, the falserepresentation detection program 14 may determine if the sum of the distances from the 3D coordinates of the candidate face to the facial point plane is less than a predetermined planar threshold. If they are, then an indication of a false representation of a human face may be outputted. - A
fourth stage 98 of the cascading plurality of stages may be configured to analyze a plurality of image frames of the candidate face for changes in color that indicate blood flow in the candidate face. For spoofing attempts that utilize a physical 3D mask or a still image, whether printed or displayed, identifying a lack of blood flow in the candidate face may signal a false representation of a face. - For example, fluctuations in the color of the skin of the candidate face may be analyzed to identify the presence or absence of blood flow. In some examples, the
IR data stream 56 and/orcolor data stream 50 may be analyzed to identify such fluctuations. Frame-by-frame video data may be provided to a blood flow identification classifier that identifies patterns over time consistent with blood flow and/or a human pulse. - A
fifth stage 102 of the cascading plurality of stages may be configured to extract a candidate face texture feature from one or more of thecolor data stream 50 and theIR data stream 56 of a candidate face. Using the candidate face texture feature, the falserepresentation detection program 14 may determine whether the candidate face texture feature corresponds to a humanface texture feature 106. - It will be appreciate that the texture of actual human skin is very different from the texture of paper or other printed media, a display screen, or a 3D silicone mask. For example, image artifacts representing texture differences between an actual human face and a false representation of a face may be identified in the
color data stream 50 and/orIR data stream 56. In some examples, the falserepresentation detection program 14 may extract one or more candidate face texture features from images of the candidate face. Such features may be analyzed using a classifier trained to differentiate actual human face texture features 106 from texture features of a false representation of a face. - In some examples, a local binary pattern (LBP) feature vector and Difference of Gaussians (DoG) feature enhancement algorithm may be utilized to differentiate actual human face texture features 106 from texture features of a false representation of a face. In some examples, a support vector machine (SVM), random forest classifier, and/or other supervised learning models with associated learning algorithms may be utilized to analyze the data and recognize patterns consistent with either a human face or a false representation of a face.
- In some examples, a false representation of a human face may exhibit a high frequency component loss that exceeds a predetermined loss threshold. For example, a printed image of a photograph of a human face will lose high frequency information and corresponding detail during compression of the digital image and rendering and printing of the compressed image onto media. In some examples, a region of the candidate face may be analyzed to determine an amount of variation in color data in that region. Such amount may then be compared to a predetermined reference amount of color data variation corresponding to an image of an actual human face captured directly by one of the sensors. Using such comparison, a color variation component loss may be determined. If such color variation component loss exceeds a predetermined loss threshold, then the false
representation detection program 14 may output an indication of a false representation of a human face. - In some examples, data generated by the false
representation detection program 14 may be provided to a cloud-based system vianetwork 34 to facilitate improvement of the program. For example, data related to each of the cascading plurality of stages, such as frequency of successful false representation detection, false positives, and the like, may be utilized to enhance performance of the falserepresentation detection program 14. - Turning now to
FIGS. 4A and 4B , an example of amethod 400 for identifying a false representation of a human face will now be described. Themethod 400 may be performed using the hardware and software components of thecomputing device 10 described above, or using any other suitable components. - At 404 the
method 400 may include receiving a plurality of different data streams captured by a respective plurality of sensors of differing sensor types sensing a candidate face. At 408 the plurality of different data streams may comprise an infrared data stream. At 412 the plurality of different data streams may comprise a depth information data stream. At 416 the plurality of different data streams may comprise a color information data stream. At 420 the plurality of different data streams of a candidate face may be received at a computing device selected from the group consisting of a gaming console, a mobile communication device, and a multi-touch display device. - At 424 the
method 400 may include, in a cascading plurality of stages, analyzing one or more of the plurality of different data streams, wherein each of the cascading plurality of stages comprises a different analysis. At 428 themethod 400 may include a first stage comprising determining whether an infrared candidate face pattern of the candidate face matches a predetermined infrared human face pattern. - At 432 the
method 400 may include a second stage comprising determining whether a candidate face size of the candidate face is within a predetermined range of human face sizes. At 436 themethod 400 may include determining whether a candidate face size of the candidate face is within a predetermined range of human face sizes by measuring an interpupillary distance of the candidate face. At 440 themethod 400 may include determining whether the interpupillary distance of the candidate face falls within a predetermined range of an average human interpupillary distance. - At 444 the
method 400 may include a third stage comprising determining whether a plurality of candidate face depth points lies on a single flat plane or a curving plane. At 448 themethod 400 may include a fourth stage comprising analyzing a plurality of image frames of the candidate face for changes in color that indicate blood flow in the candidate face. At 452 themethod 400 may include a fifth stage comprising extracting a candidate face texture feature from one or more of the infrared data stream and the color information data stream of the candidate face, and determining whether the candidate face texture feature corresponds to a human face texture feature. At 456 themethod 400 may include determining whether a high frequency component loss in one or more of the infrared data stream and the color information data stream of the candidate face exceeds a predetermined loss threshold. - With reference now to
FIG. 4B , at 460 themethod 400 may include, in one of the cascading plurality of stages, determining that one or more of the different data streams corresponds to the false representation of the human face. At 464 themethod 400 may include, based on determining that one or more of the different data streams corresponds to the false representation of the human face, outputting an indication of the false representation of the human face. - It will be appreciated that
method 400 is provided by way of example and is not meant to be limiting. Therefore, it is to be understood thatmethod 400 may include additional and/or alternative steps than those illustrated inFIGS. 4A and 4B . Further, it is to be understood thatmethod 400 may be performed in any suitable order. Further still, it is to be understood that one or more steps may be omitted frommethod 400 without departing from the scope of this disclosure. -
FIG. 5 schematically shows a nonlimiting example of acomputing system 500 that may perform one or more of the above described methods and processes.Computing device 10 andcomputing device 12 may take the form of or include one or more aspects ofcomputing system 500.Computing system 500 is shown in simplified form. It is to be understood that virtually any computer architecture may be used without departing from the scope of this disclosure. In different examples,computing system 500 may take the form of a mainframe computer, server computer, desktop computer, tablet computer, home entertainment computer, gaming console, network computing device, tablet, notebook, smartphone, multi-touch display device, or other mobile computing device, mobile communication device, etc. - As shown in
FIG. 5 ,computing system 500 includes alogic subsystem 504 and astorage subsystem 508.Computing system 500 may optionally include asensor subsystem 512,display subsystem 516,communication subsystem 520,input subsystem 522 and/or other subsystems and components not shown inFIG. 5 .Computing system 500 may also include computer readable media, with the computer readable media including computer readable storage media and computer readable communication media.Computing system 500 may also optionally include other user input devices such as keyboards, mice, game controllers, and/or touch screens, for example. Further, in some embodiments the methods and processes described herein may be implemented as a computer application, computer service, computer API, computer library, and/or other computer program product in a computing system that includes one or more computers. -
Logic subsystem 504 may include one or more physical devices configured to execute one or more instructions. For example, thelogic subsystem 504 may be configured to execute one or more instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more devices, or otherwise arrive at a desired result. - The
logic subsystem 504 may include one or more processors that are configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic subsystem may be single core or multicore, and the programs executed thereon may be configured for parallel or distributed processing. The logic subsystem may optionally include individual components that are distributed throughout two or more devices, which may be remotely located and/or configured for coordinated processing. One or more aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration. -
Storage subsystem 508 may include one or more physical, persistent devices configured to hold data and/or instructions executable by thelogic subsystem 504 to implement the herein described methods and processes. When such methods and processes are implemented, the state ofstorage subsystem 508 may be transformed (e.g., to hold different data). -
Storage subsystem 508 may include removable media and/or built-in devices.Storage subsystem 508 may include optical memory devices (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory devices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), among others.Storage subsystem 508 may include devices with one or more of the following characteristics: volatile, nonvolatile, dynamic, static, read/write, read-only, random access, sequential access, location addressable, file addressable, and content addressable. - In some examples, aspects of
logic subsystem 504 andstorage subsystem 508 may be integrated into one or more common devices through which the functionally described herein may be enacted, at least in part. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC) systems, and complex programmable logic devices (CPLDs), for example. -
FIG. 5 also shows an aspect of thestorage subsystem 508 in the form of removable computerreadable storage media 524, which may be used to store data and/or instructions executable to implement the methods and processes described herein. Removable computer-readable storage media 524 may take the form of CDs, DVDs, HD-DVDs, Blu-Ray Discs, EEPROMs, and/or floppy disks, among others. - It is to be appreciated that
storage subsystem 508 includes one or more physical, persistent devices. In contrast, in some implementations aspects of the instructions described herein may be propagated in a transitory fashion by a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for at least a finite duration. Furthermore, data and/or other forms of information pertaining to the present disclosure may be propagated by a pure signal via computer-readable communication media. - When included,
sensor subsystem 512 may include one or more sensors configured to sense different physical phenomenon (e.g., visible light, infrared light, sound, acceleration, orientation, position, etc.) as described above.Sensor subsystem 512 may be configured to provide sensor data tologic subsystem 504, for example. Such data may include image information, ambient lighting information, depth information, gaze tracking information, audio information, position information, motion information, user location information, and/or any other suitable sensor data that may be used to perform the methods and processes described above. - When included,
display subsystem 516 may be used to present a visual representation of data held bystorage subsystem 508. As the above described methods and processes change the data held by thestorage subsystem 508, and thus transform the state of the storage subsystem, the state of thedisplay subsystem 516 may likewise be transformed to visually represent changes in the underlying data. Thedisplay subsystem 516 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined withlogic subsystem 504 and/orstorage subsystem 508 in a shared enclosure, or such display devices may be peripheral display devices. - When included,
communication subsystem 520 may be configured to communicatively couplecomputing system 500 with one or more networks and/or one or more other computing devices.Communication subsystem 520 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As nonlimiting examples, thecommunication subsystem 520 may be configured for communication via a wireless telephone network, a wireless local area network, a wired local area network, a wireless wide area network, a wired wide area network, etc. In some embodiments, the communication subsystem may allowcomputing system 500 to send and/or receive messages to and/or from other devices via a network such as the Internet. - When included,
input subsystem 522 may comprise or interface with one or more sensors or user-input devices such as a game controller, gesture input detection device, voice recognizer, inertial measurement unit, keyboard, mouse, or touch screen. In some embodiments, theinput subsystem 522 may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity. - The term “program” may be used to describe an aspect of
computing device 10 that is implemented to perform one or more particular functions. In some cases, such a program may be instantiated vialogic subsystem 504 executing instructions held bystorage subsystem 508. It is to be understood that different programs may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same program may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The term “program” is meant to encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc. - It is to be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of the above-described processes may be changed.
- The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
Claims (20)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/458,134 US9251427B1 (en) | 2014-08-12 | 2014-08-12 | False face representation identification |
PCT/US2015/044405 WO2016025355A1 (en) | 2014-08-12 | 2015-08-10 | False face representation identification |
US15/008,300 US9582724B2 (en) | 2014-08-12 | 2016-01-27 | False face representation identification |
US15/444,068 US10007839B2 (en) | 2014-08-12 | 2017-02-27 | False face representation identification |
US16/011,894 US10650226B2 (en) | 2014-08-12 | 2018-06-19 | False face representation identification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/458,134 US9251427B1 (en) | 2014-08-12 | 2014-08-12 | False face representation identification |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/008,300 Continuation US9582724B2 (en) | 2014-08-12 | 2016-01-27 | False face representation identification |
Publications (2)
Publication Number | Publication Date |
---|---|
US9251427B1 US9251427B1 (en) | 2016-02-02 |
US20160048736A1 true US20160048736A1 (en) | 2016-02-18 |
Family
ID=54012267
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/458,134 Active US9251427B1 (en) | 2014-08-12 | 2014-08-12 | False face representation identification |
US15/008,300 Active US9582724B2 (en) | 2014-08-12 | 2016-01-27 | False face representation identification |
US15/444,068 Active US10007839B2 (en) | 2014-08-12 | 2017-02-27 | False face representation identification |
US16/011,894 Active 2035-01-03 US10650226B2 (en) | 2014-08-12 | 2018-06-19 | False face representation identification |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/008,300 Active US9582724B2 (en) | 2014-08-12 | 2016-01-27 | False face representation identification |
US15/444,068 Active US10007839B2 (en) | 2014-08-12 | 2017-02-27 | False face representation identification |
US16/011,894 Active 2035-01-03 US10650226B2 (en) | 2014-08-12 | 2018-06-19 | False face representation identification |
Country Status (2)
Country | Link |
---|---|
US (4) | US9251427B1 (en) |
WO (1) | WO2016025355A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3620942A4 (en) * | 2018-04-12 | 2020-07-29 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Security control method and apparatus for application program, and mobile terminal and computer-readable storage medium |
EP3866052A4 (en) * | 2018-10-12 | 2021-12-15 | Hangzhou Hikvision Digital Technology Co., Ltd. | Face anti-spoof detection method, device and multi-view camera |
US20220374643A1 (en) * | 2021-05-21 | 2022-11-24 | Ford Global Technologies, Llc | Counterfeit image detection |
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 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10201902107VA (en) | 2014-04-07 | 2019-04-29 | Eyeverify Inc | Bio leash for user authentication |
EP3205084B1 (en) * | 2014-12-09 | 2018-05-23 | FotoNation Limited | Image processing method |
US10255687B2 (en) * | 2015-02-05 | 2019-04-09 | Pixart Imaging Inc. | Distance measurement system applicable to different reflecting surfaces and operating method thereof |
US9934443B2 (en) * | 2015-03-31 | 2018-04-03 | Daon Holdings Limited | Methods and systems for detecting head motion during an authentication transaction |
US10049287B2 (en) * | 2015-05-22 | 2018-08-14 | Oath Inc. | Computerized system and method for determining authenticity of users via facial recognition |
CN110110591B (en) * | 2015-06-16 | 2021-01-15 | 眼验股份有限公司 | System and method for counterfeit detection and liveness analysis |
CN108885689B (en) | 2016-03-02 | 2020-06-16 | 眼验股份有限公司 | Spoofing detection using proximity sensors |
US11373449B1 (en) * | 2016-10-13 | 2022-06-28 | T Stamp Inc. | Systems and methods for passive-subject liveness verification in digital media |
EP3534328A4 (en) * | 2016-10-31 | 2019-11-06 | Nec Corporation | Image processing device, image processing method, facial recogntion system, program, and recording medium |
EP3447684A1 (en) * | 2017-08-22 | 2019-02-27 | Eyn Limited | Verification method and system |
US10061996B1 (en) * | 2017-10-09 | 2018-08-28 | Hampen Technology Corporation Limited | Face recognition method and system for personal identification and authentication |
US20190108551A1 (en) * | 2017-10-09 | 2019-04-11 | Hampen Technology Corporation Limited | Method and apparatus for customer identification and tracking system |
US20200344238A1 (en) * | 2017-11-03 | 2020-10-29 | Sensormatic Electronics, LLC | Methods and System for Controlling Access to Enterprise Resources Based on Tracking |
US11410458B2 (en) | 2018-04-12 | 2022-08-09 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Face identification method and apparatus, mobile terminal and storage medium |
US11496315B1 (en) | 2018-05-08 | 2022-11-08 | T Stamp Inc. | Systems and methods for enhanced hash transforms |
CN108764071B (en) * | 2018-05-11 | 2021-11-12 | 四川大学 | Real face detection method and device based on infrared and visible light images |
US11157721B2 (en) | 2018-07-02 | 2021-10-26 | Stowers Institute For Medical Research | Facial image recognition using pseudo-images |
CN109543593A (en) * | 2018-11-19 | 2019-03-29 | 华勤通讯技术有限公司 | Detection method, electronic equipment and the computer readable storage medium of replay attack |
FR3089036B1 (en) * | 2018-11-28 | 2020-10-30 | In Idt | device and method for authenticating an individual |
US11403884B2 (en) | 2019-01-16 | 2022-08-02 | Shenzhen GOODIX Technology Co., Ltd. | Anti-spoofing face ID sensing |
US11301586B1 (en) | 2019-04-05 | 2022-04-12 | T Stamp Inc. | Systems and processes for lossy biometric representations |
CN110363087B (en) * | 2019-06-12 | 2022-02-25 | 苏宁云计算有限公司 | Long-baseline binocular face in-vivo detection method and system |
US11450151B2 (en) * | 2019-07-18 | 2022-09-20 | Capital One Services, Llc | Detecting attempts to defeat facial recognition |
US20210358149A1 (en) * | 2020-05-18 | 2021-11-18 | Nec Laboratories America, Inc | Anti-spoofing 3d face reconstruction using infrared structure light |
WO2022046120A1 (en) * | 2020-08-31 | 2022-03-03 | Hewlett-Packard Development Company, L.P. | User authentication using event cameras |
US20230095323A1 (en) * | 2021-09-24 | 2023-03-30 | Arlo Technologies, Inc. | Face Identification System Using Multiple Spectrum Analysis |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE1008076A3 (en) * | 1994-02-15 | 1996-01-09 | Agfa Gevaert Nv | COLOR NEGATIVE SCANNING AND TRANSFORMATION IN COLORS OF ORIGINAL scene. |
US6940545B1 (en) * | 2000-02-28 | 2005-09-06 | Eastman Kodak Company | Face detecting camera and method |
US6920236B2 (en) | 2001-03-26 | 2005-07-19 | Mikos, Ltd. | Dual band biometric identification system |
US7103211B1 (en) * | 2001-09-04 | 2006-09-05 | Geometrix, Inc. | Method and apparatus for generating 3D face models from one camera |
US7112806B2 (en) * | 2001-09-27 | 2006-09-26 | Robert Lussier | Bio-imaging and information system for scanning, detecting, diagnosing and optimizing plant health |
US7215828B2 (en) * | 2002-02-13 | 2007-05-08 | Eastman Kodak Company | Method and system for determining image orientation |
WO2004034236A2 (en) * | 2002-10-11 | 2004-04-22 | Digimarc Corporation | Systems and methods for recognition of individuals using multiple biometric searches |
US7275239B2 (en) * | 2003-02-10 | 2007-09-25 | International Business Machines Corporation | Run-time wait tracing using byte code insertion |
US7259785B2 (en) * | 2003-04-28 | 2007-08-21 | Hewlett-Packard Development Company, L.P. | Digital imaging method and apparatus using eye-tracking control |
JP2004362079A (en) | 2003-06-02 | 2004-12-24 | Fuji Photo Film Co Ltd | Personal identification device |
US8682097B2 (en) * | 2006-02-14 | 2014-03-25 | DigitalOptics Corporation Europe Limited | Digital image enhancement with reference images |
US7218760B2 (en) * | 2003-06-30 | 2007-05-15 | Microsoft Corporation | Stereo-coupled face shape registration |
KR100580630B1 (en) * | 2003-11-19 | 2006-05-16 | 삼성전자주식회사 | Apparatus and method for discriminating person using infrared rays |
EP1566788A3 (en) * | 2004-01-23 | 2017-11-22 | Sony United Kingdom Limited | Display |
US7457367B2 (en) * | 2004-07-07 | 2008-11-25 | University Of Utah Research Foundation | Detector and method for estimating data probability in a multi-channel receiver |
JP4390199B2 (en) * | 2004-07-26 | 2009-12-24 | 株式会社リコー | Lens barrel, camera, and portable information terminal device |
CN101268355A (en) * | 2005-09-21 | 2008-09-17 | 卢米尼克斯股份有限公司 | Methods and systems for image data processing |
JP4793179B2 (en) | 2005-11-14 | 2011-10-12 | オムロン株式会社 | Authentication device and portable terminal |
US7860320B2 (en) * | 2006-06-26 | 2010-12-28 | Eastman Kodak Company | Classifying image regions based on picture location |
US7986816B1 (en) * | 2006-09-27 | 2011-07-26 | University Of Alaska | Methods and systems for multiple factor authentication using gaze tracking and iris scanning |
US8085995B2 (en) * | 2006-12-01 | 2011-12-27 | Google Inc. | Identifying images using face recognition |
NO331287B1 (en) * | 2008-12-15 | 2011-11-14 | Cisco Systems Int Sarl | Method and apparatus for recognizing faces in a video stream |
US8670597B2 (en) * | 2009-08-07 | 2014-03-11 | Google Inc. | Facial recognition with social network aiding |
US8285658B1 (en) * | 2009-08-25 | 2012-10-09 | Scout Analytics, Inc. | Account sharing detection |
CN102006402B (en) | 2009-08-28 | 2014-02-19 | 鸿富锦精密工业(深圳)有限公司 | Image pick-up device and identity identification method thereof |
US8675926B2 (en) | 2010-06-08 | 2014-03-18 | Microsoft Corporation | Distinguishing live faces from flat surfaces |
US9082235B2 (en) | 2011-07-12 | 2015-07-14 | Microsoft Technology Licensing, Llc | Using facial data for device authentication or subject identification |
CN102622588B (en) | 2012-03-08 | 2013-10-09 | 无锡中科奥森科技有限公司 | Dual-certification face anti-counterfeit method and device |
US8660307B2 (en) * | 2012-03-29 | 2014-02-25 | The Nielsen Company (Us), Llc | Methods and apparatus to count people in images |
US8254647B1 (en) * | 2012-04-16 | 2012-08-28 | Google Inc. | Facial image quality assessment |
US8411909B1 (en) * | 2012-06-26 | 2013-04-02 | Google Inc. | Facial recognition |
US8542879B1 (en) * | 2012-06-26 | 2013-09-24 | Google Inc. | Facial recognition |
US8457367B1 (en) * | 2012-06-26 | 2013-06-04 | Google Inc. | Facial recognition |
US20140071293A1 (en) | 2012-09-12 | 2014-03-13 | Google Inc. | Method and device for authintication of live human faces using infra red images |
US9003196B2 (en) | 2013-05-13 | 2015-04-07 | Hoyos Labs Corp. | System and method for authorizing access to access-controlled environments |
-
2014
- 2014-08-12 US US14/458,134 patent/US9251427B1/en active Active
-
2015
- 2015-08-10 WO PCT/US2015/044405 patent/WO2016025355A1/en active Application Filing
-
2016
- 2016-01-27 US US15/008,300 patent/US9582724B2/en active Active
-
2017
- 2017-02-27 US US15/444,068 patent/US10007839B2/en active Active
-
2018
- 2018-06-19 US US16/011,894 patent/US10650226B2/en active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3620942A4 (en) * | 2018-04-12 | 2020-07-29 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Security control method and apparatus for application program, and mobile terminal and computer-readable storage medium |
US11157605B2 (en) | 2018-04-12 | 2021-10-26 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Security control method and device of application, and electronic device |
EP3866052A4 (en) * | 2018-10-12 | 2021-12-15 | Hangzhou Hikvision Digital Technology Co., Ltd. | Face anti-spoof detection method, device and multi-view camera |
US11869255B2 (en) | 2018-10-12 | 2024-01-09 | Hangzhou Hikvision Digital Technology Co., Ltd. | Anti-counterfeiting face detection method, device and multi-lens camera |
US20220374643A1 (en) * | 2021-05-21 | 2022-11-24 | Ford Global Technologies, Llc | Counterfeit image detection |
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 |
Also Published As
Publication number | Publication date |
---|---|
US10007839B2 (en) | 2018-06-26 |
US20160140406A1 (en) | 2016-05-19 |
US20170169284A1 (en) | 2017-06-15 |
US9251427B1 (en) | 2016-02-02 |
WO2016025355A1 (en) | 2016-02-18 |
US10650226B2 (en) | 2020-05-12 |
US9582724B2 (en) | 2017-02-28 |
US20180307895A1 (en) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10650226B2 (en) | False face representation identification | |
US10552666B2 (en) | Identification using depth-based head-detection data | |
US9916502B2 (en) | Handling glare in eye tracking | |
EP2912659B1 (en) | Augmenting speech recognition with depth imaging | |
CN107209849B (en) | Eye tracking | |
US10380418B2 (en) | Iris recognition based on three-dimensional signatures | |
US9165180B2 (en) | Illumination sensitive face recognition | |
US10592778B2 (en) | Stereoscopic object detection leveraging expected object distance | |
US9501719B1 (en) | System and method for verification of three-dimensional (3D) object | |
US9747519B2 (en) | Classifying ambiguous image data | |
US20180096195A1 (en) | Probabilistic face detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHU, CHUN-TE;CONRAD, MICHAEL J.;WU, DIJIA;AND OTHERS;SIGNING DATES FROM 20140806 TO 20140811;REEL/FRAME:033520/0060 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417 Effective date: 20141014 Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454 Effective date: 20141014 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |