当前位置:首页>科技 >内容

飞桨目标检测端到端开发套件PaddleDetection正式开源车辆分析工具PP-Vehicle

2024-05-03 18:53:46科技漂亮的斑马

停车闸机的车牌识别、道路两侧的违法停车检测、繁忙路口的交通统计、茫茫车海中的车辆锁定……这些场景背后的技术原理你有没有简单构思过?

飞桨目标检测端到端开发套件PaddleDetection正式开源车辆分析工具PP-Vehicle

停车闸机的车牌识别、道路两侧的违法停车检测、繁忙路口的交通统计、茫茫车海中的车辆锁定……这些场景背后的技术原理你有没有简单构思过?还是想花时间自己存一个却不知道从何下手?——PP-Vehicle会告诉你答案。

继行人分析工具PP-Human之后,用于螺旋桨目标检测的端到端开发套件PaddleDetection正式成为开源车辆分析工具PP-Vehicle!

PP车辆的功能全景

PP-Vehicle是一款面向车辆分析相关场景的开源工具,其产品主要围绕以下几个方面进行设计和开发:

实用性:优化迭代车辆分析场景共性底层模型;针对几种高频场景设计了详细的后处理策略,能够满足快速上线服务的要求。同时提供丰富的二次开发教程,方便用户根据自身业务场景进行私有化开发。

泛化:在公共数据集和自采集数据集上进行充分训练,提供预训练模型,覆盖车辆分析中的监控视角、驾驶员视角、头顶视角等常见摄像头视角。

代码低:1行代码即可快速部署,可输入图片、文章、单/多rtsp文章流。通过修改配置文件,可以快速实现策略修改和管道合并。

接下来,我们具体看一下PP-Vehicle的工作。

还不如和源码一起吃!

https://github.com/PaddlePaddle/PaddleDetection

还记得明星系列吗,

防止迷路,实时关注更新!

总体规划

PP-车辆技术架构

PP-Vehicle分为三个部分:输入、核心算法和输出:

输入:支持离线图片、文章、rtsp文章流,可根据输入类型快速配置。如下图所示,输入被配置为rtsp pull stream的示例。

PP-Vehiclertsp拉流预测示例

核心算法:主要由预训练模型和逻辑策略组成。预训练模型有四个:车辆检测模型、车辆跟踪模型、车牌识别模型和车辆属性分析模型。各型号的性能如下表所示:

预训练模型

管道配置文件冲突的示例

输出:包括车牌信息、车辆轨迹、车辆属性、违法停车信息等。同时支持这些信息的可视化渲染输出。下图显示了直接配置的可视信息的rtsp推流显示。

Rtsp推流演示示例

可视化效果

参见:

https://github . com/paddle paddle/paddle detection/blob/release/2.5/deploy/pipeline/docs/tutorials/PP vehicle _ QUICK _ started . MD

方案简要分析

PP-Vehicle为一些高频车辆分析场景提供了详细的解决方案。这里简要分析一下主要思路。可以关注一下课后的海报,听听发展生的详细讲解。

车牌识别方案:

图片中的车辆检测帧由目标检测得到,模型方案为PP-YOLOE-L,当输入为文章时,基于车辆检测帧,使用OC-SORT跟踪模型完成车辆的多目标跟踪。

通过车辆检测框的坐标截取相应的位置图像;

车牌检测模型用于识别每张车辆截图中车牌的位置,同样截取车牌区域。模型方案是PP-OCRv3车牌检测模型。

字符识别模型用于识别车牌中的字符,模型方案为PP-OCRv3车牌识别模型。

此外,还采用了一些优化策略来提高速度和精度。

采用跳帧策略,每10帧进行一次车牌检测,避免了每帧车牌检测的计算功耗;

车牌结果稳定策略避免了单帧结果的波动,利用同一id的所有历史车牌识别结果进行投票,得到该id最可能的正确结果;

车辆检测模型结合BDD-100k和UA-DETRAC数据集进行训练,车牌检测方案使用CCPD数据集改进d

车辆属性识别模型使用PaddleClas的超轻型图像分类(PULC)。

在该模型的基础上,进一步使用以下优化方案:

使用SSLD预训练模型,在不改变推理速度的情况下,准确率提高约0.5个百分点;

结合EDA数据增强策略,准确率提高0.52个百分点;

利用SKL-UGI知识提取,准确率提高了0.23个百分点。

参见:

https://github . com/paddle paddle/paddle detection/blob/release/2.5/deploy/pipeline/docs/tutorials/PP vehicle _ attribute . MD

违规检测方案:

通过目标检测得到车辆检测框架,模型方案为PP-YOLOE;

基于跟踪算法得到每辆车的轨迹,模型方案为OC-SORT。车辆中心在违法停车区域,在规定时间内不移动的,视为违法停车;

车牌识别模型用于获取违章停车的车牌并可视化。

参见:

https://github . com/paddle paddle/paddle detection/blob/release/2.5/deploy/pipeline/docs/tutorials/PP vehicle _ illegal _ parking . MD

二次开发

此外,PP-Vehicle支持二次开发。您可以通过在自己的数据集上训练模型和重写策略来定制自己的PP-Vehicle。下图是车牌识别任务二次开发的一个例子:

二次开发示例

参见:

https://github . com/paddle paddle/paddle detection/blob/release/2.5/docs/advanced _ tutorials/customization/PP vehicle _ plate . MD

部署优化

特别是PP-Vehicle针对边缘部署场景进行了优化,比如为Jetson系列车型选择轻量级版本,同时开启跟踪跳帧功能进行优化,并提供丰富的部署选项,实现性能和速度的平衡。

Jetson配置参数

参见:

https://github . com/paddle paddle/paddle detection/blob/release/2.5/deploy/pipeline/docs/tutorials/PP vehicle _ QUICK _ STARTED _ en . MD #推论-部署

审核编辑:李倩

声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

Top