6 顔比較クイックスタートガイド

Mercury Cloudの顔比較機能を素早く着手するためのガイドが提供されています。

顔比較APIは、2つの画像からそれぞれ最大の顔を検出し、これら2つの顔が同じ人物であるかどうかを確認します。顔認証は「1対1」または「1:1」マッチングとも呼ばれます。カメラで撮ったスナップショットと、写真付きの書類(例:運転免許証)、または登録済みの画像と照合することによって、検証を行います。

以下の手順では、2つの画像をアップロードして各画像内で最大の顔を検出し、2つの顔が同じ人物である可能性を比較します。 正常に検出された場合、比較結果と検出された顔情報が返されます。

6.1 準備

まず、Python環境がインストールされていることを確認してください。

次のPythonファイルをダウンロードして、Pythonのパスフォルダーにコピーしてください。

api_parameters.pyをテキストエディターで開き、パラメーターをお客様の情報に置き換えてください。詳細は3.2節をご参照ください。

api_parameters.pyをテキストエディターで開き、パラメーターをお客様の情報に置き換えてください。詳細は3.2節をご参照ください。

# Common parameters. Used for all API calls.
# Base URL for Mercury Open API.
api_url = "https://mercury.japancv.co.jp/openapi/face/v1"
# Provision App Id for API calls.
app_id = "aabbccdd-eeff-0011-2233-445566778899"
# Provision access key to authentication.
access_key = '00112233-4455-6677-8899-aabbccddeeff'
# Provision secret key to authentication.
secret_key = '13579acegijmoqsuwyACEGIJMOPSUWY'

6.2 顔比較リクエスト送信

次のコマンドで、顔比較のAPIリクエストを送信し、2つの画像の最大の顔を比較します。パスをPythonライブラリパスと画像ファイルのパスにそれぞれ置き換えてください。

python {python_path}\compare_images.py "{image_path}\image1.jpg" "{image_path}\image2.jpg"

結果の例は次のようになります。 顔が検出されたかどうかを示す検出resultsフィールドに、検出された顔の詳細が含まれます。比較結果として、2つの顔の類似度を表すscoreフィールドと、顔検知結果を含むone_faceanother_faceフィールドが含まれます。

Compare image: {image_path}\image1.jpg {image_path}\image2.jpg
https://mercury.japancv.co.jp/openapi/face/v1/aabbccdd-eeff-0011-2233-445566778899/detect
Http status code: 200
Similarity: 0.9915448
Detect face. rectangle: {'top': 625, 'left': 350, 'width': 793, 'height': 818} angle: {'yaw': -0.42474133, 'pitch': 9.596367, 'roll': 0.07245465}
Predicted attributes:
        Age: 29 ~ 39
        Gender: MALE
        Cap: HAT_STYLE_TYPE_NONE
        Glasses: TRANSPARENT_GLASSES
        Mask: COLOR_TYPE_NONE
Detect face. rectangle: {'top': 637, 'left': 276, 'width': 844, 'height': 834} angle: {'yaw': 4.691873, 'pitch': 10.485169, 'roll': 1.0859865}
Predicted attributes:
        Age: 28 ~ 38
        Gender: MALE
        Cap: HAT_STYLE_TYPE_NONE
        Glasses: TRANSPARENT_GLASSES
        Mask: COLOR_TYPE_NONE

ここのSimilarityは、2つの顔が同じ人物がどうかの信頼水準を表します。この例では、99.15%が同じ人物であることを確信できます。

6.3 しきい値と精度

お客様はご自身でその許容レベル(通常「しきい値」と呼ばれる)を決定して、類似性スコアと比較し、顔認証の最終結果を判断する必要があります。そのロジックはご自身のプログラムに組み込まれる必要があります。Mercury Cloudはそれを決定することはできません。

しきい値によっては、顔認証の結果が異なる場合があります。例えばしきい値が0.995に設定された場合、scoreが比較的高いと見なされますが、前述の結果を例にすると0.9915448<0.995のため、同一人物である仮説を受け入れることができます。逆にしきい値が0.95に設定された場合、0.9915448>0.95のため、同一人物である仮説を受け入れることができます。

しきい値の設定は、他人受入率(FAR)と本人拒否率(FRR)の間のトレードオフです。しきい値が高いほど、誤って拒否が発生する可能性が高くなり、誤って受け入れが発生する可能性が低くなります。

ビジネスによって、顔比較の利用シーンが異なり、認識精度に対する要求も異なります。一般的シーンでは可能な限り他人誤受入(FAR)を回避するため、しきい値を0.6から0.7の間に設定されます。 ただし、必ずお客様のビジネス要件とテスト結果に合わせて、ご自身でしきい値の調整を行ってください。

最終更新