All Products
Search
Document Center

Intelligent Media Management:Deteksi label citra

Last Updated:Nov 10, 2025

Topik ini menjelaskan skenario dan prosedur fitur deteksi label citra.

Deskripsi fitur

Fitur deteksi label citra mendeteksi konten seperti pemandangan, objek, dan event dalam citra serta secara otomatis menambahkan label. Fitur ini mendukung ribuan label di lebih dari 30 kategori, seperti yang ditunjukkan pada gambar berikut.

图片标签检测..jpeg

Skenario

Skenario

Deskripsi

Pengenalan konten

Mendeteksi item, pemandangan, dan informasi lain dalam citra yang diambil atau diunggah. Fitur ini dapat digunakan dalam produk atau fitur untuk pengenalan objek dari foto atau untuk keperluan edukasi populer.

Album cerdas

Mengklasifikasikan citra secara otomatis berdasarkan kontennya untuk menerapkan klasifikasi cerdas pada album foto dan galeri. Hal ini membantu mencapai manajemen yang efisien dan otomatis.

Analisis pemandangan

Mendeteksi berbagai objek atau pemandangan dalam citra dan menambahkan label konten ke pemandangan yang berbeda. Hal ini meningkatkan efisiensi analisis pemandangan dan mengurangi biaya anotasi manual.

Operasi konten

Memperoleh informasi label citra untuk rekomendasi konten. Fitur ini banyak digunakan di platform konten seperti media sosial, berita, informasi, dan platform e-commerce.

Batasan

Tabel berikut menjelaskan batasan fitur deteksi label citra.

Batasan

Keterbatasan

Format citra

Format citra berikut didukung:

  • PNG

  • JPG

  • JPEG

Ukuran citra

Batasan ukuran citra berikut berlaku:

  • Ukuran citra tidak boleh melebihi 20 MB.

  • Tinggi atau lebar citra tidak boleh melebihi 30.000 piksel (px).

  • Jumlah total piksel dalam citra tidak boleh melebihi 250 juta.

Prasyarat

  • Buat dan peroleh Pasangan Kunci Akses. Untuk informasi selengkapnya, lihat Buat Pasangan Kunci Akses.

  • Aktifkan OSS, buat bucket, dan unggah file ke bucket tersebut. Untuk informasi selengkapnya, lihat Unggah file.

  • Aktifkan Intelligent Media Management (IMM). Untuk informasi selengkapnya, lihat Aktifkan IMM.

  • Buat proyek di konsol IMM. Untuk informasi selengkapnya, lihat Buat proyek.

  • Bucket OSS dan proyek IMM harus berada di wilayah yang sama, misalnya Tiongkok (Hohhot).

    Catatan
    • Anda juga dapat memanggil operasi API CreateProject untuk membuat proyek. Untuk informasi selengkapnya, lihat CreateProject.

    • Anda dapat memanggil operasi ListProjects untuk menampilkan semua proyek di wilayah tertentu.

Prosedur

Panggil operasi DetectImageLabels untuk mendeteksi label dalam citra.

Informasi yang akan dideteksi

  • Nama proyek IMM: test-project

  • Alamat penyimpanan citra: oss://test-bucket/test-object.jpg

  • Contoh citra:

    test-object

Contoh permintaan

{
    "ProjectName": "test-project",
    "SourceURI": "oss://test-bucket/test-object.jpg",
    "Threshold": 0.7
}

Contoh respons

