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

创建云上关键岗位检测作业

功能介绍

该API用于分析视频流,当用户设置的区域中人数小于用户指定的数量,并持续超过告警时间阈值时向用户上报告警。

  • 视频编码格式支持H264或者H265。

调试

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

URI

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

    参数

    是否必选

    类型

    说明

    project_id

    String

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

请求

  • 请求样例(VIS输入+DIS输出)
    POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-staffonduty-cloud/tasks
    {
        "name":"staffonduty_cloud_0",
        "description":"staffonduty task test",
        "input":{
            "type":"vis",
            "data":[
                {
                    "stream_name":"staffonduty",
                    "index":0
                }
            ]
        },
        "output":{
            "dis":{
                "stream_name":"dis-staffonduty"
            }
        },
        "service_version":"3.0",
        "resource_order_id": "840a5cf90d4a4bbaa71f251dfe8fe64e",
        "service_config":{
            "common":{
                "target_roi":"{\"polygons\":[{\"data\":[[484,465],[1850,450],[1905,1013],[515,1050]]},{\"data\":[[484,125],[1800,125],[1800,677],[495,677]]}]}",
                "image_compression_ratio":90,
                "key_region_detection_sw":1,
                "key_region_detect_interval":2,
                "key_region_detect_threshold":2,
                "key_region_person_count":50
            }
        }
    }
  • 参数说明

    参数

    是否必选

    类型

    说明

    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

    service_config

    Object

    Object

    结果数据的输出列表,目前支持将结果输出到您指定的通道中,输出类型为“dis”

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

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

  • service_config参数结构说明

    参数

    是否必选

    类型

    说明

    key_region_detection_sw

    Int

    对应控制台的界面参数“关键岗位检测开关”

    是否开启关键岗位检测告警,取值范围:
    • 0:表示不开启
    • 1:表示开启

    默认值为1。

    key_region_person_count

    Int

    对应控制台的界面参数“在岗最小人数”

    关键岗位检测区域的最少人数,取值范围为[1, 100],默认值为2。该参数只对同级列表中的输入生效。

    key_region_detect_interval

    Int

    对应控制台的界面参数“检测周期”

    关键区域检测周期,单位为秒。取值范围为[1, 3600],默认值为1。当时间到达检测周期整数倍时,触发算法检测在岗人数。

    key_region_detect_threshold

    Int

    对应控制台的界面参数“告警触发阈值”

    告警触发阈值,单位为检测周期个数。取值范围为[1, 3600],默认值为60。假设告警触发阈值为N,当连续N个检测周期时间内检测结果都不满足最小在岗人数,则触发告警。触发告警或满足在岗人数则重新开始计数,直到再次达到告警阈值。

    image_compression_ratio

    Int

    对应控制台的界面参数“图片压缩比”

    取值范围[20,100],默认值:90,表示图片压缩比90%。

    target_roi

    String

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

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

    例如:

    {"polygons":[{"data":[[84,389],[1840,349],[1824,526],[78,526]]}]}

    参数没有携带时,默认区域为整个视频帧中间的1/4。

  • 当区域的坐标值全为0时,区域默认位置如图1 区域默认位置所示,其中Wframe为帧宽度,Hframe为帧高度。
    图1 区域默认位置
    • 默认区域为矩形,假设矩形的四个端点分别为point_1、point_2、point_3、point_4,其位置默认为:
      • poin_1=(¼Wframe, ¼Hframe)
      • poin_2=(¾Wframe, ¼Hframe)
      • poin_3=(¼Wframe, ¾Hframe)
      • poin_4=(¾Wframe, ¾Hframe)

响应

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

    参数

    类型

    说明

    id

    String

    作业ID。

检测结果

  • 输出JSON数据流到指定的DIS通道,包括结构化数据。
  • 结果示例:
    {
    	"event_type": 458752,
    	"task_id": "3d7c81cf35784d88a4e26066bcc5debd",
    	"stream_id": "test",
    	"timestamp": 1527603463,
    	"message_id": "0DD1BEA6-634B-11E8-8B0B-407D0FAD9218",
    	"image_base64": "/3j24AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQE...",
    	"data": {
    		"event_set": [{
    			"polygon": [
    				[484, 465],
    				[1850, 450],
    				[1905, 1013],
    				[515, 1050]
    			],
    			"counter": 1,
    			"person_set": [{
    				"bounding_box": {
    					"x": 876,
    					"y": 446,
    					"w": 142,
    					"h": 147
    				}
    			}]
    		}, {
    			"polygon": [
    				[484, 125],
    				[1800, 125],
    				[495, 677],
    				[1800, 677]
    			],
    			"counter": 1,
    			"person_set": [{
    				"bounding_box": {
    					"x": 876,
    					"y": 446,
    					"w": 142,
    					"h": 147
    				}
    			}]
    		}]
    	}
    }
  • JSON格式说明

    字段

    类型

    说明

    data

    Object

    业务输出内容

    stream_id

    String

    该字段为VIS视频流名称。

    event_type

    Uint64

    快速标识离岗检测的输出消息类型,离岗检测算法其值固定为458752,对应16进制为 0x 0000 0000 0007 0000。

    task_id

    String

    作业ID。

    timestamp

    Uint64

    触发告警时间点的时间戳。

    message_id

    String

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

    image_base64

    String

    告警时刻输入的视频图像的Base64编码结果。

  • data参数格式说明

    字段

    类型

    说明

    event_set

    List<Object>

    输出事件列表。

  • event_set参数格式说明

    字段

    类型

    说明

    polygon

    List<Object>

    告警输出的离岗检测多边形框,例如"polygon":[[484,465],[1850,450],[1905,1013],[515,1050]]

    counter

    Int

    告警输出时的离岗检测人数

    person_set

    List<Object>

    告警输出的离岗检测到的人的bounding_box列表

  • bounding_box参数格式说明

    字段

    类型

    说明

    x

    Int

    矩形框左上角横坐标

    y

    Int

    矩形框左上角纵坐标

    w

    Int

    矩形框高度。

    h

    Int

    矩形框宽度。

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

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

    401 Unauthorized

    鉴权失败。

    403 Forbidden

    没有操作权限。

    404 Not Found

    找不到资源。

    500 Internal Server Error

    服务内部错误

    503 Service Unavailable

    服务不可用。

分享:

    相关文档

    相关产品