すべてのプロダクト
Search
ドキュメントセンター

Content Moderation:顔属性検出 2.0

最終更新日:Feb 27, 2025

このトピックでは、顔属性検出 API を使用して、画像内の顔とその属性を識別する方法について説明します。

1. 機能説明

顔属性検出の2.0は、画像内のさまざまな顔の特徴(ぼかし、角度、位置、笑顔の強度、眼鏡、マスク、帽子、口ひげ、前髪、さまざまな髪型の有無など)を分析できます。プロフェッショナル版では、さらに誇張された表情や目が閉じているかどうかを認識します。

サービス

検出内容

サービス名:顔属性検出

サービス:faceDetect_global

  • 複数の顔属性を識別し、デフォルトで最大 5 つの顔を検出します。

  • 詳細な属性データを提供します。詳細については、「戻りデータ」をご参照ください。

サービス名:顔属性検出 プロフェッショナル版

サービス:faceDetect_pro_global

  • 複数の顔属性を識別し、デフォルトで最大 5 つの顔を検出します。

  • 大規模モデル機能を活用して、追加の属性判断を行います。詳細については、「戻りデータ」をご参照ください。

2. 課金説明

画像顔属性検出2.0では、従量課金を含む課金方法を提供しています。

従量課金

Content Moderation2.0 サービスを有効化すると、デフォルトの課金オプションは従量課金になります。料金は実際の使用量に基づいて毎日決済され、サービスを使用しない場合は課金されません。

モデレーションタイプ

サポートされているビジネスシナリオ (サービス)

単価

画像認識 Standard (image_standard)

  • 顔属性検出:faceDetect_global

1,000 回あたり 0.6 米ドル

説明

左側のサービスへの呼び出しは 1 回ごとに課金されます。課金は実際の呼び出し量に基づいています。たとえば、顔属性検出を 100 回呼び出すと、0.06 米ドルかかります。

画像認識 Advanced (image_advanced)

  • 顔属性検出 プロフェッショナル版:faceDetect_pro_global

1,000 回あたり 1.2 米ドル

説明

左側のサービスへの呼び出しは 1 回ごとに課金されます。課金は実際の呼び出し量に基づいています。たとえば、顔属性検出プロフェッショナル版を 100 回呼び出すと、0.12 米ドルかかります。

説明

Content Moderation 2.0 の課金頻度は、 24 時間に 1 回です。課金明細では、moderationType はモデレーションタイプのフィールドに対応しています。[こちら]で詳細をご確認いただけます。

3. アクセスガイド

  1. Alibaba Cloud アカウントを作成します。[今すぐ登録]して、プロンプトに従って登録を完了します。

  2. 従量課金制 Content Moderation を有効化する: サービスを有効化していることを確認します。有効化は無料であり、課金は使用量に基づいて行われます。詳細については、「課金説明」をご参照ください。

  3. AccessKey を作成します。RAM 経由で AccessKey を作成します [AccessKey の作成]。サブアカウント AccessKey を使用する場合は、メインアカウントから AliyunYundunGreenWebFullAccess 権限を付与します。手順については、「[RAM 承認]」をご参照ください。

  4. 開発アクセス:SDK メソッドでの呼び出しをお勧めします。詳細は、「画像モデレーション 強化版 2.0 SDK およびアクセスガイド」をご参照ください。

4. API インターフェイス

使用方法

画像コンテンツ検出タスクを作成するには、このインターフェイスを呼び出します。HTTP リクエストの作成については、「アクセスガイド」をご参照ください。または、事前に作成された HTTP リクエストを使用します。詳細については、「SDK リファレンス」をご参照ください。

  • ビジネスインターフェイス:ImageModeration

  • サポートされているリージョンとアクセスアドレス

リージョン

パブリックアクセスアドレス

プライベートアクセスアドレス

サポートされているサービス

シンガポール

https://green-cip.ap-southeast-1.aliyuncs.com