{
  "RequestId": "91C92EBA-5E51-50C8-B51B-8C3BDC66EB86",
  "Labels": [
    {
      "CentricScore": 0.797,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "Clothing",
      "LabelLevel": 2,
      "ParentLabelName": "Clothes"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "Carnivore",
      "LabelLevel": 2,
      "ParentLabelName": "Wild Animal"
    },
    {
      "CentricScore": 0.723,
      "Language": "zh-Hans",
      "LabelConfidence": 0.987,
      "LabelName": "Tent",
      "LabelLevel": 2,
      "ParentLabelName": "Other Scenes"
    },
    {
      "CentricScore": 0.759,
      "Language": "zh-Hans",
      "LabelConfidence": 0.963,
      "LabelName": "Building",
      "LabelLevel": 3,
      "ParentLabelName": "Landmark"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.949,
      "LabelName": "Pet",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.787,
      "Language": "zh-Hans",
      "LabelConfidence": 0.944,
      "LabelName": "Portrait",
      "LabelLevel": 2,
      "ParentLabelName": "Face"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.939,
      "LabelName": "Dog",
      "LabelLevel": 3,
      "ParentLabelName": "Pet Dog"
    },
    {
      "CentricScore": 0.803,
      "Language": "zh-Hans",
      "LabelConfidence": 0.924,
      "LabelName": "Person",
      "LabelLevel": 2,
      "ParentLabelName": "Face"
    },
    {
      "CentricScore": 0.687,
      "Language": "zh-Hans",
      "LabelConfidence": 0.895,
      "LabelName": "Golden Retriever",
      "LabelLevel": 3,
      "ParentLabelName": "Pet Dog"
    },
    {
      "CentricScore": 0.689,
      "Language": "zh-Hans",
      "LabelConfidence": 0.885,
      "LabelName": "Camping",
      "LabelLevel": 2,
      "ParentLabelName": "Entertainment"
    },
    {
      "CentricScore": 0.76,
      "Language": "zh-Hans",
      "LabelConfidence": 0.883,
      "LabelName": "Furniture",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.802,
      "Language": "zh-Hans",
      "LabelConfidence": 0.878,
      "LabelName": "Male",
      "LabelLevel": 2,
      "ParentLabelName": "Face"
    },
    {
      "CentricScore": 0.792,
      "Language": "zh-Hans",
      "LabelConfidence": 0.85,
      "LabelName": "Female",
      "LabelLevel": 2,
      "ParentLabelName": "Face"
    },
    {
      "CentricScore": 0.722,
      "Language": "zh-Hans",
      "LabelConfidence": 0.849,
      "LabelName": "Plant",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.729,
      "Language": "zh-Hans",
      "LabelConfidence": 0.84,
      "LabelName": "Lawn",
      "LabelLevel": 3,
      "ParentLabelName": "Natural Landscape"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.818,
      "LabelName": "Animal",
      "LabelLevel": 2,
      "ParentLabelName": "Wild Animal"
    },
    {
      "CentricScore": 0.782,
      "Language": "zh-Hans",
      "LabelConfidence": 0.816,
      "LabelName": "T-shirt",
      "LabelLevel": 2,
      "ParentLabelName": "Clothes"
    },
    {
      "CentricScore": 0.749,
      "Language": "zh-Hans",
      "LabelConfidence": 0.813,
      "LabelName": "Shoe",
      "LabelLevel": 2,
      "ParentLabelName": "Clothes"
    },
    {
      "CentricScore": 0.826,
      "Language": "zh-Hans",
      "LabelConfidence": 0.813,
      "LabelName": "Footwear",
      "LabelLevel": 2,
      "ParentLabelName": "Clothes"
    },
    {
      "CentricScore": 0.685,
      "Language": "zh-Hans",
      "LabelConfidence": 0.775,
      "LabelName": "Labrador Retriever",
      "LabelLevel": 3,
      "ParentLabelName": "Pet Dog"
    },
    {
      "CentricScore": 0.76,
      "Language": "zh-Hans",
      "LabelConfidence": 0.746,
      "LabelName": "Chair",
      "LabelLevel": 2,
      "ParentLabelName": "Furniture"
    },
    {
      "CentricScore": 0.757,
      "Language": "zh-Hans",
      "LabelConfidence": 0.742,
      "LabelName": "Girl",
      "LabelLevel": 2,
      "ParentLabelName": "Face"
    },
    {
      "CentricScore": 0.776,
      "Language": "zh-Hans",
      "LabelConfidence": 0.726,
      "LabelName": "Smile",
      "LabelLevel": 2,
      "ParentLabelName": "Appearance Feature"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.722,
      "LabelName": "Dog Sport",
      "LabelLevel": 2,
      "ParentLabelName": "Sports"
    },
    {
      "CentricScore": 0.685,
      "Language": "zh-Hans",
      "LabelConfidence": 0.664,
      "LabelName": "Golden Retriever",
      "LabelLevel": 3,
      "ParentLabelName": "Pet Dog"
    },
    {
      "CentricScore": 0.826,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "Clothes",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "Wild Animal",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.723,
      "Language": "zh-Hans",
      "LabelConfidence": 0.987,
      "LabelName": "Other Scenes",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.759,
      "Language": "zh-Hans",
      "LabelConfidence": 0.963,
      "LabelName": "Landmark",
      "LabelLevel": 2,
      "ParentLabelName": "Travel & Geography"
    },
    {
      "CentricScore": 0.803,
      "Language": "zh-Hans",
      "LabelConfidence": 0.944,
      "LabelName": "Face",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.939,
      "LabelName": "Pet Dog",
      "LabelLevel": 2,
      "ParentLabelName": "Pet"
    },
    {
      "CentricScore": 0.689,
      "Language": "zh-Hans",
      "LabelConfidence": 0.885,
      "LabelName": "Entertainment",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.729,
      "Language": "zh-Hans",
      "LabelConfidence": 0.84,
      "LabelName": "Natural Landscape",
      "LabelLevel": 2,
      "ParentLabelName": "Travel & Geography"
    },
    {
      "CentricScore": 0.776,
      "Language": "zh-Hans",
      "LabelConfidence": 0.726,
      "LabelName": "Appearance Feature",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.722,
      "LabelName": "Sports",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.759,
      "Language": "zh-Hans",
      "LabelConfidence": 0.963,
      "LabelName": "Travel & Geography",
      "LabelLevel": 1,
      "ParentLabelName": ""
    }
  ]
}
Catatan

Hasil deteksi menunjukkan bahwa citra tersebut mengandung label-label berikut:

  • Label induk: Clothes, Wild Animal, Landmark, Face, Pet Dog, dan lainnya.

  • Label: Clothing, Carnivore, Tent, Building, Pet, Face, Dog, dan lainnya.

