IP Library › Granted Patent US 12,236,716
Granted Patent B2
US 12,236,716 · App. 17/746,547 · Granted Feb 25, 2025

Face anti-spoofing recognition method and apparatus, device, and storage medium

Inventors: Dan Li (Shenzhen, CN); Zhiqiang Dong (Shenzhen, CN); Bin Li (Shenzhen, CN)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
G06V40/40G06T7/248G06T7/64G06T7/74G06V20/46G06V40/161G06V40/193G06T2207/10016G06T2207/20076G06T2207/20132G06T2207/30201
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,236,716
App. No.
17/746,547
Granted
Feb 25, 2025
Kind
B2
Abstract

This application discloses a face anti-spoofing recognition method and apparatus, a device, and a storage medium, and relates to the field of artificial intelligence (AI) technologies. The method is performed by a computer device, including: acquiring face video data including a to-be-detected face; detecting eye contours of the to-be-detected face from image frames of the face video data, and generating an eye contour sequence; performing eye movement probability prediction based on the eye contour sequence, and generating an eye movement state sequence; acquiring a first dataset and a second dataset in the eye movement state sequence; determining a probability of existence of an abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset; and determining that the to-be-detected face is a real face in a case that the probability is less than a predetermined threshold.

Claims (101)

1. A face anti-spoofing recognition method, performed by a computer device, the method comprising:

acquiring face video data comprising a to-be-detected face;

detecting eye contours of the to-be-detected face from image frames of the face video data, and generating an eye contour sequence;

performing eye movement probability prediction based on the eye contour sequence, and generating an eye movement state sequence, the eye movement state sequence used to represent a movement condition of the eyes of the to-be-detected face, and the eye movement state sequence comprising a plurality of eye movement probabilities distributed in a time domain;

acquiring a first dataset and a second dataset in the eye movement state sequence, the first dataset comprising first N eye movement probabilities obtained after arrangement of the eye movement probabilities in the eye movement state sequence in descending order, and the second dataset comprising M consecutive eye movement probabilities comprising a maximum value in the eye movement state sequence, both N and M being positive integers;

determining a probability of existence of an abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset; and

determining that the to-be-detected face is a real face in response to the probability being less than a predetermined threshold.

2. The method according to claim 1 , wherein the determining the probability of existence of the abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset comprises:

determining a first probability value according to the first dataset; and

determining a second probability value according to the second dataset; and

wherein the determining that the to-be-detected face is a real face in response to the probability being less than a predetermined threshold comprises:

determining, in response to the first probability value being less than a first threshold and the second probability value being less than a second threshold, that the to-be-detected face is the real face.

3. The method according to claim 2 , wherein the eye movement state sequence comprises an eye movement state sequence of the left eye and an eye movement state sequence of the right eye;

wherein the determining the first probability value according to the first dataset comprises:

determining a first probability value of the left eye according to a first dataset in the eye movement state sequence of the left eye; and determining a first probability value of the right eye according to a first dataset in the eye movement state sequence of the right eye;

wherein the determining the second probability value according to the second dataset comprises:

determining a second probability value of the left eye according to a second dataset in the eye movement state sequence of the left eye; and determining a second probability value of the right eye according to a second dataset in the eye movement state sequence of the right eye; and

wherein the determining, in response to the first probability value being less than the first threshold and the second probability value being less than the second threshold, that the to-be-detected face is the real face comprises:

determining, in response to both the first probability value of the left eye and the first probability value of the right eye being less than the first threshold, and both the second probability value of the left eye and the second probability value of the right eye being less than the second threshold, that the to-be-detected face is the real face.

4. The method according to claim 2 , wherein the determining the first probability value according to the first dataset comprises:

processing the first dataset by using a first classification model, to obtain the first probability value; and

the determining a second probability value according to the second dataset comprises:

processing the second dataset by using a second classification model, to obtain the second probability value.

5. The method according to claim 1 , wherein the acquiring the second dataset in the eye movement state sequence comprises:

