创建边缘非机动车检测作业
功能介绍
该API可分析边缘摄像头输出的RTSP视频流。提供了非机动车(包括自行车、电瓶车)的检测功能。根据用户配置进行非机动车检测,当有非机动车停放在违规区域,会上报违停事件信息;当有非机动车入侵禁止区域,则上报非机动车入侵事件信息。
目前支持H264、H265编码格式的RTSP视频流。
调试
您可以在API Explorer中调试该接口。
URI
- URI格式
POST /v2/{project_id}/services/c-non-motor-detection-edge/tasks
- 参数说明
参数
是否必选
类型
说明
project_id
是
String
服务所在区域对应的项目ID,获取方法请参见获取项目ID。
请求
- 请求样例1(摄像头输入+DIS/Webhook输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-non-motor-detection-edge/tasks { "name": "c-non-motor-detection-edge-task", "description": "c-non-motor-detection-edge task test", "input": { "type": "edgecamera", "data": [ { "id": "9f8933c9-448c-48e5-8bc0-631ea83b92eb", "index": 0 } ] }, "output": { "dis": { "stream_name": "dis-c-non-motor-detection-edge" }, "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": "8dcf5ec7bc4d4a26aa1d3e1bb5ed2b5a", "service_config": { "common": { "illegal_park_detection_sw": 1, "illegal_park_alert_threshold": 30, "intrusion_detection_sw": 0, "electromobile_detect_sw": 1, "bicycle_detect_sw": 1, "target_roi": "{\"polygons\":[{\"data\":[[43,266],[42,645],[472,644],[416,212]],\"name\":\"legal_area\"},{\"data\":[[311,182],[282,670],[941,661],[835,170]],\"name\":\"prohibit_entering_area\"}]}", "render_result_sw": 1, "render_roi_sw": 1, "image_compression_ratio":90 } } }
- 请求样例2(edgerestful输入+DIS/Webhook输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-non-motor-detection-edge/tasks { "name": "c-non-motor-detection-edge-task", "description": "c-non-motor-detection-edge task test", "input": { "type": "edgerestful", "data": [ { "index": 0, "url":"https://100.127.134.69:554/test/data", "certificate_check": false, "rtsp_path_in_response": "data/url" } ] }, "output": { "dis": { "stream_name": "dis-c-non-motor-detection-edge" }, "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": "8dcf5ec7bc4d4a26aa1d3e1bb5ed2b5a", "service_config": { "common": { "illegal_park_detection_sw": 1, "illegal_park_alert_threshold": 30, "intrusion_detection_sw": 0, "electromobile_detect_sw": 1, "bicycle_detect_sw": 1, "target_roi": "{\"polygons\":[{\"data\":[[43,266],[42,645],[472,644],[416,212]],\"name\":\"legal_area\"},{\"data\":[[311,182],[282,670],[941,661],[835,170]],\"name\":\"prohibit_entering_area\"}]}", "render_result_sw": 1, "render_roi_sw": 1, "image_compression_ratio":90 } } }
- 请求样例3(VCN输入+DIS/Webhook输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-non-motor-detection-edge/tasks { "name": "c-non-motor-detection-edge-task", "description": "c-non-motor-detection-edge task test", "input": { "type": "vcn", "vcn":{ "ip":"172.100.119.6", "password":"CQeNfcRLwyMvH77AkDBaPS+BKXdFu/1bAXtIMNTx3QPbVewjipNq06nNodxWI28I1lCUsvv2+wB1joepzynLVW3g2nz0k9vaCRDoK6=", "port":"4675", "username":"testname" }, "data": [ { "index": 0, "deivce_id":"07211540881586160101#f7964493ff764bbf9294d58b22e63de6", "stream_type":1 } ] }, "output": { "dis": { "stream_name": "dis-c-non-motor-detection-edge" }, "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": "8dcf5ec7bc4d4a26aa1d3e1bb5ed2b5a", "service_config": { "common": { "illegal_park_detection_sw": 1, "illegal_park_alert_threshold": 30, "intrusion_detection_sw": 0, "electromobile_detect_sw": 1, "bicycle_detect_sw": 1, "target_roi": "{\"polygons\":[{\"data\":[[43,266],[42,645],[472,644],[416,212]],\"name\":\"legal_area\"},{\"data\":[[311,182],[282,670],[941,661],[835,170]],\"name\":\"prohibit_entering_area\"}]}", "render_result_sw": 1, "render_roi_sw": 1, "image_compression_ratio":90 } } }
- 参数说明
参数
是否必选
类型
说明
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
服务的算法配置,配置参数见ServiceConfig参数说明。
- service_config中common参数说明
字段
是否必选
类型
说明
illegal_park_detection_sw
否
Int
对应控制台的界面参数“违停检测开关”。
违停检测开关,取值范围[0,1]:
- 0: 表示不检测违停事件。
- 1: 表示检测违停事件。
默认值:1。
illegal_park_alert_threshold
否
Int
对应控制台的界面参数“告警触发时间”。
告警触发时间阈值,当illegal_park_detection_sw=1时该参数生效。单位秒,取值范围[10,300]。电动车停留超过这个时间则告警。
默认值:30。
intrusion_detection_sw
否
Int
对应控制台的界面参数“入侵检测开关”。
- 0: 表示不检测入侵事件。
- 1: 表示检测入侵事件。
默认值:0。
electromobile_detect_sw
否
Int
对应控制台的界面参数“电动车检测开关”。
- 0: 表示不检测电动车。
- 1: 表示检测电动车。
默认值:1。
bicycle_detect_sw
否
Int
对应控制台的界面参数“自行车检测开关”。
- 0: 表示不检测自行车。
- 1: 表示检测自行车。
默认值:1。
target_roi
否
String
对应控制台的界面参数“区域设置”。
检测区域设置,包括合法停车区域、禁止进入区域。
- 合法停车区域,区域参数。用"name":"legal_area"标识。当非机动车停在合法停车区域之外,则触发违停事件。
- 禁止进入区域,区域参数。用"name":"prohibit_entering_area"标识。当有非机动车入侵禁止进入区域,则触发入侵事件。
该字段为JSON格式的字符串,API调用时需要加转义符。详细JSON格式参见target_roi(目标区域)。
例如:
{"polygons":[{"data":[[43,266],[42,645],[472,644],[416,212]],"name":"legal_area"},{"data":[[311,182],[282,670],[941,661],[835,170]],"name":"prohibit_entering_area"}]}
参数没有携带时,默认全屏都是不合法停车区域;全屏都是禁止进入区域。
render_result_sw
否
Int
对应控制台的界面参数“目标框渲染开关”。
输出图像是否绘制告警目标边框,取值范围:
- "0":表示不绘制。
- "1":表示用红色绘制告警目标边框。
默认值为0。
render_roi_sw
否
Int
对应控制台的界面参数“检测区域渲染开关”。
输出图像是否绘制检测区域,取值范围:
- "0":表示不绘制。
- "1":表示用绿色绘制用户设定的合法停车区域,用黄色绘制用户设定的禁止进入区域。
默认值为0。
image_compression_ratio
否
Int
对应控制台的界面参数“图片压缩比”。
输出图片压缩百分比,取值范围为[20,100]。
默认值:90,表示图片压缩比为90%。
响应
- 响应样例
[ { "id": "2f268b9472a544e991eae3c5c3534f5b" } ]
- 返回作业ID列表
参数
类型
说明
id
String
作业ID。
检测结果
- 输出JSON数据流到DIS指定的通道或者Webhook URL,包括告警结构化数据和图片数据。
- JSON结果示例:
{ "event_type":1376256, "task_id":"2f268b9472a544e991eae3c5c3534f5b", "stream_id": "9f8933c9-448c-48e5-8bc0-631ea83b92eb", "timestamp": 1527603463, "message_id": "0DD1BEA6-634B-11E8-8B0B-407D0FAD9218", "image_base64": "/3j24AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQE...", "data":{ "event_set":[ { "bounding_box":{ "x":100, "y":200, "w":80, "h":150 }, type: "bicycle" }, { "bounding_box":{ "x":200, "y":300, "w":70, "h":150 }, type: "electromobile" } ] } }
- JSON格式说明
字段
类型
说明
event_type
Uint64
快速标识非机动车检测算法的输出消息类型。
- 非机动车违停检测事件其值固定为1376256, 对应16进制为 0x 0000 0000 000150000。
- 非机动车入侵检测事件其值固定为1376257, 对应16进制为 0x 0000 0000 000150001。
task_id
String
作业ID。
stream_id
String
摄像头编号。
timestamp
Uint64
触发告警时间点的时间戳。
message_id
String
告警ID,生成的唯一告警事件UUID。
image_base64
String
告警时刻输入的视频图像的Base64编码结果。
data
Object
详细输出内容。
- data参数格式说明
字段
类型
说明
event_set
List<Object>
输出事件列表。
- event_set参数格式说明
字段
类型
说明
bounding_box
Object
告警输出的违规电动车对象矩形框。
type
String
车辆类型,目前支持bicycle和electromobile两类。
"bicycle": 自行车
"electromobile": 两轮电瓶车(包含摩托车)
- 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
服务不可用。