创建云上入侵检测作业
功能介绍
该API可分析视频流。提供了区域入侵、过线入侵检测功能。当有人或车触发入侵或过线条件,会上报告警信息。
- 视频编码格式支持H264或者H265。
调试
您可以在API Explorer中调试该接口。
URI
- URI格式
POST /v2/{project_id}/services/c-intrusiondetection-cloud/tasks
- 参数说明
参数
是否必选
类型
说明
project_id
是
String
服务所在区域对应的项目ID,获取方法请参见获取项目ID。
请求
- 请求样例(VIS输入+DIS输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-intrusiondetection-cloud/tasks { "name":"intrusiondetectio_cloud_0", "description":"intrusiondetectio task test", "input":{ "type":"vis", "data":[ { "stream_name":"intrusiondetectio", "index":0 } ] }, "output":{ "dis":{ "stream_name":"dis-intrusion" } }, "service_version":"3.0", "resource_order_id": "840a5cf90d4a4bbaa71f251dfe8fe64e", "service_config":{ "common":{ "car_detection_sw":0, "person_detection_sw":1, "detection_min_size":60, "detection_max_size":1080, "line_detection_sw":1, "region_detection_sw":1, "loitering_detection_sw":0, "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]]}]}", "image_compression_ratio":90, "render_result_sw":1, "render_roi_sw":1 } } }
- 参数说明
参数
是否必选
类型
说明
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参数说明
字段
是否必选
类型
说明
car_detection_sw
否
Int
对应控制台的界面参数“车检测开关”。
检测车开关:
- 0:表示不检测。
- 1:表示检测。
默认值为0。
person_detection_sw
否
Int
对应控制台的界面参数“人检测开关”。
检测人开关:
- 0:表示不检测。
- 1:表示检测。
默认值为1。
detection_min_size
否
Int
对应控制台的界面参数“检测目标最小像素值”。
检测目标的长宽最小像素值,取值范围为[60, 4000],默认值为60。
detection_max_size
否
Int
对应控制台的界面参数“检测目标最大像素值”。
检测目标的长宽最大像素值,取值范围为[1080, 4000],默认值为1080。
line_detection_sw
否
Int
对应控制台的界面参数“过线检测开关”。
过线入侵检测开关:
- 0:表示关闭。
- 1:表示开启。
默认值为1。
region_detection_sw
否
Int
对应控制台的界面参数“区域检测开关”。
区域入侵检测开关:
- 0:表示关闭。
- 1:表示开启。
默认值为1。
loitering_detection_sw
否
Int
对应控制台的界面参数“徘徊检测开关”。
徘徊检测开关:- 0:表示关闭。
- 1:表示开启。
默认值为0。检测范围与areaSetting区域设置一致。
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]]}]}
参数没有携带时,默认区域为整个视频帧。
直线与区域默认位置如图1所示。
image_compression_ratio
否
Int
对应控制台的界面参数“图片压缩比”。
图片压缩百分比,取值范围为[20,100]。
默认值:90,表示图片压缩比为90%。
render_result_sw
否
Int
对应控制台的界面参数“目标框渲染开关”。
输出图像是否绘制告警目标边框,取值范围:
- "0":表示不绘制;
- "1":表示用红色绘制告警目标边框。
默认值为0。
render_roi_sw
否
Int
对应控制台的界面参数“检测区域渲染开关”。
输出图像是否绘制检测区域,取值范围:
- "0":表示不绘制;
- "1":表示用黄色绘制用户设定区域。
默认值为0。
- 当target_roi参数未设置时,直线与区域默认位置如图1所示,其中Wframe为帧宽度,Hframe为帧高度。
- 直线两端点point_1与point_2默认值为:
- point_1=(¼Wframe, ½Hframe)
- point_2=(¾Wframe, ½Hframe)
- 默认区域为整个视频帧。
- 直线两端点point_1与point_2默认值为:
响应
- 响应样例
[ { "id": "63eac48bf3704e8bb30af7f244fdcf3d" } ]
- 返回作业ID列表
参数
类型
说明
id
String
作业ID。
检测结果
- 输出JSON数据流到DIS指定的通道,包括告警结构化数据和图片数据。
- JSON结果示例:
{ "event_type":196609, "timestamp":1581753322, "stream_id":"08eeab92-d822-483a-bc60-eb3db54360f7", "message_id":"849D1326-4FC8-11EA-8F73-0242AC110004", "image_base64":"/9j/4AAQSkZJRgA...", "task_id":"63eac48bf3704e8bb30af7f244fdcf3d", "data":{ "event_set":[ { "start_position":"in", "end_position":"in", "bounding_box":{ "y":327, "h":216, "x":876, "w":105 }, "category":0, "detection_id":"83BFC020-4FC8-11EA-9F93-0242AC110004" } ] } }
- JSON格式说明
字段
类型
说明
stream_id
String
该字段为VIS视频流名称。
event_type
Uint64
快速标识入侵检测服务的输出消息类型,入侵检测事件其值固定为196609, 对应16进制为 0x 0000 0000 0003 0001,徘徊检测事件其值固定为196610,对应16进制为 0x 0000 0000 0003 0002
task_id
String
作业ID。
message_id
String
告警ID,生成的唯一告警事件UUID
timestamp
Uint64
触发告警时间点的时间戳。
image_base64
String
告警时刻输入的视频图像的Base64编码结果。
data
Object
业务输出内容
- data参数格式说明
字段
类型
说明
event_set
List<Object>
输出事件列表。
- event_set参数格式说明
字段
类型
说明
bounding_box
Object
告警输出对象的矩形框。
detection_id
String
告警目标对应的UUID。
category
Int
告警目标的类型:- 0:人
- 1:车
- 2:其他
start_position
String
表示入侵开始位置:
- 如果是过线入侵,则是入侵开始所在线一侧的名字。
- 如果是区域入侵,则是“in”或者“out”。
- in:表示入侵开始在区域里面。
- out:表示入侵开始在区域外面。
end_position
String
表示入侵结束位置:
- 如果是过线入侵则是入侵结束所在线一侧的名字。
- 如果是区域入侵,则是“in”或者“out”。
- in:表示入侵结束在区域里面。
- out:表示入侵结束在区域外面。
- bounding_box参数格式说明
字段
类型
说明
x
Int
矩形框左上角横坐标
y
Int
矩形框左上角纵坐标
w
Int
矩形框宽度
h
Int
矩形框高度
返回值
- 正常
- 异常
返回值
说明
400 Bad Request
请求错误,具体返回错误码请参考错误码。
401 Unauthorized
鉴权失败。
403 Forbidden
没有操作权限。
404 Not Found
找不到资源。
500 Internal Server Error
服务内部错误
503 Service Unavailable
服务不可用。