Todos los productos
Search
Centro de documentos

Intelligent Media Management:Image label detection

Última actualización: Sep 04, 2026

Identifica escenas, objetos y eventos en imágenes, y devuelve etiquetas estructuradas. Admite miles de etiquetas en más de 30 categorías dentro de una taxonomía jerárquica.

Casos de uso

Escenario

Descripción

Reconocimiento de contenido

Detecte elementos, escenas y otra información en imágenes capturadas o cargadas para aplicaciones de reconocimiento de objetos o educativas.

Álbum inteligente

Clasifique imágenes automáticamente según su contenido para organizar álbumes de fotos y galerías sin esfuerzo manual.

Análisis de escenas

Detecte objetos y escenas en imágenes, y aplique etiquetas de contenido para reducir los costos de anotación manual.

Operaciones de contenido

Obtenga etiquetas de imágenes para recomendaciones de contenido en plataformas de redes sociales, noticias y comercio electrónico.

Límites

Restricción

Límite

Formatos de imagen compatibles

PNG, JPG, JPEG

Tamaño máximo del archivo de imagen

20 MB

Altura o anchura máxima de la imagen

30,000 píxeles

Total máximo de píxeles

250 millones

Requisitos previos

Necesita:

Nota

Llame a CreateProject para crear un proyecto mediante programación, o a ListProjects para consultar los proyectos existentes en una región.

Detectar etiquetas de imagen

Llame a DetectImageLabels para detectar etiquetas de imagen.

Parámetros de solicitud

Parámetro

Tipo

Descripción

ProjectName

String

El nombre del proyecto de IMM.

SourceURI

String

La URI de OSS de la imagen, con el formato oss://bucket-name/object-key.

Threshold

Float

La puntuación mínima de confianza para las etiquetas devueltas. Las etiquetas por debajo de este umbral se filtran. Ejemplo: 0.7.

Ejemplo de solicitud

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

Campos de respuesta

Cada etiqueta en la matriz Labels contiene:

Campo

Tipo

Descripción

LabelName

String

El nombre de la etiqueta detectada, como Dog, Building o Camping.

LabelConfidence

Float

La puntuación de confianza de la etiqueta, que varía de 0 a 1. Los valores más altos indican mayor certeza.

CentricScore

Float

Una puntuación que indica qué tan prominente o central es el objeto etiquetado dentro de la imagen. Los valores más altos significan que el objeto es visualmente más prominente.

LabelLevel

Integer

La profundidad jerárquica de la etiqueta. 1 = categoría de nivel superior, 2 = categoría de nivel medio, 3 = etiqueta detallada.

ParentLabelName

String

El nombre de la etiqueta principal en la taxonomía. Vacío para etiquetas de nivel superior.

Language

String

El idioma de la taxonomía de etiquetas, como zh-Hans.

La respuesta también incluye un RequestId que identifica cada solicitud.

Ejemplo de respuesta

{
  "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 respuesta está abreviada. Una respuesta completa devuelve todas las etiquetas que cumplen con el Threshold. Las etiquetas de nivel superior incluyen Clothes, Wild Animal, Pet, Face y Entertainment, con etiquetas más detalladas como Dog, Tent, Camping y Person anidadas dentro de ellas.

Código de ejemplo (Python)

Ejemplo con el SDK de Python de IMM:

# -*- 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

Utilice un usuario de RAM en lugar de su cuenta de Alibaba Cloud para llamar a operaciones de API. Almacene las credenciales de AccessKey en variables de entorno (ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET) en lugar de codificarlas directamente en su código fuente.

Facturación

La detección de etiquetas en imágenes genera cargos tanto para OSS como para IMM.

Facturación de OSS

API

Concepto facturable

Descripción

GetObject

Solicitudes GET

Se factura según el número de solicitudes exitosas.

GetObject

Recuperación de datos de acceso poco frecuente (IA)

Si recupera datos IA, se cobra según el volumen de datos recuperados.

GetObject

Recuperación de datos de acceso en tiempo real de Archive

Si lee un objeto Archive desde un bucket con acceso en tiempo real habilitado, se cobra según el tamaño de los datos recuperados.

GetObject

Aceleración de transferencia

Si la aceleración de transferencia está habilitada y se utiliza un endpoint de aceleración, se cobra según el tamaño de los datos.

HeadObject

Solicitudes GET

Se factura según el número de solicitudes exitosas.

Precios de OSS.

Facturación de IMM

API

Concepto facturable

Descripción

DetectImageLabels

ImageLabel

Se factura según el número de solicitudes exitosas.

Importante

A partir de las 11:00 del 28 de julio de 2025 (UTC+8), el concepto facturable para la detección de etiquetas de imagen de IMM cambió de ImageClassification a ImageLabel. Aviso sobre ajuste de facturación de IMM.

IMM billable items.

Preguntas frecuentes

¿La detección de etiquetas en imágenes admite la extracción de texto, fechas o ubicaciones de las imágenes como etiquetas?

No. La detección de etiquetas en imágenes identifica contenido visual (objetos, escenas, eventos), pero no realiza OCR ni extrae metadatos.

Para extraer texto de imágenes, utilice image semantic search y luego analice los resultados para buscar fechas o nombres de organizaciones. Para obtener las ubicaciones de las fotos, lea los datos GPS de los metadatos EXIF de la imagen mediante una operación de API de información de imagen.

Nota

En imágenes con contenido violento, pornográfico u otro contenido sensible, la detección automática puede carecer de precisión. Es posible que se requiera una revisión manual.