編程 Amazon Rekognition 人臉活體 API - Amazon Rekognition

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

編程 Amazon Rekognition 人臉活體 API

若要使用 Amazon Rekognition 人臉活體 API,您必須建立執行下列步驟的後端:

  1. CreateFaceLivenessSession籲啟動臉部活力會話。CreateFaceLivenessSession 操作完成後,UI 會提示用戶提交視頻自拍照。然後,AWS 擴增的 FaceLivenessDetector 元件會呼叫StartFaceLivenessSession以執行活性偵測。

  2. 呼叫GetFaceLivenessSessionResults以傳回與「臉部活力」工作階段相關聯的偵測結果。

  3. 按照 Amp lify 生命指南中的步驟,繼續配置您的 React 應用程序以使用該 FaceLivenessDetector組件。

使用人臉活體之前,請確定您已建立 AWS 帳戶、設定 AWS CLI 和 AWS SDK,以及設定 AWS Amplify。您還應確保後端 API 的 IAM 政策具有涵蓋以下內容的權限:GetFaceLivenessSessionResultsCreateFaceLivenessSession。如需詳細資訊,請參閱 必要條件 一節。

步驟 1: CreateFaceLivenessSession

CreateFaceLivenessSession API 操作創建一個面部活性會話,並返回一個唯SessionId一的。

作為此操作輸入的一部分,也可以指定 Amazon S3 儲存貯體位置。這允許存儲參考映像並審核在人臉活體工作階段期間生成的映像。Amazon S3 儲存貯體必須在呼叫者的帳戶中,與人臉活體端點位於同一區域。此外,S3 物件金鑰是由人臉活體系統所產生。

也可以提供 AuditImagesLimit,其是一個介於 0 和 4 之間的數字。預設會設定為 0。返回的映像數量是盡最大努力的結果,並以自拍視頻的持續時間為基礎。

請求範例

{ "ClientRequestToken": "my_default_session", "Settings": { "OutputConfig": { "S3Bucket": "s3bucket", "S3KeyPrefix": "s3prefix" }, "AuditImagesLimit": 1 } }

回應範例

{ {"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"} }

步驟 2: StartFaceLivenessSession

CreateFaceLivenessSession API 作業完成時,AWS Amplify 元件會執行 StartFaceLivenessSession API 作業。系統會提示使用者擷取視訊自拍照。為了檢查成功,用戶必須將臉部放置在屏幕上的橢圓形內,同時保持良好的照明。如需詳細資訊,請參閱 使用臉部活力的建議

此 API 作業需要臉部生命性工作階段期間擷取的視訊、從 CreateFaceLivenessSession API 作業取得的 sessionId,以及回呼。onAnalysisComplete回呼可用於向後端發出訊號,以呼叫 GetFaceLivenessSessionResults API 作業,該作業會傳回可信度分數、參考和稽核影像。

請注意,此步驟是由用戶端應用程式上的 AWS Amplify FaceLivenessDetector 元件執行。您不需要執行其他設定即可呼叫 StartFaceLivenessSession

步驟 3: GetFaceLivenessSessionResults

GetFaceLivenessSessionResults API 作業會擷取特定臉部活力工作階段的結果。該操作需要輸入 SessionId,並返回相應的臉部活性可信度分數。其還提供包括臉部邊界框的參考映像,以及檢核也包含臉部邊界框的映像。人臉活體的可信度得分範圍為 0 至 100。

請求範例

{"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}

回應範例

{ "SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8", "Confidence": 98.9735, "ReferenceImage": { "S3Object": { "Bucket": "s3-bucket-name", "Name": "file-name", }, "BoundingBox": { "Height": 0.4943420886993408, "Left": 0.8435328006744385, "Top": 0.8435328006744385, "Width": 0.9521094560623169} }, "AuditImages": [{ "S3Object": { "Bucket": "s3-bucket-name", "Name": "audit-image-name", }, "BoundingBox": { "Width": 0.6399999856948853, "Height": 0.47999998927116394, "Left": 0.1644444465637207, "Top": 0.17666666209697723} }], "Status": "SUCCEEDED" }

步驟 4:回應結果

在人臉活體工作階段之後,將檢查的可信度分數與指定的臨界值進行比較。如果分數高於閾值,則用戶可以轉到下一個螢幕或任務。如果檢查失敗,系統會通知使用者並提示您再試一次。