本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
編程 Amazon Rekognition 人臉活體 API
若要使用 Amazon Rekognition 人臉活體 API,您必須建立執行下列步驟的後端:
-
呼CreateFaceLivenessSession籲啟動臉部活力會話。
CreateFaceLivenessSession
操作完成後,UI 會提示用戶提交視頻自拍照。然後,AWS 擴增的 FaceLivenessDetector 元件會呼叫StartFaceLivenessSession以執行活性偵測。 -
呼叫GetFaceLivenessSessionResults以傳回與「臉部活力」工作階段相關聯的偵測結果。
-
按照 Amp lify 生命指南中的步驟,繼續配置您的 React 應用程序以使用該 FaceLivenessDetector組件。
使用人臉活體之前,請確定您已建立 AWS 帳戶、設定 AWS CLI 和 AWS SDK,以及設定 AWS Amplify。您還應確保後端 API 的 IAM 政策具有涵蓋以下內容的權限:GetFaceLivenessSessionResults
和 CreateFaceLivenessSession
。如需詳細資訊,請參閱 必要條件 一節。
步驟 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:回應結果
在人臉活體工作階段之後,將檢查的可信度分數與指定的臨界值進行比較。如果分數高於閾值,則用戶可以轉到下一個螢幕或任務。如果檢查失敗,系統會通知使用者並提示您再試一次。