https://green-cip-vpc.ap-southeast-1.aliyuncs.com

faceDetect_global, faceDetect_pro_global

  • 課金情報

    このインターフェイスは有料です。HTTP ステータスコード 200 のリクエストのみが課金されます。エラーコードは課金されません。課金オプションについては、「課金説明」をご参照ください。

  • 画像要件

    • サポートされている形式は、PNG、JPG、JPEG、BMP、WEBP、TIFF、SVG、HEIC (最長辺は 8192 px 未満である必要があります)、GIF (最初のフレーム)、ICO (最後の画像) です。

    • 画像サイズは 20 MB に制限されており、最大高または幅は 16,384 px、ピクセル総数は 1 億 6,700 万 px を超えません。効果的なモデレーションのために、画像は 200 × 200 px 以上の解像度であることをお勧めします。

    • 画像のダウンロード時間は 3 秒に制限されています。これを超えると、ダウンロードがタイムアウトになります。

QPS 制限

シングルユーザーの QPS 制限は、10 回/秒 (プロフェッショナル版:5 回/秒) です。この制限を超えると、API 呼び出しがスロットルされ、サービスに影響を与える可能性があります。責任を持って呼び出してください。大量または緊急のスケールアウトのために、より高い QPS が必要な場合は、ビジネス マネージャーにお問い合わせください。

デバッグ

アクセスする前に、Alibaba Cloud OpenAPI を介してオンラインでデバッグし、2.0 インターフェースのコード例と SDK の依存関係を確認し、インターフェースの使用方法とパラメーターについて理解しておいてください。

重要

オンラインデバッグでは、現在ログインしているアカウントを使用して Content Moderation API インターフェイスを呼び出すため、呼び出し量はアカウントの課金使用量に含まれます。

リクエストパラメーター

必須のパブリックリクエストパラメーターについては、

必須のパブリックリクエストパラメーターについては、「画像モデレーション 強化版 2.0 SDK およびアクセスガイド」をご参照ください。

リクエスト本文は、次のフィールドを持つ JSON 構造体です。

名前

タイプ

必須

説明

Service

String

はい

faceDetect_global

画像検出強化版でサポートされている検出サービス。有効な値:

  • faceDetect_global : 顔属性検出

  • faceDetect_pro_global : 顔属性検出プロフェッショナル版

ServiceParameters

JSONString

はい

コンテンツ検出オブジェクトの関連パラメーターセット。JSON 文字列形式。各文字列の説明については、「ServiceParameters」をご参照ください。

表 1. ServiceParameters

名前

タイプ

必須

説明

imageUrl

String

はい。画像認識強化版では、画像を入力する 3 つの方法をサポートしています。いずれか 1 つを選択してください。

  • 画像 URL メソッドを使用して検出し、imageUrl を入力します。

  • OSS 承認を使用して検出します。ossBucketName、ossObjectName、ossRegionId を同時に入力する必要があります。

  • ローカル画像を使用して検出します。ローカル画像をアップロードして検出しても、OSS バケットは占有されず、ファイルは 30 分間だけ保存されます。SDK アクセスには、ローカル画像アップロード機能がすでに統合されています。具体的なコード例については、「画像モデレーション 強化版 2.0 SDK およびアクセスガイド」をご参照ください。

https://img.alicdn.com/tfs/TB1U4r9AeH2gK0jSZJnXXaT1FXa-2880-480.png

検出対象オブジェクトの URL。URL はパブリックネットワーク経由でアクセスできること、URL の長さが 2048 文字を超えないことを確認してください。

説明

URL に中国語の文字を含めることはできません。また、リクエストごとに 1 つの URL のみを入力してください。

ossBucketName

String

bucket_01

承認された OSS バケットのバケット名。

説明

OSS 画像プライベートネットワークアドレスを使用する場合は、まず Alibaba Cloud アカウント (つまり、メインアカウント) を使用して [クラウド リソースアクセス承認ページ] にアクセスして承認する必要があります。

