Todos os produtos
Search
Central de documentação

Intelligent Media Management:Detecção de rótulos em imagens

Última atualização: Jun 27, 2026

Identifica cenas, objetos e eventos em imagens e retorna rótulos estruturados. Oferece suporte a milhares de rótulos distribuídos em mais de 30 categorias em uma taxonomia hierárquica.

Casos de uso

Cenário

Descrição

Reconhecimento de conteúdo

Detecta itens, cenas e outras informações em imagens capturadas ou enviadas para reconhecimento de objetos ou aplicações educacionais.

Álbum inteligente

Classifica imagens automaticamente com base no conteúdo para organizar álbuns de fotos e galerias sem esforço manual.

Análise de cena

Identifica objetos e cenas em imagens e aplica rótulos de conteúdo para reduzir custos de anotação manual.

Operações de conteúdo

Recupera rótulos de imagens para recomendar conteúdo em plataformas de redes sociais, notícias e e-commerce.

Limites

Restrição

Limite

Formatos de imagem compatíveis

PNG, JPG, JPEG

Tamanho máximo do arquivo de imagem

20 MB

Altura ou largura máxima da imagem

30.000 pixels

Total máximo de pixels

250 milhões

Pré-requisitos

São necessários:

Nota

Chame CreateProject para criar um projeto programaticamente ou ListProjects para visualizar projetos existentes em uma região.

Detectar rótulos de imagem

Chame DetectImageLabels para detectar rótulos de imagem.

Parâmetros da solicitação

Parâmetro

Tipo

Descrição

ProjectName

String

Nome do projeto do IMM.

SourceURI

String

URI do OSS da imagem, no formato oss://bucket-name/object-key.

Threshold

Float

Pontuação mínima de confiança para os rótulos retornados. O sistema filtra rótulos abaixo desse limiar. Exemplo: 0.7.

Exemplo de solicitação

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

Campos da resposta

Cada rótulo no array Labels contém:

Campo

Tipo

Descrição

LabelName

String

Nome do rótulo detectado, como Dog, Building ou Camping.

LabelConfidence

Float

Pontuação de confiança do rótulo, variando de 0 a 1. Valores mais altos indicam maior certeza.

CentricScore

Float

Pontuação que indica a proeminência ou centralidade do objeto rotulado na imagem. Valores maiores significam maior destaque visual do objeto.

LabelLevel

Integer

Profundidade hierárquica do rótulo. 1 = categoria de nível superior, 2 = categoria de nível intermediário, 3 = rótulo granular.

ParentLabelName

String

Nome do rótulo pai na taxonomia. Vazio para rótulos de nível superior.

Language

String

Idioma da taxonomia de rótulos, como zh-Hans.

A resposta também inclui um RequestId que identifica cada solicitação.

Exemplo de resposta

{
  "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.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.949,
      "LabelName": "Pet",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "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.689,
      "Language": "zh-Hans",
      "LabelConfidence": 0.885,
      "LabelName": "Camping",
      "LabelLevel": 2,
      "ParentLabelName": "Entertainment"
    }
  ]
}
Nota

Esta resposta está abreviada. Uma resposta completa retorna todos os rótulos que atendem ao Threshold. Os rótulos de nível superior incluem Clothes, Wild Animal, Pet, Face e Entertainment, com rótulos mais granulares como Dog, Tent, Camping e Person aninhados neles.

Código de exemplo (Python)

Exemplo com o SDK do IMM para Python:

# -*- coding: utf-8 -*-
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:
        """
        Initialize the client with an AccessKey ID and AccessKey secret.
        @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
        )
        # Specify the endpoint of IMM.
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main(
        args: List[str],
    ) -> None:
        # Obtain credentials from environment variables.
        # Do not hardcode AccessKey credentials in your code.
        imm_access_key_id = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
        imm_access_key_secret = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        # Initialize the client.
        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:
            # Print the return value of the API operation.
            client.detect_image_labels_with_options(detect_image_labels_request, runtime)
        except Exception as error:
            # Print the error message if the request fails.
            UtilClient.assert_as_string(error.message)

    @staticmethod
    async def main_async(
        args: List[str],
    ) -> None:
        # Obtain credentials from environment variables.
        # Do not hardcode AccessKey credentials in your code.
        imm_access_key_id = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
        imm_access_key_secret = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        # Initialize the client.
        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:
            # Print the return value of the API operation.
            await client.detect_image_labels_with_options_async(detect_image_labels_request, runtime)
        except Exception as error:
            # Print the error message if the request fails.
            UtilClient.assert_as_string(error.message)

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

Use um usuário RAM em vez da conta Alibaba Cloud para chamar operações de API. Armazene as credenciais do AccessKey em variáveis de ambiente (ALIBABA_CLOUD_ACCESS_KEY_ID e ALIBABA_CLOUD_ACCESS_KEY_SECRET) em vez de codificá-las diretamente no código source.

Faturamento

A detecção de rótulos em imagens gera cobranças tanto do OSS quanto do IMM.

Faturamento do OSS

API

Item faturável

Descrição

GetObject

Solicitações GET

Cobrança baseada no número de solicitações bem-sucedidas.

GetObject

Recuperação de dados de Acesso Pouco Frequente (IA)

Na recuperação de dados IA, a cobrança baseia-se no volume de dados recuperados.

GetObject

Recuperação de dados de acesso em tempo real do Archive

Na leitura de um objeto Archive de um bucket com acesso em tempo real ativado, a cobrança baseia-se no tamanho dos dados recuperados.

GetObject

Aceleração de transferência

Com a aceleração de transferência ativada e uso de endpoint de aceleração, a cobrança baseia-se no tamanho dos dados.

HeadObject

Solicitações GET

Cobrança baseada no número de solicitações bem-sucedidas.

Preços do OSS.

Faturamento do IMM

API

Item faturável

Descrição

DetectImageLabels

ImageLabel

Cobrança baseada no número de solicitações bem-sucedidas.

Importante

A partir das 11h00 de 28 de julho de 2025 (UTC+8), o item faturável para detecção de rótulos de imagem do IMM mudou de ImageClassification para ImageLabel. Aviso sobre ajuste de faturamento do IMM.

Itens faturáveis do IMM.

Perguntas frequentes

A detecção de rótulos em imagens suporta a extração de texto, datas ou locais das imagens como rótulos?

Não. A detecção de rótulos em imagens identifica conteúdo visual (objetos, cenas, eventos), mas não executa OCR nem extrai metadados.

Para extrair texto de imagens, use a pesquisa semântica de imagens e analise os resultados em busca de datas ou nomes de organizações. Para recuperar locais de fotos, leia os dados GPS dos metadados EXIF da imagem por meio de uma operação de API de informações de imagem.

Nota

Em imagens com conteúdo violento, pornográfico ou outro conteúdo sensível, a detecção automática pode apresentar imprecisões. Recomenda-se revisão manual nesses casos.