acquiring the maximum value V j in the eye movement state sequence and a position index I j of the maximum value V j in the eye movement state sequence, a length of the eye movement state sequence being L;

determining a value of M according to a frame rate of the face video data, M being less than or equal to a total quantity of frames of the face video data; and

acquiring, in response to a value of I j −M/2 being greater than 0 and a value of I j +M/2 being less than L−1, M consecutive eye movement probabilities with position indexes from I j −M/2 to I j +M/2 to obtain the second dataset.

6. The method according to claim 1 , wherein the acquiring a second dataset in the eye movement state sequence comprises:

acquiring the maximum value V j in the eye movement state sequence and a position index I j of the maximum value V j in the eye movement state sequence, a length of the eye movement state sequence being L;

determining a value of M according to a frame rate of the face video data, M being less than or equal to a total quantity of frames of the face video data; and

acquiring, in response to a value of I j −M/2 being less than 0, M consecutive eye movement probabilities with position indexes from 0 to M−1 to obtain the second dataset.

7. The method according to claim 1 , wherein the acquiring the second dataset in the eye movement state sequence comprises:

acquiring the maximum value V j in the eye movement state sequence and a position index I j of the maximum value V j in the eye movement state sequence, a length of the eye movement state sequence being L;

determining a value of M according to a frame rate of the face video data, M being less than or equal to a total quantity of frames of the face video data; and

acquiring, in response to a value of I j +M/2 being greater than L−1, M consecutive eye movement probabilities with position indexes from L−M to L−1 to obtain the second dataset.

8. The method according to claim 1 , wherein the detecting the eye contours of the to-be-detected face from image frames of the face video data, and the generating the eye contour sequence comprises:

decomposing the face video data frame by frame to obtain a plurality of image frames;

recognizing the to-be-detected face in the plurality of image frames, cropping face regions of the to-be-detected face, and generating a face image sequence;

marking eye contour key points in face images of the face image sequence; and

cropping eye contour images according to the eye contour key points in the face images and generating the eye contour sequence.

9. The method according to claim 1 , wherein the performing the eye movement probability prediction based on the eye contour sequence, and generating the eye movement state sequence comprises:

performing feature extraction on the eye contour sequence, to obtain eye feature information;

comparing the eye feature information in the time domain to obtain an eye movement change trend;

performing eye movement state prediction according to the eye movement change trend to obtain the eye movement probabilities; and

generating the eye movement state sequence based on the eye movement probabilities.

10. A face anti-spoofing recognition apparatus, comprising:

a memory storing a plurality of instructions;

a processor configured to execute the plurality of instructions, and upon execution of the plurality of instructions, is configured to:

acquire face video data comprising a to-be-detected face;

detect eye contours of the to-be-detected face from image frames of the face video data, and generate an eye contour sequence;

perform eye movement probability prediction based on the eye contour sequence, and generate an eye movement state sequence, the eye movement state sequence used to represent movement condition of the eyes of the to-be-detected face, and the eye movement state sequence comprising a plurality of eye movement probabilities distributed in time domain;

acquire a first dataset and a second dataset in the eye movement state sequence, the first dataset comprising first N eye movement probabilities obtained after arrangement of the eye movement probabilities in the eye movement state sequence in descending order, and the second dataset comprising M consecutive eye movement probabilities comprising a maximum value in the eye movement state sequence, both N and M being positive integers;

determine a probability of existence of an abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset; and

determine that the to-be-detected face is a real face in response to the probability being less than a predetermined threshold.

11. The apparatus according to claim 10 , wherein the processor, in order to determine the probability of existence of the abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset, is configured to execute the plurality of instructions to:

determine a first probability value according to the first dataset; and determine a second probability value according to the second dataset; and

determine, in response to the first probability value being less than a first threshold and the second probability value being less than a second threshold, that the to-be-detected face is the real face.

12. The apparatus according to claim 11 , wherein the eye movement state sequence comprises an eye movement state sequence of the left eye and an eye movement state sequence of the right eye;

