COVID-19 の世界的大流行により、金融サービス、保険、ヘルスケアなどの複数の業界で、ユーザーをオンラインで検証してオンボーディングする必要性が加速しています。 ユーザーエクスペリエンスに関して言えば、身元確認の高い基準を維持しながら、摩擦のないトランザクションを提供することが重要です. 問題は、デジタルの世界で実在の人物をどのように確認するかです。
Amazonの再認識 銀行、福利厚生、e コマースなどのオンライン アプリケーションに ID 検証用の事前トレーニング済みの顔認識および分析機能を提供します。
この投稿では、「ID + Selfie」の本人確認デザイン パターンと、 サンプルコード 独自の ID 検証 REST エンドポイントを作成するために使用できます。 これは、顔ベースの ID 検証を必要とする既存または新しいソリューションに組み込むことができる一般的な設計パターンです。 ユーザーは、運転免許証やパスポートなどの身分証明書を提示します。 ユーザーは、アプリケーションでリアルタイムのセルフィーをキャプチャします。 次に、ドキュメントの顔と、デバイスで撮影したリアルタイムのセルフィーを比較します。
Amazon Rekognition CompareFaces API
「ID + Selfie」のデザインパターンの核となるのは、セルフィーの顔と身分証明書の顔の比較です。 このために、Amazon Rekognition を使用します。 CompareFaces
API。 API は、ソース入力画像の顔をターゲット入力画像で検出された顔と比較します。 次の例では、サンプルの運転免許証 (左) とセルフィー (右) を比較します。
ソース | ターゲット |
以下は、API コードの例です。
いくつかの値が CompareFaces API レスポンス. 私たちは、 Similarity
で返される値 FaceMatches
セルフィーが提供された ID と一致することを検証します。
主要な調整パラメータについて
SimilarityThreshold
デフォルトでは 80% に設定されており、類似度スコアが 80% 以上の結果のみが返されます。 を指定して値を調整します。 SimilarityThreshold
パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
QualityFilter
必要な品質バーを満たさない検出された顔を除外するための入力パラメーターです。 品質バーは、さまざまな一般的なユース ケースに基づいています。 使用する QualityFilter
指定して品質基準を設定する LOW
, MEDIUM
または HIGH
. 低品質の顔をフィルタリングしたくない場合は、指定します NONE
。 デフォルト値は NONE
.
ソリューションの概要
次のコンポーネントをデプロイすることで、デジタル ID 検証用の「ID + Selfie」API を作成できます。
- セルフィーと識別ペイロードを送信し、応答 (この場合は類似度スコア) を返すことを可能にする POST メソッドを備えた REST API
- ペイロードを受け取り、画像を適切な形式に変換し、Amazon Rekognition を呼び出す関数
compare_faces
APIです。
実施します アマゾンAPIゲートウェイ REST API 機能と AWSラムダ 機能のために。
次の図は、ソリューションのアーキテクチャとワークフローを示しています。
ワークフローには次の手順が含まれます。
- ユーザーは、必要な身分証明書とセルフィーをアップロードします。
- クライアントは、身分証明書とセルフィーを REST エンドポイントに送信します。
- REST エンドポイントは、類似性スコアをクライアントに返します。
- 評価は、アプリケーションのビジネス ロジックを通じて行われます。 たとえば、類似性スコアが 80% 未満の場合、デジタル アイデンティティ チェックに失敗します。 それ以外の場合は、デジタル ID チェックに合格します。
- クライアントはステータスをユーザーに送信します。
ラムダコード
Lambda 関数は、画像ごとに受信ペイロードを base64 からバイトに変換し、ソース (セルフィー) とターゲット (ID) を Amazon Rekognition に送信します。 compare_faces
API を呼び出し、API 応答の本文で受信した類似度スコアを返します。 次のコードを参照してください。
プロジェクトをデプロイする
このプロジェクトは、 AWS サンプル AWSクラウド開発キット (AWS CDK)。 リポジトリのクローンを作成し、次の AWS CDK プロセスを使用して AWS アカウントにデプロイできます。
- AWS CDK を介してソリューション リソースをプログラムでデプロイするアクセス許可を持つユーザーをセットアップします。
- セットアップ AWSコマンドラインインターフェイス (AWS CLI)。 手順については、を参照してください。 AWSCLIの設定.
- AWS CDK を初めて使用する場合は、に記載されている前提条件を完了してください。 Python で AWS CDK を操作する.
- クローン GitHubリポジトリ.
- 仮想環境を作成します。 使用するコマンドは、OS によって異なります。
- Windows を使用している場合は、ターミナル ウィンドウで、複製されたリポジトリのソースから次のコマンドを実行します。
- Mac または Linux を使用している場合は、ターミナル ウィンドウで、複製されたリポジトリのソースから次のコマンドを実行します。
- 仮想環境をアクティブ化した後、アプリの標準の依存関係をインストールします。
- 環境がセットアップされ、要件が満たされているので、AWS CDK デプロイ コマンドを発行して、このプロジェクトを AWS にデプロイできます。
API 呼び出しを行う
ペイロードを base64 形式で REST エンドポイントに送信する必要があります。 Python ファイルを使用して API 呼び出しを行います。これにより、ソース ファイルとターゲット ファイルを開き、それらを base64 に変換して、ペイロードを API Gateway に送信できます。 このコードはリポジトリで入手できます。
なお、 SOURCE
& TARGET
ファイルの場所はローカル ファイル システム上にあり、URL はプロジェクトの作成中に生成された API Gateway URL です。
クリーンアップ
AWS CDK を使用してこのプロジェクトを構築したので、プロジェクトをローカルで開き、次の AWS CDK コマンドを発行してリソースをクリーンアップできます。
まとめ
これで、アプリケーションと統合してデジタル ID 検証を実行できるシンプルな API を備えた「ID + Selfie」デザイン パターンが完成しました。 シリーズの次の投稿では、このパターンをさらに拡張して、身分証明書からテキストを抽出し、顔のコレクションを検索して重複を防ぎます。
さらに詳しく知りたい場合は、以下をご覧ください。 Amazon Rekognition 開発者ガイド 顔の検出と分析について。
著者について
マイクエイムス AWS のプリンシパル応用 AI/ML ソリューション アーキテクトです。 彼は、企業が機械学習と AI サービスを使用して詐欺、浪費、悪用に対抗するのを支援しています。 余暇には、マウンテン バイク、キックボクシング、または 90 年代のメタル バンドでギターを弾いているのを見つけることができます。
ノア・ドナルドソン 連邦金融機関をサポートする AWS のソリューション アーキテクトです。 彼は、手作業のプロセスを減らし、カスタマー エクスペリエンスを向上させ、興味深い問題を解決するのに役立つ AI/ML テクノロジに興奮しています。 仕事以外では、ホッケーをする息子と一緒に氷上で過ごしたり、長女と一緒に狩りをしたり、末娘と一緒にフープを撃ったりすることを楽しんでいます。