Todos os produtos
Search
Central de documentação

Object Storage Service:Detecção de rótulos de imagem

Última atualização: Aug 27, 2026

A detecção de rótulos de imagem identifica informações como cenas, objetos e eventos em uma imagem. Use este recurso para marcar suas imagens automaticamente.

Casos de uso

Cenário

Descrição

Reconhecimento de conteúdo

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

Álbum inteligente

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

Análise de cena

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

Operações de conteúdo

Recupere rótulos de imagem para recomendação de conteúdo em plataformas de redes sociais, notícias e e-commerce.

Casos de uso

Cenário

Descrição

Reconhecimento de conteúdo

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

Álbum inteligente

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

Análise de cena

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

Operações de conteúdo

Recupere rótulos de imagem para recomendação de conteúdo em plataformas de redes sociais, notícias e e-commerce.

Casos de uso

Cenário

Descrição

Reconhecimento de conteúdo

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

Álbum inteligente

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

Análise de cena

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

Operações de conteúdo

Recupere rótulos de imagem para recomendação de conteúdo em plataformas de redes sociais, notícias e e-commerce.

Casos de uso

Cenário

Descrição

Reconhecimento de conteúdo

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

Álbum inteligente

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

Análise de cena

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

Operações de conteúdo

Recupere rótulos de imagem para recomendação de conteúdo em plataformas de redes sociais, notícias e e-commerce.

Precauções

  • A detecção de rótulos de imagem aceita apenas imagens nos formatos JPG, PNG ou JPEG.

  • O tamanho da imagem está sujeito aos seguintes limites:

    • O tamanho do arquivo não pode exceder 20 MB.

    • A altura ou a largura não pode ultrapassar 30.000 pixels.

    • O número total de pixels não pode exceder 250 milhões.

  • A detecção de rótulos de imagem aceita apenas processamento síncrono por meio do método x-oss-process.

  • O acesso anônimo será negado.

  • O acesso anônimo será negado.

    O acesso anônimo será negado.

    O acesso anônimo será negado.

    O acesso anônimo será negado.

Como usar

Pré-requisitos

Detectar rótulos de imagem

Os exemplos a seguir mostram como detectar rótulos com SDKs comuns. Adapte o código destes exemplos para outros SDKs.

Python

Use Python SDK 2.18.4 ou posterior.

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# Obtain access credentials from environment variables.
# Set OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET before running this code.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Set the endpoint for the region where the bucket is located.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)

# Specify the object key. Include the full path if the image is not in the root directory,
# for example, exampledir/example.jpg.
key = 'example.jpg'

process = 'image/labels'

try:
    result = bucket.get_object(key, process=process)
    image_labels = result.read().decode('utf-8')
    print("Image labels:")
    print(image_labels)
except oss2.exceptions.OssError as e:
    print("Error:", e)

Java

Use Java SDK 3.17.4 ou posterior.

import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.GetObjectRequest;
import com.aliyuncs.exceptions.ClientException;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws ClientException, ClientException {
        // Set the endpoint for the region where the bucket is located.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        String region = "cn-hangzhou";
        // Obtain access credentials from environment variables.
        // Set OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET before running this code.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        String bucketName = "examplebucket";
        // Specify the object key. Include the full path if the image is not in the root directory,
        // for example, exampledir/example.jpg.
        String key = "example.jpg";

        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
            getObjectRequest.setProcess("image/labels");

            OSSObject ossObject = ossClient.getObject(getObjectRequest);

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = ossObject.getObjectContent().read(buffer)) != -1) {
                baos.write(buffer, 0, bytesRead);
            }
            String imageLabels = baos.toString("UTF-8");
            System.out.println("Image labels:");
            System.out.println(imageLabels);
        } catch (IOException e) {
            System.out.println("Error: " + e.getMessage());
        } finally {
            ossClient.shutdown();
        }
    }
}

Go

Use Go SDK 3.0.2 ou posterior.

package main

