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

Intelligent Media Management:顔クラスタリングの使用

最終更新日:May 17, 2025

Intelligent Media Management (IMM) の顔クラスタリング機能を使用すると、データセット内の類似した顔をグループ化できます。この機能は、クラウドドライブの個人アルバム、自宅監視における見知らぬ人の検出、ニューリテール業界の顧客管理などのシナリオに適しています。顔クラスタリングを実行した後、クラスタ内の特定の人の顔を含むすべての画像をクエリできます。

シナリオ

クラウドドライブの個人アルバム

顔クラスタリングは、クラウドドライブ内の顔を基準に写真をグループ化し、個人ごとのアルバムを生成します。

自宅監視

顔クラスタリングは家族の顔を記録します。見知らぬ人の顔は既存の顔クラスタにグループ化できず、アラートをトリガーします。これは、危険な人物やイベントをできるだけ早く特定して処理し、家族の安全を確保するのに役立ちます。

ニューリテールの顧客管理

顔クラスタリングを使用して、顧客の写真を重複排除し、正確な顧客トラフィックを取得できます。これは、顧客の購買傾向を分析して、正確なマーケティングを行うために使用できます。

前提条件

  • グループ化する画像のメタデータが、対応するデータセットにインデックス化されていること。CreateBinding を呼び出してバケットをデータセットにバインドすることでメタデータを自動的にインデックス化するか、IndexFileMeta または BatchIndexFileMeta 操作を呼び出してメタデータを手動でインデックス化できます。CreateDataset

  • 以下の要件を満たす同一人物の顔画像が、データセットに少なくとも 3 つ含まれていること:

  • 画像の顔領域が 75 × 75 ピクセル以上であること。

  • HeadPose パラメーターの 3 つの要素それぞれの絶対値が 30 未満であること。

  • FaceQuality パラメーターの値が 0.8 以上であること。

  • 説明
    • GetFileMeta 操作を呼び出して、頭の姿勢と顔の質をクエリできます。

    • 顔クラスタが作成された後、上記の要件を満たさない顔も同じクラスタに追加される場合があります。顔クラスタリングに関する FAQ については、「画像管理に関する FAQ」をご参照ください。

顔クラスタリングタスクの作成

CreateFigureClusteringTask 操作を呼び出して、画像内の異なる人物の顔を人物ごとにグループ化するための顔クラスタリングタスクを作成します。次の例は、test-dataset データセット内の画像で顔クラスタリングを実行する方法を示しています。

説明

この操作はクラスタのみを生成し、画像は変更しません。

重要

タスク情報は、タスクの開始後 7 日間保持されます。 7 日間のウィンドウが終了すると、タスク情報を取得できなくなります。タスク情報をクエリするには、次のいずれかの方法を使用できます。

  • GetTask または ListTasks 操作を呼び出します。

  • IMM プロジェクトが配置されているリージョンで、Simple Message Queue (SMQ) サブスクリプションを構成して、タスク情報通知を受信します。詳細については、「非同期メッセージの例」をご参照ください。 MNS SDK については、「手順 4: メッセージの受信と削除」をご参照ください。

  • IMM プロジェクトが配置されているリージョンで、ApsaraMQ for RocketMQ 4.0 インスタンス、トピック、およびグループを作成して、タスク通知を受信します。詳細については、「非同期メッセージの例」をご参照ください。 ApsaraMQ for RocketMQ の使用方法については、「HTTP クライアント SDK を使用して通常のメッセージを送受信する」をご参照ください。

  • IMM プロジェクトが配置されているリージョンで、EventBridge を使用してタスク情報通知を受信します。詳細については、「IMM イベント」をご参照ください。

リクエストの例

{
    "ProjectName": "test-project",
    "DatasetName": "test-dataset"
}

レスポンスの例

{
    "TaskId": "CreateFigureClusteringTask-ba5784b8-f61e-485d-8ea0-****",
    "RequestId": "42F4F8FD-006D-0EF0-8F2A-****",
    "EventId": "140-1L5dh6eSUErqdxV1ZvJ****"
}
説明

レスポンスが上記の内容と類似している場合、顔クラスタリングタスクは作成されています。

サンプルコード

# -*- coding: utf-8 -*-