the processor, in order to determine the first probability value according to the first data set, is configured to execute the plurality of instructions to:

determine a first probability value of the left eye according to a first dataset in the eye movement state sequence of the left eye; and determine a first probability value of the right eye according to a first dataset in the eye movement state sequence of the right eye; and

the processor, in order to determine the second probability value according to the second dataset, is configured to execute the plurality of instructions to:

determine a second probability value of the left eye according to a second dataset in the eye movement state sequence of the left eye; and determine a second probability value of the right eye according to a second dataset in the eye movement state sequence of the right eye; and

the processor, in order to determine, in response to the first probability value being less than the first threshold and the second probability value being less than the second threshold, that the to-be-detected face is the real face, is configured to execute the plurality of instructions to:

determine, in response to both the first probability value of the left eye and the first probability value of the right eye being less than the first threshold, and both the second probability value of the left eye and the second probability value of the right eye being less than the second threshold, that the to-be-detected face is the real face.

13. The apparatus according to claim 11 , wherein in order to determine the first probability value according to the first dataset, the processor is configured to execute the plurality of instructions to:

process the first dataset by using a first classification model, to obtain the first probability value; and

process the second dataset by using a second classification model, to obtain the second probability value.

14. The apparatus according to claim 10 , wherein in order to acquire the second data set in the eye movement state sequence, the processor is configured to execute the plurality of instructions to:

acquire the maximum value V j in the eye movement state sequence and a position index I j of the maximum value V j in the eye movement state sequence, a length of the eye movement state sequence being L;

determine a value of M according to a frame rate of the face video data, M being less than or equal to a total quantity of frames of the face video data; and

acquire, in response to a value of I j −M/2 being greater than 0 and a value of I j +M/2 being less than L−1, M consecutive eye movement probabilities with position indexes from I j −M/2 to I j +M/2 to obtain the second dataset; or

acquire, in response to a value of I j −M/2 being less than 0, M consecutive eye movement probabilities with position indexes from 0 to M−1 to obtain the second dataset; or

acquire, in response to a value of I j +M/2 being greater than L−1, M consecutive eye movement probabilities with position indexes from L−M to L−1 to obtain the second dataset.

15. The apparatus according to claim 10 , wherein: the contour sequence generation module is configured to:

decompose the face video data frame by frame to obtain a plurality of image frames;

recognize the to-be-detected face in the plurality of image frames, crop face regions of the to-be-detected face, and generate a face image sequence;

mark eye contour key points in face images of the face image sequence; and

crop eye contour images according to the eye contour key points in the face images and generate the eye contour sequence.

16. A non-transitory computer-readable storage medium storing a plurality of instructions executable by a processor, that when executed by the processor, cause the processor to:

acquire face video data comprising a to-be-detected face;

detect eye contours of the to-be-detected face from image frames of the face video data, and generate an eye contour sequence;

perform eye movement probability prediction based on the eye contour sequence, and generate an eye movement state sequence, the eye movement state sequence used to represent movement condition of the eyes of the to-be-detected face, and the eye movement state sequence comprising a plurality of eye movement probabilities distributed in time domain;

acquire a first dataset and a second dataset in the eye movement state sequence, the first dataset comprising first N eye movement probabilities obtained after arrangement of the eye movement probabilities in the eye movement state sequence in descending order, and the second dataset comprising M consecutive eye movement probabilities comprising a maximum value in the eye movement state sequence, both N and M being positive integers;

determine a probability of existence of an abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset; and

determine that the to-be-detected face is a real face in response to the probability being less than a predetermined threshold.

17. The non-transitory computer-readable storage medium according to claim 16 , wherein the plurality of instructions, in order to cause the processor to determine the probability of existence of the abnormal blink behavior of the to-be-detected face according to the first dataset and the second dataset, is configured to cause the processor to:

determine a first probability value according to the first dataset; and determine a second probability value according to the second dataset; and

determine, in response to the first probability value being less than a first threshold and the second probability value being less than a second threshold, that the to-be-detected face is the real face.

