Computer-implemented method for verifying age of person
By combining image analysis and facial recognition technologies with text recognition and age estimation neural networks for identity documents, the accuracy and efficiency issues of existing age verification methods are solved, achieving fast and accurate age verification and reducing the risk of human error and fraud.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2026-04-10
AI Technical Summary
Existing methods for estimating human age are inaccurate and prone to errors, and automated ID readers rely on custom hardware and network connections, leading to inefficiency and privacy issues.
The system detects people's faces through image analysis, extracts birth date information from identity documents using a text recognition module, verifies people's identities using a facial recognition module, and performs accurate age verification by combining an age estimation neural network.
It enables faster and more accurate age verification, reduces the possibility of human error and fraudulent use of IDs, reduces hardware requirements and privacy data storage, and improves the flexibility and security of the system.
Smart Images

Figure CN121844366A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to a computer-implemented method of verifying the age of a person and an age verification system. BACKGROUND
[0002] Age verification (e.g. of a customer) has traditionally been performed by a person who first estimates the age of the customer by observing the customer and using their experience to estimate the age of the customer. If the person estimating the age is unsure, they can verify the age of the person by checking the person's ID (identity document).
[0003] However, the accuracy of age estimation performed by a human is known to be inaccurate as it is affected by unconscious biases and can also be affected by other factors such as fatigue or duress.
[0004] Additionally, a human checking an ID card is prone to error. For example, a human can not be able to identify a fake ID or they can incorrectly calculate the age of the person from the date of birth (DOB) shown on the ID card.
[0005] Furthermore, additional information of the person's DOB (e.g. the full name and home address of the individual) can be included on the identity card which can raise privacy concerns. Additionally, if the person checking the ID is not familiar with that particular ID card, it can be time consuming to locate the information (e.g. the DOB) that the person needs to find to verify the age of the person. This can be particularly difficult / time consuming if the ID card contains a language that the person checking the ID does not speak.
[0006] Known automatic ID readers typically comprise custom hardware for receiving an ID which is configured to read the ID. Typically, the custom hardware is configured to obtain an image of the ID which can then be processed in a separate application.
[0007] An alternative method for verifying the age of a person comprises using the person's own mobile phone to capture an image of the ID. The image can be sent to a remote processing location to perform the necessary processing. However, this method relies on the person having access to or owning a mobile phone, downloading the necessary application to the mobile phone and sending the data to the remote processing location over a network connection.
[0008] In view of the above considerations, the present invention has been devised. SUMMARY
[0009] In summary, the present invention provides a computer-implemented method of verifying the age of a person using a camera. This is achieved by using image analysis to detect the person, process a photographic identity document (ID), and verify that the photographic ID belongs to the person whose age is being verified. This enables more accurate verification of the age of a person to be performed locally without the need to store any private data.
[0010] Accordingly, in a first aspect of the present invention there is provided a computer- implemented method of verifying the age of a person, the method comprising:
[0011] receiving a first image of the person;
[0012] detecting a face of the person in the first image;
[0013] receiving a second image of an identity document (ID), wherein the ID is a photographic ID comprising a photograph of a face;
[0014] determining a region of interest in the second image, the region of interest comprising a first region and a second region, the first region containing birth date information on the ID, the second region containing the photograph;
[0015] extracting the birth date from the first region of interest using a text recognition module and calculating a claimed age of the person on the ID;
[0016] comparing the face of the person detected in the first image with the face in the photograph using a face recognition module to determine whether the person detected in the first image is the same person as the person on the ID; and
[0017] outputting an age verification message based on the claimed age of the person on the ID and based on the comparison between the face of the person detected in the first image and the face in the photograph.
[0018] Advantageously, the computer-implemented method of the first aspect provides a faster and more accurate age verification process which is less susceptible to human error or bias. Furthermore, by using a face recognition module to determine whether the person detected in the first image is the same person as the person on the photographic ID, the likelihood of someone fraudulently using another person’s ID to verify their age is reduced.
[0019] Additionally, the age verification process of the first aspect can be implemented using less hardware than existing systems which typically require a separate ID reader to analyse the ID. Furthermore, the computer-implemented method of the first aspect can be easily adapted to recognise additional types of ID from images without requiring adjustment or alteration of the hardware.
[0020] As discussed below in relation to the third aspect, the computer-implemented method of the first aspect can form part or all of an age verification routine performed by an age verification system.
[0021] The age verification message can comprise a claimed age of the person on the ID. In some examples, the age verification message can comprise an indication that the claimed age of the person is above a limit age threshold (as described herein).
[0022] The method can comprise verifying the claimed age of the person as a verified age of the person if the person detected in the first image is determined to be the person on the ID. Thus, the age verification message can comprise the verified age of the person.
[0023] The computer-implemented method can further comprise enabling or denying the transaction based on the age verification message. For example, the transaction can be enabled if the person detected in the first image is determined to be the person on the photo ID and the claimed age is above a verified threshold age. However, the transaction can be denied if the person is determined to be different to the person on the photo ID and / or the claimed age on the photo ID is below a verified threshold age.
[0024] The computer-implemented method can further comprise estimating an age of the person in the first image. Estimating an age of the person in the first image can comprise determining an estimated age of the person from the face detected in the first image using an age estimation neural network (described in detail below). The age verification message can comprise the estimated age of the person. In some examples, the age verification message can comprise an indication that the estimated age of the person is above a challenge threshold age.
[0025] The computer-implemented method can further comprise comparing the estimated age to a challenge threshold age. For example, the challenge threshold age can be a limit age for purchasing a restricted good or service. In other examples, the challenge threshold age can be a threshold age above a limit age (e.g. the challenge threshold age can be 25 years old and the limit age can be 18 or 21 years old).
[0026] Thus, if the estimated age is below the challenge threshold age, the method can comprise requesting a second image of the ID. The second image of the ID can be requested from the person. For example, a message can be displayed on a screen or an audio prompt can be played to instruct the person to present their ID.
[0027] If the estimated challenge age is above the challenge threshold, a second image of the photo ID can not be requested. Thus, in this example, the steps of receiving a second image of the ID, determining a region of interest in the second image, extracting a date of birth from the first region, and comparing the face of the person detected in the first image to the face in the photo of the second image can be omitted.
[0028] The computer-implemented method can include enabling a transaction based on the estimated age, wherein the transaction is enabled if the estimated age is above a challenge threshold age. For example, the transaction can include purchasing an age-restricted good or service. Thus, if the person in the first image is clearly older than the restricted age for purchasing the good or service, the transaction can be allowed without requiring the person to present their ID, thereby increasing the speed and efficiency of the age verification system.
[0029] The first image and the second image can be received from a camera. The camera can be any suitable image capture device configured to take or record video of a field of view of the camera. For example, the camera can be configured to continuously take the field of view, thereby capturing a plurality of images at a predetermined frame rate. In other examples, the camera can be configured to capture stills. For example, the camera can be configured to capture an image of the field of view upon receiving a command from the computing device.
[0030] When the camera is configured to continuously obtain images of the field of view, the computer-implemented method can include receiving a plurality of images from the camera and determining that one of the plurality of images includes a face in the field of view of the camera. In other words, the computer-implemented method can include continuously evaluating the plurality of images until a first image is received that includes a face.
[0031] Determining whether one of the plurality of images includes a face can include searching for a face in each of the plurality of images using a facial recognition module. The facial recognition module can include a first neural network configured to receive the first image and detect a face of a person in the first image.
[0032] The first neural network can include a convolutional neural network (CNN) configured to receive an image of a scene (i.e., one of the plurality of images), detect a face in the scene, and output a cropped image of the detected face. For example, the CNN can be trained for real-time object detection using transfer learning to detect and optionally track human faces.
[0033] The first image can be one of a first set of images of the person. The first set of images can include a plurality of images (i.e., frames) captured by the camera at a predetermined frame rate. The computer-implemented method can include detecting a face of the person in each of the first set of images.
[0034] In some examples, the face recognition module can be configured to recognize a face in a predetermined number of images. If a face is not detected in at least the predetermined number of images, the person in the first image can be disregarded. For example, the face recognition module can be configured to recognize a face in at least two images, more preferably in a larger number of images. If a person is present in the field of view but their face is not effectively detected in a sufficient number of images of the field of view, that person can not be effectively detected and can be disregarded. In this way, the chance of a false trigger of the detection by a person passing through the field of view is reduced, for example.
[0035] The computer-implemented method can comprise tracking the face of the person between consecutive images. For example, the face of the person can be detected and then tracked between each of a first set of images received from the camera. In this way, as the person moves in the field of view, multiple views of the face of the person can be captured. By tracking the face, the accuracy of the age verification process can be improved as more features of the face of the person can be analyzed.
[0036] In some examples, the computer-implemented method can comprise assessing the quality of the first image comprising the face. In this example, if the quality of the first image is too low, the first image can be rejected. If the first image is rejected, or a first set of first images is rejected, the computer-implemented method can be restarted (and repeated) until a first image (or a first set of images) comprising a face of sufficient quality is received.
[0037] For example, a face detected in an image can be determined to be of low quality if the face is not in focus, and / or if the face is not of sufficient size in the image (e.g. the person is too far away), and / or if the orientation (i.e. pose) of the face is too extreme, and / or if only part of the face is detected in the image. For example, if a face is detected in a first image (or in one image or a first set of images) that is obscured or passes over the image border, the face can not be effectively detected. As discussed in detail below, detection of a face in a first image and optionally a determination that the person in the first image is below a threshold age can trigger the age verification system to request a second image of the ID. For example, a message can be displayed on a screen instructing the person to present their ID. The message can comprise a request for the person’s consent to take and temporarily store a picture of them, for example, in compliance with GDPR regulations.
[0038] In this example, the computer-implemented method can comprise receiving a consent indication from the user interface and, upon receiving the consent indication, searching for an image of the photo ID in subsequent images received from the camera. If no consent indication is received, the ID can not be searched for in images from the camera and the computer-implemented method can be restarted.
[0039] Receiving a second image of the identity document can include receiving one or more images from the camera (after receiving the first image) and detecting a photo ID in one of the images. Detecting a photo ID in one of the images can be performed by the ID processing module. The ID processing module can include an ID processing neural network configured to recognize a photo ID. In some examples, the same neural network configured to recognize a photo ID can also be configured to determine a region of interest in the second image, as described below.
[0040] The computer-implemented method can include checking the quality of the second image. For example, if the photo ID (in particular the text on the photo ID and / or the photo) is not in focus, the second image can not be validly received until a photo ID in focus is detected. In some examples, checking the quality of the second ID can include checking that the photo and / or the text on the ID is visible in its entirety. For example, if the text and / or the photo on the ID is damaged or obscured, the ID can not be validly detected in the second image.
[0041] The region of interest in the second image can be determined using an ID segmentation module configured to recognize a region of the second image containing a predetermined visible feature.
[0042] For example, the region of interest in the second image can be determined using an ID processing neural network configured to recognize a predetermined region of interest containing a particular feature. Thus, determining the region of interest can also be referred to as performing image segmentation on the second image to locate a predetermined visible feature.
[0043] Image segmentation can involve dividing a (digital) image into a plurality of image segments (also referred to as image regions or image objects). Each region of interest can be a collection or region of pixels represented by a mask or bounding box. By dividing the second image into segments, only important segments of the second image can be processed in subsequent steps, thereby improving accuracy and reducing the processing load of the age verification process.
[0044] The ID processing neural network can be configured to classify the ID as belonging to one of a plurality of predetermined ID types. For example, the ID processing neural network can be configured to recognize a predetermined visible feature present in each ID class.
[0045] The ID processing neural network can be a CNN configured to receive an image of a scene (i.e. the second image) and recognize an ID in the scene. For example, the CNN can have been trained using transfer learning to detect classes of photo IDs.
[0046] The ID processing neural network can be configured to receive the second image as input and output coordinates of a bounding box. The bounding box can include at least a bounding box containing the identified photo ID. The bounding box can also include a bounding box containing a photo of a face on the photo ID and / or a region of the ID containing the date of birth information on the ID.
[0047] The ID processing neural network can be trained by providing the neural network with images of a plurality of different types of photo IDs (e.g., driver’s licenses, passports, ID cards). The plurality of different types of photo IDs can include photo IDs from a plurality of jurisdictions or countries. Thus, the age verification process can be more flexible and can be used more widely by users having different forms of IDs without requiring the provision of custom scanning hardware that can receive and scan IDs of different shapes and sizes.
[0048] The ID processing module can be configured to determine whether the ID in the second image is valid. The ID processing module can be configured to ignore IDs for which it does not recognize or for which it determines are invalid. In particular, the ID processing module can be configured to ignore IDs in which predetermined features are not detected. For example, the predetermined features can include the relative position, size, and / or shape of visible features on the ID (e.g., numbers representing the DOB, name, or photo). Thus, the likelihood of fraudulent IDs being accepted can be reduced compared to existing age verification systems because errors in the appearance of fraudulent IDs that result in unexpected or incorrect features (e.g., incorrect font or positioning of expected features on the ID) can be detected by the neural network and the ID is ignored.
[0049] In some examples, the computer-implemented method can include starting a timer for receiving a second image of a photo ID. If an image including a photo ID is detected within a predetermined time limit of the timer, the ID processing module can be used to determine a region of interest and extract DOB information from the ID. However, if an image including a photo ID is not received within the predetermined time limit of the timer, the age verification process can be restarted and a photo ID can not be effectively detected until a new first image of the person is received.
[0050] The timer for receiving a second image of a photo ID can be started when the person is requested to present a photo ID. In other examples, the timer can be started upon receiving a consent notification indicating that the person consents to the temporary storage of their picture and the analysis of their data.
[0051] The predetermined time limit for receiving a second image of a photo ID can be between 2 seconds and 20 seconds, more preferably between 3 seconds and 15 seconds, and more preferably 5 seconds.
[0052] Comparing the face of the person detected in the first image to the face on the photo ID in the second image can include extracting a first set of facial landmark points from the face in the first image, extracting a second set of facial landmark points from the face in the second image, and comparing the first set of facial landmark points to the second set of facial landmark points. The first set of facial landmark points and the second set of facial landmark points can include features of the face, such as the shape of the eyes, nose, and mouth, and the relative distances between these features.
[0053] Alternatively, the computer-implemented method can include receiving a third image of the person and detecting the face of the person in the third image. Thus, in this example, a first set of facial landmark points can be extracted from the face in the third image. In other words, comparing the face of the person detected in the first image to the face on the photo ID in the second image can include extracting a first set of facial landmark points from the third image, extracting a second set of facial landmark points from the face in the second image, and comparing the first set of facial landmark points to the second set of facial landmark points.
[0054] The computer-implemented method can include requesting user consent to temporarily store their images, and then capturing a third image of the person that contains the face of the person. The consent request can be included in a message instructing the user to present their ID.
[0055] The computer-implemented method can include receiving an indication from the user interface that the user has consented to temporarily store their images. Upon receiving the indication from the user interface, a third image containing the face of the person can be captured and stored. In some examples, upon receiving the consent indication or upon detecting the photo ID in the second image, the camera can be triggered to capture a third image of the scene containing the face of the person.
[0056] The computer-implemented method can include tracking the face of the person detected in the first image in subsequent images to determine that the face detected in the third image belongs to the person detected in the first image. In some examples, the face detected in the first image can be compared to the face detected in the third image using the same techniques described herein with respect to the face comparison module to ensure that the person in the first image is the same person as in the third image.
[0057] Thus, references to the "face of the person detected in the first image" can refer to the face captured in the first image, or to a face captured in a different subsequent image (i.e., the third image) that belongs to the person from the first image.
[0058] It should be noted that in some examples, the second image of the photo ID and the third image of the person can be the same image or different regions of the same image. For example, if the face of the person is visible in the camera’s field of view together with the photo ID, the same image can be used as both the second image and the third image.
[0059] Extracting the first set of facial landmarks and the second set of facial landmarks from the first image, the second image, and / or the third image can include first detecting and isolating the face in the respective image. This can include using a pre-trained machine learning model to detect the location and size of the face in the image. The pre-trained machine learning model can be a facial recognition neural network.
[0060] Once the face is detected and isolated in the image, the face can be aligned with a standard reference frame before extracting the facial landmarks. Thus, even if the orientation and size of the face in the image differ from one another, the face in the second image can be more accurately compared to the face in the third (or first) image.
[0061] The first set of facial landmarks can be compared to the second set of facial landmarks to compute a similarity score or a confidence level. The similarity score or the confidence level can indicate an amount of similarity (or difference) between the face of the person detected in the first image and the face in the second image. Comparing the facial landmarks can involve using a machine learning model or a statistical technique to determine the difference between the facial landmarks.
[0062] For example, the similarity score can be generated by computing a cosine distance between the first set of facial landmarks and the second set of facial landmarks. The cosine distance can be computed according to the following equation: where A and B are vectors representing the first set of facial landmarks and the second set of facial landmarks, is the angle between the vectors, is the dot product between A and B, and denotes the magnitude of the vectors.
[0063] If the similarity score or confidence level exceeds a predetermined minimum similarity threshold, the person on the photo ID can be determined to be the person detected in the first image. The predetermined minimum similarity threshold can be between 60% and 99%, more preferably between 65% and 80%, more preferably 70%. Scenarios requiring a highly accurate facial match can require a facial similarity score of at least 99% to be determined as a facial match. However, the present inventors have found that by relaxing the minimum similarity threshold to around 70%, a more reliable similarity determination can be provided which is suitable for the present application. This is because the photo ID can be old, degraded and / or of low quality. For example, the photo on the photo ID can be of low quality, or the photo of the person on the photo ID can show the person when they were younger. Therefore, by employing a lower similarity threshold than conventional comparison modules, the system is more suitable for comparing old or low quality photo IDs.
[0064] In some examples, the third image can be one of a third plurality of images (i.e. a third set of images). For example, the third plurality of images can comprise two images, more preferably four images, more preferably five images, of the face of the person. The computer-implemented method can comprise tracking the face of the person in each of the third plurality of images.
[0065] In this example, a plurality of first sets of facial landmarks can be computed for each of the images in the third set of images. Each set of facial landmarks can be compared to the second set of facial landmarks extracted from the photo ID to determine a plurality of similarity scores. If at least two of the similarity scores, more preferably three, more preferably five, exceed a predetermined similarity threshold, the person in the third set of images can be determined to be the person in the photo ID.
[0066] Alternatively, the plurality of first sets of facial landmarks can be averaged to provide a set of average facial landmarks of the person in the third set of images. This set of average facial landmarks can be compared to the second set of facial landmarks to compute a similarity score as described above.
[0067] In this way, a more accurate comparison of the face in the third set of images to the face on the photo ID can be performed compared to the case where a single image is used.
[0068] The text recognition module for extracting the date of birth from the second region of interest can comprise an optical character recognition (OCR) model configured to use a deep learning algorithm to identify and extract text from an image or scanned document. Once the first region comprising the DOB is identified, the text recognition model can extract individual characters or words from this region. This can comprise analysing the visual features of each character (e.g. its shape, size and texture) and comparing it to a set of pre-trained patterns.
[0069] After the DOB has been extracted, the claimed age of the person on the ID can be calculated by comparing the DOB to a system clock to determine how much time has passed since the DOB.
[0070] As noted above, the computer-implemented method can include enabling or denying an automated transaction based on the claimed age calculated from the date of birth on the ID. For example, the person whose age is being verified can be a customer or client, and the age verification process can be used by a store or service provider to determine whether an age-restricted good or service can be sold to the customer or client.
[0071] The method can include comparing the claimed age determined from the photographic ID to a verified threshold age (which can also be referred to as a restricted age or a predetermined threshold age). The method can also include providing an indication that the person is older than the verified threshold age. For example, if the claimed age of the person on the photographic ID is older than the predetermined threshold age, and if the person in the first image is determined to be the person on the photographic ID, then the person can be classified as overage (i.e., older than the verified threshold age).
[0072] Note that the claimed age calculated from the date of birth on the ID can be referred to as the verified age of the person if the person detected in the first image (or first set of images) is determined to be the person in the photographic ID.
[0073] In some examples, the computer-implemented method can include displaying the claimed age on a display screen and / or communicating the claimed age to a peripheral system such as an automated transaction machine.
[0074] The predetermined threshold age can be a restricted age for the purchase of an age-restricted good or service. Thus, the computer-implemented method can include enabling or denying a transaction based on the claimed age. For example, the computer-implemented method can include providing a control signal to an automated transaction system to enable or disable a transaction. For example, if the person detected in the first image is not determined to be the person on the ID, then the transaction can be denied.
[0075] Similarly, if the claimed age of the person on the ID is lower than the predetermined threshold, then the transaction can be denied. However, if the claimed age of the person on the ID is higher than the predetermined threshold age and the person in the first image is determined to be the person in the ID, then the transaction can be enabled.
[0076] When the computer-implemented method includes estimating the age of the person in the first image, the age estimation neural network can be used to generate the estimated age.
[0077] The age estimation neural network can be configured to receive a vector of facial landmarks as input for estimating the age of the person. For example, the cropped image of the detected face from the face recognition module can be provided to a facial landmark generator configured to determine a vector comprising coordinates of facial landmarks. For example, the facial landmark generator can be configured to generate coordinates of 40 to 80 (more preferably 50 to 70, more preferably 60) facial landmarks of the face in the first image. The age estimation neural network can be configured to output an estimated age of the person in years. However, in other examples, the age estimation neural network can be configured to classify the person in the first image as one of a plurality of age categories. For example, the age categories can include “child,” “young adult,” “young person,” “adult,” and / or “elderly.” In some examples, the age estimation neural network can include a binary classifier configured to determine whether the person in the first image is older or younger than a predetermined threshold age (e.g., 25 years old, 18 years old, etc.).
[0078] The age estimation neural network can be a regression network that includes a plurality of separate sub-neural networks configured to classify the person into a demographic category, e.g., an age, gender, and / or race category. The individual sub-neural networks can be configured to refine the age of the person into increasingly narrower age ranges until an estimated age of the person is determined.
[0079] The regression network can include a first layer neural network configured to receive the cropped image of the face (or facial landmarks extracted from the cropped image) and generate an initial age estimate of the person.
[0080] If the initial estimated age of the person is within a priority age range, one or more additional (i.e., second layer, third layer, fourth layer, etc.) neural networks can be used to refine the estimated age. However, if the initial estimated age is outside the priority age range, the initial estimated age can be output as the estimated age of the person.
[0081] If the initial estimated age of the person is within a priority age range, an additional (second layer) neural network can be used to classify the person in the cropped image according to skin tone and / or gender.
[0082] By training the multi-layer neural network in this way, the network can more accurately estimate the age of each type of person, as it is trained to recognize specific age-related characteristics. Thus, the age estimation network can have less bias towards specific demographic characteristics than a network that is not divided in this way.
[0083] An overall estimated age of the person or an indication of whether the person is older or younger than a threshold age (e.g. a challenging threshold age) can be generated.
[0084] By performing age estimation in this way using progressively specialised neural networks, more accurate estimates of the age of a person can be generated, as each network can be specifically tailored to reduce bias and improve the performance of the age estimation.
[0085] In some examples, the method can comprise estimating the age of the person from a plurality of images (i.e. frames) containing the face of the person. For example, 2 to 20 frames (more preferably at least 3 frames) can be analysed to generate an estimated age of the person. In this way, frames which result in anomalous results (as discussed in more detail below) can be ignored, improving the accuracy of the age estimation.
[0086] For example, the method can comprise detecting at least two (more preferably at least three) valid frames before determining an age estimate from the valid frames. After the required number of valid frames have been received, the estimated age can be determined from a rolling average of the faces detected in the most recent valid frames.
[0087] A valid frame can be a frame which includes a real (live) face and is determined to be within a pose limit. For example, the pose limit can be a limit on the angle of the face in the frame relative to the optical axis of the imaging device. For example, the pose limit can be <45 degrees, more preferably <35 degrees, from the optical axis of the imaging device. The inventors have found that by limiting the angle of the face in this way, more accurate estimates of the age of the person can be determined.
[0088] A tracking algorithm can be used to track and capture the face of the person in each of the plurality of images (or in each of the valid frames of the plurality of images). An estimated age can then be generated for each of the plurality of images as described above, providing a plurality of estimated ages for the person. An overall estimated age can be determined by calculating an average of the estimated ages. Thus, multiple views of the face of the person can be used to generate an age estimate, improving the accuracy of the estimated age.
[0089] The computer-implemented method can comprise disregarding an outlier estimate when calculating an average estimated age of a person. For example, if a person is classified as male in 19 out of 20 images, but is classified as female in 1 out of 20 images, then the image in which they are shown as female can be disregarded. Thus, the average estimated age can be calculated by only averaging the estimated ages generated by a particular neural network. In a different example, if a person is estimated to be between 20 and 22 years old in 19 images, but is estimated to be 52 years old in 1 image, then the single outlier image can be disregarded. By disregarding images with outlier results, images with poor lighting or abnormal artefacts that can affect the estimated age can be disregarded, and the overall estimated age of the person can be more accurate.
[0090] The computer-implemented method can comprise providing an indication that the person is older than the required age if the estimated age of the person in the first image is greater than a predetermined threshold age. For example, the predetermined threshold age can be 25 years old. If the person is estimated to be older than the predetermined threshold age, then a control signal can be provided to an automated transaction system to enable the transaction of age-restricted goods or services. However, if the person is estimated to be younger than the predetermined threshold age, then they can be requested to provide a photographic ID to verify their age.
[0091] The computer-implemented method can comprise providing an indication that the person is younger than the required age if the estimated age of the person in the first image is younger than a minimum threshold age. The method can comprise requesting a second image of a photographic ID only when the estimated age of the person is greater than the minimum threshold age. For example, in the case of a restricted age of 18 years old for the purchase of alcohol, the minimum threshold age can be 14 years old. Thus, the age verification system can avoid requesting a photographic ID from a person who is clearly younger than the restricted age.
[0092] Thus, by estimating the age of a person in a first image, the age verification system can quickly determine whether the person whose age is verified is clearly older or younger than the required age. Thus, the verification process can be achieved more quickly and efficiently compared to requesting a second image of an ID each time a person uses the age verification system.
[0093] In some examples, the computer-implemented method can comprise using a fraud face detector (also referred to herein as a fraud detection module) to determine whether the face in the first image is real or fake. The fraud detection module can be configured to detect a false face (which can also be referred to as a “fraud” face or a false face) in an image from a camera (i.e. in the first image). In some examples, the fraud face detector can be embedded in the face recognition module. That is, the face recognition neural network can be configured (i.e. trained) to detect and disregard fraud faces in the field of view.
[0094] Fraudulent faces can include pictures of faces being held up to the camera (e.g. on paper or on a phone screen), people wearing masks, images on TVs in the background, animal faces, etc. The face recognition module can be configured to reject faces that are determined to be invalid fraudulent faces.
[0095] In some examples, the fraud detection can include “liveness detection”, in which movement of facial features is detected. Other examples can include using a stereo camera to check that a face detected in the field of view is three-dimensional.
[0096] The computer-implemented method can include setting a fraud flag (e.g. setting a parameter in software to true or to 1, etc.) if the face detected in the first image is determined to be fraudulent. The fraud flag can be associated with the face determined to be fraudulent and used to implement a temporary ban for that face. For example, if the fraud flag associated with the face is set to true, the method can include ignoring the face for a predetermined period of time. The predetermined period of time can be between two and twenty seconds, more preferably between three and ten seconds, more preferably five seconds. By imposing a temporary ban on a face determined to be fraudulent, the likelihood of the system incorrectly classifying the face as genuine in subsequent images is reduced. In some examples, the age verification system can be configured to restart the age verification routine when a fraudulent face is detected by the fraud detection module. Thus, detecting a fraudulent face in the first image can improve the security of the age verification process by preventing an underage person from passing themselves off as someone else by holding up a picture to the camera.
[0097] The computer-implemented method can further include authenticating the ID. For example, authenticating the ID can include illuminating the ID with UV light. By illuminating the ID with UV light, UV security tokens typically used to prevent the use of fraudulent IDs can become visible, providing a means of authenticating the ID as a valid form of ID.
[0098] The computer-implemented method can include receiving an additional image (i.e. a fourth image) of the illuminated ID (i.e. from the camera) and determining from the image whether the illuminated ID includes a predetermined security feature.
[0099] The predetermined security feature can be a UV reactive feature, for example, a UV ink or a UV watermark. The UV reactive feature can be visible in the additional image as a luminescent or fluorescent pattern that is not visible under normal lighting conditions. Thus, determining whether the illuminated ID includes the predetermined security feature can comprise comparing the UV reactive feature in the additional image with an expected UV reactive feature for that type of ID. For example, a passport can have UV reactive fibers or printing that luminesce under UV light, while a driver’s license can have UV reactive ink that produces a particular pattern or image.
[0100] The authenticated ID can comprise detecting a fluorescent region in the region of the fourth image that indicates the UV reactive feature (i.e., rather than identifying the particular feature itself). In some examples, an artificial neural network (ANN) can be configured to receive the fourth image of the illuminated ID and determine whether the fourth image includes a fluorescent region in the expected region of the photo ID.
[0101] The ANN can be a binary classifier that is configured to receive an image of a UV illuminated ID and output a binary classification indicating whether the ID is counterfeit or non-counterfeit based on the presence of a fluorescent region in the image. The benefit of this technique is that the ANN can be trained to verify an illuminated ID by providing the ANN with examples of valid, illuminated IDs. There is no need to provide the ANN with specific knowledge of the security features in each type of ID. Thus, the verification of the ID can be faster and more efficient compared to a situation where a database is stored and consulted to identify particular UV features.
[0102] In this way, the detection rate of false IDs can be improved compared to a system that only uses images of the ID that include visible light, thereby increasing the security of the age verification process.
[0103] The UV light used to illuminate the ID can be long-wave UV (UV-A) light. For example, the UV light used to illuminate the ID can have a wavelength of between 300 nm and 400 nm (more preferably between 350 nm and 380 nm, more preferably 365 nm). UV light of this wavelength is particularly suitable for illuminating features that are not visible to the naked eye, for example, fluorescent inks, fibers, or security threads.
[0104] The ID can be illuminated by a UV light pulse having a duration of 5 ms to 100 ms (more preferably 10 ms to 50 ms, more preferably 10 ms to 20 ms). The inventors have found that a UV light pulse of this duration is suitable for minimizing the exposure of the user to UV light while ensuring that the camera is able to capture sufficient information to identify any security markings in the ID.
[0105] The computer-implemented method can comprise displaying on the display screen an image from the camera, the image containing / capturing the field of view of the camera. For example, the camera can be configured to continuously take images of the field of view of the camera. Thus, the computer-implemented method can comprise displaying on the display screen the field of view.
[0106] The computer-implemented method can comprise displaying on the screen the field of view of the camera, wherein a face in the field of view that is detected by the face recognition module is highlighted on the screen. For example, the face that is detected by the face recognition module can be displayed on the screen within a box.
[0107] In some examples, the computer-implemented method can comprise displaying on the display screen a target area for positioning the ID in the field of view. For example, the target area can be a bounding box, e.g. a rectangle corresponding to the shape of the ID card. The target area can be displayed on the display screen after receiving the first image and / or when or after the photo ID has been requested.
[0108] The computer-implemented method can comprise detecting when the photo ID is positioned within the field of view in the target area that is being displayed on the screen. An indication can be provided when the ID is detected within the target area. For example, an indication can be displayed on the screen when the ID is located in the target area. For example, when the target area comprises a rectangle, the method can comprise changing the colour of the rectangle when the ID is detected in the rectangle.
[0109] The computer-implemented method can comprise receiving a second image when the ID is detected in the target area. For example, receiving the second image can comprise detecting the ID in the target area in one of the plurality of images received from the camera and storing that image as the second image for analysing the ID.
[0110] The target area can be configured to define a location in the field of view of the camera where the ID is in focus. In some examples, the target area can be configured to define a location in the field of view of the camera where the ID can be illuminated by UV light for UV authentication. In this example, the target area can be configured to define a location of the ID where the UV illumination can be blocked by the ID, thereby protecting the person from the UV illumination. Thus, if the person is holding the ID, their exposure to the UV illumination can be reduced.
[0111] In some examples, an indication that the ID is recognised can be provided when the ID (e.g. by the ID processing neural network) is determined to be an identified type of ID. For example, the target area on the display screen can change colour, an audio cue can be sounded, or an LED can light up to indicate that the ID is in an acceptable form. Likewise, the method can comprise providing an indication when the person in the first image is determined to be the person on the ID and / or the age of the person calculated from the ID is determined to be equal to or above a threshold age.
[0112] The computer-implemented method can comprise restarting the age verification routine if no second image comprising the ID is received after a predetermined time period. For example, the computer-implemented method can comprise starting a timer when the face is detected in the first image, and if no second image containing the ID is received after the timer has reached the predetermined time period, the age verification process can be restarted (i.e. the age verification system will look for a new first image containing a face). Thus, if the person is unable to display a valid ID, or the person leaves the field of view, the routine can automatically restart.
[0113] In some examples, the computer-implemented method can comprise restarting the age verification routine if a face belonging to a new person is detected in the field of view of the camera (i.e. not the person in the first image or the face on the ID). Thus, if a new person is using the age verification system, the routine can restart in order to verify the age of the new person.
[0114] The computer-implemented method can be executed locally on a computing device (e.g. processing unit) in communication with the camera. Thus, the age of a person can be verified without requiring an internet or network connection, thereby providing a faster and more efficient age verification process. Additionally, the age verification process is more secure as personal data (including images of faces and information extracted from IDs) can be processed locally.
[0115] When the computer-implemented method is configured to be executed locally, the computer-implemented method can comprise deleting the first image and the second image from the memory. Additionally, the method can comprise deleting the extracted DOB and any other data included on the photographic ID from the memory. Thus, personal data belonging to the person whose age is being verified (e.g. images of their face and information about their ID) can only be temporarily saved for age verification, thereby increasing the security of the age verification system.
[0116] In some examples, the computer-implemented method can comprise extracting the date of birth from the second region of interest and calculating the claimed age of the person on the ID using the text recognition module only if the face comparison module determines that the person in the first image is the person on the ID. In other words, the text recognition module can be used to extract the date of birth from the second region if the person in the first image is determined to be the person on the ID. Thus, the age verification process can be implemented more quickly as a redundant step (i.e. performing text recognition on the ID) can be omitted if the ID is determined to be invalid.
[0117] Generally, the steps of the first aspect can be performed in any suitable order.
[0118] For example, the text recognition module can be used to extract a date of birth on the ID and calculate a claimed age of the person on the ID before comparing the face of the person in the first image with the face on the photo ID. However, in other examples, the face of the person in the first image can be compared with the face on the photo ID before the date of birth is extracted from the ID. Thus, if the ID does not belong to the person in the first image, the text recognition module can not be used to extract the date of birth as the photo ID can be classified as invalid.
[0119] In a second aspect of the application, there is provided an age verification system configured to perform the computer-implemented method of the first aspect.
[0120] In particular, there is provided an age verification system for verifying an age of a person, the system comprising:
[0121] a camera;
[0122] a computing device configured to receive an image from the camera and output an age verification message, the computing device comprising:
[0123] a face detection module configured to receive a first image of a person and detect a face of the person in the first image;
[0124] an ID processing module configured to receive a second image of an identity document (ID) and determine a region of interest in the second image, wherein the ID is a photo ID comprising a photo of a face, the region of interest comprises a first region and a second region, the first region containing a date of birth on the ID, the second region containing the photo;
[0125] a text recognition module configured to extract the date of birth from the second region of interest and calculate a claimed age of the person on the ID from the date of birth; and
[0126] a face comparison module configured to compare the face in the first image with the face in the photo and determine whether the person detected in the first image is the same as the person on the ID, wherein the age verification message is based on the claimed age of the person on the ID and on the comparison between the face in the first image and the face in the photo.
[0127] The age verification system of the second aspect can comprise a display screen. The display screen can be configured to display an image (i.e. a field of view) from the camera.
[0128] The age verification system may include a UV illuminator for authenticating the ID. That is, the UV illuminator may be configured to illuminate the ID with UV light. For example, the UV illuminator may be an LED configured to provide light with a wavelength between 320 nm and 400 nm (more preferably between 350 nm and 380 nm, even more preferably 365 nm).
[0129] To avoid any doubt, the age verification system of the second aspect can be configured to perform any of the optional features of the optional features of the first aspect.
[0130] For example, the computing device may also include an age estimation module for estimating the age of a person in the first image and / or an ID authentication module for authenticating an ID and / or a fraud detection module for detecting fake faces in fake images, as described above with respect to the first aspect.
[0131] In a third aspect of the invention, an automated trading machine is provided that includes the age verification system described above.
[0132] For example, automated transaction machines may include product scanning equipment and currency processing equipment for conducting automated transactions, such as card readers or cash handling machines.
[0133] Additional aspects of the invention may relate to a system configured to perform a computer-implemented method according to any of the first aspects of the invention. Specifically, the system may include a processor configured to perform the respective computer-implemented methods of the first, second, and third aspects of the invention.
[0134] An additional aspect of the invention may provide a computer program comprising instructions that, when executed by a computer, cause the computer to perform the steps of any of the computer-implemented methods described in the first aspect of the invention. The computer program may take the form of a non-tangible computer program product including the instructions.
[0135] Other aspects of the invention may provide a computer-readable storage medium having a computer program of the foregoing aspects of the invention stored thereon. Additionally, aspects of the invention may provide a computer-readable storage medium having instructions stored thereon, which, when executed by a computer, cause the computer to implement the computer-implemented method described in the first aspect of the invention.
[0136] The present invention includes combinations of the described aspects and preferred features, unless such combinations are obviously not permitted or are explicitly avoided. Attached Figure Description
[0137] Embodiments and experiments illustrating the principles of the invention will now be discussed with reference to the accompanying drawings, in which:
[0138] Figure 1 An age verification system according to aspects of the application is shown;
[0139] Figure 2 is a high level flowchart showing an exemplary process for verifying the age of a person according to aspects of the application;
[0140] Figure 3 An age verification system according to one or more aspects of the application is shown that can be configured to perform a computer-implemented method;
[0141] Figure 4 is a flowchart showing an exemplary process for checking the age of a person according to aspects of the application;
[0142] Figure 5 is a flowchart showing an exemplary process for analyzing an ID according to aspects of the application;
[0143] Figure 6 is a flowchart showing an exemplary process for authenticating an ID according to aspects of the application;
[0144] Figure 7 is a flowchart showing an exemplary process for estimating the age of a person;
[0145] Figure 8 An example display of an age verification system is shown; and
[0146] Figure 9 Another example display of an age verification system is shown. DETAILED DESCRIPTION
[0147] Aspects and embodiments of the present application will now be discussed with reference to the drawings. Other aspects and embodiments will be apparent to those skilled in the art upon consideration of the specification. All documents mentioned herein are hereby incorporated by reference.
[0148] Figure 1 A person uses an age verification system 1 to verify the age of a person according to aspects of the application is shown.
[0149] The age verification system 1 comprises a camera 2 and a computing device 3.
[0150] The camera 2 is configured to capture images of people and objects located in a field of view 6 of the camera 2 and to transmit the images to the computing device 3. For example, the camera 2 can be configured to capture a live stream of the field of view 6, wherein a plurality of images of the field of view 6 are captured at a predetermined frame rate and transmitted continuously to the computing device 3. In other examples, the camera 2 can be configured to take images that are still images captured at predetermined times apart or according to commands of the computing device 3.
[0151] The computing device 3 can be any suitable processing unit, computer or server configured to receive images of the field of view 6 from the camera 2 for processing the images.
[0152] In particular, the computing device 3 is configured to receive a first image of a person and detect a face 4 of the person in the first image. After receiving the first image, the computing device is configured to receive a second image of an identity document (ID), where the ID is a photo ID comprising a photo of a face. The computing device is configured to analyse the second image to determine whether the photo ID belongs to the person detected in the first image, and determine a claimed age of the person on the photo ID from a date of birth displayed on the ID.
[0153] If the person detected in the first image is determined to be the person on the photo ID, the claimed age is classified as a verified age of the person. In the applications described herein, the verified age is used to enable or deny a transaction, for example, the sale of an age-restricted good or service.
[0154] In some examples, the computing device 3 is configured to estimate an age of the person from the face 4 in the first image. In these examples, the computing device 3 is configured to request the person to present their photo ID only if the estimated age of the person in the first image is below a challenge threshold age.
[0155] In some examples, the computing device is configured to authenticate the photo ID in the second image to determine whether the photo ID is fake. As described below with respect to Figure 6 authentication of the ID includes illuminating the ID with UV light, as discussed in detail below.
[0156] Figure 2 is a high-level flowchart showing an exemplary process for verifying an age of a person (e.g., using the age verification system of Figure 1 .
[0157] In step S200, an image of a field of view is received from a camera and a first neural network is used to detect a face in the field of view and track the face as it moves between images. The neural network is used to generate an estimated age of the person.
[0158] If the estimated age of the person is below a threshold challenge age, the person is requested to present a photo ID card to the camera. This step is described in more detail below with respect to Figure 4 .
[0159] Next, in step S202, a second image of the photo ID of the person is analysed using a second neural network and information is extracted from the photo ID using a text recognition module to verify the age of the person. As described below with reference to Figure 5The step includes extracting the person's date of birth from the photo ID to calculate the person's claimed age and determining whether the person photographed on the ID is the same person as in the first image.
[0160] Finally, in step S204, the photo ID is authenticated using UV light to ensure that the ID is authentic and not a fraudulent photo ID. This is described below with respect to Figure 4 to Figure 6 This step is explained in more detail.
[0161] Figure 3 An age verification system 100 configured to perform the age verification process of Figure 2 is shown.
[0162] The age verification system 100 comprises a computing device 102 connected to a camera 120, as described above with respect to Figure 1 Additionally, the age verification system 100 comprises a UV illuminator 140 and a display screen 130 connected to the computing device 102. For example, the computing device 102 can be connected to the camera and / or display screen and / or UV illuminator via wired or wireless connection(s).
[0163] The age verification system 100 can form a standalone system for verifying the age of a person. For example, the system can be used by staff of an age-restricted venue (e.g. a bar or club) to verify the age of people.
[0164] In other examples, the age verification system 100 can form part of a wider system, for example, an automated transaction system such as a self-checkout machine in a shop. In this example, the computing device 102 can be configured to enable or reject a transaction based on the verified age of the person. For example, a transaction can be rejected if the verified age is above a verified threshold age.
[0165] In some examples, the hardware comprising the computing device 102, camera 120, display screen 130 and / or UV illuminator 140 can be part of an existing automated transaction system (e.g. a self-checkout machine). In this example, the automated transaction system can be configured to perform the computer-implemented methods described herein, for example, by installing a USB device or by downloading a plug-in.
[0166] The display screen 130 can be any suitable screen configured to display instructions and / or status updates to a user of the age verification system 100. For example, the display screen 130 can be an LCD, OLED, LED display or CRT. As described above, the camera 120 can be configured to continuously take images of the field of view of the camera 120 and the display screen 130 can be configured to continuously display the field of view.
[0167] The UV illuminator 140 is configured to illuminate an ID card held in the field of view of the camera 120 in order to authenticate the ID, as described below. For example, the UV illuminator 140 can be a UV LED, or a halogen, fluorescent, or incandescent light source (i.e., a light bulb or tube).
[0168] The computing device 102 includes a face processing module 104 for detecting and analyzing a face in the field of view of the camera 120, an ID processing module 108 for analyzing a photo ID presented to the camera 120, and an ID authentication module 112 for determining whether the photo ID is a real or a fake ID.
[0169] In this document, the term“module” is used to refer to a functional module configured to, or adapted to, perform a particular function. Modules can be implemented in hardware (i.e., they can be separate physical components within a computer), in software (i.e., they can represent separate segments of code that, when executed by a processor, cause the processor to perform a particular function), or a combination of the two.
[0170] The face processing module 104 includes a face detection module 1040, a fraud detection module 1042, and an age estimation module 1044. The face detection module 1040 is configured to receive images from the camera 120 and detect a first image that includes a face in the field of view of the camera. The fraud detection module 1042 is configured to analyze the first image and determine whether the face is a“live” face or whether the face is a fake (e.g., a photograph of a face). Typically, the fraud detection module 1042 is part of the face detection module 1040, where the face detection module 1040 is configured to ignore faces that are determined to be fake. The age estimation module 1044 is configured to generate an estimated age of a person whose face is detected in the first image.
[0171] The ID processing module 108 is configured to receive images from the camera 120 and detect a second image that includes a photo ID card located in the field of view of the camera 120. The ID processing module 108 includes an ID segmentation module 1080, a text recognition module 1082, and a face comparison module 1084.
[0172] The ID segmentation module 1080 includes an ID processing neural network that is configured to detect a photo ID in the second image, determine whether the photo ID is an identified type of ID, and identify regions of interest on the ID. The identified type of ID is a type of photo ID that the ID processing neural network has been trained to recognize. For example, the ID processing neural network can be configured to recognize various photo ID cards from multiple jurisdictions and / or countries, and to identify regions of interest on these types of photo IDs.
[0173] The region of interest includes a first region on the ID where the date of birth is located and a second region on the ID where the photograph (i.e. the picture including the face) is located. In some examples, the display screen can be configured to display a bounding box around the photograph ID and / or the region of interest to indicate that the photograph ID has been identified.
[0174] The text recognition module is configured to extract the date of birth from the first region of interest and to calculate a claimed age of the person on the ID from the date of birth. For example, the computing device can include or be connected to a system clock for providing the current date and can calculate the claimed age of the person by subtracting the date of birth from the current date.
[0175] The face comparison module 1084 is configured to capture an additional image of the person detected in the first image and to compare the face of the person in the additional image with the face on the photograph ID in the second image. The face comparison module 1084 can then determine whether the person detected in the first image is the same as the person on the photograph ID.
[0176] Finally, the computing device includes an ID authentication module 112 for verifying whether the ID in the second image is authentic (i.e. not fraudulent). The ID authentication module 112 is configured to provide a control signal to the UV illuminator 140 to illuminate the ID in the field of view with UV light. An image of the illuminated ID is then received from the camera 120 and analyzed to detect the presence of expected UV security features of the ID.
[0177] Thus, if the person on the ID is determined by the face comparison module to be the person from the first image and the ID is determined to be authentic, the age verification system 100 can assert that the claimed age on the ID is the verified age of the person in the first image.
[0178] The following figures serve to describe the functionality of each module of the age verification system 100 in more detail. In the following examples, the age verification process is described in the context of enabling or denying a transaction. However, the age verification system 100 can also be used for other applications. For example, the verified age of the person can be displayed on a screen or transmitted to a separate server or controller. In other examples, the computing device 102 can only provide an indication that the person is older than a predetermined threshold age (e.g. by playing an audio cue or by sending a control signal to a light to make it red or green).
[0179] Figure 4 is a flowchart illustrating an exemplary process for estimating the age of a person according to aspects of the present invention. Figure 4 The steps described in Figure 2 may be considered as sub-steps of step S200 in
[0180] In step S300, the computing device 102 receives an image of a scene from the camera 120.
[0181] Next, in step S302, the face detection module 1040 is used to determine whether the image of the scene includes a face. The face detection module 1040 includes a face recognition neural network configured to identify facial features of a person in the image. If the image of the scene includes a face, the region of the image in which the face is located is stored for further processing, and the process proceeds to step S304.
[0182] If no face is detected in the image, steps S300 and S302 can be repeated for subsequent images from the camera 120 until a first image is detected that includes a face.
[0183] In step S304, the fraud detection module 1042 is used to determine whether the face detected in step S302 is a real face belonging to a live person standing in the field of view of the camera 120. In some examples, S302 and S304 can be performed simultaneously, with the face recognition neural network being configured to detect and disregard fraudulent faces in the field of view, such that no valid detection exists if no “live” face exists.
[0184] If the face in the first image is determined to be a real face, the process proceeds to step S308. However, if the face is determined to be a false face (e.g., a photograph of a face), the preceding steps S300 to S304 can be repeated until a first image is received that detects a real face in the field of view. In some examples, a transaction can be disabled upon detection of a false face in the field of view. For example, if the age verification system 100 is used to verify the age of a person to purchase an age-restricted good or service, the transaction can be denied if the detected face is false.
[0185] In some examples, steps S300 to S304 can be performed continuously, such that a face is continuously detected in multiple images from the camera. In these examples, the face recognition module is configured to track the face between images.
[0186] In step 308, the age estimation module 1044 uses an age estimation neural network to estimate the age of the person in the first image.
[0187] In some examples, the age estimation module 1044 can be a binary classifier configured to determine whether the person in the first image is above or below a threshold challenge age. Thus, the output from the age estimation module can be a binary result indicating whether the person is estimated to be of age or not of age. In other examples, the output from the age estimation module can be a specific estimated age (e.g., in years).
[0188] The following is about Figure 7 The process for estimating the age of a person is described in more detail, wherein the age estimation neural network is a regression network that includes multiple separate sub-neural networks configured to classify people into demographic categories.
[0189] In step 310, the estimated age is compared to a first threshold age. For example, the first threshold age could be a challenge threshold age that is older than the age required to purchase age-restricted goods or services. For instance, in the UK, the challenge threshold age in step S310 could be 25 years old, used to determine whether the person is permitted to purchase alcohol.
[0190] If the estimated age of a person is determined to be higher than the threshold challenge age, the process proceeds to step S312, where a transaction is enabled. For example, this step may include providing a control signal to an automated transaction machine to enable the person to purchase age-restricted goods or services. After enabling a transaction, the age verification process can be restarted, allowing the age verification system 100 to evaluate new images from camera 120 to detect new persons.
[0191] Alternatively, if the estimated age of the person is determined to be below a threshold challenge age, the process proceeds to step S314, where the person is asked to present a photo ID card to verify their age. For example, this request could be displayed as a text message on display screen 130, or an audio track could be played to request the person to present their photo ID.
[0192] In some examples, multiple images (i.e., pictures) can be received from a camera and used to generate an estimated age for a person. In these examples, if most of the estimated ages (from each image) are below a threshold challenge age, the process proceeds to step S314 to request a photo ID. However, if most of the estimated ages are above the threshold challenge age, the process proceeds to step S312, where a transaction is enabled.
[0193] For example, after detecting a face in an image from a camera, the computing device can be configured to capture five images from the camera. Each frame can contain a view of the person's face from a slightly different angle as the person moves in front of the camera. The computing device can track the person frame by frame to ensure that each image contains the same person.
[0194] Next, an age estimation network is used to generate an estimated age for each frame. If the estimated age is higher than a challenge threshold age in three out of five images, a transaction can be enabled; otherwise, the person is asked to present their photo ID to the camera.
[0195] Figure 8An example of a display screen 130 showing a message asking whether a person determined to be younger than a challenge threshold age wants to perform an automatic identification check is shown. If the person indicates that they wish to perform an ID check (i.e. by selecting “Accept” on the screen), the process proceeds according to Figure 5 continues to verify the age of the person.
[0196] Figure 5 is a flowchart showing an example process for verifying the age of a person by analysing an image of a photo ID. Figure 5 The steps described in Figure 2 may be considered to be sub-steps of step S202 in
[0197] In step S400, the ID processing module receives a second image containing an ID from the camera 120, where the ID is a photo ID comprising a photo of a face.
[0198] In step S402, the ID segmentation module uses the ID processing neural network to determine whether the ID is an identified type of ID. If the ID is not identified as an ID type that the ID segmentation module 1080 is configured to identify, steps S400 and S404 are repeated until a second image comprising an identified type of ID is detected. However, if the ID is identified, the process proceeds to step S404.
[0199] The photo ID can be any suitable form of photo ID for proving the age of a person. For example, the ID can be a driving licence, a passport or a European ID card. The ID segmentation module can be configured to identify types of ID from multiple countries and jurisdictions.
[0200] The target area (e.g. a rectangle) for receiving the photo ID can be indicated on the display screen 130 as a bounding box overlaid on the field of view of the camera. Thus, the person can move their ID card around the field of view of the camera 120 until it is successfully identified by the ID segmentation module 1080. In some examples, the process can include providing an indication that the ID has been successfully identified. For example, the bounding box on the display screen 130 can change colour or an audio cue can be played.
[0201] In step S404, the ID segmentation module uses the ID processing neural network to determine a region of interest (i.e. a patch) in the second image, where the region of interest comprises a first region containing a date of birth on the ID and a second region of interest comprises a photo on the ID.
[0202] The ID processing neural network can be configured to perform steps S402 and S404 simultaneously. For example, the neural network can be trained using images of multiple different types of IDs to identify regions of interest on the ID card. Thus, in this example, step S402 can not be a distinct step from S404, but can be performed by one or more hidden layers of the ID processing neural network.
[0203] Advantageously, since the ID processing neural network has been pre-trained using multiple different types of photo IDs, the age verification system 100 is able to identify and process multiple types of ID cards offline, without requiring a network connection to look up how to process each type of ID to extract the required information.
[0204] Furthermore, since the process includes receiving an image of the ID, the age of a person can be verified without requiring custom hardware to scan the ID.
[0205] If the photo ID in the second image is identified as a type of ID used to train the neural network, the ID segmentation module can output the region of interest. However, if the photo ID presented in the second image is not identified, steps S400 to S404 can be repeated until the ID segmentation module is able to successfully identify an image including an identified ID and the required region of interest.
[0206] In step S406, the text recognition module 1082 is used to extract the date of birth written on the photo ID in the first region of interest. For example, the text recognition module 1082 can include an optical character recognition (OCR) model configured to identify and extract individual characters or words from the second region to determine the date of birth.
[0207] In step S408, the extracted date of birth is used to determine the claimed age of the person on the ID. For example, the current date can be retrieved from a clock, and the claimed age can be calculated by calculating the number of years elapsed between the date of birth and the current date.
[0208] In step S410, the claimed age on the ID is compared to a second threshold age to determine whether the person is age-compliant or age-non-compliant. The second threshold age can be lower than the challenge threshold age. For example, the second threshold age can be the threshold age required to purchase age-restricted goods or services. This is useful to verify the age of those who look older than they appear. For example, if the age estimation module 1044 determines that the person is older than the required threshold age but younger than the challenge threshold age, their ID will still be checked, reducing the chance of false assessment if people appear older than they actually are. For example, in the UK, the challenge threshold age can be 25 years old and the required threshold age can be 18 years old to allow the sale of alcohol to the person using the age verification system 100 to be prohibited.
[0209] If the claimed age calculated from the date of birth is lower than the second threshold age, the person is classified as age-non-compliant and the process proceeds to step S420, in which the transaction is declined.
[0210] However, if the claimed age calculated from the date of birth is equal to or higher than the second threshold age, the process proceeds to step S411 in which an additional (third) image of the person is captured and temporarily stored for comparison with the photographic ID.
[0211] In step S412, the face comparison module 1084 is used to compare the face of the person in the third image with the face on the photographic ID.
[0212] For example, comparing the face of the person in the third image with the face on the photographic ID can comprise extracting a first set of facial feature points from the face in the third image; extracting a second set of facial feature points from the face in the second image; and comparing the first and second sets of facial feature points to determine a similarity score indicative of how similar (or dissimilar) the faces are to each other.
[0213] To extract the facial feature points, the face is first detected and isolated in each of the second and third images. This involves using a pre-trained machine learning model to detect the location and size of the face in the image. Once the face is detected in the second and third images, the faces are aligned to a standard reference frame so that they have similar sizes and alignments. The facial feature points are then extracted and directly compared to generate a similarity score.
[0214] In step S414, the comparison is used to determine whether the person detected in the first image and captured again in the third image is the same person as on the ID. For example, if the similarity score calculated in step S414 is above a predetermined similarity threshold, the person in the third image is determined to be the person on the photographic ID and the process proceeds to step S416.
[0215] However, if the similarity score is below the predetermined similarity threshold, the person in the third image is determined to be a different person to the person on the ID (i.e. the ID is classified as invalid). In this case, the process proceeds to step S420, in which the transaction is rejected. A notification is generated indicating that the ID has been determined to be invalid. For example, an audio prompt message can be displayed on the display screen 130, or a message can be played.
[0216] In some examples, the computing device can be configured to receive and temporarily store a plurality of additional images (e.g. 5 images) from the camera. As described above, the face of the person is tracked between the images, and a similarity score is generated for each image. If the similarity score is above the predetermined similarity threshold in a majority of the images, the person in the plurality of additional images is determined to be the person on the photo ID. In this way, the system can accommodate different poses and angles of the face as the person moves in front of the camera.
[0217] In step S416, the ID authentication module is used to authenticate the ID to determine whether the ID is genuine or fake. This is described below in relation to Figure 6 This step is explained in more detail.
[0218] If the ID is successfully authenticated, the claimed age on the ID can be considered to be the verified age of the person. In this example, since the claimed age has already been compared to the threshold age (in step S410), the person is classified as age-compliant, and the process proceeds to step S418, in which the transaction is enabled.
[0219] However, if the ID is not successfully authenticated, for example because the ID is a fake ID or is damaged, the process proceeds to step S420, in which the transaction is rejected because the person has not provided a valid form of photo ID.
[0220] Figure 9 An example of the display screen 130 is shown, showing the field of view of the camera and a bounding box overlaid on the field of view of the camera, which contains the photo ID card. Furthermore, a bounding box around the region of interest detected in step S404 is shown around the ID card, photo and date of birth on the photo ID.
[0221] Figure 6 is a flowchart showing an example process for authenticating an ID in a second image. Figure 6 The steps of can be considered to be Figure 5 sub-steps of step S416 in
[0222] In step S500, the ID authentication module 112 sends a control signal to the UV illuminator 140 to illuminate the ID with UV light.
[0223] In step S502, an image of the illuminated ID is received from the camera 120.
[0224] The UV light is ideally of a wavelength of 365 nm, for illuminating the UV security features in the photo ID. The UV light is pulsed for, for example, 500 ms, during which an image of the illuminated ID can be received by the computing device 102. In examples in which the camera 120 is configured to capture a still image rather than continuously photograph the field of view, the computing device is configured to instruct the camera 120 to capture an image of the illuminated ID during the UV light pulse.
[0225] The target area displayed on the display screen 130 for positioning the ID in the field of view is configured to fill an area of the field of view that receives the maximum amount of UV light, thereby ensuring that the ID is sufficiently illuminated for authentication of the ID. Additionally, by requiring the ID to be positioned in this way, the ID itself can act as a shield between the UV illuminator 140 and the person presenting the ID, thereby providing protection for the user’s eyes and skin from absorbing excessive UV light.
[0226] In step S504, the ID authentication module 112 analyses the image of the illuminated ID using a neural network to determine whether the expected UV fluorescence region is visible in the ID.
[0227] If the expected fluorescence region is detected in the image of the illuminated ID, the process proceeds to step S508, in which the ID is classified as a genuine ID (i.e. the ID has been successfully authenticated as a valid ID).
[0228] However, if the expected fluorescence region is not detected in the ID, or the fluorescence region does not correspond to the expected fluorescence region for that ID, the process proceeds to step S506, and the ID is rejected as an invalid ID.
[0229] As described above in relation to Figure 5 When the ID is successfully authenticated, the age verification system 100 can verify that the age of the person in the first image is the claimed age calculated from the date of birth on the ID. The transaction can therefore be appropriately enabled or rejected based on the verified age. After the verified age has been determined, the process is restarted so that a new person can verify their age by entering the camera’s field of view.
[0230] Other events can also cause the process to restart. For example, if an ID in a valid form is not detected in the second image after a predetermined amount of time (e.g. 5 seconds) has elapsed since the first image or request for the ID was received, the process can be restarted.
[0231] It should be noted that Figure 4 to Figure 6Each of the steps described in the middle can be omitted or performed in an alternative order to the order shown. For example, the ID card can be authenticated with UV light before extracting the date of birth on the ID or comparing the face of the person in the first image with the face of the person on the ID. Thus, in this example, the steps of extracting the date of birth and comparing the faces can be omitted if the ID is a fake ID, because the ID is invalid, thereby improving the speed of the age verification routine in this example. Other steps can also be performed in different orders in this way.
[0232] Figure 7 A process for estimating the age of a person using a regression network (e.g., as described above with respect to Figure 4 The regression network is configured to use a first neural network to determine an initial estimate of the age of the person, and then use an additional neural network to refine the age estimate.
[0233] In step S600, the computing device 102 receives an image of a scene from the camera 120, and in step S602, the face detection module 1040 is used to detect faces in the image.
[0234] In step S604, the face detection module 1040 determines whether the detected face is a valid face. This includes determining whether the face detected in step S602 is a real face belonging to a living person, and estimating the pose orientation of the detected face. If the face is a real face and the orientation of the face is within the pose limit (e.g., within 35 degrees of the optical axis of the camera), the face is classified as a valid face.
[0235] Steps S600 to S604 are repeated until a valid face is detected in front of the camera 120. When a valid face is detected, the process proceeds to step S606, in which facial feature points are extracted from the valid face.
[0236] In step S608, the facial feature points are provided to an age model. The age model is a series of layered sub-neural networks that form a regression network for estimating the age of a person.
[0237] In step S610, a first layer neural network receives the facial feature points and generates an initial age estimate of the person between 0 and 100 years old.
[0238] In step S612, the computing device 102 determines whether the initial estimated age is within or outside of a priority age range. If the initial estimated age is outside of the priority age range, the initial estimate can be output as the estimated age of the person in step S622.
[0239] However, if the initial age estimate is within the priority age range, the process proceeds to step S614, in which the facial landmarks are provided to a second tier neural network configured to classify the person by demographic.
[0240] Next, in step S616, a third tier neural network, specifically trained on pictures of people in that demographic, is used to further refine the age estimate of the person. For example, the third tier network can classify the person into a lower age range or a higher age range within the priority age range (“age bin”).
[0241] One or more additional tier networks, trained on data in each age category, are then used to further refine the estimated age of the person. The progressively refined estimated age is generated in step S618, and steps S616-S618 are repeated until an overall estimated age is generated in step S620.
[0242] For example, steps S616-S618 can be repeated more times for refined ages closer to the challenge threshold age (e.g., 25 years old), or fewer times for refined ages and estimated age bins further from the challenge threshold age. In this way, the age estimation process can be more efficient, as only the most accurate sub-neural networks need be used to estimate the age of people close to the challenge threshold age.
[0243] After generating the final estimated age, the age estimation process returns to step S600 to estimate the age of new people entering the field of view of the camera. The final estimated age can be used to determine whether to enable a transaction or request an ID from the person, as described above with respect to Figure 4 to Figure 6 .
[0244] The features disclosed in the foregoing description, or the following claims, or the accompanying drawings, expressed in their specific forms or according to the figures used in the apparatus for performing the disclosed function, or the method or process for obtaining the disclosed result, can be used, alone or in any combination, for realizing the invention in its different forms.
[0245] While the present invention has been described in connection with the above exemplary embodiments, it will be evident for a person skilled in the art that many equivalent modifications and variations can be made to the described embodiments without departing from the spirit and scope of the invention. Various changes can be made to the described embodiments without departing from the spirit and scope of the invention.
[0246] For the avoidance of any doubt, any theoretical explanations provided herein are provided for the purposes of improving the understanding of a reader. The inventors do not wish to be bound by any of these theoretical explanations.
[0247] Any section headings used herein are for organizational purposes only and are not to be construed as limiting the subject matter described.
[0248] Throughout this specification, unless the context requires otherwise, the word "comprise," or variations such as "comprises" or "comprising," will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
[0249] It must be noted that, as used in the specification and the appended claims, the singular forms "a," "an" and "the" include plural referents unless the context clearly dictates otherwise. Ranges can be expressed herein as from "about" one particular value, and / or to "about" another particular value. When such a range is expressed, another embodiment includes from the one particular value and / or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent "about," it will be understood that the particular value forms another embodiment. The term "about" in relation to a numerical value is optional and means, for example, + / - 10%.
Claims
1. A computer-based method for verifying the age of a person, the method comprising: Receive the first image of the person; Detect the person's face in the first image; Receive a second image of an identity document (ID), wherein the ID includes a photograph of a face; Determine the region of interest in the second image, the region of interest including a first region and a second region, the first region containing the birth date information on the ID, and the second region containing the photo; The text recognition module is used to extract the date of birth from the first region of interest, and the claimed age of the person on the ID is calculated based on the date of birth; The face of a person detected in the first image is compared with the face in the photograph to determine whether the person detected in the first image is the same as the person on the ID; and An age verification message is output based on the claimed age of the person on the ID and based on a comparison between the person's face detected in the first image and the face in the photograph.
2. The computer-implemented method according to claim 1 further includes: Transactions are enabled or denied based on the age verification message, wherein the transaction is enabled if the person detected in the first image is identified as the person on the ID and the claimed age is higher than a verified threshold age.
3. The computer-implemented method according to claim 1 or 2 further includes: Estimate the age of the person in the first image, and If the estimated age is below the challenge threshold age, then request the second image of the ID.
4. The computer-implemented method according to claim 3, wherein, The age verification message is based on the estimated age, and the method further includes: If the estimated age is higher than the challenge threshold age, the transaction is enabled.
5. The computer-implemented method according to any one of the preceding claims further includes authenticating the ID, wherein, Authentication of the ID includes: Irradiate the ID with UV light. Receive the image of the illuminated ID, and Determine whether the irradiated ID includes a predetermined UV safety feature.
6. The computer-implemented method according to any one of the preceding claims, wherein, The region of interest in the second image is determined using an ID processing neural network, wherein the ID processing neural network is configured to classify the ID as belonging to one of a plurality of predetermined ID types.
7. The computer-implemented method according to any one of the preceding claims, wherein, Comparing the face of a person detected in the first image with the face in the photograph includes: Receive an additional image of the face of a person detected in the first image; Extract first facial feature points from the face in the attached image; Extract second facial feature points from the photograph of the face in the second image; and The first facial feature point and the second facial feature point are compared to calculate a similarity score.
8. The computer-implemented method according to claim 7, wherein, If the similarity score exceeds a predetermined similarity threshold, the person on the photo ID is identified as the person detected in the first image.
9. The computer-implemented method according to claim 7 or 8, wherein, Comparing the face of a person detected in the first image with the face in the photograph includes aligning the face in the additional image and the face in the photograph with a standard reference frame.
10. The computer-implemented method according to any one of the preceding claims, further comprising: The image from the camera is displayed on the screen, and the image captures the camera's field of view; The target area is displayed on the display screen to locate the ID within the field of view; Detect when the ID is located within the target area; as well as When the ID is detected within the target area, an indication is provided on the display screen.
11. The computer-implemented method according to any one of the preceding claims, further comprising: A facial fraud detector is used to determine whether the face in the first image is real or fake.
12. A computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform the computer-implemented method according to any one of the preceding claims.
13. An age verification system, comprising: camera; A computing device configured to receive images from the camera and output an age verification message, the computing device comprising: A face detection module, configured to receive a first image of a person and detect the person's face in the first image; An ID processing module is configured to receive a second image of an identity document (ID) and determine a region of interest in the second image, wherein the ID is a photo ID including a face, and the region of interest includes a first region and a second region, the first region containing birth date information on the ID, and the second region containing the photo; A text recognition module, configured to extract a date of birth from a first region of interest and calculate the claimed age of the person on the ID based on the date of birth; and A face comparison module is configured to compare the face of a person detected in the first image with the face in the photograph, and to determine whether the person detected in the first image is the same as the person on the ID. The age verification message is based on the claimed age of the person on the ID and on the comparison between the person's face detected in the first image and the face in the photograph.
14. The age verification system according to claim 13, further comprising: A display screen for showing images from the camera, and a UV illuminator for authenticating the ID.
15. An automated trading system, comprising the age verification system according to claim 13 or 14.