顔の重複チェック (FaceDuplicationCheckIntl) サービスは、SDK 統合が不可能なシナリオ向けです。この API を顔画像とともに呼び出すことで、ユーザーが実在の人物であるかを確認し、保存されている画像と顔を比較して ID を検証し、顔グループを検索して重複をチェックし、検証が成功した場合に指定された顔グループに顔を自動的に登録できます。
API 情報
API 名:FaceDuplicationCheckIntl
リクエストメソッド:HTTPS POST
説明:FaceDuplicationCheckIntl API を呼び出して、顔グループ内に顔が存在するかどうかをチェックします。
QPS 制限:この API には専用の QPS 制限があります。詳細については、「サーバー側 API の QPS 制限」をご参照ください。
サービスエンドポイント:
説明内部ネットワークは、同一リージョン内の Alibaba Cloud プロダクト間のプライベートな通信ネットワークです。アプリケーションサーバーが対応する Alibaba Cloud リージョンにデプロイされている場合、内部ネットワークエンドポイントを使用して ID Verification サービスにアクセスすることで、より安全で安定した接続が可能です。
シンガポール
パブリックネットワーク:
cloudauth-intl.ap-southeast-1.aliyuncs.com内部ネットワーク:
cloudauth-intl-vpc.ap-southeast-1.aliyuncs.com
インドネシア (ジャカルタ)
パブリックネットワーク:
cloudauth-intl.ap-southeast-5.aliyuncs.com内部ネットワーク:
cloudauth-intl-vpc.ap-southeast-5.aliyuncs.com
中国 (香港)
パブリックネットワーク:
cloudauth-intl.cn-hongkong.aliyuncs.com内部ネットワーク:
cloudauth-intl-vpc.cn-hongkong.aliyuncs.com
マレーシア (クアラルンプール)
パブリックネットワーク:
cloudauth-intl.ap-southeast-3.aliyuncs.com内部ネットワーク:
cloudauth-intl-vpc.ap-southeast-3.aliyuncs.com
オンラインでのデバッグと統合
デバッグと統合を行う前に、「OpenAPI を使用したサーバー側 API のデバッグと統合」を読み、OpenAPI プラットフォームで API を呼び出す方法と、SDK およびそのコードを取得する方法を理解してください。
この API は OpenAPI Explorer で実行してデバッグし、SDK コードサンプルを生成できます。
リクエストパラメーター
顔画像の要件
顔画像は、次の 2 つの方法のいずれかで提供できます:
FacePictureBase64
FacePictureUrl
画像フォーマット:JPG、JPEG、または PNG。
画像サイズ:推奨サイズは 50 KB から 100 KB です。最大サイズは 1 MB です。
画像解像度:解像度は
1920*1080(高さ * 幅) を超えず、少なくとも640*480(高さ * 幅) である必要があります。短い辺を 720 ピクセルにスケーリングし、圧縮率を 0.9 以上にすることを推奨します。画像が高さよりも幅が広い場合、検出性能に影響を与える可能性があります。説明画像を Base64 フォーマットに変換すると、通常データサイズが増加します。画像を Base64 フォーマットで渡す必要がある場合は、元のファイルが 0.6 MB 以下であることを確認し、1 MB のデータ転送制限内に収まるようにしてください。
画像品質の推奨事項:
顔全体がはっきりと写っており、遮るものがなく、カメラに正対している必要があります。最良の結果を得るには、前面カメラからの画像を使用してください。
顔が画像領域の 60% 以上を占めるようにしてください。顔が小さいと検出精度が低下する可能性があります。
画像に複数の顔が含まれている場合、アルゴリズムはデフォルトで最大の顔を処理します。複数の顔を含む画像の送信は避けてください。
リクエストパラメーター
パラメーター | タイプ | 必須 | 説明 | 例 |
ProductCode | String | はい | プロダクトコードです。値を FACE_IDU_MIN に設定します。 | FACE_IDU_MIN |
SceneCode | String | いいえ | カスタムの検証シナリオ ID。 | 1234567890 |
MerchantBizId | String | はい | 追跡とトラブルシューティングのために定義する一意のビジネス ID。32 文字の英数字の文字列である必要があります。この ID が一意であることを確認してください。 | e0c34a77f5ac40a5aa5e6ed20c35**** |
MerchantUserId | String | はい | 特定のユーザーのカスタムユーザー ID またはその他の識別子 (携帯電話番号やメールアドレスなど)。この値はハッシュ化するなどして、脱感作することを強く推奨します。 | 123456789 |
VerifyModel | String | はい | 検証タイプ。
| 0 |
Liveness | String | いいえ | サイレント生体検知を有効にするかどうかを指定します。
説明 API 統合シナリオでは画像取得の性質が制御不能であるため、一部のアルゴリズムは実行できません。サイレント生体検知は低リスクのシナリオを対象としており、主に画面リプレイやマスクなどの基本的ななりすまし攻撃を防御します。 | 0 |
FaceGroupCodes | String | いいえ | 顔グループのコード。これらのコードは、顔グループを作成する際に ID Verification コンソールから取得できます。一度に最大 10 個の顔グループをクエリできます。複数のコードはカンマで区切ります。 | 1232344,23444 |
SourceFacePicture | String | いいえ | Base64 エンコードされた顔画像。 | base64 |
SourceFacePictureUrl | String | いいえ | 顔画像の URL。URL は、パブリックにアクセス可能な HTTP または HTTPS リンクである必要があります。 | https://***face1.jpeg |
TargetFacePicture | String | いいえ | Base64 エンコードされた顔画像。 | base64 |
TargetFacePictureUrl | String | いいえ | 顔画像の URL。URL は、パブリックにアクセス可能な HTTP または HTTPS リンクである必要があります。 | https://***face2.jpeg |
AutoRegistration | String | いいえ | 検索中に顔が見つからなかった場合に、指定された顔グループに顔を自動登録するかどうかを指定します。
| 0 |
FaceRegisterGroupCode | String | いいえ | 登録用の顔グループ。 | 0e0c34a77f |
SaveFacePicture | String | いいえ | このパラメーターは予約済みであり、まだ有効ではありません。 | |
FaceVerifyThreshold | String | いいえ | このパラメーターは予約済みであり、まだ有効ではありません。 | |
ReturnFaces | String | いいえ | 一致しきい値を超える複数の顔が見つかった場合、このパラメーターを使用して返す顔の数を指定できます。
| 1 |
レスポンスデータ
パラメーター | タイプ | 説明 | 例 | |
HTTP ステータスコード | Integer | HTTP ステータスコード。 | 200 | |
HTTP Body | RequestId | String | リクエスト ID。 | 130A2C10-B9EE-4D84-88E3-5384FF0**** |
Code | String | Success | ||
Message | String | レスポンスコードの詳細な説明。 | success | |
Result.FacePassed | String | 検証の最終結果。有効な値:
| Y | |
Result.FaceComparisonScore | String | 1:1 検証の比較スコア。このパラメーターは、 | 98 | |
Result.DuplicateFace | String | 検索中に重複した顔が見つかった場合、このパラメーターは顔グループから対応する顔 ID、ユーザー ID、および比較スコアを返します。 | | |
Result.FaceRegistrationResult | String | 顔登録の結果。
| 1 | |
Result.FaceRegistrationId | String | 自動登録が有効で成功した場合に返される顔 ID。 | 9e792******a592a | |
Result.FaceAttack | String | なりすまし攻撃が検出されたかどうかを示します。Y:攻撃を検出。N:攻撃は検出されませんでした。このパラメーターは、サイレント生体検知が有効な場合に返されます。 | N | |
Result.FaceAttackScore | String | 顔がなりすまし攻撃の一部である確率。値の範囲は 0 から 100 です。このパラメーターは、サイレント生体検知が有効な場合に返されます。 | 99 | |
Result.FaceAge | String | 推定される顔の年齢。予測に失敗した場合、このパラメーターは空または省略されることがあります。 | 30 | |
Result.FaceGender | String | 予測される顔の性別。予測に失敗した場合、このパラメーターは空または省略されることがあります。
| M | |
Result.SubCode | String | 検証結果のエラーコード。詳細については、「サブコード」をご参照ください。 | 200 | |
Result.TransactionId | String | 検証リクエストの一意の ID。 | 4ab0b***cbde97 | |
レスポンスコード
HTTP ステータスコード | コード | 説明 |
200 | Success | リクエストは成功しました。 |
400 | MissingParameter | 必須パラメーターがありません。 |
400 | InvalidParameter | 無効なパラメーターが指定されました。 |
401 | NoFaceDetected | ソース画像から顔の特徴を抽出できませんでした。別の画像を使用してください。 |
401 | UnqualifiedPhoto | 画像が読み取れないか、解像度の要件を満たしていません。鮮明で、適切に露光され、完全で、遮るものがなく、頭の傾きが著しくない画像を使用してください。 |
401 | ToolargeImage | 画像が大きすぎます。画像を圧縮するか、URL を使用して提供してください。 |
401 | DataDuplication | 同じ画像に対して Base64 文字列と URL の両方が提供されました。画像コンテンツまたはその URL のいずれかを提供してください。両方を提供することはできません。 |
401 | DownloadTimeout | URL からの画像のダウンロードがタイムアウトしました。 |
403 | Forbidden.RAMUserAccessDenied | RAM ユーザーはこの操作を実行する権限がありません。AliyunAntCloudAuthFullAccess 権限を RAM ユーザーに付与する必要があります。詳細については、「RAM ユーザーにサービスへのアクセス権限を付与する」をご参照ください。 |
403 | Forbidden.AccountAccessDenied | ID Verification が有効化されており、アカウントに支払い遅延がないことを確認してください。 |
403 | Throttling.Api | スロットリングのため、API 呼び出しは拒否されました。 |
500 | InternalError | 内部エラーが発生しました。テクニカルサポートにお問い合わせください。 |
サブコード
エラーコード | 認証レコードは課金対象ですか? | 説明と推奨事項 |
200 | はい | 認証に合格しました。 |
204 | はい | 顔照合に失敗しました。人物が異なるか、生体写真の品質が低い可能性があります。 |
205 | はい | 生体検知に関連するリスクがあります。 |
206 | はい | ビジネスポリシーによる制限。 説明 セーフモードが有効な場合、サービスは認証に使用されるデバイスと環境に対してセキュリティチェックを実行します。潜在的な脅威が検出された場合、認証は失敗します。ユーザーに、マルチインスタンスアプリケーション、アプリクローナー、仮想環境などのソフトウェアやプラグインをデバイスからアンインストールするように注意を促してください。デバイスが初期の安全な環境に復元された後、ユーザーにリトライを依頼してください。 |
233 | はい | 類似の顔が検出されました。 |