查询智能标签作业。
接口说明
- 本接口返回数据中包含视频中的人物、场景、关键词等各种算法智能分析得到的数据。
- 智能标签功能,目前开通的地域为华北 2(北京)、华东 2(上海)、华东 1(杭州),其他地域暂不支持。
QPS 限制
本接口的单用户 QPS 限制为 100 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见 QPS 限制。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
mts:QuerySmarttagJob | get |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
JobId | string | 是 | 需要查询的智能标签作业 ID。可以从提交智能标签作业的返回参数中获取。 | 39f8e0bc005e4f309379701645f4**** |
Params | string | 否 | 额外的请求参数,使用 JSON 字符串表示,例如:
| {"labelResultType":"auto"} |
返回参数
回调消息格式定义
当智能标签任务执行状态改变时,mps 会发送消息到用户指定的 queue 中(如何指定回调 queue 详见 mps 的更新管道接口)。消息体是一个 JSON 字符串,包含字段如下:
名称 | 类型 | 描述 |
---|---|---|
Type | String | 固定字符串“smarttag”,表示智能标签任务 |
JobId | String | 任务唯一 ID |
State | String | 任务当前状态,与 QuerySmarttagJob 中的 JobStatus 一致 |
UserData | String | 用户在 SubmitSmarttagJob 中传入的 UserData |
Result 参数说明
VideoLabel 数据结构
名称 | 类型 | 描述 |
---|---|---|
persons | JSONArray | 检测到的人物结果 |
persons.name | String | 识别到的人物名称 |
persons.category | String | 人物类型,取值如下:celebrity (名人);politician (政治人物);sensitive (敏感人物);unknown (未知人物);自定义人物库 ID(识别到的人物为自定义人物时返回) |
persons.ratio | double | 人物出现率,取值:0~1 |
persons.occurrences | JSONArray | 人物出场详细信息 |
persons.occurrences.score | double | 置信度得分 |
persons.occurrences.from | double | 检测到人物的起始时间,单位(秒) |
persons.occurrences.to | double | 检测到人物的结束时间,单位(秒) |
persons.occurrences.position | JSONObject | 人脸坐标 |
persons.occurrences.position.leftTop | int[] | 左上角 x,y 坐标 |
persons.occurrences.position.rightBottom | int[] | 右下角 x,y 坐标 |
persons.occurrences.timestamp | double | 人脸坐标所在的时间戳,单位为秒 |
persons.occurrences.scene | String | 人物镜头,包括:closeUp (特写);medium-closeUp (近景);medium (中景);medium-long (全景) |
tags | JSONArray | 检测到的物体场景等标签,详见下表举例 |
tags.mainTagName | String | 主标签 |
tags.subTagName | String | 子标签 |
tags.ratio | double | 出现率,取值:0~1 |
tags.occurrences | JSONArray | 出现详细信息 |
tags.occurrences.score | double | 置信度得分 |
tags.occurrences.from | double | 起始时间,单位(秒) |
tags.occurrences.to | double | 结束时间,单位(秒) |
classifications | JSONArray | 视频分类信息 |
classifications.score | double | 置信度得分 |
classifications.category1 | String | 一级分类,比如:生活、动漫、汽车等等 |
classifications.category2 | String | 二级分类,比如生活下面细分为:健康、家居等等 |
视频 Tags 标签举例说明
mainTagName | subTagName |
---|---|
节目 | 比如:爸爸去哪儿、欢乐喜剧人等 |
人物角色 | 比如:医生、护士、教师等 |
物体 | 比如:钢琴、水杯、桌子、西红柿炒鸡蛋、小汽车、化妆品等 |
标识 | 比如:CCTV1、CCTV2、优酷、东方卫视等 |
动作事件 | 比如:跳舞、接吻、拥抱、会晤、唱歌、打电话、骑马、打斗等 |
地域 | 比如:北京天安门、自由女神像、乐山大佛、中国、美国等 |
场景 | 比如:卧室、地铁站、梯田、海滩、沙漠等 |
ImageLabel 数据结构
名称 | 类型 | 描述 |
---|---|---|
persons | JSONArray | 检测到的人物结果 |
persons.name | String | 识别到的人物名称 |
persons.category | String | 人物类型,取值如下:celebrity(名人);politician(政治人物);sensitive(敏感人物) |
persons.score | double | 人物置信度得分 |
persons.position | JSONObject | 人脸坐标 |
persons.position.leftTop | int[] | 左上角 x,y 坐标 |
persons.position.rightBottom | int[] | 右下角 x,y 坐标 |
persons.scene | String | 人物镜头,包括:closeUp(特写);medium-closeUp(近景);medium(中景);medium-long(全景) |
tags | JSONArray | 检测到的物体场景等标签,详见下表举例 |
tags.mainTagName | String | 主标签 |
tags.subTagName | String | 子标签 |
tags.score | double | 置信度得分 |
图片 tags 标签举例说明
mainTagName | subTagName |
---|---|
人物角色 | 比如:医生、护士、教师等 |
地域 | 比如:北京天安门、自由女神像、乐山大佛、中国、美国等 |
动作事件 | 比如:讲话等 |
标识 | 比如:CCTV1、CCTV2、优酷、东方卫视等 |
动作事件 | 比如:跳舞、接吻、拥抱、会晤、唱歌、打电话、骑马、打斗等 |
物体 | 比如:钢琴、水杯、桌子、西红柿炒鸡蛋、小汽车、化妆品等 |
场景 | 比如:卧室、地铁站、梯田、海滩、沙漠等 |
TextLabel 数据结构(来源于 ASR 和 OCR)
名称 | 类型 | 描述 |
---|---|---|
tags | JSONArray | 文本标签信息,详见下表举例 |
tags.name | String | 标签类别 |
tags.value | String | 标签值,可能有多个标签值,以半角逗号(,)分割 |
图片 tags 标签举例说明
name | value |
---|---|
地域 | 比如:北京天安门、自由女神像、乐山大佛、中国、美国等 |
组织机构 | 比如:中国生动物保护协会、中央广播电视台等 |
标识 | 比如:耐克、李宁 |
关键词 | 比如:中坚力量 |
CPVLabel 数据结构
- cates:类目(一级类目、二级类目、三级类目)
- entities:类目属性(带有知识图谱信息)
- hotwords:热点词(用户关注的名单)
- freeTags:自由标签(关键词)
名称 | 类型 | 示例值 | 说明 |
---|---|---|---|
type | String | hmi | 结果类型。取值:hmi(人机协同结果)、autp(机器打标结果) |
cates | JSONArray | - | 分类类目结果 |
cates.labelLevel1 | String | 旅游 | 一级标签 |
cates.labelLevel2 | String | 旅游风光 | 二级标签 |
cates.label | String | "" | 标签名称,算法可能返回空 |
cates.appearanceProbability | double | 0.96 | 出现率 |
cates.detailInfo | JSONArray | - | - |
cates.detailInfo.score | double | 0.9 | 置信度 |
cates.detailInfo.startTime | double | 0.021 | 开始时间 |
cates.detailInfo.endTime | double | 29.021 | 结束时间 |
entities | JSONArray | - | - |
entities.labelLevel1 | String | 地域 | 一级标签 |
entities.labelLevel2 | String | 地标 | 二级标签 |
entities.label | String | 黄果树瀑布 | 标签名称 |
entities.appearanceProbability | double | 0.067 | 出现率 |
entities.knowledgeInfo | String | {"name": "黄果树瀑布", "nameEn": "Huangguoshu Waterfall", "description": "亚洲四大瀑布之一"} | 知识图谱信息,全部字段后附表:影视综 IP 图谱、音乐图谱、人物图谱、地标图谱、物体图谱。 |
entities.detailInfo | JSONArray | - | - |
entities.detailInfo.score | double | 0.33292606472969055 | 置信度 |
entities.detailInfo.startTime | double | 6.021 | 开始时间 |
entities.detailInfo.endTime | double | 8.021 | 结束时间 |
entities.detailInfo.trackData | JSONArray | - | 实体标签结构化信息 |
entities.detailInfo.trackData.score | double | 0.32 | 置信度 |
entities.detailInfo.trackData.bbox | integer[] | 23,43,45,67 | 坐标框 |
entities.detailInfo.trackData.timestamp | double | 7.9 | 时间戳 |
hotwords | JSONArray | - | - |
hotwords.labelLevel1 | String | 关键词 | 一级标签 |
hotwords.labelLevel1 | String | 关键词 | 二级标签 |
hotwords.labelLevel2 | String | "" | 二级标签 |
hotwords.label | String | 中国气象局 | 看点词内容 |
hotwords.appearanceProbability | double | 0.96 | 出现率 |
hotwords.detailInfo | JSONArray | ||
hotwords.detailInfo.score | double | 1.0 | 置信度 |
hotwords.detailInfo.startTime | double | 0.021 | 开始时间 |
hotwords.detailInfo.endTime | double | 29.021 | 结束时间 |
freeTags | JSONArray | ||
freeTags.labelLevel1 | String | 关键词 | 一级标签 |
freeTags.labelLevel2 | String | "" | 二级标签 |
freeTags.label | String | 中央气象台 | 看点词内容 |
freeTags.appearanceProbability | double | 0.96 | 出现率 |
freeTags.detailInfo | JSONArray | ||
freeTags.detailInfo.score | double | 0.9 | 置信度 |
freeTags.detailInfo.startTime | double | 0.021 | 开始时间 |
freeTags.detailInfo.endTime | double | 29.021 | 结束时间 |
语音识别 ASR 结果
名称 | 类型 | 描述 |
---|---|---|
details | JSONArray | 任务详细结果 |
details.from | double | 开始时间戳,单位(秒) |
details.to | double | 结束时间戳,单位(秒) |
details.content | String | 识别出的文本内容 |
文本识别 OCR 结果
名称 | 类型 | 描述 |
---|---|---|
details | JSONArray | 任务详细结果 |
details.timestamp | double | 时间戳信息,单位(秒) |
details.info | JSONArray | 该时间点识别出的具体信息 |
details.info.score | double | 置信度得分 |
details.info.position | JSONObject | 文字坐标 |
details.info.position.leftTop | int[] | 左上角 x,y 坐标 |
details.info.position.rightBottom | int[] | 右下角 x,y 坐标 |
details.info.content | String | 识别出的文本内容 |
details.info.textType | String | 文本类型,取值:0(正常字幕)、1(滚动字幕)、2(定长标识性字幕,持续时间 3 秒以上) |
Meta 标注结果
名称 | 类型 | 描述 |
---|---|---|
title | String | 标题 |
字幕提取结果 Subtitle
名称 | 类型 | 描述 |
---|---|---|
details | JSONArray | 任务详细结果 |
details.allResultUrl | String | 全部字幕结果 URL,URL 有效期为任务完成后半年内可有效访问 |
details.chResultUrl | String | 中文结果 URL,URL 有效期为任务完成后半年内可有效访问 |
details.engResultUrl | String | 英文结果 URL,URL 有效期为任务完成后半年内可有效访问 |
序号+时间段+字幕内容(每句字幕为一行)
。
示例
正常返回示例
JSON
格式
{
"JobStatus": "Success",
"RequestId": "7B117AF5-2A16-412C-B127-FA6175ED1AD0",
"UserData": "example UserData ****",
"Results": {
"Result": [
{
"Type": "Meta",
"Data": "{\"title\":\"example-title-****\"}"
}
]
}
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|
输出信息的解析
输出参数 | 描述 |
---|---|
name | 结果模块名:其中"tag"为标签结果,所有标签按照统一格式输出;"asr"为语音结果;“ocr”为文本识别结果。 |
result | 产品级结果列表,目前只包含内容分析产品 |
content | 产品级结果结构体 |
data | 具体算法结果列表 |
下面分 name 的值来说明字段: name = 'tag' //融合标签结果
输出参数 | 描述 |
---|---|
labelLevel1 | 一级标签分类,如视频分类、节目、人脸、标识、人物角色、地域、场景、动作事件、组织机构、关键词等 |
labelLevel2 | 二级标签分类,其中人脸的二级标签类分组为:政治人物、敏感人物、名人、未知人脸、自定义,多种类型以','隔开 |
label | 细粒度的标签 |
knowledgeInfo | 知识图谱信息(为字典) |
appearanceProbability | 标签的出场率,表示标签在视频中时间占比 |
isWhite | 表示该标签是否命中了用户定义的白名单 |
detailInfo | 该结构存储了标签出现的时间区间、score、区域、来源等详细信息 |
score | 是标签的置信度信息,部分标签置信度会不存在,不存在置信度时统一设置为-1. 比如挖掘出来的未知人脸的 score 分数为-1 |
bboxes | 标签区域位置信息,(将废弃,不建议使用),依次为区域左顶点 X 坐标、Y 坐标、区域宽度、区域高度,后续逐渐废弃,信息迁移到 trackData 中 |
trackData | 在该时间段内等间隔记录在视频时刻上的算法结果,包含 bbox、score、attributes、landmark、timestamp 几个字段记录算法结果 |
score | trackData 下的 score,代表当前时刻的算法置信度,其中人脸算法为人脸检测的 score |
bbox | trackData 下的 bbox,标签区域位置信息, |
格式为[x1,y1,x2,y2],左上顶点,右下顶点。 | |
landmark | trackData 下的 landmark,标签区域关键像素信息 |
attributes | trackData 下的 attributes,有 property、value、score 字段,分别为该时刻的属性类、属性值、属性分数,表示标签在该帧的属性信息,如人脸的表情信息等 |
timestamp | trackData 下的 timestamp,标记当前时刻 |
source | 标签来源:'vision'为视觉来源、'audio'为音频来源、'text'为文本来源 |
subSource | 为算法模型层次的来源,用户可不用关心 |
metaData | 记载了标签的非统一信息,不同类型的标签会有所差别,可通过判断某个字段是否为空来确定该标签是否具备该字段信息,具体子字段如下 |
metaData.sampleUrl | 标签的代表图,如人脸识别中预测人物和该图是一致的,也是我们定义标签的标准 |
metaData.feature | 标签代表图的特征,如人脸识别中的最佳人脸的特征,即 sampleUrl 对应的图像特征 |
metaData.group | 标签的分组,如人脸识别中的人物库信息 |
metaData.itemUrl | 描述该标签的标准图 |
metaData.finegrainName | 描述该片段的细粒度标签 |
mediaData.entityInfo | 客户自定义的实体信息(用于自注册的算法) |
name = 'sbd'//拆条识别结果
输出参数 | 描述 |
---|---|
index | 拆分片段 id |
timestamp | 拆条结束时间 |
score | 拆条置信度 |
name = 'asr'//语音识别结果
输出参数 | 描述 |
---|---|
startTime | 时间段开始时间 |
endTime | 时间段结束时间 |
text | asr 文本 |
name = 'ocr'//OCR 文本识别结果
输出参数 | 描述 |
---|---|
startTime | 时间段开始时间 |
endTime | 时间段结束时间 |
detailInfo | 具体的 OCR 识别结果,是一个列表,表示不同区域的 OCR 结果 |
score | OCR 识别的置信度 |
char_probs | OCR 预测每个单字符的置信度 |
text | OCR 的文本 |
bbox | 标签区域位置信息,依次为区域[x1,y1,x2,y2],左上顶点,右下顶点。 |
timestamp | 该帧图片在视频中时间戳 |
name = 'video_ocr'//VideoOCR 文本识别结果
输出参数 | 描述 |
---|---|
startTime | 时间段开始时间 |
endTime | 时间段结束时间 |
detailInfo | 具体的 VideoOCR 识别结果,是一个列表,表示不同 clip 区域的 VideoOCR 结果 |
score | VideoOCR 识别的置信度 |
text | VideoOCR 的文本 |
bbox | 标签区域位置信息,依次为区域[x1,y1,x2,y2],左上顶点,右下顶点。 |
text_type | 文本类型(0-正常字幕,1-滚动字幕,2-定长标识性字幕(持续时间大于 3s 以上)) |
[
{
"name": "tag",//结果分类,分为 tag、ocr、asr 和 sbd。分别对应标签结果、OCR 结果、语音结果和拆条结果
"result": [//结果值
{
"content": {
"data": [
{
"labelLevel1": "人脸",//标签一级分类
"labelLevel2": "政治人物",//标签二级分类
"label": "李命名",//标签值
"appearanceProbability":0.3547,//出场率
"isWhite":true, //是否命中白名单
"labelId": "0010014169",
"knowledgeInfo":{},
"detailInfo": [//标签详细信息
{
"score": 0.85797792673110962,//标签置信度,部分标签置信度会不存在,不存在置信度时统一设置为-1. 比如挖掘出来的未知人脸的 score 分数为-1
"trackData": [
{
"score": 0.91240006685256958,
"bbox": [205.0, 95.0, 318.0, 247.0],
"attributes": [
{
"property":"表情",
"value":"笑",
"score": 0.8765
}
],
"landmark": [205.0, 95.0, 318.0, 247.0, 205.0, 95.0, 318.0, 247.0, 435.0, 435.0],
"timestamp": 35.333000//时间点
},
{
"score": 0.91240006685256958,
"bbox": [201.0, 95.0, 314.0, 247.0],
"attributes": [
{
"property":"表情",
"value":"笑",
"score": 0.8765
}
],
"landmark": [205.0, 95.0, 318.0, 247.0, 205.0, 95.0, 318.0, 247.0, 435.0, 435.0],
"timestamp": 35.466000
}
],
"startTime": 35.0,//片段开始时间
"endTime": 35.465999603271484,//片段结束时间
"source": "vision",//标签来源,分为 vision:视觉, text:文字,audio:语音
"subSource": "facemot",//标签子来源
"metaData": {//标签 meta 信息,不同的标签 meta 内容不同。
"sampleUrl": "",//人像的图片地址
"group": "politicians"//人像的图库名称
}
},
{
"score": 0.85797792673110962,
"trackData": [
{
"score": 0.91240006685256958,
"bbox": [205.0, 95.0, 318.0, 247.0],
"attributes": [
{
"property":"表情",
"value":"笑",
"score": 0.8765
}
],
"landmark": [205.0, 95.0, 318.0, 247.0, 205.0, 95.0, 318.0, 247.0, 435.0, 435.0],
"timestamp": 35.333000
},
{
"score": 0.91240006685256958,
"bbox": [201.0, 95.0, 314.0, 247.0],
"attributes": [
{
"property":"表情",
"value":"笑",
"score": 0.8765
}
],
"landmark": [205.0, 95.0, 318.0, 247.0, 205.0, 95.0, 318.0, 247.0, 435.0, 435.0],
"timestamp": 35.466000
}
],
"startTime": 35.0,
"endTime": 35.465999603271484,
"source": "text",
"subSource": "ocr_nlp",
"metaData": {
"sampleUrl": "",
"group": ""
}
}
]
},
{
"labelLevel1": "视频分类",
"labelLevel2": "资讯",
"label": "时政资讯",
"labelId": "0100252",
"detailInfo": [
{
"score": 0.85797792673110962,
"bboxes": {},
"trackData": [],
"startTime": 0,
"endTime": 35.465999603271484,
"source": "vision",
"subSource": "cate",
"metaData": {
"sampleUrl": "",
"group": ""
}
},
{
"score": 0.85797792673110962,
"bboxes": {},
"trackData": [],
"startTime": 0,
"endTime": 35.465999603271484,
"source": "text",
"subSource": "ocr_nlp",
"metaData": {
"sampleUrl": "",
"group": ""
}
}
]
}
]
}
}
]
},
{
"name": "sbd",//结果分类,分为 tag、ocr、asr 和 sbd。分别对应标签结果、OCR 结果、语音结果和拆条结果
"result": [//结果值
{
"content": {
"data": [
{
"index": 0,
"score": 0.9675695300102234,
"timestamp": 10.16 # 第一个片段终止时间
},
{"index": 1,
"score": 0.9833308458328247,
"timestamp": 12.64 # 第二个片段终止时间
}
]
}
}
]
},
{
"name": "ocr",//OCR 结果
"result": [
{
"content": {
"data": [
{
"detailInfo": [
{
"score": 99,//OCR 置信度
"bbox": [//OCR 文本位置信息
434,
31,
464,
43
],
"text": "今天"//文本信息
}
],
"startTime": 0.0,//文本出现的帧的开始时间
"endTime": 0.0 //文本出现的帧的结束时间
}
]
}
}
]
},
{
"name": "video_ocr",//video_ocr 结果
"result": [
{
"content": {
"data": [
{
"detailInfo": [
{
"score": 0.99,//OCR 置信度
"bbox": [//OCR 文本位置信息
434,
31,
464,
43
],
"pos": [//OCR 文本位置信息
{
"x": 166,
"y": 660
},
{
"x": 822,
"y": 660
},
{
"x": 822,
"y": 682
},
{
"x": 166,
"y": 682
}
],
"text": "今天",//文本信息
"text_type": 2//文本类型(0-正常字幕,1-滚动字幕,2-定长标识性字幕(持续时间大于 3s 以上))
}
],
"startTime": 0.0,//文本出现的帧的开始时间
"endTime": 0.0 //文本出现的帧的结束时间
}
]
}
}
]
},
{
"name": "asr",//语音结果
"result": [
{
"content": {
"data": [
{
"text": "这个时候",//语音文本
"startTime": 108.7699966430664, //语音文本开始时间
"endTime": 110.79000091552734 //语音文本结束时间
},
{
"text": "你不要着急。",//语音文本
"startTime": 108.7699966430664,//语音文本开始时间
"endTime": 110.79000091552734 //语音文本结束时间
}
]
}
}
]
}
]