import (
	"fmt"
	"io"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Obtain access credentials from environment variables.
	// Set OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET before running this code.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Set the endpoint for the region where the bucket is located.
	client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	bucket, err := client.Bucket("examplebucket")
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Specify the object key. Include the full path if the image is not in the root directory,
	// for example, exampledir/example.jpg.
	body, err := bucket.GetObject("example.jpg", oss.Process("image/labels"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	defer body.Close()

	data, err := io.ReadAll(body)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	fmt.Println("Image labels:", string(data))
}

PHP

Use PHP SDK 2.7.0 ou posterior.

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;

try {
    // Obtain access credentials from environment variables.
    // Set OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET before running this code.
    $provider = new EnvironmentVariableCredentialsProvider();
    // Set the endpoint for the region where the bucket is located.
    $endpoint = 'https://oss-cn-hangzhou.aliyuncs.com';
    $bucket = 'examplebucket';
    // Specify the object key. Include the full path if the image is not in the root directory,
    // for example, exampledir/example.jpg.
    $key = 'example.jpg';

    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region" => "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
    $options[$ossClient::OSS_PROCESS] = "image/labels";
    $result = $ossClient->getObject($bucket, $key, $options);
    var_dump($result);
} catch (OssException $e) {
    printf($e->getMessage() . "\n");
    return;
}

Obter rótulos com o limiar padrão

Configuração de limiar

Como o parâmetro thr não foi especificado, aplica-se o limiar padrão de 0,7.

Exemplo de processamento

GET /example.jpg?x-oss-process=image/labels HTTP/1.1
Host: image-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 21 Jul 2023 08:30:25 GMT
Authorization: SignatureValue

Resposta de exemplo

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Fri, 21 Jul 2023 08:30:26 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
x-oss-request-id: 64BA42225DFDD13437ECD00E
Last-Modified: Mon, 10 Jul 2023 13:07:30 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 13420962247653419692
x-oss-storage-class: Standard
x-oss-ec: 0048-00000104
Content-Disposition: attachment
x-oss-force-download: true
x-oss-server-time: 489
Content-Encoding: gzip

{
    "Labels": [
        {
            "CentricScore": 0.823,
            "LabelConfidence": 1.0,
            "LabelLevel": 2,
            "LabelName": "Outerwear",
            "Language": "zh-Hans",
            "ParentLabelName": "Clothing"
        },
        {
            "CentricScore": 0.721,
            "LabelConfidence": 0.735,
            "LabelLevel": 2,
            "LabelName": "Apparel",
            "Language": "zh-Hans",
            "ParentLabelName": "Clothing"
        }
        ...
    ],
    "RequestId": "0EC0B6EC-EB16-5EF4-812B-EF3A60C7D20D"
}

Obter rótulos com um limiar especificado

Configuração de limiar

O parâmetro thr está definido como 0,85.

Exemplo de processamento

GET /example.jpg?x-oss-process=image/labels,thr_0.85 HTTP/1.1
Host: image-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 21 Jul 2023 08:44:58 GMT
Authorization: SignatureValue

Resposta de exemplo

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Fri, 21 Jul 2023 08:45:00 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
x-oss-request-id: 64BA458C7FFDC2383651DF09
Last-Modified: Mon, 10 Jul 2023 13:07:30 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 13420962247653419692
x-oss-storage-class: Standard
x-oss-ec: 0048-00000104
Content-Disposition: attachment
x-oss-force-download: true
x-oss-server-time: 421
Content-Encoding: gzip

{
    "RequestId": "B7BDAFD5-C0AF-5042-A749-88BF6E4F2712",
    "Labels": [
        {
            "CentricScore": 0.797,
            "Language": "zh-Hans",
            "LabelConfidence": 0.927,
            "LabelName": "Apparel",
            "LabelLevel": 2,
            "ParentLabelName": "Clothing"
        }
        ...
    ]
}

Parâmetros

Ação: image/labels

Parâmetros de solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

thr

float

Não

Rótulos com valor de LabelConfidence inferior ao limiar especificado não são exibidos. Valores válidos: [0, 1]. Valor padrão: 0,7.

0.5

Aumente o valor de thr para retornar apenas rótulos com alta confiança. Diminua o valor de thr para retornar mais rótulos.

Parâmetros de resposta

Para obter mais informações sobre os parâmetros de resposta, consulte DetectImageLabels - Detect labels in an image.

Faturamento

A detecção de rótulos de imagem chama o IMM. Portanto, gera itens faturáveis tanto para o OSS quanto para o IMM:

API

Item faturável

Descrição

GetObject

Solicitações GET

A cobrança é baseada no número de solicitações bem-sucedidas.

GetObject

Tráfego de saída pela internet

Ao chamar a operação GetObject com um endpoint público (por exemplo, o endpoint China (Hangzhou) oss-cn-hangzhou.aliyuncs.com) ou um endpoint de aceleração (por exemplo, oss-accelerate.aliyuncs.com), há cobrança de tráfego de saída pela internet com base no volume de dados.

GetObject

Volume de dados recuperados de Acesso Infrequente (IA)

Se os dados recuperados forem de Acesso Infrequente (IA), a cobrança de recuperação de dados será baseada no volume de dados recuperados.

GetObject

Volume de dados recuperados via acesso em tempo real de objetos Archive

Ao ler um objeto Archive de um bucket com acesso em tempo real de objetos Archive ativado, a cobrança de recuperação de dados via acesso em tempo real de objetos Archive será baseada no volume de dados recuperados.

GetObject

Aceleração de transferência

Com a aceleração de transferência ativada e o uso de um endpoint de aceleração para acessar seu bucket, a cobrança de aceleração de transferência será baseada no volume de dados.

HeadObject

Solicitações GET

A cobrança é baseada no número de solicitações bem-sucedidas.

Importante

A partir das 11:00 (UTC+8) de 28 de julho de 2025, o preço do service de detecção de rótulos de imagem do IMM permanece inalterado, mas o item faturável é renomeado de ImageClassification para ImageLabel. Para obter mais informações, consulte Anúncio sobre ajuste de faturamento do IMM.

API

Item faturável

Descrição

DetectImageLabels

ImageLabel

A cobrança é baseada no número de solicitações bem-sucedidas.