Skip to content

Commit b1d48a0

Browse files
authored
Merge pull request #3156 from MicrosoftDocs/main
Publish to live, Tuesday 4 AM PST, 2/25
2 parents e1dbf96 + f77a437 commit b1d48a0

File tree

56 files changed

+1588
-1069
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1588
-1069
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: "Face liveness detection - Face"
3+
titleSuffix: Azure AI services
4+
description: This article explains the concept of Face liveness detection, its input and output schema, and related concepts.
5+
author: PatrickFarley
6+
manager: nitinme
7+
8+
ms.service: azure-ai-vision
9+
ms.subservice: azure-ai-face
10+
ms.custom:
11+
ms.topic: conceptual
12+
ms.date: 02/19/2025
13+
ms.author: pafarley
14+
feedback_help_link_url: https://learn.microsoft.com/answers/tags/156/azure-face
15+
---
16+
17+
# Face liveness detection
18+
19+
This article explains the concept of Face liveness detection, its input and output schema, and related concepts.
20+
21+
## Introduction
22+
23+
Face Liveness detection is used to determine if a face in an input video stream is real (live) or fake (spoofed). It's an important building block in a biometric authentication system to prevent imposters from gaining access to the system using a photograph, video, mask, or other means to impersonate another person.
24+
25+
The goal of liveness detection is to ensure that the system is interacting with a physically present, live person at the time of authentication. These systems are increasingly important with the rise of digital finance, remote access control, and online identity verification processes.
26+
27+
The Azure AI Face liveness detection solution successfully defends against various spoof types ranging from paper printouts, 2D/3D masks, and spoof presentations on phones and laptops. Liveness detection is an active area of research, with continuous improvements being made to counteract increasingly sophisticated spoofing attacks. Continuous improvements are rolled out to the client and the service components over time as the overall solution gets more robust to new types of attacks.
28+
29+
The Azure Face liveness detection API is [conformant to ISO/IEC 30107-3 PAD (Presentation Attack Detection) standards](https://www.ibeta.com/wp-content/uploads/2023/11/230622-Microsoft-PAD-Level-2-Confirmation-Letter.pdf) as validated by iBeta level 1 and level 2 conformance testing.
30+
31+
## How it works
32+
33+
The liveness solution integration involves two distinct components: a frontend mobile/web application and an app server/orchestrator.
34+
35+
:::image type="content" source="./media/liveness/liveness-diagram.jpg" alt-text="Diagram of the liveness workflow in Azure AI Face." lightbox="./media/liveness/liveness-diagram.jpg":::
36+
37+
- **Frontend application**: The frontend application receives authorization from the app server to initiate liveness detection. Its primary objective is to activate the camera and guide end-users accurately through the liveness detection process.
38+
- **App server**: The app server serves as a backend server to create liveness detection sessions and obtain an authorization token from the Face service for a particular session. This token authorizes the frontend application to perform liveness detection. The app server's objectives are to manage the sessions, to grant authorization for frontend application, and to view the results of the liveness detection process.
39+
40+
41+
## Liveness detection modes
42+
43+
Azure Face liveness detection API includes options for both Passive and Passive-Active detection modes.
44+
45+
The **Passive mode** utilizes a passive liveness technique that requires no additional actions from the user. It requires a non-bright lighting environment to succeed and will fail in bright lighting environments with an "Environment not supported" error. It also requires high screen brightness for optimal performance which is configured automatically in the Mobile (iOS and Android) solutions. This mode can be chosen if you prefer minimal end-user interaction and expect end-users to primarily be in non-bright environments. A Passive mode check takes around 12 seconds on an average to complete.
46+
47+
The **Passive-Active mode** will behave the same as the Passive mode in non-bright lighting environments and only trigger the Active mode in bright lighting environments. This mode is preferable on Web browser solutions due to the lack of automatic screen brightness control available on browsers which hinders the Passive mode's operational envelope. This mode can be chosen if you want the liveness-check to work in any lighting environment. If the Active check is triggered due to a bright lighting environment, then the total completion time may take up to 20 seconds on average.
48+
49+
You can set the detection mode during the session creation step (see [Perform liveness detection](./tutorials/liveness.md#perform-liveness-detection)).
50+
51+
## Optional face verification
52+
53+
You can combine face verification with liveness detection to verify that the face in question belongs to the particular person designated. The following table describes details of the liveness detection features:
54+
55+
| Feature | Description |
56+
| -- |--|
57+
| Liveness detection | Determine an input is real or fake, and only the app server has the authority to start the liveness check and query the result. |
58+
| Liveness detection with face verification | Determine an input is real or fake and verify the identity of the person based on a reference image you provided. Either the app server or the frontend application can provide a reference image. Only the app server has the authority to initial the liveness check and query the result. |
59+
60+
61+
62+
63+
## Output format
64+
65+
The liveness detection API returns a JSON object with the following information:
66+
- A Real or a Spoof Face Liveness Decision. We handle the underlying accuracy and thresholding, so you don’t have to worry about interpreting “confidence scores” or making inferences yourself. This makes integration easier and more seamless for developers.
67+
- Optionally a Face Verification result can be obtained if the liveness check is performed with verification (see [Perform liveness detection with face verification](./tutorials/liveness.md#perform-liveness-detection-with-face-verification)).
68+
- A quality filtered "session-image" that can be used to store for auditing purposes or for human review or to perform further analysis using the Face service APIs.
69+
70+
71+
## Data privacy
72+
73+
We do not store any images or videos from the Face Liveness Check. No image/video data is stored in the liveness service after the liveness session has been concluded. Moreover, the image/video uploaded during the liveness check is only used to perform the liveness classification to determine if the user is real or a spoof (and optionally to perform a match against a reference image in the liveness-with-verify-scenario), and it cannot be viewed by any human and will not be used for any AI model improvements.
74+
75+
## Security
76+
77+
We include additional runtime application self-protections (RASP), provided by [GuardSquare]( https://www.guardsquare.com/blog/why-guardsquare), in our Mobile SDKs (iOS and Android).
78+
79+
## Support options
80+
81+
In addition to using the main [Azure AI services support options](../cognitive-services-support-options.md), you can also post your questions in the [issues](https://github.com/Azure-Samples/azure-ai-vision-sdk/issues) section of the SDK repo.
82+
83+
84+
## Next step
85+
86+
Now that you're familiar with liveness detection concepts, implement liveness detection in your app.
87+
88+
> [!div class="nextstepaction"]
89+
> [Face liveness detection](./tutorials/liveness.md)

articles/ai-services/computer-vision/concept-liveness-abuse-monitoring.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: nitinme
99
ms.service: azure-ai-vision
1010
ms.subservice: azure-ai-face
1111
ms.topic: conceptual
12-
ms.date: 01/29/2025
12+
ms.date: 02/22/2025
1313
ms.author: pafarley
1414
ms.custom:
1515
- ignite-2023
@@ -20,7 +20,7 @@ feedback_help_link_url: https://learn.microsoft.com/answers/tags/156/azure-face
2020

2121
Azure AI Face liveness detection lets you detect and mitigate instances of recurring content and/or behaviors that indicate a violation of the [Code of Conduct](/legal/cognitive-services/face/code-of-conduct?context=/azure/ai-services/computer-vision/context/context) or other applicable product terms. This guide shows you how to work with these features to ensure your application is compliant with Azure policy.
2222

23-
Details on how data is handled can be found on the [Data, Privacy, and Security](/legal/cognitive-services/openai/data-privacy?context=/azure/ai-services/openai/context/context) page.
23+
Details on how data is handled can be found on the [Data, Privacy, and Security](/legal/cognitive-services/face/data-privacy-security?context=/azure/ai-services/computer-vision/context/context) page.
2424

2525
[!INCLUDE [liveness-sdk-gate](./includes/liveness-sdk-gate.md)]
2626

articles/ai-services/computer-vision/how-to/mitigate-latency.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ The quality of the input images affects both the accuracy and the latency of the
7272

7373
To achieve the optimal balance between accuracy and speed, follow these tips to optimize your input data.
7474
- For face detection and recognition operations, see [input data for face detection](../concept-face-detection.md#input-requirements) and [input data for face recognition](../concept-face-recognition.md#input-requirements).
75-
- For liveness detection, see the [tutorial](../Tutorials/liveness.md#select-a-reference-image).
7675

7776

7877
## Call APIs in parallel when possible
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Face identity verification input recommendations
3+
titleSuffix: Azure AI services
4+
#services: cognitive-services
5+
author: PatrickFarley
6+
manager: nitinme
7+
ms.service: azure-ai-vision
8+
ms.custom:
9+
ms.topic: include
10+
ms.date: 02/23/2025
11+
ms.author: pafarley
12+
---
13+
14+
- Photo is clear and sharp—not blurry, pixelated, distorted, or damaged.
15+
- Photo is not altered to remove face blemishes or alter face appearance.
16+
- Photo must be in an RGB color supported format (JPEG, PNG, WEBP, BMP). Recommended Face size is 200 px x 200 px. Face sizes larger than 200x200 won't result in better AI quality. Image files must not be larger than 6 MB in size.
17+
- User isn't wearing glasses, masks, hats, headphones, head coverings, or face coverings. Face should be free of any obstructions.
18+
- Facial jewelry is allowed provided it doesn't hide the face.
19+
- Only one face should be visible in the photo.
20+
- Face should be in a neutral front-facing pose with both eyes open, mouth closed, with no extreme facial expressions or head tilt.
21+
- Face should be free of any shadows or red-eye. Retake photo if either of these features appear.
22+
- Background should be uniform and plain, free of any shadows.
23+
- Face should be centered within the image and fill at least 50% of the image.

articles/ai-services/computer-vision/overview-identity.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ Input requirements for face detection:
157157
Input requirements for face recognition:
158158
[!INCLUDE [identity-input-composition](includes/identity-input-composition.md)]
159159

160+
Input requirements for face verification:
161+
[!INCLUDE [identity-input-verification](includes/identity-input-verification.md)]
160162

161163
## Data privacy and security
162164

0 commit comments

Comments
 (0)