图片识别功能基于图片AI技术,能够检测图片标签和置信度。

说明 要使用图片识别功能,您需要先开通智能媒体管理IMM,并在OSS中绑定IMM,详情请参阅 智能媒体管理快速开始

标签采用分层体系结构,每个标签通常包含父标签(主标签),比如标签“男人”的父标签为“人物”,目前总共支持25个主标签,2131个标签。详情请参见内容识别

参数

操作名称:imm/tagimage

返回结果参数说明:

名称 类型 描述
TagId String 标签ID。
TagLevel String 标签级别,从1开始整数编码,1为顶级,2为次级,以此类推。
TagName String 标签名称。
ParentTagId String 上一级的TagId,如果为顶级则ParentTagId 为0。
ParentTagName String 上一级的标签名称,如果为顶级则ParentTagName为空。
TagScore String 标签置信度得分,小于等于1的浮点数。
返回结果示例:
{
    "ImageUri":"oss://image-demo/example.jpg",
    "RequestId":"5C3D858E530E23D52CA0ED09",
    "Tags":[
        {
            "TagConfidence":0.2999534606933594,
            "TagLevel":1,
            "TagName":"自然景观"
        },
        {
            "ParentTagName":"自然景观",
            "TagConfidence":0.2999534606933594,
            "TagLevel":2,
            "TagName":"夜晚"
        },
        {
            "TagConfidence":0.2677214741706848,
            "TagLevel":1,
            "TagName":"外部场景"
        },
        {
            "ParentTagName":"外部场景",
            "TagConfidence":0.2677214741706848,
            "TagLevel":2,
            "TagName":"城市全景"
        }
    ],
    "httpStatusCode":200,
    "success":true
}

对于图片标签的格式解析,请参见内容识别

示例

假如请求Bucket是imm-demo,该Bucket所在区域为华东1(杭州),对应的域名为oss-cn-hangzhou.aliyuncs.com,请求预览照片为image.jpg,未签名的请求结构如下:
http://image-demo.oss-cn-hangzhou.aliyuncs.com/image.jpg?x-oss-process=imm/tagimage
通过Python SDK实现接口调用如下:
# 创建存储空间实例,所有文件相关的方法都需要通过存储空间实例来调用。
bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)

# 图像识别。
style = 'imm/tagimage'
resp = bucket.get_object(objectKey, process=style)
# 解析结果。
data = resp.read(resp.content_length)
result = json.loads(data)
print "requestId: " + json.dumps(result["RequestId"], indent=4, sort_keys=True)
print "SuccessDetails: " + json.dumps(result["SuccessDetails"], indent=4, sort_keys=True)
print "FailDetails: " + json.dumps(result["FailDetails"], indent=4, sort_keys=True)