创建边缘高速流量统计及事件检测作业
功能介绍
该API可分析边缘的高速公路视频流。对于给定的高速视频,提供了流量监测、车速监测、违停事件检测、拥堵检测、行人检测、应急车道占用检测、逆行倒车检测、压实线变道检测、火灾检测、施工区域检测、抛撒物检测、团雾检测等功能。
目前支持H264、H265编码格式的RTSP、VCN视频流。
调试
您可以在API Explorer中调试该接口。
URI
- URI格式
POST /v2/{project_id}/services/c-highway-flow-event-edge/tasks
- 参数说明
参数
是否必选
类型
说明
project_id
是
String
服务所在区域对应的项目ID,获取方法请参见获取项目ID。
请求
- 请求样例(摄像头输入+DIS/Webhook输出)
POST /v2/1f793beac00d4801874db741cbfe10fa/services/c-highway-flow-event-edge/tasks { "name": "highway-flow-event-task", "description": "Highwayflowevent task test", "input": { "type": "edgecamera", "data": [{ "id": "9f8933c9-448c-48e5-8bc0-631ea83b92eo", "index": 0 }] }, "output": { "dis": { "stream_name": "dis-highwayflowevent" }, "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": "42deafda231942cd810b592b9ed933dc", "service_config": { "common": { "target_roi": "{\"lines\":[{\"data\":[[555,337],[665,1071]],\"properties\":{\"type\":0}},{\"data\":[[760,369],[1480,1060]],\"properties\":{\"type\":1}},{\"data\":[[875,345],[1910,887]],\"properties\":{\"type\":2}},{\"data\":[[50,447],[100,489]],\"properties\":{\"type\":3,\"distance\":15,\"direction\":1}},{\"data\":[[50,597],[100,723]],\"properties\":{\"type\":3,\"distance\":12,\"direction\":0}},{\"data\":[[50,450],[100,450]],\"properties\":{\"type\":4,\"direction\":1}},{\"data\":[[50,520],[100,720]],\"properties\":{\"type\":4,\"direction\":0}}]}", "congestion_sw": 1, "flow_static_interval": 60, "abnormal_park_sw": 1, "abnormal_park_threshold": 180, "abnormal_park_output_interval": 180, "congestion_output_interval": 180, "person_detect_sw": 0, "against_regulation_drive_sw": 0, "is_light_invariant": 0, "drop_detect_sw": 0, "fog_detect_sw": 0, "construct_detect_sw": 0, "firesmoke_detect_sw": 1 } } }
- 参数说明
参数
是否必选
类型
说明
name
是
String
作业名称,只能由中文、字母(a~zA~Z)、数字(0~9)、中划线(-)、下划线(_)组成,长度范围为[1,100]。
description
否
String
作业描述信息,最大长度为500字符长度。
input
是
Object
视频数据输入列表,支持从指定的边缘摄像头读取数据,即输入类型为“edgecamera”,“edgerestful”,“VCN”。
详细参数定义参见task.input(任务输入参数)。
service_version
是
String
功能版本填为“3.0”。
output
是
Object
结果数据的输出列表,目前支持以下输出类型:- DIS:将结果输出到您指定的DIS通道 。
- Webhook:将结果输出到Webhook URL。
- Localpath:将作业的运行结果保存在边缘节点本地(节点必须为linux系统),必须为linux路径,例如“/opt/cloud/”。
详细参数定义见task.output(任务输出参数)。
service_config
是
Object
服务的算法配置,配置参数见ServiceConfig参数说明。
- service_config中common参数说明
字段
是否必选
类型
说明
target_roi
是
String
roi区域。包括高速车道线及车速统计辅助线。
congestion_sw
是
Int
是否检测拥堵事件,0表示不检测,1表示检测,其他值非法。
flow_static_interval
是
Int
车流统计时间间隔,以秒为单位,取值范围[60,600]
abnormal_park_sw
是
Int
是否检测异常停车事件,0表示不检测,1表示检测,其他值非法。
abnormal_park_threshold
否
Int
异常停车事件时间阈值,以秒为单位。默认值10,取值范围[1,180]。
abnormal_park_output_interval
否
Int
针对同一起异常停车事件输出消息时间间隔,以秒为单位。默认值10,取值范围[1,180]。
congestion_output_interval
否
Int
针对拥堵事件输出消息时间间隔,以秒为单位。默认值60,取值范围[30,180]。
person_detect_sw
否
Int
行人和非机动车检测开关,0表示不检测,1表示检测,默认值是1。
against_regulation_drive_sw
否
Int
违章行驶检测开关,0表示不检测,1表示检测,默认为1。检测事件包括压线行驶、逆行倒车、占用应急车道;针对同一起占用应急车道停车事件的输出间隔时间180秒。
is_light_invariant
否
Int
光照强度是否不变。0表示光照会变化,1表示不变,默认值是0。该参数用于有些特殊路段的光照配置,比如隧道中持续亮灯,则该参数可以配置 1。
ignore_roi
否
String
忽略区域,四边形区域,此区域内不做事件的上报,从区域左下角点开始,一次顺时针方向给出点的位置。
drop_detect_sw
否
Int
是否检测抛撒物事件,0表示不检测,1表示检测,默认值是1,其他值非法,针对同一起抛撒物事件输出消息时间间隔为120s
fog_detect_sw
否
Int
是否检测团雾事件,0表示不检测,1表示检测,默认值是1,其他值非法,团雾检测结果输出时间间隔固定为60秒钟一次,夜晚不检测团雾;
construct_detect_sw
否
Int
是否检测施工区域,0表示不检测,1表示检测,默认值是1,其他值非法,针对同一起施工区域事件输出消息时间间隔为60s
firesmoke_detect_sw
否
Int
是否检测火灾事件,0标识不检测,1表示检测,默认值是1,其他值非法,检测到火灾事件后上报告警;
- target_roi参数说明
字段
是否必选
类型
说明
lines
是
List<Object>
道路线集合,包括车道线信息。
- 道路线lines参数说明
字段
是否必选
类型
参数说明
data
是
List<Object>
画线信息,即线的两端点坐标,形式[[x1,y1],[x2,y2]]。在画面上从上往下画。
properties
是
Object
线的属性。
- properties参数格式
字段
是否必选
类型
说明
type
是
Int
线的类型,0表示画面反向车道的最左侧边线,1表示护栏线,2表示正向道路的右边线,3表示车道车速分析辅助线,4表示车道流量线,5表示应急车道线, 6表示实线。
distance
是
Int
type为3时候有效。表示车速分析辅助线表示的道路实际距离,以米为单位。
direction
否
Int
车速线或者流量线的方向。当线的type为3、4或者5的时候,需要配置。
- 1 表示正向,一般在画面右侧。
- 0 表示反向,一般在画面左侧。
响应
- 响应样例
[ { "id": "5634d53a21414e52a397c1f948511a24" } ]
- 返回作业ID列表
参数
类型
说明
id
String
作业ID。
检测结果
输出JSON数据流包括车流车速信息、违停事件信息、拥堵事件信息、火灾事件信息、行人闯禁信息、应急车道占用信息、压实变道信息、逆行倒车信息、施工区域信息、抛洒物信息、团雾信息等,具体描述如下。
- 车流车速JSON结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81920, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "", "data": { "interval": 60, "front_info": { "flow": 10, "speed": 120 }, "reverse_info": { "flow": 10, "speed": 120 } } }
- JSON格式说明
字段
类型
说明
event_type
Int
车流车速信息结果输出标志,固定为81920。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
摄像机ID,唯一表示;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
输出车流车速信息的时间戳。
data
Object
车流车速的输出信息字段集合,参见data参数格式说明。
image_base64
String
图像的base64编码,输出为空字符串。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
interval
Int
车流车速统计的时间间隔,即输入字段的flow_static_interval。
front_info
Object
正向车流车速统计信息。
reverse_info
Object
反向车流车速统计信息。
- front_info参数格式说明
字段
类型
说明
flow
Int
车流量。
speed
Int
车速,以千米/小时为单位。
- reverse_info参数格式说明
字段
类型
说明
flow
Int
车流量。
speed
Int
车速,以千米/小时为单位。
- JSON格式说明
- 异常停车事件输出信息描述
- 异常停车JSON结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81921, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "vehicles": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 }, "detection_id": "dc7d8815-b34b-4ba4-b33f-c9c6cd346d79" }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
异常停车结果输出标志,固定为81921。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到异常停车的时间戳。
data
Object
异常停车的输出信息字段集合,参见data参数格式说明。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
vehicles
List<Object>
异常停车信息列表。
- vehicles参数格式说明
字段
类型
说明
bounding_box
Object
异常停车车辆框。
detection_id
String
异常停车事件的uuid。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示车框左上角的坐X标值。
y
Int
表示车框左上角的坐Y标值。
w
Int
表示车框的宽度。
h
Int
表示车框的高度。
- 异常停车JSON结果示例:
- 拥堵事件输出信息描述
- 拥堵事件JSON结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81922, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": {} }
- JSON格式说明
字段
类型
说明
event_type
Int
拥堵事件结果输出标志,固定为81922。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到拥堵事件的时间戳。
data
Object
暂为空。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- 拥堵事件JSON结果示例:
- 火灾事件输出信息描述
- 火灾事件JSON结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81923, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 } } }
- JSON格式说明
字段
类型
说明
event_type
Int
火灾事件输出标志,固定为81923。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到火灾事件的时间戳。
data
Object
火灾事件信息。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
bounding_box
Object
火灾区域框。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示火灾区域框左上角的坐X标值。
y
Int
表示火灾区域框左上角的坐Y标值。
w
Int
表示火灾区域框的宽度。
h
Int
表示火灾区域框的高度。
- 火灾事件JSON结果示例:
- 行人闯禁事件输出信息描述
- 行人闯禁JSON结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81924, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "persons": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 }, "detection_id": "dc7d8815-b34b-4ba4-b33f-c9c6cd346d79" }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
行人闯禁事件输出标志,固定为81924。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到行人及非机动车的时间戳。
data
Object
行人闯禁事件信息。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
persons
List<Object>
行人事件信息列表。
- persons参数格式说明
字段
类型
说明
bounding_box
Object
行人框。
detection_id
String
行人事件的uuid。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示行人框左上角的坐X标值。
y
Int
表示行人框左上角的坐Y标值。
w
Int
表示行人框的宽度。
h
Int
表示行人框的高度。
- 行人闯禁JSON结果示例:
- 施工事件输出信息描述
- 施工区域检测结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81925, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "constructs": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 } }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
施工区域检测输出标志,固定为81925。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到施工事件的时间戳。
data
Object
施工区域信息。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
constructs
List<Object>
施工事件信息列表。
- constructs参数格式说明
字段
类型
说明
bounding_box
Object
施工区域框。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示施工区域框左上角的坐X标值。
y
Int
表示施工区域框左上角的坐Y标值。
w
Int
表示施工区域框的宽度。
h
Int
表示施工区域框的高度。
- 施工区域检测结果示例:
- 逆行倒车事件输出信息描述
- 逆行倒车检测结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81926, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "vehicles": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 }, "detection_id": "dc7d8815-b34b-4ba4-b33f-c9c6cd346d79" }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
逆行倒车事件检测输出标志,固定为81926。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到逆行倒车事件的时间戳。
data
Object
事件信息。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
vehicles
List<Object>
逆行倒车事件信息列表。
- vehicles参数格式说明
字段
类型
说明
bounding_box
Object
逆行倒车框。
detection_id
String
逆行倒车事件的uuid。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示逆行倒车框左上角的坐X标值。
y
Int
表示逆行倒车框左上角的坐Y标值。
w
Int
表示逆行倒车框的宽度。
h
Int
表示逆行倒车框的高度。
- 逆行倒车检测结果示例:
- 占用应急车道事件输出信息描述
- 占用应急车道检测结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81927, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "vehicles": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 }, "detection_id": "dc7d8815-b34b-4ba4-b33f-c9c6cd346d79" }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
占用应急车道事件检测输出标志,固定为81927。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到占用应急车道事件的时间戳。
data
Object
事件信息。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
vehicles
List<Object>
占用应急车道事件信息列表。
- vehicles参数格式说明
字段
类型
说明
bounding_box
Object
占用应急车道车框。
detection_id
String
占用应急车道事件的uuid。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示占用应急车道车框左上角的坐X标值。
y
Int
表示占用应急车道车框左上角的坐Y标值。
w
Int
表示占用应急车道车框的宽度。
h
Int
表示占用应急车道车框的高度。
- 占用应急车道检测结果示例:
- 车辆压实线变道事件输出信息描述
- 车辆压实线变道形式:
{ "stream_id": "06091710000000000101", "event_type": 81928, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "vehicles": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 }, "detection_id": "dc7d8815-b34b-4ba4-b33f-c9c6cd346d79" }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
车辆压实线变道行驶事件检测输出标志,固定为81928。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
车辆压实线变道事件的时间戳。
data
Object
事件信息。
image_base64
String
图像的base64编码。
task_id
String
作业ID。
- data参数格式说明
字段
类型
说明
vehicles
List<Object>
车辆压实线变道事件信息列表。
- vehicles参数格式说明
字段
类型
说明
bounding_box
Object
压实线变道事件的车辆框。
detection_id
String
车辆压实线变道事件的uuid。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示压实线事件车框左上角的坐X标值。
y
Int
表示压实线事件车框左上角的坐Y标值。
w
Int
表示压实线事件车框的宽度。
h
Int
表示压实线事件车框的高度。
- 车辆压实线变道形式:
- 抛撒物事件输出信息描述
- 抛撒物事件检测结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81930, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "drops": [{ "bounding_box": { "x": 917, "y": 484, "w": 120, "h": 80 } }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
抛撒物检测输出标志,固定为81930。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到抛撒物事件的时间戳。
data
Object
抛撒物信息。
image_base64
String
图像的base64编码
task_id
String
作业ID
- data参数格式说明
字段
类型
说明
drops
List<Object>
抛撒物事件信息列表。
- drops参数格式说明
字段
类型
说明
bounding_box
Object
抛撒物框。
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示抛撒物框左上角的坐X标值
y
Int
表示抛撒物框左上角的坐Y标值
w
Int
表示抛撒物框的宽度
h
Int
表示抛撒物框的高度
- 抛撒物事件检测结果示例:
- 团雾事件输出信息描述
- 团雾事件检测结果示例:
{ "stream_id": "06091710000000000101", "event_type": 81931, "timestamp": 1577695510, "message_id": "12b3c534-2194-4cea-a4c8-e37ba3c7a5eb", "task_id": "task0yj672", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "fog_type":1 } }
- JSON格式说明
字段
类型
说明
event_type
Int
团雾检测输出标志,固定为81931。
message_id
String
该条json输出的uuid,唯一标识这一条输出记录。
stream_id
String
视频流Id;离线视频会输出视频名信息,区分不同的视频输出。
timestamp
Int
检测到团雾事件的时间戳。
data
Object
团雾信息。
image_base64
String
图像的base64编码
task_id
String
作业ID
- data参数格式说明
字段
类型
说明
fog_type
int
团雾类型,0:无雾, 1:有雾
- 团雾事件检测结果示例:
返回值
- 正常
201
- 异常
返回值
说明
400 Bad Request
请求错误,具体返回错误码请参考错误码。
401 Unauthorized
鉴权失败。
403 Forbidden
没有操作权限。
404 Not Found
找不到资源。
500 Internal Server Error
服务内部错误。
503 Service Unavailable
服务不可用。