创建云上城管事件-垃圾检测作业
功能介绍
该API提供了垃圾检测功能。该服务对生活垃圾(包括塑料袋、剩菜残羹等)进行检测,在检测到静止的生活垃圾时,会上报告警信息。适用于固定的摄像头场景。
- 支持华为云VIS的视频流。
- 视频编码格式支持H264或者H265。
调试
您可以在API Explorer中调试该接口。
URI
- URI格式
POST /v2/{project_id}/services/c-urban-trash-detect-cloud/tasks
- 参数说明
参数
是否必选
类型
说明
project_id
是
String
服务所在区域对应的项目ID,获取方法请参见获取项目ID。
请求
- 请求样例(VIS输入+DIS输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-urban-trash-detect-cloud/tasks { "name":"c-urban-trash-detect-cloud-task", "description":"c-urban-trash-detect-cloud task test", "input":{ "type":"vis", "data":[ { "stream_name":"vis-input", "index":0 } ] }, "output":{ "dis":{ "stream_name":"dis-output" } }, "service_version":"3.0", "resource_order_id":"840a5cf90d4a4bbaa71f251dfe8fe64e", "service_config":{ "common":{ "image_compression_ratio": 90, "trash_detect_sw": 1, "person_constraint_sw": 0, "min_trash_size": 1, "render_roi_sw": 1, "render_result_sw": 1, "target_roi": "{\"polygons\":[{\"data\":[[84,389],[1840,349],[1824,526],[78,526]],\"name\":\"a\"}]}" } } }
- 参数说明
参数
是否必选
类型
说明
name
是
String
作业名称,只能由中文、字母(a~zA~Z)、数字(0~9)、中划线(-)、下划线(_)组成,长度范围为[1,100]。
description
否
String
作业描述信息,最大长度为500字符长度。
input
是
Object
视频数据输入列表,目前云上城管事件-垃圾检测支持以下输入类型:
- vis:从视频接入服务中读取视频数据。
详细参数定义参见task.input(任务输入参数)。
service_version
是
String
功能版本号,版本号为3.0。
resource_order_id
是
String
购买的算法能力包ID,在服务界面购买算法能力包获取。
output
是
Object
结果数据的输出列表,目前支持将结果输出到您指定的通道中,输出类型为“dis”。
详细参数定义参见task.output(任务输出参数)。
service_config
否
Object
服务的算法配置,配置参数见ServiceConfig参数说明。
- service_config中common的参数说明
字段
是否必选
类型
说明
image_compression_ratio
否
Int
对应控制台的界面参数“图片压缩比”。
图片压缩百分比,取值范围为[20,100]。
默认值:90,表示图片压缩比为90%。
trash_detect_sw
否
Int
对应控制台的界面参数“垃圾检测开关”。
- "1":表示检测垃圾;
- "2":表示检测垃圾并检测疑似丢垃圾的人。
默认值为1。
person_constraint_sw
否
Int
对应控制台的界面参数“邻近行人约束开关”。当开关打开时,垃圾附近有行人逗留的告警将被过滤。
- "0":表示不开启开关;
- "1":表示开启开关;
默认值为0。
min_trash_size
否
Int
对应控制台的界面参数“垃圾最小尺寸”。由于不同应用场景对垃圾的定义不同,用户可自定义配置垃圾最小尺寸,小于该尺寸的垃圾目标将不被告警。取值范围[1, 500]。
默认值为1。
render_result_sw
否
Int
对应控制台的界面参数“目标框渲染开关”。
输出图像是否绘制告警目标边框,取值范围:
- "0":表示不绘制;
- "1":表示用红色绘制告警目标边框。
默认值为0。
render_roi_sw
否
Int
对应控制台的界面参数“检测区域渲染开关”。
输出图像是否绘制检测区域,取值范围:
- "0":表示不绘制;
- "1":表示用黄色绘制用户设定区域。
默认值为0。
target_roi
否
String
对应控制台的界面参数“检测区域设置”。
表示检测区域,该字段为JSON格式的字符串,API调用时需要加转义符。
例如:
{"polygons":[{"data":[[84,389],[1840,349],[1824,526],[78,526]],"name":"polygon"}]}
可为每个区域设置名称,后续输出结果时会连带输出区域名称。
参数没有携带时,默认区域为整个视频帧,默认区域名称为空字符串。
响应
- 响应样例
[ { "id": "5c127c7844674d2382b7daae07794152" } ]
- 返回作业ID列表
参数
类型
说明
id
String
作业ID。
检测结果
- 输出JSON数据流到DIS指定的通道,包括告警结构化数据和图片数据。
- 垃圾检测JSON结果示例:
{ "stream_id": "002", "event_type": 1310720, "task_id": "taskud8b8499", "timestamp": 1560346229, "message_id": "0DD1BEA6-634B-11E8-8B0B-407D0FAD9218", "image_base64":"/9j/4AAQSkZJRgA...", "data":{ "event_set":[ { "bounding_box": { "x": 100, "y": 100, "w": 150, "h": 150 }, "person_box": { "x": 150, "y": 150, "w": 250, "h": 350 }, "polygon_name": "a", "detection_id": "2AC19F93-39BH-180F-C020-02483BF10004" } ] } }
- JSON格式说明
字段
类型
说明
stream_id
String
该字段为VIS视频流名称。
event_type
Uint64
快速标识占道经营检测的输出消息类型。
- 垃圾检测算法其值固定为1310720,对应16进制为 0x 0000 0000 0014 0000。
task_id
String
作业ID。
message_id
String
唯一标识本次输出消息的UUID。
timestamp
Uint64
触发告警时间点的时间戳。
image_base64
String
告警时刻输入的视频图像的Base64编码结果。
data
Object
业务输出内容
- data参数格式说明
字段
类型
说明
event_set
List<Object>
输出事件列表。
- event_set参数格式说明
字段
类型
说明
bounding_box
Object
告警输出对象的矩形框。
person_box
Object
告警输出疑似丢垃圾的人的矩形框。仅当“垃圾检测开关”trash_detect_sw = 2时有该字段。
polygon_name
String
目标所在的区域名称,区域名称设置见” target_roi”字段。若区域未设置名称,该区域名称默认为空字符串。
detection_id
String
告警目标对应的UUID。画面中同一个占道区域,连续检测到的告警ID不变,若跟踪丢失ID会发生变化。
- bounding_box参数格式说明
字段
类型
说明
x
Int
矩形框左上角横坐标
y
Int
矩形框左上角纵坐标
w
Int
矩形框宽度
h
Int
矩形框高度
- person_box参数格式说明
字段
类型
说明
x
Int
矩形框左上角横坐标。当未检测到时其值为-1。
y
Int
矩形框左上角纵坐标。当未检测到时其值为-1。
w
Int
矩形框宽度。当未检测到时其值为-1。
h
Int
矩形框高度。当未检测到时其值为-1。
返回值
- 正常
- 异常
返回值
说明
400 Bad Request
请求错误,具体返回错误码请参考错误码。
401 Unauthorized
鉴权失败。
403 Forbidden
没有操作权限。
404 Not Found
找不到资源。
500 Internal Server Error
服务内部错误
503 Service Unavailable
服务不可用。