All Products
Search
Document Center

Intelligent Media Management:Pengelompokan Wajah

Last Updated:Jul 06, 2025

Fitur pengelompokan wajah dari Intelligent Media Management (IMM) memungkinkan Anda mengelompokkan gambar yang berisi wajah serupa dalam dataset. Fitur ini cocok untuk skenario seperti album pribadi di cloud drive, deteksi orang asing dalam pengawasan rumah, dan manajemen pelanggan di industri New Retail. Setelah melakukan pengelompokan wajah, Anda dapat menanyakan semua gambar yang berisi wajah orang tertentu dalam sebuah kluster.

Skenario

Album pribadi di cloud drive

Pengelompokan wajah mengelompokkan foto berdasarkan wajah di cloud drive dan menghasilkan album individu per orang.

Pengawasan rumah

Pengelompokan wajah mencatat wajah anggota keluarga. Wajah seorang asing tidak dapat dikelompokkan ke dalam kluster wajah yang ada dan memicu peringatan. Hal ini membantu Anda mengidentifikasi dan menangani orang-orang dan kejadian berbahaya pada kesempatan pertama serta memastikan keamanan anggota keluarga Anda.

Manajemen pelanggan di New Retail

Pengelompokan wajah dapat digunakan untuk menghapus duplikat foto pelanggan dan mendapatkan jumlah lalu lintas pelanggan yang akurat, yang dapat digunakan untuk menganalisis preferensi pembelian pelanggan untuk pemasaran yang tepat.

Prasyarat

  • Metadata gambar yang akan dikelompokkan harus diindeks ke dalam dataset yang sesuai. Anda dapat mengindeks metadata secara otomatis dengan memanggil CreateBinding untuk mengikat bucket ke dataset, atau mengindeks metadata secara manual dengan memanggil IndexFileMeta atau BatchIndexFileMeta. Operasi CreateDataset juga dapat digunakan.

  • Setidaknya terdapat tiga gambar wajah dari orang yang sama dalam dataset yang memenuhi persyaratan berikut:

  • Area wajah dari sebuah gambar harus lebih besar dari 75 × 75 piksel.

  • Nilai absolut dari masing-masing tiga elemen dalam parameter HeadPose harus kurang dari 30.

  • Nilai parameter FaceQuality harus lebih besar dari 0,8.

  • Catatan
    • Anda dapat memanggil operasi GetFileMeta untuk menanyakan pose kepala dan kualitas wajah.

    • Setelah kluster wajah dibuat, wajah yang tidak memenuhi persyaratan sebelumnya juga dapat ditambahkan ke kluster yang sama. Untuk FAQ tentang pengelompokan wajah, lihat FAQ tentang manajemen gambar.

Buat tugas pengelompokan wajah

Panggil operasi CreateFigureClusteringTask untuk membuat tugas pengelompokan wajah guna mengelompokkan wajah orang yang berbeda dalam gambar berdasarkan individu. Contoh berikut menunjukkan cara melakukan pengelompokan wajah pada gambar dalam dataset test-dataset.

Catatan

Operasi ini hanya menghasilkan kluster dan tidak mengubah gambar.

Penting

Informasi tugas disimpan selama tujuh hari setelah tugas dimulai. Informasi tugas tidak dapat diperoleh setelah periode tujuh hari berakhir. Anda dapat menggunakan salah satu metode berikut untuk menanyakan informasi tugas:

Contoh permintaan

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

Contoh respons

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

Jika respons mirip dengan konten sebelumnya, tugas pengelompokan wajah berhasil dibuat.

Contoh kode

