4 顔特徴と画像
Mercury Cloudにおいて、顔を含む画像の処理方法について記載しています。
4.1 顔特徴
Mercury Cloudでは顔の比較や特徴データベースへ顔の追加、データベースから顔を検索などを行う際、アルゴリズムはアップロードされた生の画像を直接使用することはありません。代わりに画像から顔特徴が抽出され、それを元に処理を行います。
顔特徴とは画像内の顔から抽出された多次元ベクトルで、それぞれの画像の顔から一意の顔特徴が生成されます。類似スコアが示すのは、2つの顔特徴ベクトル間の距離です。したがって、すべてのMercury Cloud OpenAPIドキュメントでは、顔比較または顔検索について言及するときは「顔特徴の比較または顔特徴の検索」を指します。またMercury Cloud OpenAPIは、画像ファイルや画像バイナリを保存することは一切行いません。
4.2 画像エンコーディング
Mercury Cloud APIはHTTPリクエストで、base64でエンコードされたバイナリを使用して画像データを送信します。Linuxを使用している場合はbashコマンドを使用して、画像をbase64文字列に簡単に変換することができます。
4.3 画像の基準
Mercury CloudにはBase64でエンコードされた画像データを入力として必要とする、以下の5つの重要なAPIがあります。
顔検知API(
/{app_id}/detect
)顔比較API(
/{app_id}/compare
)品質チェックAPI(
/{app_id}/quality
)顔特徴追加API(
/{app_id}/databases/{db_id}/features
)顔検索API(
/{app_id}/databases/search
)
入力画像の要件はこれらのAPI間で共通であり、次の通りです。
画像のフォーマットは、JPG、PNG、BMP、TIFF、またはGIF(最初のフレームのみが受け入れられます)であること。
画像のファイルサイズは、8MB未満であること。
有効な顔サイズは、32✕32ピクセル以上であること
バッチアップロードがサポートされている顔検知API(
/{app_id}/detect
)と顔特徴追加API(/{app_id}/databases/{db_id}/features
)では、1回のAPI呼び出しでの画像の数量は16以下であること。
画像の画質が高いほど精度が高くなりますが、画像ファイルのサイズが大きいほどAPIの呼び出し時間が長くなります。 ベストプラクティスとして、APIを呼び出す前に、高品質・正面・鮮明な画像を、有効な顔サイズが200x200ピクセル以上を確保しながら、画像をトリミングして200KB未満に圧縮することを強くお勧めします。
Last updated