开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

EdgeBoard车辆属性识别软硬一体方案说明

1 简介
 1.1 车辆属性功能说明
 1.2 开发管理平台功能说明
 1.3 硬件接口说明
2 使用步骤
 2.1 连接设备
 2.2 登录管理平台
 2.3 查看预置模型
 2.4 添加摄像头
 2.5 添加任务
3 系统设置
4 HTTP结果回调
5 HTTP模型推理服务接口

简介

EdgeBoard软硬一体方案,是以EdgeBoard边缘AI计算盒为底座,WEB开发管理平台为控制中心,专项适配百度自研算法,并深度兼容AI开发平台EasyDL和开源深度学习平台PaddlePaddle,支持模型在线效果验证,外接显示器实时显示渲染结果,同时,支持HTTP回调和HTTP模型推理服务,可接入USB摄像头和RTSP网络摄像头,硬件接口丰富,支持二次开发。

车辆属性识别软硬一体方案,预置车辆检测和车辆属性识别模型。检测图像中的各类车辆,并针对小汽车识别37种外观属性,包括:是否有车窗雨眉、是否有车顶架、副驾驶是否有人等,可用于交通安防场景的特定车辆检测追踪。

img

车辆属性识别功能说明

车辆属性技能是通过车辆检测获得车辆信息,进而再通过车辆属性算法获得车辆的详细属性信息,可以获得车辆坐标信息和车辆类别信息:[小汽车、中型巴士、大巴、小货车、中型货车、重型货车、三轮车、摩托车、自行车、车牌],以及车辆属性信息。

img

车辆属性识别功能体验: https://ai.baidu.com/tech/vehicle/attr

开发管理平台功能说明

Edgeboard内置可视化开发管理平台,支持web页面进行总览、摄像头管理、模型管理、任务管理、系统设置等操作。

功能 描述
总览 支持实时查看设备内存、CPU和存储空间的资源剩余情况,以及当前添加的模型、摄像头和任务情况。
模型管理 支持PaddlePaddle模型、Easydl的图像分类和物体检测模型以及其他Edgeboard模型的添加和管理,支持在线效果验证
摄像头管理 支持USB摄像头、RTSP网络摄像头的添加和管理,在线校验视频流地址,支持画面预览
任务管理 支持添加数据采集任务、Paddle模型视频分析、EasyDL模型视频分析和EdgeBoard SDK视频分析等任务,支持画面预览,支持任务的开启和关闭。
系统设置 支持设备信息的显示、系统时间的修改、软件版本升级、以太网设置和Wi-Fi网络设置、恢复出厂设置、重启等功能。
HTTP回调 支持将视频流任务或者采集任务结果通过HTTP协议推送到指定地址,方便客户进行二次开发。
HTTP模型推理服务 支持调用HTTP服务接口传入图片,EdgeBoard再将分析结果回传至HTTP客户端。

硬件接口说明

img

img

更多硬件介绍请参考EdgeBoard基础硬件使用说明

使用步骤

以下仅以车辆属性识别软硬一体方案的常规操作进行演示,更多使用方式请参考EdgeBoard开发管理平台使用说明

车辆属性识别软硬一体方案,预置了车辆属性识别模型,可以直接添加摄像头和任务,开启AI识别,大体操作流程如下:【连接软硬一体设备】----> 【登录开发管理平台】----> 【查看预置模型】----> 【添加摄像头】----> 【添加任务】----> 【开始预测】

连接设备

将设备通过网线连接电脑(直连电脑或者通过路由器),设备的网络参数为:ip=192.168.1.254,子网掩码=255.255.255.0,网关=192.168.1.1。保证设备和电脑在同一网段,如果是直连电脑可以将电脑设置成固定IP。

电脑端网络配置可参考网络配置

登录管理平台

在浏览器中输入开发管理平台首页地址,即可显示登录页面,登录完成后进入管理页面。

开发管理平台首页地址:http://ip:9876/ 出厂默认:http://192.168.1.254:9876/

开发管理平台账号:admin,初始密码:admin

进入系统

查看预置模型

查看模型管理页面,车辆属性软硬一体设备中,已经包含车辆检测和车辆属性模型。用户可以跳过添加模型的过程,直接添加摄像头和任务,开启AI识别。

shuxing1

注意:模型管理页面的【效果验证】仅提供单模型的推理效果

添加摄像头

EdgeBoard开发管理平台支持USB摄像头和RTSP摄像头两种类型,用户可根据使用场景进行选择。

添加USB摄像头