# -*- 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:
        """
        Gunakan AccessKey ID dan AccessKey secret Anda untuk menginisialisasi klien.
        @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
        )
        # Tentukan endpoint.
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # Pasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Menggunakan kredensial ini untuk melakukan operasi adalah operasi berisiko tinggi. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
        # Alasan keamanan, kami merekomendasikan Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek Anda.
        # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk mengimplementasikan verifikasi identitas untuk akses API. Untuk informasi tentang cara mengonfigurasi variabel lingkungan, kunjungi https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables.
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        # Inisialisasi klien.
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        # Konstruksi permintaan.
        create_figure_clustering_task_request = imm_20200930_models.CreateFigureClusteringTaskRequest(
            # Tentukan nama proyek IMM.
            project_name='test-project',
            # Tentukan nama dataset.
            dataset_name='test-dataset'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # Cetak respons.
            response = client.create_figure_clustering_task_with_options(
                create_figure_clustering_task_request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # Cetak pesan kesalahan jika diperlukan.
            UtilClient.assert_as_string(error.message)
            print(error)


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

Tanyakan kluster wajah

Setelah tugas pengelompokan wajah dibuat, Anda dapat memanggil operasi QueryFigureClusters untuk menanyakan informasi tentang kluster, seperti jumlah kluster dan jumlah gambar dalam setiap kluster. Contoh berikut menunjukkan cara menanyakan informasi tentang kluster wajah dalam dataset test-dataset.

Contoh permintaan

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

Contoh respons

{
    "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-*****"
}
Catatan

Respons menunjukkan bahwa gambar yang berisi wajah dikelompokkan menjadi 2 kluster: Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6 yang berisi 16 gambar dan Cluster-856be781-bf5a-46d7-8494-8d7c44f5e282 yang berisi 5 gambar.

Contoh kode

# -*- 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:
        """
        Gunakan AccessKey ID dan AccessKey secret Anda untuk menginisialisasi klien.
        @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
        )
        # Tentukan endpoint.
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # Pasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Menggunakan kredensial ini untuk melakukan operasi adalah operasi berisiko tinggi. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
        # Alasan keamanan, kami merekomendasikan Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek Anda.
        # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk mengimplementasikan verifikasi identitas untuk akses API. Untuk informasi tentang cara mengonfigurasi variabel lingkungan, kunjungi https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables.
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        # Inisialisasi klien.
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        # Konstruksi permintaan.
        query_figure_clusters_request = imm_20200930_models.QueryFigureClustersRequest(
            # Tentukan nama proyek IMM.
            project_name='test-project',
            # Tentukan nama dataset.
            dataset_name='test-dataset'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # Cetak respons operasi API.
            response = client.query_figure_clusters_with_options(query_figure_clusters_request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # Cetak pesan kesalahan jika diperlukan.
            UtilClient.assert_as_string(error.message)
            print(error)


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

Tanyakan gambar dalam kluster wajah

Anda dapat memanggil operasi SimpleQuery untuk menanyakan gambar dalam kluster tertentu. Contoh berikut menunjukkan cara menanyakan gambar dalam kluster Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6 yang termasuk dalam dataset test-dataset:

Contoh permintaan

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

Contoh respons

Catatan

Kluster mencakup banyak gambar. Konten berikut menunjukkan informasi tentang hanya satu gambar.

{
    "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": "\u716e\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-****"
}
Catatan

Eksperimen respons sebelumnya menunjukkan informasi tentang gambar oss://bucket1/1.jpg dalam kluster.

Contoh kode

# -*- 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:
        """
        Gunakan AccessKey ID dan AccessKey secret Anda untuk menginisialisasi klien.
        @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
        )
        # Tentukan endpoint.
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # Pasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Menggunakan kredensial ini untuk melakukan operasi adalah operasi berisiko tinggi. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
        # Alasan keamanan, kami merekomendasikan Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek Anda.
        # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk mengimplementasikan verifikasi identitas untuk akses API. Untuk informasi tentang cara mengonfigurasi variabel lingkungan, kunjungi https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables.
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        # Inisialisasi klien.
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        # Konstruksi permintaan.
        request = imm_20200930_models.SimpleQueryRequest()
        params = {
            # Tetapkan kondisi query.
            "Query": {"Field": "Figures.FigureClusterId", "Operation": "eq", "Value": "Cluster-7bdbcedb-bd79-42e7-a1e2-b29a48532bd6"},
            # Tentukan nama proyek IMM.
            "ProjectName": "test-project",
            # Tentukan nama dataset.
            "DatasetName": "test-dataset",
            # Tentukan bahwa hingga 100 hasil query dapat dikembalikan.
            "MaxResults": 100
        }
        request.from_map(params)
        runtime = util_models.RuntimeOptions()
        try:
            # Cetak respons operasi API.
            response = client.simple_query_with_options(request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # Cetak pesan kesalahan jika diperlukan.
            UtilClient.assert_as_string(error.message)
            print(error)


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

FAQ

Mengapa pengelompokan wajah gagal dibuat?

Kegagalan terjadi karena kondisi untuk membuat pengelompokan wajah tidak terpenuhi. Untuk akurasi pengelompokan wajah, kondisi berikut harus dipenuhi untuk membuat pengelompokan wajah:

  • Gambar diindeks ke dalam dataset yang ditentukan menggunakan operasi IndexFileMeta.

  • Setidaknya tiga gambar wajah dari orang yang sama yang memenuhi persyaratan berikut terdapat dalam dataset:

    • Ukuran wajah lebih besar dari 75 × 75 piksel.

    • Nilai absolut dari masing-masing tiga elemen dalam parameter HeadPose kurang dari 30.

    • Nilai parameter FaceQuality lebih besar dari 0,8.

Setelah pengelompokan wajah dibuat, wajah yang tidak memenuhi persyaratan sebelumnya juga dapat ditambahkan ke kelompok yang sama.

Bagaimana cara menanyakan gambar dalam kelompok gambar wajah?

Untuk menanyakan gambar dalam kelompok gambar wajah, panggil operasi SimpleQuery dan tentukan ID kelompok gambar wajah untuk parameter Query.

Catatan

Untuk menanyakan ID kelompok gambar wajah, panggil operasi QueryFigureClusters dan peroleh nilai ObjectId dari parameter FigureClusters dalam respons.

{
  "Field ": "Figures.FigureClusterId ",
  "Operation ": "eq ",
  "Value ": "ID kelompok wajah"
}

Mengapa kelompok gambar wajah yang telah dibuat tidak ditemukan?

Pengindeksan metadata bersifat asinkron. Dibutuhkan waktu untuk mengindeks metadata gambar ke dalam dataset yang ditentukan, artinya Anda hanya dapat menemukan kelompok gambar wajah setelah waktu yang diperlukan berlalu. Saat merancang logika aplikasi Anda, pertimbangkan masalah konsistensi data terkait penundaan.

  • Pengindeksan metadata gambar: Operasi IndexFileMeta membutuhkan waktu sekitar 10 detik untuk mengindeks gambar.

  • Pengelompokan wajah: Operasi CreateFigureClusteringTask membutuhkan waktu hingga 180 detik untuk mengelompokkan gambar wajah. Waktu aktual bervariasi berdasarkan jumlah gambar yang diindeks pada satu waktu dan beberapa detik dalam sebagian besar skenario.

    Penting

    Operasi CreateFigureClusteringTask bergantung pada operasi IndexFileMeta untuk mencapai deteksi wajah. Jika Anda menggunakan Simple Message Queue (SMQ) untuk mendapatkan respons permintaan IndexFileMeta, tunggu setidaknya 10 detik sebelum Anda memanggil operasi CreateFigureClusteringTask sehingga pemanggilan operasi CreateFigureClusteringTask dapat memperoleh informasi wajah terbaru.

  • Setelah operasi IndexFileMeta asinkron dan operasi CreateFigureClusteringTask selesai, tunggu 10 detik sebelum Anda memanggil operasi SimpleQuery untuk mendapatkan hasil terbaru.

Apakah saya perlu memanggil operasi CreateFigureClusteringTask setiap kali saya mengindeks metadata gambar?

Tidak, Anda tidak perlu memanggil operasi CreateFigureClusteringTask setiap kali metadata gambar diindeks. Setelah Anda mengindeks metadata beberapa gambar wajah, Anda dapat memanggil operasi CreateFigureClusteringTask untuk melakukan pengelompokan batch gambar wajah yang telah diindeks. Solusi berikut direkomendasikan:

  • Solusi 1: Panggil operasi CreateFigureClusteringTask pada setiap dataset secara berkala, seperti setiap 5 menit.

  • Solusi 2: Setiap kali Anda memanggil operasi IndexFileMeta, tambahkan dataset yang sesuai ke antrian tertunda. Secara berkala peroleh nilai DatasetName dari antrian untuk menanyakan dataset yang berisi gambar tambahan. Panggil operasi CreateFigureClusteringTask 10 detik setelah panggilan terakhir Anda ke operasi IndexFileMeta. Solusi ini direkomendasikan.

Apa yang terjadi jika sebuah gambar dalam tugas pengelompokan wajah berisi wajah dari orang yang berbeda?

Jika sebuah gambar berisi wajah dari orang yang berbeda, setiap wajah dapat ditambahkan ke kelompok. Hal ini karena pengelompokan wajah dilakukan berdasarkan fitur wajah.

Mengapa operasi SimpleQuery mengembalikan wajah yang tidak termasuk dalam kelompok wajah yang ditentukan?

SimpleQuery mengembalikan hasil pada tingkat gambar. Semua wajah dan label dalam gambar dikembalikan. Untuk menanyakan informasi wajah tentang kelompok gambar wajah (seseorang), seperti posisi wajah, ekspresi, dan usia, telusuri bidang Figures di semua hasil dan ambil hasil di mana nilai FigureClusterId sama dengan yang ditentukan untuk FigureClusterId dalam permintaan Anda.

Apakah ada cara lain untuk mendapatkan hasil operasi CreateFacesSearchingTask selain menggunakan Notification?

Tidak, tidak ada cara lain selain Notification untuk mendapatkan hasil operasi CreateFacesSearchingTask. GetTask hanya dapat menanyakan operasi, tetapi tidak hasil operasi.