全部產品
Search
文件中心

Intelligent Media Management:圖片標籤檢測

更新時間:Jul 29, 2025

本文介紹圖片標籤檢測功能的應用情境和使用方法等。

功能簡介

圖片標籤檢測可以識別圖片中的情境、物體和事件等內容,實現圖片的自動打標。目前支援的標籤種類包含三十多個分類、數千個標籤,如下圖所示。

圖片標籤檢測..jpeg

應用情境

情境名稱

情境說明

內容識別

根據拍攝或上傳的圖片,識別圖片中的物品、情境等資訊,可應用於拍照識物或科普類的功能或產品中。

智能相簿

根據圖片內容資訊,並對圖片進行自動分類,實現相簿圖庫的智能分類,實現高效自動化管理。

情境分析

對圖片中包含的多種事物或情境進行識別,為不同情境打上內容標籤,提升情境分析效率,減少人工標註成本。

內容營運

擷取圖片標籤資訊,實現內容推薦,可廣泛應用於社交或新聞資訊及電商等內容平台中。

使用限制

圖片標籤檢測的使用限制如下表所示:

限制項

限制

圖片格式

支援檢測的圖片格式如下:

  • PNG

  • JPG

  • JPEG

圖片大小

支援檢測的圖片大小限制如下:

  • 圖片大小不超過20 MB

  • 圖片高度或寬度不超過3萬像素(px)

  • 圖片總像素不超過2.5億像素(px)

前提條件

  • 已建立並擷取AccessKey。具體操作,請參見建立AccessKey

  • 已開通OSS服務、建立儲存空間並上傳檔案到儲存空間。具體操作,請參見控制台上傳檔案

  • 已開通Intelligent Media Management服務。具體操作,請參見開通產品

  • 已通過Intelligent Media Management控制台建立專案。具體操作,請參見建立專案

  • OSS服務儲存空間與Intelligent Media Management服務建立專案同屬一個地區,例如華北2。

    說明

使用方法

調用DetectImageLabels - 檢測圖片中的標籤資訊介面檢測圖片中的標籤資訊。

檢測資訊

  • IMM專案名稱:test-project

  • 待檢測圖片的儲存地址:oss://test-bucket/test-object.jpg

  • 圖片樣本:

    test-object

請求樣本

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

返回樣本