先将USB摄像头插到EdgeBoard上再在页面中添加对应的摄像头,此时,点击【选择摄像头】右边框的箭头,下拉框会自动弹出当前设备上已插入的USB摄像头节点,并采集一张当前图片,点击待添加的摄像头,确定。

添加网络摄像头

保证EdgeBoard和网络摄像头的网络互通的状态下,添加网络摄像头,摄像头类型选择网络摄像头,输入视频流地址后,点击右侧的【校验】按钮,如果出现对勾,证明视频流地址(RTSP流地址)填写正确,并能够正常采集到图片。校验成功后点击确定,在管理页面就可以看到已添加的摄像头。

SN码为您的摄像头设备唯一ID(选填)。

添加任务

EdgeBoard开发管理平台支持添加不同功能的任务,例如可以添加数据采集任务,视频分析任务等。以视频任务为例

选择任务类型

选择任务类型选择EdgeBoard算法【车辆属性】

shuxing2

任务配置

填写任务相关的配置,带“*”为必填项,确定需要部署的模型和对应的摄像头,以及模型推理的帧率,其余按需填写即可。

shuxing3

画面框定

画面框定是指在检测区域中框定一个闭合区域,后续只分析框定区域。在车辆属性软硬一体设备中,画面框定功能可选。,没有画面框定的情况下会分析整个图像,不需要画面框定时,直接确认即可。

启动任务

shuxing4

画面预览

shuxing5

外接显示器

EdgeBoard提供视频输出接口miniDP,可以外接显示器(如果是HDMI接口的显示器,需要使用主动式miniDP转HDMI转换线,接口输出参考链接),在上电状态下插入显示器时,首次点击【外接显示器】的开关按钮后,需要重启设备。

一般情况下,显示器显示的视频帧率为创建任务时设置的帧率,当设置的帧率大于设备实际能够处理的帧率时,设备会以最大处理速率显示,渲染画面和系统中【画面预览】相同。

更多任务管理设置请参考EdgeBoard开发管理平台使用说明

系统设置

系统设置请参考EdgeBoard开发管理平台使用说明-系统设置

HTTP结果回调

说明

当用户需要获取EdgeBoard的分析结果时,EdgeBoard开发管理平台支持将视频流任务结果通过HTTP协议推送到指定地址,方便客户进行二次开发。

HTTP回调方式:EdgeBoard ----- post -----> 用户服务器

​ EdgeBoard <------ response---- 用户服务器

HTTP回调接口:http://ip:port/xxxxxxx 。该接口由用户定义,不做固定格式要求。

回调功能设置

添加任务时,可设置回调功能

回调状态:勾选【启用】会开启回调功能;勾选【禁用】会关掉回调功能;

回调地址:用户实际回调服务地址(图中地址仅作展示),开启回调后,设备会将结果数据发送至该地址;

回调条件:回调结果支持基于模型标签(label)进行条件筛选,增加回调条件后,服务器就会得到筛选后的数据;

回调图片:回调图片仅指回调参数中“background”的返回值,【原图】指返回的background为不带渲染的base64图片,【原图+渲染】指返回的background为不带渲染的base64图片,【无图片】则回调结果中不返回background参数。由于回调中返回图片会占用大量的资源和带宽,实际使用时推荐选择【无图片】选项。

车辆属性数据返回格式