ossObjectName

String

20240307/04/24/test.jpg

承認された OSS バケットのファイル名。

ossRegionId

String

cn-beijing

OSS バケットが配置されているリージョン。

dataId

String

いいえ

img123****

検出オブジェクトに対応するデータ ID。

大文字と小文字の英字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) で構成され、64 文字を超えません。ビジネスデータを一意に識別するために使用できます。

referer

String

いいえ

www.aliyun.com

referer リクエストヘッダー。ホットリンク保護などのシナリオで使用されます。長さは 256 文字を超えません。

戻りデータ

名前

タイプ

説明

RequestId

String

70ED13B0-BC22-576D-9CCF-1CC12FEAC477

リクエストの ID。問題の特定とトラブルシューティングに使用されます。

Data

Object

画像コンテンツ検出結果。詳細については、「Data」をご参照ください。

Code

Integer

200

レスポンスコード。詳細については、「コードの説明」をご参照ください。

Msg

String

OK

このリクエストのレスポンスメッセージ。

表 2. Data

名前

タイプ

説明

Ext

Object

顔属性検出結果。詳細については、「Ext」をご参照ください。

DataId

String

img123******

検出オブジェクトに対応するデータ ID。

説明

検出リクエストパラメーターで dataId パラメーターを指定した場合、対応する dataId がここに返されます。

Result

Array

画像モデレーションのリスクタグと信頼度スコア。詳細については、「Result」をご参照ください。

説明

顔属性検出を使用する場合、この戻り値は一時的に無視できます。

表 3. Ext

名前

タイプ

説明

FaceData

Array

顔属性検出結果。詳細については、「FaceData」をご参照ください。

表 4. FaceData

名前

タイプ

説明

Location

JSONObject

顔の位置情報。具体的な構造の説明については、「Location」をご参照ください。

Smile

Float

85.88

顔の笑顔の度合い。値の範囲は 0 ~ 100 です。スコアが高いほど、笑顔の度合いが大きくなります。

Glasses

String

None

眼鏡をかけているかどうかの認識結果。有効な値:

  • None:眼鏡をかけていません。

  • Common:通常の眼鏡をかけています。

  • Sunglass:サングラスをかけています。

Age

Integer

18

年齢認識結果。

Quality

JSONObject

顔画像の品質情報。具体的な構造の説明については、「Quality」をご参照ください。

Mask

JSONObject

マスクをかけているかどうかの認識結果。具体的な構造の説明については、「Mask」をご参照ください。

Hat

JSONObject

帽子をかぶっているかどうかの認識結果。具体的な構造の説明については、「Hat」をご参照ください。

Mustache

JSONObject

口ひげがあるかどうかの認識結果。具体的な構造の説明については、「Mustache」をご参照ください。

Bang

JSONObject

前髪があるかどうかの認識結果。具体的な構造の説明については、「Bang」をご参照ください。

Hairstyle

JSONObject

髪型の認識結果。具体的な構造の説明については、「Hairstyle」をご参照ください。

Gender

JSONObject

性別の認識結果。具体的な構造の説明については、「Gender」をご参照ください。

表 5.Location

名前

タイプ

説明

X

Float

41

画像の左上隅から顔領域の左上隅の y 軸までの距離 (ピクセル単位)。

Y

Float

84

画像の左上隅から顔領域の左上隅の x 軸までの距離 (ピクセル単位)。

W

Float

83

顔領域の幅 (ピクセル単位)。

H

Float

26

顔領域の高さ (ピクセル単位)。

表 6.Quality

名前

タイプ

説明

Blur

Float

5.88

顔画像のぼかしの度合い。値の範囲は 0 ~ 100 です。スコアが高いほど、ぼかしが強くなります。

推奨値の範囲:0 ~ 25。

Integrity

Float

100.0