{
  "RequestId": "91C92EBA-5E51-50C8-B51B-8C3BDC66EB86",
  "Labels": [
    {
      "CentricScore": 0.797,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "服裝",
      "LabelLevel": 2,
      "ParentLabelName": "衣服"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "食肉動物",
      "LabelLevel": 2,
      "ParentLabelName": "野生動物"
    },
    {
      "CentricScore": 0.723,
      "Language": "zh-Hans",
      "LabelConfidence": 0.987,
      "LabelName": "帳篷",
      "LabelLevel": 2,
      "ParentLabelName": "其他情境"
    },
    {
      "CentricScore": 0.759,
      "Language": "zh-Hans",
      "LabelConfidence": 0.963,
      "LabelName": "建築",
      "LabelLevel": 3,
      "ParentLabelName": "地標建築"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.949,
      "LabelName": "寵物",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.787,
      "Language": "zh-Hans",
      "LabelConfidence": 0.944,
      "LabelName": "人像",
      "LabelLevel": 2,
      "ParentLabelName": "面部"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.939,
      "LabelName": "狗",
      "LabelLevel": 3,
      "ParentLabelName": "寵物狗"
    },
    {
      "CentricScore": 0.803,
      "Language": "zh-Hans",
      "LabelConfidence": 0.924,
      "LabelName": "人",
      "LabelLevel": 2,
      "ParentLabelName": "面部"
    },
    {
      "CentricScore": 0.687,
      "Language": "zh-Hans",
      "LabelConfidence": 0.895,
      "LabelName": "金毛尋回犬",
      "LabelLevel": 3,
      "ParentLabelName": "寵物狗"
    },
    {
      "CentricScore": 0.689,
      "Language": "zh-Hans",
      "LabelConfidence": 0.885,
      "LabelName": "露營",
      "LabelLevel": 2,
      "ParentLabelName": "娛樂"
    },
    {
      "CentricScore": 0.76,
      "Language": "zh-Hans",
      "LabelConfidence": 0.883,
      "LabelName": "傢具",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.802,
      "Language": "zh-Hans",
      "LabelConfidence": 0.878,
      "LabelName": "男性",
      "LabelLevel": 2,
      "ParentLabelName": "面部"
    },
    {
      "CentricScore": 0.792,
      "Language": "zh-Hans",
      "LabelConfidence": 0.85,
      "LabelName": "女性",
      "LabelLevel": 2,
      "ParentLabelName": "面部"
    },
    {
      "CentricScore": 0.722,
      "Language": "zh-Hans",
      "LabelConfidence": 0.849,
      "LabelName": "植物",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.729,
      "Language": "zh-Hans",
      "LabelConfidence": 0.84,
      "LabelName": "草坪",
      "LabelLevel": 3,
      "ParentLabelName": "自然景觀"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.818,
      "LabelName": "動物",
      "LabelLevel": 2,
      "ParentLabelName": "野生動物"
    },
    {
      "CentricScore": 0.782,
      "Language": "zh-Hans",
      "LabelConfidence": 0.816,
      "LabelName": "T恤",
      "LabelLevel": 2,
      "ParentLabelName": "衣服"
    },
    {
      "CentricScore": 0.749,
      "Language": "zh-Hans",
      "LabelConfidence": 0.813,
      "LabelName": "鞋",
      "LabelLevel": 2,
      "ParentLabelName": "衣服"
    },
    {
      "CentricScore": 0.826,
      "Language": "zh-Hans",
      "LabelConfidence": 0.813,
      "LabelName": "鞋類",
      "LabelLevel": 2,
      "ParentLabelName": "衣服"
    },
    {
      "CentricScore": 0.685,
      "Language": "zh-Hans",
      "LabelConfidence": 0.775,
      "LabelName": "拉布拉多犬",
      "LabelLevel": 3,
      "ParentLabelName": "寵物狗"
    },
    {
      "CentricScore": 0.76,
      "Language": "zh-Hans",
      "LabelConfidence": 0.746,
      "LabelName": "椅子",
      "LabelLevel": 2,
      "ParentLabelName": "傢具"
    },
    {
      "CentricScore": 0.757,
      "Language": "zh-Hans",
      "LabelConfidence": 0.742,
      "LabelName": "女孩",
      "LabelLevel": 2,
      "ParentLabelName": "面部"
    },
    {
      "CentricScore": 0.776,
      "Language": "zh-Hans",
      "LabelConfidence": 0.726,
      "LabelName": "微笑",
      "LabelLevel": 2,
      "ParentLabelName": "外貌特徵"
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.722,
      "LabelName": "犬類運動",
      "LabelLevel": 2,
      "ParentLabelName": "體育運動"
    },
    {
      "CentricScore": 0.685,
      "Language": "zh-Hans",
      "LabelConfidence": 0.664,
      "LabelName": "金毛",
      "LabelLevel": 3,
      "ParentLabelName": "寵物狗"
    },
    {
      "CentricScore": 0.826,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "衣服",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 1,
      "LabelName": "野生動物",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.723,
      "Language": "zh-Hans",
      "LabelConfidence": 0.987,
      "LabelName": "其他情境",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.759,
      "Language": "zh-Hans",
      "LabelConfidence": 0.963,
      "LabelName": "地標建築",
      "LabelLevel": 2,
      "ParentLabelName": "旅遊&地理"
    },
    {
      "CentricScore": 0.803,
      "Language": "zh-Hans",
      "LabelConfidence": 0.944,
      "LabelName": "面部",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.939,
      "LabelName": "寵物狗",
      "LabelLevel": 2,
      "ParentLabelName": "寵物"
    },
    {
      "CentricScore": 0.689,
      "Language": "zh-Hans",
      "LabelConfidence": 0.885,
      "LabelName": "娛樂",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.729,
      "Language": "zh-Hans",
      "LabelConfidence": 0.84,
      "LabelName": "自然景觀",
      "LabelLevel": 2,
      "ParentLabelName": "旅遊&地理"
    },
    {
      "CentricScore": 0.776,
      "Language": "zh-Hans",
      "LabelConfidence": 0.726,
      "LabelName": "外貌特徵",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.695,
      "Language": "zh-Hans",
      "LabelConfidence": 0.722,
      "LabelName": "體育運動",
      "LabelLevel": 1,
      "ParentLabelName": ""
    },
    {
      "CentricScore": 0.759,
      "Language": "zh-Hans",
      "LabelConfidence": 0.963,
      "LabelName": "旅遊&地理",
      "LabelLevel": 1,
      "ParentLabelName": ""
    }
  ]
}
說明