18. The non-transitory computer-readable storage medium according to claim 16 , wherein in order to cause the processor to acquire the second dataset in the eye movement state sequence, the plurality of instructions is configured to cause the processor to:

acquire the maximum value V j in the eye movement state sequence and a position index I j of the maximum value V j in the eye movement state sequence, a length of the eye movement state sequence being L;

determine a value of M according to a frame rate of the face video data, M being less than or equal to a total quantity of frames of the face video data; and

acquire, in response to a value of I j −M/2 being less than 0, M consecutive eye movement probabilities with position indexes from 0 to M−1 to obtain the second dataset.

19. The non-transitory computer-readable storage medium according to claim 16 , wherein in order to cause the processor to acquire the second dataset in the eye movement state sequence, the plurality of instructions is configured to cause the processor to:

acquire the maximum value V j in the eye movement state sequence and a position index I j of the maximum value V j in the eye movement state sequence, a length of the eye movement state sequence being L;

determine a value of M according to a frame rate of the face video data, M being less than or equal to a total quantity of frames of the face video data; and

acquire, in response to a value of I j +M/2 being greater than L−1, M consecutive eye movement probabilities with position indexes from L−M to L−1 to obtain the second dataset.

20. The non-transitory computer-readable storage medium according to claim 16 , wherein in order to cause the processor to perform the eye movement probability prediction based on the eye contour sequence, and generate the eye movement state sequence, the plurality of instructions is configured to cause the processor to:

perform feature extraction on the eye contour sequence, to obtain eye feature information;

compare the eye feature information in the time domain to obtain an eye movement change trend;

perform eye movement state prediction according to the eye movement change trend to obtain the eye movement probabilities; and

generate the eye movement state sequence based on the eye movement probabilities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2022
From: LI, DAN; DONG, ZHIQIANG; LI, BIN
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 059936/0014 →
Priority Claims (1)
CN 202010573539.1 · Jun 22, 2020 · national
Continuity (2)
Continuation PCTCN2021096652 · May 28, 2021
Related Publication 20220277596A1 · Sep 1, 2022
References Cited (18)
US 10311289B2 · Sun · 2019 [cited by examiner]
US 20100158319A1 · Jung et al. · 2010 [cited by applicant]
US 20110188712A1 · Yoo · 2011 [cited by examiner]
US 20180349682A1 · Wong et al. · 2018 [cited by applicant]
CN 106446831A · 2017 [cited by applicant]
CN 106491129A · 2017 [cited by applicant]
CN 109325472A · 2019 [cited by applicant]
CN 109376608A · 2019 [cited by applicant]
CN 110221699A · 2019 [cited by applicant]
CN 111539389A · 2020 [cited by applicant]
Eyeblink-based Anti-Spoofing in Face Recognition from a Generic Webcamera (Year: 2007). [cited by examiner]
In Ictu Oculi: Exposing AI Generated Fake Face Videos by Detecting Eye Blinking (Year: 2018). [cited by examiner]
Using cascade CNN-LSTM-FCNs to identify AI-altered video based on eye state sequence (Year: 2022). [cited by examiner]
International Search Report and Written Opinion issued in International Patent Application No. PCT/CN2021/096652 dated Sep. 1, 2021, w/English translation, 17 pages. [cited by applicant]
Office Action issued in Chinese Patent Application No. 2020105735391 dated Aug. 17, 2020 w/English translation, 23 pages. [cited by applicant]
100% Popular Science, “Artificial intelligence is also used to counter fake videos by judging whether blinking is normal!” w/English translation, Jul. 19, 2018. [cited by applicant]
Jung et al. “Deepvision: Deepfakes Detection Using Human Eye Blinking Pattern,” IEEE Access 8, Apr. 20, 2020, 11 pages. [cited by applicant]
Li et al. “In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking,” 2018 IEEE International workshop on information forensics and security (WIFS), Dec. 13, 2018, 7 pages. [cited by applicant]