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

创建边缘人流量统计作业

功能介绍

该API用于在边缘节点上分析RTSP视频流,检测穿过自定义线与区域的人流量,以及视频帧中的热点分布信息。

  • 目前支持H264、H265编码格式的RTSP视频流。

调试

您可以在API Explorer中调试该接口。

URI

  • URI格式
    POST /v2/{project_id}/services/c-flowcount-edge/tasks
  • 参数说明

    参数

    是否必选

    类型

    说明

    project_id

    String

    服务所在区域对应的项目ID,获取方法请参见获取项目ID

请求

  • 请求样例(摄像头输入+DIS输出)
    POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-flowcount-edge/tasks
    
  • 请求样例(VCN输入+WEBHOOK输出)
    POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-flowcount-edge/tasks
    {
        "name":"flowcount-task",
        "description":"flowcount task test",
        "input": {
            "type": "vcn",
            "vcn":{
                    "ip":"172.100.119.6",
                    "password":"CQeNfcRLwyMvH77AkDBaPS+BKXdFu/1bAXtIMNTx3QPbVewjipNq06nNodxWI28I1lCUsvv2+wB1joepzynLVW3g2nz0k9vaCRDoK6=",
                    "port":"4675",
                    "username":"testname"
            },
            "data": [
                {
                    "index": 0,
                    "stream_type": 1,
                    "device_id":"07211540881586160101#f7964493ff764bbf9294d58b22e63de6"
                }
            ]
        },
        "output": {
            "webhook": {
                "url": "https://apigw.huawei.com/api/event/callback",
                "headers": {
                    "content-type": "application/json"
                }
            }
        },
         "service_version":"3.0",
         "resource_order_id":"840a5cf90d4a4bbaa71f251dfe8fe64e",
         "edge_pool_id":"9358ac0425b24a07b3258cffa2f0f0d6",
         "service_config":{
                "common":{
                    "line_count_interval":2,
                    "region_count_interval":2,
                    "line_detection_sw":1,
                    "region_detection_sw":1,
                    
                    "target_roi":"{\"lines\":[{\"data\":[[560,680],[1185,506]],\"properties\":{\"side1_name\":\"Side1\",\"side2_name\":\"Side2\"}}],\"polygons\":[{\"data\":[[0,0],[0,1080],[1920,1080],[1920,0]]}]}",
                    "heatmap_detection_sw":0,
                    "heatmap_detection_interval":60,
                    "heatmap_point_interval":4
                }
         }
    }
  • 参数说明

    参数

    是否必选

    类型

    说明

    name

    String

    作业名称,只能由中文、字母(a~zA~Z)、数字(0~9)、中划线(-)、下划线(_)组成,长度范围为[1,100]。

    description

    String

    作业描述信息,最大长度为500字符长度。

    input

    Object

    视频数据输入列表,支持从指定的边缘摄像头读取数据,即输入类型为“edgecamera”,“edgerestful”,“VCN”

    详细参数定义参见task.input(任务输入参数)

    service_version

    String

    功能版本号,版本号为3.0。边缘算法版本支持的显卡硬件为T4和华为自研Davinci芯片。

    resource_order_id

    String

    购买的算法能力包ID,在服务界面购买算法能力包获取。

    edge_pool_id

    String

    边缘运行池ID,获取方法参见创建边缘运行池

    output

    Object

    结果数据的输出列表,目前支持以下输出类型:
    • DIS:将结果输出到您指定的DIS通道 。
    • Webhook:将结果输出到Webhook URL。
    • Localpath:将作业的运行结果保存在边缘节点本地(节点必须为linux系统),必须为linux路径,例如“/opt/cloud/”

      详细参数定义见task.output(任务输出参数)

    service_config

    Object

    服务的算法配置,配置参数见service_config参数说明

  • service_config中common参数说明

    字段

    是否必选

    类型

    说明

    line_count_interval

    Int

    过线人流量统计周期,单位为秒,统计的是一段时间的人流量结果。取值范围为(0, 86400],默认值为2。

    region_count_interval

    Int

    区域人流量统计周期,单位为秒,统计的是当前时刻的区域人流量结果。取值范围为(0, 86400],默认值为2。

    line_detection_sw

    Int

    过线人流量统计开关。

    • 0:表示不开启。
    • 1:表示开启。

    默认值为1

    region_detection_sw

    Int

    区域人流量统计开关。

    • 0:表示不开启。
    • 1:表示开启。

    默认值为1

    target_roi

    string

    对应控制台的界面参数“检测区域设置”

    表示检测区域,该字段为JSON格式的字符串,API调用时需要加转义符。详细JSON格式参见target_roi(目标区域)

    例如:

    {"lines":[{"data":[[560,680],[1185,506]],"properties":{"side1_name":"Side1","side2_name":"Side2"}}],"polygons":[{"data":[[0,0],[0,1080],[1920,1080],[1920,0]]}]}

    参数没有携带时,默认位置请参见直线与区域默认位置

    heatmap_detection_sw

    Int

    热力图检测开关

    • 0:表示不开启。
    • 1:表示开启。

    默认值为0

    heatmap_detection_interval

    Int

    热力图检测周期,单位为秒。取值范围为[10, 86400],默认值为10。依据热力图检测周期内的热点值进行更新。

    heatmap_point_interval

    Int

    热点更新周期,单位为帧。取值范围为[1, 10000],默认值为4。在热力图检测周期内,热点值逐渐累加。

  • 当target_roi参数未设置时,直线与区域默认位置如图1所示,其中Wframe为帧宽度,Hframe为帧高度。
    图1 直线与区域默认位置
    • 直线两端点point_1与point_2默认值为:
      • point_1=(¼Wframe, ½Hframe)
      • point_2=(¾Wframe, ½Hframe)
    • 默认区域为矩形,假设矩形的四个端点分别为point_1、point_2、point_3、point_4,其位置默认为:
      • point_1=(¼Wframe, ¼Hframe)
      • point_2=(¾Wframe, ¼Hframe)
      • point_3=(¼Wframe, ¾Hframe)
      • point_4=(¾Wframe, ¾Hframe)