Kode contoh

Kode contoh berikut menunjukkan cara menggunakan SDK Python untuk mendeteksi label citra.

# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import sys
import os
from typing import List

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 ID AccessKey dan rahasia AccessKey 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 titik akhir IMM.
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main(
        args: List[str],
    ) -> None:
        # Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Kami menyarankan Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M.
        # Kami menyarankan agar Anda tidak menyimpan ID AccessKey dan rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda dapat terganggu.
        # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk memverifikasi identitas pemanggil API.
        imm_access_key_id = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
        imm_access_key_secret = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        # Inisialisasi klien.
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        detect_image_labels_request = imm_20200930_models.DetectImageLabelsRequest(
            project_name='test-project',
            source_uri='oss://test-bucket/test-object.jpg',
            threshold=0.7
        )
        runtime = util_models.RuntimeOptions()
        try:
            # Jika Anda menyalin kode untuk menjalankannya, cetak nilai kembali dari operasi API.
            client.detect_image_labels_with_options(detect_image_labels_request, runtime)
        except Exception as error:
            # Jika terjadi kesalahan, cetak pesan kesalahan.
            UtilClient.assert_as_string(error.message)

    @staticmethod
    async def main_async(
        args: List[str],
    ) -> None:
        # Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Kami menyarankan Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M.
        # Kami menyarankan agar Anda tidak menyimpan ID AccessKey dan rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda dapat terganggu.
        # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk memverifikasi identitas pemanggil API.
        imm_access_key_id = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
        imm_access_key_secret = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        # Inisialisasi klien.
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        detect_image_labels_request = imm_20200930_models.DetectImageLabelsRequest(
            project_name='test-project',
            source_uri='oss://test-bucket/test-object.jpg',
            threshold=0.7
        )
        runtime = util_models.RuntimeOptions()
        try:
            # Jika Anda menyalin kode untuk menjalankannya, cetak nilai kembali dari operasi API.
            await client.detect_image_labels_with_options_async(detect_image_labels_request, runtime)
        except Exception as error:
            # Jika terjadi kesalahan, cetak pesan kesalahan.
            UtilClient.assert_as_string(error.message)


if __name__ == '__main__':
    Sample.main(sys.argv[1:])

Penagihan

Saat deteksi label citra, item yang dapat ditagih dihasilkan untuk OSS dan IMM:

  • OSS: Untuk informasi harga selengkapnya, lihat Harga OSS.

    API

    Item yang dapat ditagih

    Deskripsi

    GetObject

    Permintaan GET

    Permintaan ditagih berdasarkan jumlah permintaan yang berhasil.

    Kapasitas pengambilan data IA

    Jika Anda mengambil data Akses Jarang (IA), biaya kapasitas pengambilan data IA akan dikenakan. Anda dikenai biaya berdasarkan volume data yang diambil.

    Kapasitas pengambilan data akses waktu nyata Arsip

    Jika Anda membaca objek Arsip dari bucket yang telah diaktifkan fitur akses waktu nyata untuk objek Arsip, biaya kapasitas pengambilan data akses waktu nyata Arsip akan dikenakan. Anda dikenai biaya berdasarkan ukuran data yang diambil.

    Akselerasi transfer

    Jika Anda mengaktifkan akselerasi transfer dan menggunakan Titik akhir percepatan untuk mengakses bucket Anda, biaya akselerasi transfer akan dikenakan. Anda dikenai biaya berdasarkan ukuran data.

    HeadObject

    Permintaan GET

    Permintaan ditagih berdasarkan jumlah permintaan yang berhasil.

  • IMM: Untuk informasi harga selengkapnya, lihat Item yang dapat ditagih IMM.

    Penting

    Mulai pukul 11.00 tanggal 28 Juli 2025 (UTC+8), item yang dapat ditagih untuk layanan pelabelan citra IMM akan berubah dari ImageClassification menjadi ImageLabel. Untuk informasi selengkapnya, lihat Pemberitahuan Penyesuaian Penagihan IMM.

    API

    Item yang dapat ditagih

    Deskripsi

    DetectImageLabels

    ImageLabel

    Biaya deteksi label citra dihitung berdasarkan jumlah permintaan yang berhasil.

FAQ

  1. Apakah deteksi label citra mendukung pendeteksian teks, tanggal, dan lokasi dalam citra serta mengonversinya menjadi label?

    Tidak, tidak mendukung. Anda dapat menggunakan pencarian semantik citra untuk mengekstraksi teks dari citra. Anda kemudian dapat menentukan tanggal dan nama organisasi berdasarkan teks tersebut. Untuk memperoleh lokasi, jika citra Anda berisi informasi Exchangeable Image File Format (EXIF), Anda dapat memanggil operasi API informasi citra untuk mengambil data GPS tempat foto diambil.

Catatan

Untuk citra yang mengandung konten kekerasan, pornografi, atau konten sensitif lainnya, deteksi otomatis mungkin tidak cukup sensitif atau akurat. Dalam beberapa kasus, tinjauan manual diperlukan.