顔の完全性。値の範囲は 0 ~ 100 です。スコアが高いほど、完全性が高くなります。

推奨値の範囲:80 ~ 100。

Pitch

Float

5.88

顔のピッチ角。

推奨値の範囲:-30 ~ 30。

Yaw

Float

5.18

顔のヨー角。

推奨値の範囲:-30 ~ 30。

Roll

Float

5.18

顔のロール角。

推奨値の範囲:-30 ~ 30。

表 7.Mask

名前

タイプ

説明

Value

String

None

マスクをかけているかどうかの認識結果。有効な値:

  • Wear:マスクをかけています。

  • None:マスクをかけていません。

Confidence

Float

99.99

マスク認識結果の信頼度。値の範囲は 0 ~ 100 です。値が高いほど、結果は信頼性が高くなります。

表 8.Hat

名前

タイプ

説明

Value

String

Wear

帽子をかぶっているかどうかの認識結果。有効な値:

  • Wear:帽子をかぶっています。

  • None:帽子をかぶっていません。

Confidence

Float

88.88

帽子認識結果の信頼度。値の範囲は 0 ~ 100 です。値が高いほど、結果は信頼性が高くなります。

表 9.Mustache

名前

タイプ

説明

Value

String

None

口ひげがあるかどうかの認識結果。有効な値:

  • Has:口ひげがあります。

  • None:口ひげはありません。

Confidence

Float

99.99

口ひげ認識結果の信頼度。値の範囲は 0 ~ 100 です。値が高いほど、結果は信頼性が高くなります。

表 10.Bang

名前

タイプ

説明

Value

String

None

前髪があるかどうかの認識結果。有効な値:

  • Has:前髪があります。

  • None:前髪はありません。

Confidence

Float

81.88

前髪認識結果の信頼度。値の範囲は 0 ~ 100 です。値が高いほど、結果は信頼性が高くなります。

表 11.Hairstyle

名前

タイプ

説明

Value

String

Short

髪型の認識結果。有効な値:

  • Bald:はげです。

  • Long:長い髪です。

  • Short:短い髪です。

Confidence

Float

81.88

髪型認識結果の信頼度。値の範囲は 0 ~ 100 です。値が高いほど、結果は信頼性が高くなります。

表 12.Gender

名前

タイプ

説明

Value

String

Male

性別の認識結果。有効な値:

  • Male:男性。

  • Female:女性。

Confidence

Float

81.88

性別認識結果の信頼度。値の範囲は 0 ~ 100 です。値が高いほど、結果は信頼性が高くなります。

表 13. Result

名前

タイプ

説明

Label

String

nonLabel

顔属性検出プロフェッショナル版は、次の値を含む属性ラベルを返します。

  • face_exaggerated:画像内の人物は誇張された表情をしています

  • face_eyesClosed:画像内の人物は目を閉じています

  • nonLabel:特別な属性は検出されませんでした

説明

誇張された表情と目が閉じているかどうかは、画像内の顔に基づいて総合的に判断されます。単一顔のシナリオで使用することをお勧めします。

Confidence

Float

99.99

信頼度スコア、0 ~ 100 ポイント、小数点以下 2 桁まで保持。nonLabel が返された場合は、信頼度スコアは返されません。

リクエスト例

{
    "Service": "faceDetect_global",
    "ServiceParameters": {
        "imageUrl": "https://img.alicdn.com/tfs/TB1U4r9AeH2gK0jSZJnXXaT1FXa-2880-480.png",
        "dataId": "test0307****"
    }
}

レスポンス例

  • 顔属性検出レスポンス例:

{
    "Code": 200,
    "Data": {
        "DataId": "test0307****",
        "Ext": {
            "FaceData": [
                {
                    "Age": 24,
                    "Bang": {
                        "Confidence": 100.0,
                        "Value": "None"
                    },
                    "Gender": {
                        "Confidence": 95.72,
                        "Value": "Male"
                    },
                    "Glasses": "None",
                    "Hairstyle": {
                        "Confidence": 98.23,
                        "Value": "Short"
                    },
                    "Hat": {
                        "Confidence": 99.99,
                        "Value": "None"
                    },
                    "Location": {
                        "H": 98,
                        "W": 98,
                        "X": 550,
                        "Y": 251
                    },
                    "Mask": {
                        "Confidence": 99.99,
                        "Value": "None"
                    },
                    "Mustache": {
                        "Confidence": 99.58,
                        "Value": "None"
                    },
                    "Quality": {
                        "Blur": 13.72,
                        "Integrity": 100.0,
                        "Pitch": 5.84,
                        "Roll": 3.66,
                        "Yaw": 21.22
                    },
                    "Smile": 82.49
                }
            ]
        },
        "Result": [
            {
                "Confidence": null,
                "Description": "リスクは検出されませんでした",
                "Label": "nonLabel"
            }
        ],
        "RiskLevel": "none"
    },
    "Msg": "success",
    "RequestId": "TEST001-2024-0307-0728-5201314YHX"
}
  • 顔属性検出プロフェッショナル版レスポンス例:

{
    "Code": 200,
    "Data": {
        "DataId": "test0307****",
        "Ext": {
            "FaceData": [
                {
                    "Age": 24,
                    "Bang": {
                        "Confidence": 100.0,
                        "Value": "None"
                    },
                    "Gender": {
                        "Confidence": 95.72,
                        "Value": "Male"
                    },
                    "Glasses": "None",
                    "Hairstyle": {
                        "Confidence": 98.23,
                        "Value": "Short"
                    },
                    "Hat": {
                        "Confidence": 99.99,
                        "Value": "None"
                    },
                    "Location": {
                        "H": 98,
                        "W": 98,
                        "X": 550,
                        "Y": 251
                    },
                    "Mask": {
                        "Confidence": 99.99,
                        "Value": "None"
                    },
                    "Mustache": {
                        "Confidence": 99.58,
                        "Value": "None"
                    },
                    "Quality": {
                        "Blur": 13.72,
                        "Integrity": 100.0,
                        "Pitch": 5.84,
                        "Roll": 3.66,
                        "Yaw": 21.22
                    },
                    "Smile": 82.49
                }
            ]
        },
        "Result": [
            {
                "Label": "face_exaggerated",
                "Description": "画像内の人物は誇張された表情をしています",
                "Confidence": 80.0
            }
        ],
        "RiskLevel": "high"
    },
    "Msg": "success",
    "RequestId": "TEST001-2024-0307-0728-5201314YHX"
}
説明

このドキュメントで提供されているリクエストと戻りの例は、読みやすくするためにフォーマットされています。実際のリザルトは、改行、インデント、その他のフォーマットなしで返されます。

コードの説明

インターフェイスによって返されるコードの意味を以下に詳しく説明します。コード 200 のリクエストのみがメーターされ、課金されます。その他のコードは課金されません。

コード

説明

200

リクエストは正常です。

400

リクエストパラメーターが空です。

401

指定されたパラメーターが無効です。

402

リクエストパラメーターの長さがインターフェイスの要件を満たしていません。確認して変更してください。

403

リクエストが QPS 制限を超えています。同時実行性を確認して調整してください。

404

入力画像のダウンロード中にエラーが発生しました。確認するか、再試行してください。

405

入力画像のダウンロードがタイムアウトしました。画像にアクセスできない可能性があります。確認して調整してから、再試行してください。

406

入力画像が大きすぎます。画像サイズを確認して調整してから、再試行してください。

407

入力画像形式はサポートされていません。確認して調整してから、再試行してください。

408

このアカウントには、このインターフェイスを呼び出す権限がありません。アカウントが有効化されていないか、期限切れであるか、呼び出しアカウントにアクセスが承認されていない可能性があります。

500

システム例外が発生します。