响应

  • 响应样例
    [
      { 
        "id": "ee7d7f5c7ba24839b6abaf5b81607496"
      }
    ]
  • 返回作业ID列表

    参数

    类型

    说明

    id

    String

    作业ID。

统计结果

输出JSON数据流到DIS的指定通道,包括过线人流量统计、区域人流量统计、热力图统计结果。
  • 边缘过线人流量统计结果
    • 结果示例
      {
          "task_id":"ee7d7f5c7ba24839b6abaf5b81607496",
          "stream_id":"test",
          "event_type":131073,
          "timestamp":1535546730,
          "message_id":"849D1326-4FC8-11EA-8F73-0242AC110004",
          "data":{
              "interval":2,
              "event_set":[
                  {
                      "line":[
                          [
                              480,
                              1440
                          ],
                          [
                              540,
                              540
                          ]
                      ],
                      "line_id":0,
                      "side1_count":1,
                      "side2_count":0,
                      "side1_name":"side1",
                      "side2_name":"side2"
                  },
                  {
                      "line":[
                          [
                              490,
                              1500
                          ],
                          [
                              640,
                              340
                          ]
                      ],
                      "line_id":1,
                      "side1_count":1,
                      "side2_count":2,
                      "side1_name":"in",
                      "side2_name":"out"
                  }
              ]
          }
      }
    • 区域人流量统计结果实例
      {
          "task_id":"ee7d7f5c7ba24839b6abaf5b81607496",
          "stream_id":"test",
          "event_type":131074,
          "timestamp":1535546604,
          "message_id":"849D1326-4FC8-11EA-8F73-0242AC110004",
          "data":{
              "event_set":[
                  {
                      "polygon":[
                          [
                              480,
                              270
                          ],
                          [
                              1440,
                              270
                          ],
                          [
                              1440,
                              810
                          ],
                          [
                              480,
                              810
                          ]
                      ],
                      "count":2,
                      "region_id":0
                  },
                  {
                      "polygon":[
                          [
                              480,
                              200
                          ],
                          [
                              1110,
                              170
                          ],
                          [
                              1040,
                              510
                          ],
                          [
                              280,
                              310
                          ]
                      ],
                      "count":1,
                      "region_id":1
                  }
              ]
          }
      }
    • 热力图检测结果示意图
      {
           "task_id":"ee7d7f5c7ba24839b6abaf5b81607496",
           "stream_id": "test1",
           "event_type": 131075,
           "timestamp": 5,
           "message_id":"849D1326-4FC8-11EA-8F73-0242AC110004",
           "data":{
               "interval":1,
               "heat_image_base64": "/9j/4AAQSkZJRgABAJDA...",
               "heatpoint_image_base64": "/9j/2wBDAAMCAgMCAgMD..."
           }
      }
    • JSON格式说明

      字段

      类型

      说明

      task_id

      String

      作业ID。

      stream_id

      String

      摄像头ID。

      event_type

      Uint64

      快速标识人流量统计服务的输出消息类型。

      JSON格式说明:

      • 过线统计事件其值固定为131073,对应16进制为 0x 0000 0000 0002 0001
      • 区域统计事件其值固定为131074,对应16进制为 0x 0000 0000 0002 0002
      • 热力图统计事件其值固定为131075,对应16进制为 0x 0000 0000 0002 0003

      message_id

      String

      告警ID,生成的唯一告警事件UUID。

      timestamp

      Uint64

      过线、区域或者热力图统计结束的时间戳。

      data

      Object

      过线、区域或者热力图统计业务输出内容。

    • 过线统计的data参数格式说明

      字段

      类型

      说明

      interval

      Int

      过线检测周期,单位秒。

      event_set

      List<Object>

      输出事件列表。

      event_set参数格式说明

      字段

      类型

      说明

      line

      List<Object>

      组成线的起点和终点构成的集合,例如[[50,60],[1000,1000]]。则第一个点表示起始点,第二个点表示终止点。

      line_id

      Int

      直线的ID号。

      side1_count

      Int

      人流穿过直线到side1_name的计数。

      side2_count

      Int

      人流穿过直线到side2_name的计数。

      side1_name

      String

      side1侧对应的标识名。

      side2_name

      String

      side2侧对应的标识名。

    • 区域统计的data参数格式说明

      字段

      类型

      说明

      event_set

      List<Object>

      输出事件列表。

      event_set参数格式说明

      字段

      类型

      说明

      polygon

      List<Object>

      区域对应的多边形框,例如"polygon":[[484,465],[1850,450],[1905,1013],[515,1050]]。

      region_id

      Int

      区域的ID号。

      count

      Int

      当前时刻,区域的人流统计量。

    • 热力图检测的data参数格式说明

      字段

      类型

      说明

      interval

      Int

      热力图检测周期,单位时间秒。

      heat_image_base64

      Object

      检测热力图Base64编码结果。

      heatpoint_image_base64

      Object

      检测热点并绘制图后输出Base64编码结果,热点图中像素值表示该处目标出现的次数。

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

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

    401 Unauthorized

    鉴权失败。

    403 Forbidden

    没有操作权限。

    404 Not Found

    找不到资源。

    500 Internal Server Error

    服务内部错误。

    503 Service Unavailable

    服务不可用。

相关文档