{
    "camera_id": 1,
    "camera_name": "usb",
    "camera_sn": "",
    "fence_data": [
        {
            "coordinates": [
                [
                    0.00703125,
                    0.04791666666666667
                ],
                [
                    0.01015625,
                    0.9854166666666667
                ],
                [
                    0.98984375,
                    0.9854166666666667
                ],
                [
                    0.99140625,
                    0.05
                ]
            ],
            "id": 4,
            "name": "area"
        }
    ],
    "height": 480,
    "models_id": [
        1,
        3
    ],
    "result_data": [
        {
            "extended": {
                "info": [
                    {
                        "awning": {
                            "name": "带篷",
                            "score": 0.7639243006706238
                        },
                        "body_spray": {
                            "name": "车身无喷字",
                            "score": 0.9979731440544128
                        },
                        "calling": {
                            "name": "驾驶员未打电话",
                            "score": 0.9946046471595764
                        },
                        "dangerous_vehicle": {
                            "name": "非危险品车",
                            "score": 0.999843955039978
                        },
                        "direction": {
                            "name": "车辆正向行驶",
                            "score": 0.7824576497077942
                        },
                        "door_open": {
                            "name": "车门关闭",
                            "score": 0.9984052777290344
                        },
                        "has_copilot": {
                            "name": "副驾驶无人",
                            "score": 0.9589241147041321
                        },
                        "has_helmet": {
                            "name": "未带头盔",
                            "score": 0.8572908639907837
                        },
                        "has_pilot": {
                            "name": "有驾驶人",
                            "score": 0.8734309077262878
                        },
                        "has_plate": {
                            "name": "有车牌",
                            "score": 0.9846936464309692
                        },
                        "motor_direction": {
                            "name": "车辆朝向正向",
                            "score": 0.506549060344696
                        },
                        "motor_manned": {
                            "name": "未带人",
                            "score": 0.9408441781997681
                        },
                        "pilot_upper_color": {
                            "name": "骑车人上衣颜色黑色",
                            "score": 0.7224725484848022
                        },
                        "plate_cover": {
                            "name": "车牌未遮挡",
                            "score": 0.9985841512680054
                        },
                        "plate_stained": {
                            "name": "车牌无污损",
                            "score": 0.9990618824958801
                        },
                        "safety_belt_copilot": {
                            "name": "副驾驶系安全带",
                            "score": 0.9999989867210388
                        },
                        "safety_belt_pilot": {
                            "name": "驾驶员系安全带",
                            "score": 0.8047130703926086
                        },
                        "skylight": {
                            "name": "无天窗",
                            "score": 0.9709919095039368
                        },
                        "slag_full_loaded": {
                            "name": "渣土车未满载",
                            "score": 0.9909272193908691
                        },
                        "slag_refit": {
                            "name": "渣土车未改装",
                            "score": 0.9929472208023071
                        },
                        "slag_vehicle": {
                            "name": "非渣土车",
                            "score": 0.9983059167861938
                        },
                        "slag_vehicle_cover": {
                            "name": "渣土车未盖板",
                            "score": 0.8577085137367249
                        },
                        "spare_wheel": {
                            "name": "无备胎",
                            "score": 0.9993638396263123
                        },
                        "special_vehicle": {
                            "name": "普通车",
                            "score": 0.9574499726295471
                        },
                        "sunvisor_copilot": {
                            "name": "副驾驶遮阳板未放下",
                            "score": 0.9968457818031311
                        },
                        "sunvisor_pilot": {
                            "name": "驾驶员遮阳板未放下",
                            "score": 0.9980238676071167
                        },
                        "top_holder": {
                            "name": "无车顶架",
                            "score": 0.9946255087852478
                        },
                        "tricycle_manned": {
                            "name": "未过量载人",
                            "score": 0.9837225079536438
                        },
                        "truncation_horizontal": {
                            "name": "横向无截断",
                            "score": 0.9597998261451721
                        },
                        "truncation_vertical": {
                            "name": "纵向无截断",
                            "score": 0.9991573095321655
                        },
                        "vehicle_class": {
                            "name": "四轮车",
                            "score": 0.9965885877609253
                        },
                        "vehicle_color": {
                            "name": "车身颜色白色",
                            "score": 0.9942708015441895
                        },
                        "vehicle_front_item_pendant": {
                            "name": "无后视镜挂件",
                            "score": 0.9567959308624268
                        },
                        "vehicle_front_item_placeitems": {
                            "name": "有车前摆放物",
                            "score": 0.9522643685340881
                        },
                        "vehicle_front_item_tissuebox": {
                            "name": "车前无纸巾盒",
                            "score": 0.9611709713935852
                        },
                        "vehicle_inspection": {
                            "name": "无年检标",
                            "score": 0.7661187648773193
                        },
                        "vehicle_shielding": {
                            "name": "0-50%遮挡",
                            "score": 0.8976879119873047
                        },
                        "window_rain_eyebrow": {
                            "name": "无车窗雨眉",
                            "score": 0.9991912245750427
                        }
                    }
                ]
            },
            "label_id": 0,
            "label_name": "小汽车",
            "score": 0.3428965210914612,
            "x0": 0.2109375,
            "x1": 0.753125011920929,
            "y0": 0.3687500059604645,
            "y1": 0.9395833611488342
        },
        {
            "extended": {
                "info": [
                    {
                        "awning": {
                            "name": "带篷",
                            "score": 0.7886645793914795
                        },
                        "body_spray": {
                            "name": "车身无喷字",
                            "score": 0.9995793700218201
                        },
                        "calling": {
                            "name": "驾驶员未打电话",
                            "score": 0.9963215589523315
                        },
                        "dangerous_vehicle": {
                            "name": "非危险品车",
                            "score": 0.9998952150344849
                        },
                        "direction": {
                            "name": "车辆正向行驶",
                            "score": 0.8058016300201416
                        },
                        "door_open": {
                            "name": "车门关闭",
                            "score": 0.9990395903587341
                        },
                        "has_copilot": {
                            "name": "副驾驶无人",
                            "score": 0.899739682674408
                        },
                        "has_helmet": {
                            "name": "未带头盔",
                            "score": 0.8193157911300659
                        },
                        "has_pilot": {
                            "name": "有驾驶人",
                            "score": 0.8957052826881409
                        },
                        "has_plate": {
                            "name": "有车牌",
                            "score": 0.9786514639854431
                        },
                        "motor_direction": {
                            "name": "车辆朝向正向",
                            "score": 0.36776062846183777
                        },
                        "motor_manned": {
                            "name": "未带人",
                            "score": 0.9002670049667358
                        },
                        "pilot_upper_color": {
                            "name": "骑车人上衣颜色黑色",
                            "score": 0.6693568825721741
                        },
                        "plate_cover": {
                            "name": "车牌未遮挡",
                            "score": 0.9990924596786499
                        },
                        "plate_stained": {
                            "name": "车牌无污损",
                            "score": 0.9995149374008179
                        },
                        "safety_belt_copilot": {
                            "name": "副驾驶系安全带",
                            "score": 0.9999989867210388
                        },
                        "safety_belt_pilot": {
                            "name": "驾驶员系安全带",
                            "score": 0.8976953029632568
                        },
                        "skylight": {
                            "name": "无天窗",
                            "score": 0.9984083771705627
                        },
                        "slag_full_loaded": {
                            "name": "渣土车未满载",
                            "score": 0.9889063835144043
                        },
                        "slag_refit": {
                            "name": "渣土车未改装",
                            "score": 0.9893474578857422
                        },
                        "slag_vehicle": {
                            "name": "非渣土车",
                            "score": 0.9995092153549194
                        },
                        "slag_vehicle_cover": {
                            "name": "渣土车未盖板",
                            "score": 0.8386797308921814
                        },
                        "spare_wheel": {
                            "name": "无备胎",
                            "score": 0.9994240999221802
                        },
                        "special_vehicle": {
                            "name": "普通车",
                            "score": 0.9956367611885071
                        },
                        "sunvisor_copilot": {
                            "name": "副驾驶遮阳板未放下",
                            "score": 0.9972099661827087
                        },
                        "sunvisor_pilot": {
                            "name": "驾驶员遮阳板未放下",
                            "score": 0.9980505704879761
                        },
                        "top_holder": {
                            "name": "无车顶架",
                            "score": 0.9853278994560242
                        },
                        "tricycle_manned": {
                            "name": "未过量载人",
                            "score": 0.9777350425720215
                        },
                        "truncation_horizontal": {
                            "name": "横向无截断",
                            "score": 0.9945201277732849
                        },
                        "truncation_vertical": {
                            "name": "纵向无截断",
                            "score": 0.9894090890884399
                        },
                        "vehicle_class": {
                            "name": "四轮车",
                            "score": 0.9988369345664978
                        },
                        "vehicle_color": {
                            "name": "车身颜色白色",
                            "score": 0.8967148661613464
                        },
                        "vehicle_front_item_pendant": {
                            "name": "无后视镜挂件",
                            "score": 0.8858291506767273
                        },
                        "vehicle_front_item_placeitems": {
                            "name": "有车前摆放物",
                            "score": 0.9869040250778198
                        },
                        "vehicle_front_item_tissuebox": {
                            "name": "车前无纸巾盒",
                            "score": 0.9900057911872864
                        },
                        "vehicle_inspection": {
                            "name": "有年检标",
                            "score": 0.735641598701477
                        },
                        "vehicle_shielding": {
                            "name": "0-50%遮挡",
                            "score": 0.9091808199882507
                        },
                        "window_rain_eyebrow": {
                            "name": "无车窗雨眉",
                            "score": 0.9647555947303772
                        }
                    }
                ]
            },
            "label_id": 1,
            "label_name": "中型巴士",
            "score": 0.7846842408180237,
            "x0": 0.22499999403953552,
            "x1": 0.7796875238418579,
            "y0": 0.37291666865348816,
            "y1": 0.9333333373069763
        }
    ],
    "task_id": 3,
    "task_name": "车辆属性",
    "task_type": "eb::vehicleattributes",
    "time": 1654166259660,
    "width": 640
}

HTTP模型推理服务接口

车辆属性模型推理服务接口与开发管理平台接口使用方法相同,推理结果与可视化页面模型管理中的效果验证结果相同。

HTTP模型推理服务接口使用请参考EdgeBoard开发管理平台使用说明-HTTP模型推理服务接口

上一篇
EdgeBoard车流统计软硬一体方案说明
下一篇
EdgeBoard车牌识别软硬一体方案说明