更新时间:2022-03-17 GMT+08:00
分享

创建云上城管事件-垃圾检测作业

功能介绍

该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。

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误,具体返回错误码请参考错误码

    401 Unauthorized

    鉴权失败。

    403 Forbidden

    没有操作权限。

    404 Not Found

    找不到资源。

    500 Internal Server Error

    服务内部错误

    503 Service Unavailable

    服务不可用。

相关文档