import os
from alibabacloud_imm20200930.client import Client as imm20200930Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_imm20200930 import models as imm_20200930_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
        access_key_id: str,
        access_key_secret: str,
    ) -> imm20200930Client:
        """
        AccessKey ID と AccessKey シークレットを使用してクライアントを初期化します。
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            access_key_id=access_key_id,
            access_key_secret=access_key_secret
        )
        # エンドポイントを指定します。
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。これらの資格情報を使用して操作を実行することは、リスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出したり、日常的な O&M を実行することをお勧めします。
        # セキュリティ上の理由から、AccessKey ペアをプロジェクトコードに埋め込まないことをお勧めします。
        # この例では、API アクセスのための ID 検証を実装するために、環境変数から AccessKey ペアを取得しています。環境変数の構成方法については、https://www.alibabacloud.com/help/ja/imm/developer-reference/configure-environment-variables を参照してください。
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        # クライアントを初期化します。
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        # リクエストを構築します。
        create_figure_clustering_task_request = imm_20200930_models.CreateFigureClusteringTaskRequest(
            # IMM プロジェクトの名前を指定します。
            project_name='test-project',
            # データセットの名前を指定します。
            dataset_name='test-dataset'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # レスポンスを出力します。
            response = client.create_figure_clustering_task_with_options(
                create_figure_clustering_task_request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # 必要に応じてエラーメッセージを出力します。
            UtilClient.assert_as_string(error.message)
            print(error)


if __name__ == '__main__':
    Sample.main()

顔クラスタのクエリ

顔クラスタリングタスクを作成した後、QueryFigureClusters 操作を呼び出して、クラスタの数や各クラスタ内の画像の数など、クラスタに関する情報をクエリできます。次の例は、test-dataset データセット内の顔クラスタに関する情報をクエリする方法を示しています。

リクエストの例

{
    "ProjectName": "test-project",
    "DatasetName": "test-dataset"
}

レスポンスの例

{
    "FigureClusters": [
        {
            "AverageAge": 27.125,
            "Cover": {
                "Addresses": [],
                "AudioCovers": [],
                "AudioStreams": [],
                "CroppingSuggestions": [],
                "Figures": [
                    {
                        "Attractive": 0.9980000257492065,
                        "Beard": "none",
                        "BeardConfidence": 0.9959999918937683,
                        "Boundary": {
                            "Height": 270,
                            "Left": 573,
                            "Top": 104,
                            "Width": 202
                        },
                        "FaceQuality": 1.0,
                        "FigureId": "d7365ab8-1378-4bec-83cb-eccad8d11e0b",
                        "FigureType": "face",
                        "Glasses": "none",
                        "GlassesConfidence": 0.9990000128746033,
                        "Hat": "none",
                        "HatConfidence": 1.0,
                        "HeadPose": {
                            "Pitch": -0.7369999885559082,
                            "Roll": 2.5399999618530273,
                            "Yaw": 9.138999938964844
                        },
                        "Mask": "none",
                        "MaskConfidence": 0.7269999980926514,
                        "Mouth": "open",
                        "MouthConfidence": 0.9959999918937683,
                        "Sharpness": 1.0
                    }
                ],
                "ImageHeight": 683,
                "ImageWidth": 1024,
                "Labels": [],
                "OCRContents": [],
                "ObjectId": "170ffdeb36cec846f4214c78a0f3a0d4b7e37d0305370216ae780f7b8c72f871",
                "Subtitles": [],
                "URI": "oss://bucket1/photos/2.jpg",
                "VideoStreams": []
            },
            "CreateTime": "2022-07-12T16:41:19.336825716+08:00",
            "DatasetName": "dataset1",
            "FaceCount": 16,
            "Gender": "female",
            "ImageCount": 16,
            "MaxAge": 30.0,
            "MinAge": 23.0,
            "ObjectId": "Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6",
            "ObjectType": "figure-cluster",
            "OwnerId": "*****",
            "ProjectName": "test-project",
            "UpdateTime": "2022-09-19T17:08:59.374781532+08:00",
            "VideoCount": 0
        },
        {
            "AverageAge": 24.200000762939453,
            "Cover": {
                "Addresses": [],
                "AudioCovers": [],
                "AudioStreams": [],
                "CroppingSuggestions": [],
                "Figures": [
                    {
                        "Attractive": 0.9990000128746033,
                        "Beard": "none",
                        "BeardConfidence": 0.9990000128746033,
                        "Boundary": {
                            "Height": 266,
                            "Left": 301,
                            "Top": 218,
                            "Width": 196
                        },
                        "FaceQuality": 0.8859999775886536,
                        "FigureId": "f58bbdce-f3d1-4674-be6b-43d4b47c08e1",
                        "FigureType": "face",
                        "Glasses": "none",
                        "GlassesConfidence": 1.0,
                        "Hat": "none",
                        "HatConfidence": 1.0,
                        "HeadPose": {
                            "Pitch": 13.963000297546387,
                            "Roll": -12.21399974822998,
                            "Yaw": -6.2210001945495605
                        },
                        "Mask": "none",
                        "MaskConfidence": 0.7490000128746033,
                        "Mouth": "open",
                        "MouthConfidence": 0.9940000176429749,
                        "Sharpness": 1.0
                    }
                ],
                "ImageHeight": 1024,
                "ImageWidth": 683,
                "Labels": [],
                "OCRContents": [],
                "ObjectId": "b9c80e51aa95072413e2a0a6e5262644bc3cba14a4754f54f3fa9850c4d244f1",
                "Subtitles": [],
                "URI": "oss://bucket1/photos/11.jpg",
                "VideoStreams": []
            },
            "CreateTime": "2022-09-19T17:08:59.374932448+08:00",
            "DatasetName": "test-dataset",
            "FaceCount": 5,
            "Gender": "female",
            "ImageCount": 5,
            "MaxAge": 26.0,
            "MinAge": 22.0,
            "ObjectId": "Cluster-856be781-bf5a-46d7-8494-8d7c44f5e282",
            "ObjectType": "figure-cluster",
            "OwnerId": "*****",
            "ProjectName": "test-project",
            "UpdateTime": "2022-09-19T17:08:59.374932448+08:00",
            "VideoCount": 0
        }
    ],
    "NextToken": "",
    "TotalCount": 2,
    "RequestId": "42B3DD92-FE0D-09B7-B582-*****"
}
説明

レスポンスは、顔が含まれる画像が 2 つのクラスタにグループ化されていることを示しています。16 個の画像を含む Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6 と 5 個の画像を含む Cluster-856be781-bf5a-46d7-8494-8d7c44f5e282 です。

サンプルコード

# -*- coding: utf-8 -*-

import os
from alibabacloud_imm20200930.client import Client as imm20200930Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_imm20200930 import models as imm_20200930_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
        access_key_id: str,
        access_key_secret: str,
    ) -> imm20200930Client:
        """
        AccessKey ID と AccessKey シークレットを使用してクライアントを初期化します。
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            access_key_id=access_key_id,
            access_key_secret=access_key_secret
        )
        # エンドポイントを指定します。
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。これらの資格情報を使用して操作を実行することは、リスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出したり、日常的な O&M を実行することをお勧めします。
        # セキュリティ上の理由から、AccessKey ペアをプロジェクトコードに埋め込まないことをお勧めします。
        # この例では、API アクセスのための ID 検証を実装するために、環境変数から AccessKey ペアを取得しています。環境変数の構成方法については、https://www.alibabacloud.com/help/ja/imm/developer-reference/configure-environment-variables を参照してください。
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        # クライアントを初期化します。
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        # リクエストを構築します。
        query_figure_clusters_request = imm_20200930_models.QueryFigureClustersRequest(
            # IMM プロジェクトの名前を指定します。
            project_name='test-project',
            # データセット名を指定します。
            dataset_name='test-dataset'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # API 操作のレスポンスを出力します。
            response = client.query_figure_clusters_with_options(query_figure_clusters_request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # 必要に応じてエラーメッセージを出力します。
            UtilClient.assert_as_string(error.message)
            print(error)


if __name__ == '__main__':
    Sample.main()

顔クラスタ内の画像のクエリ

SimpleQuery 操作を呼び出して、特定のクラスタ内の画像をクエリできます。次の例は、test-dataset データセットに属する Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6 クラスタ内の画像をクエリする方法を示しています。

リクエストの例

{
    "ProjectName": "test-project",
    "DatasetName": "test-dataset",
    "Query": "{\"Field\": \"Figures.FigureClusterId\", \"Operation\": \"eq\", \"Value\": \"Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6\"}",
    "MaxResults": 100
}

レスポンスの例

説明

クラスタには多くの画像が含まれています。次の内容は、1 つの画像の情報のみを示しています。

{
    "Aggregations": [],
    "Files": [
        {
            "Addresses": [],
            "AudioCovers": [],
            "AudioStreams": [],
            "ContentMd5": "ViAbCBHAZgNU4zvs5****==",
            "ContentType": "image/jpeg",
            "CreateTime": "2022-07-12T15:57:47.792615815+08:00",
            "CroppingSuggestions": [],
            "DatasetName": "test-dataset",
            "ETag": "\"56201B0811C0660354E33BECE4C****\"",
            "EXIF": "****",
            "Figures": [
                {
                    "FaceQuality": 1.0,
                    "FigureClusterId": "Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6",
                    "FigureConfidence": 1.0,
                    "FigureId": "cd9139bf-f339-4ec2-b5fd-****",
                    "FigureType": "face",
                    "Glasses": "none",
                    "GlassesConfidence": 0.9990000128746033,
                    "Hat": "none",
                    "HatConfidence": 1.0,
                    "HeadPose": {
                        "Pitch": -0.8999999761581421,
                        "Roll": 1.1660000085830688,
                        "Yaw": 7.932000160217285
                    },
                    "Mask": "none",
                    "MaskConfidence": 0.6830000281333923,
                    "Mouth": "close",
                    "MouthConfidence": 0.7879999876022339,
                    "Sharpness": 1.0,
                    ...
                }
            ],
            "FileHash": "\"56201B0811C0660354E33BECE****\"",
            "FileModifiedTime": "2022-07-12T15:56:41+08:00",
            "Filename": "3.jpg",
            "ImageHeight": 1024,
            "ImageScore": {
                "OverallQualityScore": 0.7490000128746033
            },
            "ImageWidth": 683,
            "Labels": [
                {
                    "CentricScore": 0.8349999785423279,
                    "LabelConfidence": 1.0,
                    "LabelLevel": 2,
                    "LabelName": "\u7167\u7247\u62cd\u6444",
                    "Language": "zh-Hans",
                    "ParentLabelName": "\u827a\u672f\u54c1"
                },
                ...
            ],
            "MediaType": "image",
            "OCRContents": [],
            "OSSCRC64": "3400224321778591044",
            "OSSObjectType": "Normal",
            "OSSStorageClass": "Standard",
            "OSSTaggingCount": 0,
            "ObjectACL": "default",
            "ObjectId": "d132a61122c659f6fc1b42ecee1662aff358c7f1720027bead225****",
            "ObjectType": "file",
            "Orientation": 1,
            "OwnerId": "****",
            "ProduceTime": "2014-02-21T00:03:36+08:00",
            "ProjectName": "test-project",
            "Size": 187674,
            "Subtitles": [],
            "URI": "oss://bucket1/1.jpg",
            "UpdateTime": "2022-07-12T16:41:19.336736388+08:00",
            "VideoStreams": []
        },
        ...
    ],
    "NextToken": "",
    "RequestId": "84E4D242-8D15-0312-B976-****"
}
説明

上記のレスポンスの抜粋は、クラスタ内の oss://bucket1/1.jpg 画像に関する情報を示しています。

サンプルコード

# -*- coding: utf-8 -*-

import os
from alibabacloud_imm20200930.client import Client as imm20200930Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_imm20200930 import models as imm_20200930_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
        access_key_id: str,
        access_key_secret: str,
    ) -> imm20200930Client:
        """
        AccessKey ID と AccessKey シークレットを使用してクライアントを初期化します。
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            access_key_id=access_key_id,
            access_key_secret=access_key_secret
        )
        # エンドポイントを指定します。
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。これらの資格情報を使用して操作を実行することは、リスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出したり、日常的な O&M を実行することをお勧めします。
        # セキュリティ上の理由から、AccessKey ペアをプロジェクトコードに埋め込まないことをお勧めします。
        # この例では、API アクセスのための ID 検証を実装するために、環境変数から AccessKey ペアを取得しています。環境変数の構成方法については、https://www.alibabacloud.com/help/ja/imm/developer-reference/configure-environment-variables を参照してください。
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        # クライアントを初期化します。
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        # リクエストを構築します。
        request = imm_20200930_models.SimpleQueryRequest()
        params = {
            # クエリ条件を設定します。
            "Query": {"Field": "Figures.FigureClusterId", "Operation": "eq", "Value": "Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6"},
            # IMM プロジェクトの名前を指定します。
            "ProjectName": "test-project",
            # データセット名を指定します。
            "DatasetName": "test-dataset",
            # 最大 100 件のクエリ結果を返すように指定します。
            "MaxResults": 100
        }
        request.from_map(params)
        runtime = util_models.RuntimeOptions()
        try:
            # API 操作のレスポンスを出力します。
            response = client.simple_query_with_options(request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # 必要に応じてエラーメッセージを出力します。
            UtilClient.assert_as_string(error.message)
            print(error)


if __name__ == '__main__':
    Sample.main()

FAQ

顔グループが作成されないのはなぜですか?

顔グループを作成するための条件が満たされていないため、エラーが発生します。顔グループ化の精度を確保するために、顔グループを作成するには次の条件を満たす必要があります。

  • IndexFileMeta 操作を使用して、画像が指定されたデータセットにインデックス化されていること。

  • 以下の要件を満たす同一人物の顔画像が、データセットに少なくとも 3 つ含まれていること。

    • 顔のサイズが 75 × 75 ピクセル以上であること。

    • HeadPose パラメーターの 3 つの要素それぞれの絶対値が 30 未満であること。

    • FaceQuality パラメーターの値が 0.8 以上であること。

顔グループが作成された後、上記の要件を満たさない顔も同じグループに追加される場合があります。

顔画像グループ内の画像をクエリするにはどうすればよいですか?

顔画像グループ内の画像をクエリするには、SimpleQuery 操作を呼び出し、Query パラメーターに顔画像グループの ID を指定します。

説明

顔画像グループの ID をクエリするには、QueryFigureClusters 操作を呼び出し、レスポンスの FigureClusters パラメーターから ObjectId の値を取得します。

{
  "Field ": "Figures.FigureClusterId ",
  "Operation ": "eq ",
  "Value ": "顔グループ ID"
}

作成した顔画像グループが見つからないのはなぜですか?

メタデータのインデックス作成は非同期です。画像メタデータを指定されたデータセットにインデックス化するのに時間がかかるため、必要な時間が経過した後にのみ顔画像グループを見つけることができます。アプリケーションのロジックを設計する際には、遅延に関連するデータ整合性の問題を考慮してください。

  • 画像メタデータのインデックス作成: IndexFileMeta 操作では、画像のインデックス作成に約 10 秒かかります。

  • 顔のグループ化: CreateFigureClusteringTask 操作では、顔画像のグループ化に最大 180 秒かかります。実際の時間は一度にインデックス化される画像の数によって異なり、ほとんどのシナリオでは数秒です。

    重要

    CreateFigureClusteringTask 操作は、顔検出を実現するために IndexFileMeta 操作に依存しています。Simple Message Queue (SMQ)を使用して IndexFileMeta リクエストへの応答を取得する場合は、CreateFigureClusteringTask 操作を呼び出す前に少なくとも 10 秒待機してください。これにより、CreateFigureClusteringTask 操作の呼び出しで最新の顔情報を取得できます。

  • 非同期の IndexFileMeta 操作と CreateFigureClusteringTask 操作が完了した後、10 秒待ってから SimpleQuery 操作を呼び出して、最新のクエリ結果を取得します。

画像のメタデータをインデックス化するたびに CreateFigureClusteringTask 操作を呼び出す必要がありますか?

いいえ、画像のメタデータがインデックス化されるたびに CreateFigureClusteringTask 操作を呼び出す必要はありません。複数の顔画像のメタデータをインデックス化した後、CreateFigureClusteringTask 操作を呼び出して、インデックス化された顔画像のバッチクラスタリングを実行できます。次のソリューションをお勧めします。

  • ソリューション 1: 5 分ごとなど、定期的に各データセットに対して CreateFigureClusteringTask 操作を呼び出します。

  • ソリューション 2: IndexFileMeta 操作を呼び出すたびに、対応するデータセットを遅延キューに追加します。キューから DatasetName の値を定期的に取得して、増分画像を含むデータセットをクエリします。 IndexFileMeta 操作の最後の呼び出しから 10 秒後に CreateFigureClusteringTask 操作を呼び出します。このソリューションをお勧めします。

顔クラスタリングタスクの画像に異なる人物の顔が含まれている場合はどうなりますか?

画像に異なる人物の顔が含まれている場合、それぞれの顔がグループに追加される場合があります。これは、顔クラスタリングが顔の特徴に基づいて実行されるためです。

SimpleQuery 操作で、指定した顔グループに属さない顔が返されるのはなぜですか?

SimpleQuery は画像レベルで結果を返します。画像内のすべての顔とラベルが返されます。顔の位置、表情、年齢など、顔画像グループ (人物) に関する顔情報をクエリするには、すべての結果の Figures フィールドを走査し、FigureClusterId の値がリクエストで指定した FigureClusterId と同じである結果を取得します。

CreateFacesSearchingTask 操作の結果を取得する方法は、Notification 以外にありますか?

いいえ、CreateFacesSearchingTask 操作の結果を取得する方法は、Notification 以外にありません。 GetTask は操作のみをクエリでき、操作の結果はクエリできません。