创建视频车辆
功能介绍
该API可分析边缘摄像头输出的RTSP视频流,对于给定的视频,能输出视频里的车辆信息,并能根据指定的roi区域,准确输出车牌信息。
目前支持H264、H265编码格式的RTSP视频流。
调试
您可以在API Explorer中调试该接口。
URI
- URI格式
POST /v2/{project_id}/services/c-vehicle-detection-edge/tasks
- 参数说明
参数
是否必选
类型
说明
project_id
是
String
服务所在区域对应的项目ID,获取方法请参见获取项目ID。
请求
- 请求样例1(摄像头输入+DIS/Webhook输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-vehicle-detection-edge/tasks { "name": "vehicledetection-edge-task", "description": "Vehicledetection task test", "input": { "type": "edgecamera", "data": [ { "id": "9f8933c9-448c-48e5-8bc0-631ea83b92eb", "index": 0 } ] }, "output": { "dis": { "stream_name": "dis-vehicledetection-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": { "target_roi": "{\"lines\":[{\"data\":[[50,756],[100,616]],\"properties\":{\"type\":0}},{\"data\":[[50,256],[100,116]],\"properties\":{\"type\":1}}],\"polygons\":[{\"data\":[[487,465],[1850,450],[1905,1013],[515,1050]]}]}", "license_plate": { "local_city": "B", "local_province": "津" }, "output_image_sw": 1, "image_compression_ratio": 100 } } }
- 请求样例2(edgerestful输入+DIS/Webhook输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-vehicle-detection-edge/tasks { "name": "vehicledetection-edge-task", "description": "Vehicledetection 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-vehicledetection-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": { "target_roi": "{\"lines\":[{\"data\":[[50,756],[100,616]],\"properties\":{\"type\":0}},{\"data\":[[50,256],[100,116]],\"properties\":{\"type\":1}}],\"polygons\":[{\"data\":[[487,465],[1850,450],[1905,1013],[515,1050]]}]}", "license_plate": { "local_city": "B", "local_province": "津" }, "output_image_sw": 1, "image_compression_ratio": 100 } } }
- 请求样例3(VCN输入+DIS/Webhook输出)
POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-vehicle-detection-edge/tasks { "name": "vehicledetection-edge-task", "description": "Vehicledetection task test", "input": { "type": "vcn", "vcn":{ "ip":"172.100.119.6", "password":"CQeNfcRLwyMvH77AkDBaPS+BKXdFu/1bAXtIMNTx3QPbVewjipNq06nNodxWI28I1lCUsvv2+wB1joepzynLVW3g2nz0k9vaCRDoK6=", "port":"4675", "username":"testname" }, "data": [ { "index": 0, "device_id":"07211540881586160101#f7964493ff764bbf9294d58b22e63de6", "stream_type":1 } ] }, "output": { "dis": { "stream_name": "dis-vehicledetection-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": { "target_roi": "{\"lines\":[{\"data\":[[50,756],[100,616]],\"properties\":{\"type\":0}},{\"data\":[[50,256],[100,116]],\"properties\":{\"type\":1}}],\"polygons\":[{\"data\":[[487,465],[1850,450],[1905,1013],[515,1050]]}]}", "license_plate": { "local_city": "B", "local_province": "津" }, "output_image_sw": 1, "image_compression_ratio": 100 } } }
- 参数说明
参数
是否必选
类型
说明
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参数说明
参数
是否必选
类型
说明
target_roi
是
String
roi区域。包括车辆检测区域以及离开线和靠近线。
license_plate
是
Object
车牌信息,具体参见license_plate参数格式说明。
output_vehicle_type
否
String
输出车型信息,多类车型间以空格隔开。该字段不存在时默认输出所有车型。
例如“0 1 2”表示仅输出0、1、2类车型信息,其余车型不输出。
当前支持的车型输出:
0 - 小汽车
1 - 渣土车
2 - 拖挂车
3 - 水泥搅拌车
4 - 环卫车
5 - 吊车
6 - 小货车
7 - 巴士
output_image_sw
是
Int
1表示输出,0表示不输出,其他值非法。
image_compression_ratio
否
Int
输出图片的质量系数,取值范围[20,100],默认值是100。如果输入80,则输出图像清晰度是原图的80%。取值越低,则图片越模糊,客户需要接收的图片数据量越小。
- target_roi字段参数描述
字段
是否必选
类型
说明
lines
否
List<Object>
道路线集合,包括进入线和离开线。
polygons
是
List<Object>
车辆检测区域。
- lines字段参数描述
字段
是否必选
类型
说明
data
否
List<Object>
道路线,由两个点坐标构成,格式[[x1,y1],[x2,y2]]。
车辆进入线默认水平,画在距roi区域顶部高度占roi区域高度70%的位置。假设图像宽度为w,roi区域高度为h,roi区域顶部Y坐标为y,则该线默认位置是[[0,y+h*0.7-1],[w-1,y+h*0.7-1]]。
车辆离开线默认水平,画在距画面顶部高度占图像高度50%的位置假设图像宽度为w,roi区域高度为h,roi区域顶部Y坐标为y,则该线默认位置是[[0,y+h*0.5-1],[w-1,y+h*0.5-1]]。
properties
否
Object
道路线属性。
- 道路线属性properties参数格式
字段
是否必选
类型
说明
type
否
Int
0表示车辆靠近线,1表示车辆远离线。
默认靠近线在远离线下方。
当车辆从上往下行驶,触碰车辆靠近线时,发送检测结果。
当车辆从下往上行驶,触碰车辆远离线时,发送检测结果。
该字段可不配,算法会自动检测线的类型。
- polygons字段参数描述
字段
是否必选
类型
说明
data
是
List<Object>
道路线,由4个点坐标构成,格式[[x1,y1],[x2,y2],[x3,y3],[x4,y4]],由顺时针方向依次输入。
- license_plate参数格式
字段
是否必选
类型
说明
local_city
是
String
城市简称。
local_province
是
String
省份简称。
license_plate参数用来提高车牌检测的准确性,当首字符检测的置信度不高时,就会输出配置的省份信息。不会影响车辆检测。
响应
- 响应样例
[ { "id": "2f268b9472a544e991eae3c5c3534f5b" } ]
- 返回作业ID列表
参数
类型
说明
id
String
作业ID。
检测结果
- 输出JSON数据流到DIS指定的通道或者Webhook URL,包括告警结构化数据和图片数据。
- JSON结果示例:
{ "event_type": 75008, "task_id": "a066974ae7334649a37257242c5fa4c3", "stream_id": "03543400000000000101#1c471506397a48ecab0ba52360bdd430", "timestamp": 1535546604, "message_id": "0DD1BEA6-634B-11E8-8B0B-407D0FAD9218", "image_base64": "/9j/4AAQSkZJRgABAJDA...", "data": { "vehicles": [{ "bounding_box": { "x": 858, "y": 200, "w": 679, "h": 535 }, "vehicle_type": 0, "license_plate_id": "粤XXXXXX", "license_plate_type": 0, "direction": 1 }] } }
- JSON格式说明
字段
类型
说明
event_type
Int
车辆检测结果输出标志,固定为75008。
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
车辆的位置坐标信息。
vehicle_type
Int
检测到的车辆类型。
-1 - 其它
0 - 小汽车
1 - 渣土车
2 - 拖挂车
3 - 水泥搅拌车
4 - 环卫车
5 - 吊车
6 - 小货车
7 - 巴士
license_plate_id
String
检测到的车牌内容,当车牌内容无法识别时候输出空字符串
license_plate_type
Int
检测到的车牌底色分类。0表示未知,1表示蓝色,2表示黄色,3表示绿色(新能源车),4表示白色,5表示黑色。当车牌无法识别时候输出0。
direction
Int
表示检测到的车辆行驶方向
0: 从上往下行驶,看到车头
1: 从下往上行驶,看到车尾
- bounding_box参数格式说明
字段
类型
说明
x
Int
表示车框左上角的坐标值X。
y
Int
表示车框左上角的坐标值Y。
w
Int
表示车框的宽W。
h
Int
表示车框的高H。
返回值
- 正常
- 异常
返回值
说明
400 Bad Request
请求错误,具体返回错误码请参考错误码。
401 Unauthorized
鉴权失败。
403 Forbidden
没有操作权限。
404 Not Found
找不到资源。
500 Internal Server Error
服务内部错误。
503 Service Unavailable
服务不可用。