檢測結果顯示,該檢測圖片包含以下標籤:

  • 父級標籤:衣服野生動物地標建築面部寵物狗

  • 標籤:服裝食肉動物帳篷建築寵物人臉

範例程式碼

以Python SDK為例,圖片標籤檢測的完整範例程式碼如下。

# -*- 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:
        """
        使用AccessKey ID&AccessKey Secret初始化帳號Client。
        @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
        )
        # 填寫訪問的IMM網域名稱。
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main(
        args: List[str],
    ) -> None:
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。
        imm_access_key_id = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
        imm_access_key_secret = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        # 初始化用戶端。
        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:
            # 複製代碼運行請自行列印API的傳回值。
            client.detect_image_labels_with_options(detect_image_labels_request, runtime)
        except Exception as error:
            # 如有需要,請列印錯誤資訊。
            UtilClient.assert_as_string(error.message)

    @staticmethod
    async def main_async(
        args: List[str],
    ) -> None:
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。
        imm_access_key_id = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
        imm_access_key_secret = os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        # 初始化用戶端。
        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:
            # 複製代碼運行請自行列印API的傳回值。
            await client.detect_image_labels_with_options_async(detect_image_labels_request, runtime)
        except Exception as error:
            # 如有需要,請列印錯誤資訊。
            UtilClient.assert_as_string(error.message)


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

計費說明

在圖片標籤檢測過程中, OSS 和 IMM 兩側會產生以下計費項目:

  • OSS 側: 詳細定價請參見OSS產品定價

    API

    計費項目

    說明

    GetObject

    GET 類型請求

    根據成功的請求次數計算請求費用。

    低頻訪問資料取回容量

    如果取回的資料是低頻訪問資料,會產生低頻訪問資料取回容量的費用,按資料取回量計費。

    歸檔直讀資料取回容量

    如果讀取的是歸檔的Object且Bucket開啟了歸檔直讀,會產生歸檔直讀資料取回容量費用,根據取回的資料容量大小計費。

    傳輸加速

    如果開啟了傳輸加速功能且使用傳輸加速網域名稱訪問您的Bucket會產生傳輸加速費用,根據資料容量大小計費。

    HeadObject

    GET 類型請求

    根據成功的請求次數計算請求費用。

  • IMM 側: 詳細定價請參見IMM計費項目

    重要

    自北京時間 2025 年 7 月 28 日 11:00 起,IMM 圖片打標服務計費項目由ImageClassification 修改為ImageLabel,更多資訊請參見IMM計費調整公告

    API

    計費項目

    說明

    DetectImageLabels

    ImageLabel

    根據成功的請求次數計算圖片標籤檢測的費用。

常見FAQ

  1. 圖片標籤檢測支援識別圖片中文字以及涉及日期、地點,並將其標籤化嗎?

    暫不支援,可使用圖片語義檢索,提取圖片裡的文字資訊,然後您可以根據這些文字來確定日期和機構名稱。地點的話,如果您的圖片裡面有exif資訊,可以調用圖片資訊的API,擷取到圖片拍攝的GPS 來擷取。

說明

對於含有暴力、色情或其他敏感內容的圖片,自動檢測可能會不夠敏感或準確,有時候需要結合人工審核。