首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“看”车,有TA就够了!车辆分析工具PP-Vehicle开源上新!

“看”车,有TA就够了!车辆分析工具PP-Vehicle开源上新!

作者头像
用户1386409
发布2022-11-29 10:23:21
2610
发布2022-11-29 10:23:21
举报
文章被收录于专栏:PaddlePaddlePaddlePaddle

停车场闸机的车牌识别、道路两侧的违停检测、繁华路口的车流统计、茫茫车海中的车辆锁定…这些场景背后的技术原理大家是否在心中简单构思过?抑或想要抽时间自己攒一套出来可却又不知如何下手?

PP-Vehicle来告诉你答案!

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

▲ PP-Vehicle功能全景图

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

  • 实用性:针对车辆分析场景共性的底层模型进行优选迭代;针对几个高频场景进行了详细的后处理策略设计,可以满足业务的快速上线需求。同时提供丰富的二次开发教程,方便用户根据自己的业务场景进行私有化开发。
  • 泛化性:在公开数据集以及自采数据集上进行充分训练,并且提供预训练模型,覆盖车辆分析中监控视角、驾驶员视角、俯拍视角等常见相机视角。
  • 低代码:实现1行代码快速部署,支持图片、视频、单路/多路rtsp视频流输入,修改配置文件即可快速实现策略修改以及pipeline的组合。

接下来让我们具体看一下PP-Vehicle的工作。源码链接如下:

https://github.com/PaddlePaddle/PaddleDetection

记得Star收藏,防止走丢又实时关注更新!

整体方案

▲ PP-Vehicle技术架构

PP-Vehicle整体分为输入核心算法输出三部分:

输入

支持离线图片、视频以及rtsp视频流等形式,可根据输入类型快速配置,如下图为输入配置为rtsp拉流的示例。

▲ PP-Vehicle rtsp拉流预测示例

核心算法

主要由预训练模型以及逻辑策略组成。预训练模型主要有4个:车辆检测模型、车辆跟踪模型、车牌识别模型、车辆属性分析模型。各个模型性能见下表。

▲ 预训练模型

▲ 违停pipeline配置文件示例

输出

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

▲ rtsp推流展示示例

▲ 可视化效果

  • 详见链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED.md

方案简析

PP-Vehicle针对一些高频车辆分析场景提供了详细的解决方案,在这里就主要思路进行讲解,更多方案细节欢迎大家关注文末课程,听一听开发同学的详解。

车牌识别方案

  • 通过目标检测来获取图片中的车辆检测框,模型方案为PP-YOLOE-l。当输入为视频时,会基于车辆检测框,使用OC-SORT跟踪器来完成车辆的多目标跟踪;
  • 通过车辆检测框的坐标截取对应位置图像;
  • 使用车牌检测模型在每张车辆截图中识别车牌所在位置,同理截取车牌区域,模型方案为PP-OCRv3车牌检测模型
  • 使用字符识别模型识别车牌中的字符,模型方案为PP-OCRv3车牌识别模型;
  • 此外还使用了一些优化策略提升速度以及准确率:
  1. 使用跳帧策略,每10帧做一次车牌检测,避免每帧做车牌检测的算力消耗;
  2. 车牌结果稳定策略,避免单帧结果的波动,利用同一个id的历史所有车牌识别结果进行投票,得到该id最大可能的正确结果;
  3. 车辆检测模型联合BDD-100k和UA-DETRAC数据集训练,车牌检测方案采用CCPD数据集在车牌场景finetune提升检测精度。
  • 详见链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/ppvehicle_plate.md

车辆属性识别方案

  • 车辆属性识别模型使用了PaddleClas超轻量图像分类方案(PULC,Practical Ultra Lightweight image Classification)
  • 在该模型的基础上,进一步使用了以下优化方案:
  1. 使用SSLD预训练模型,在不改变推理速度的前提下,精度提升约0.5个百分点;
  2. 融合EDA数据增强策略,精度提升0.52个百分点;
  3. 使用SKL-UGI知识蒸馏, 精度提升0.23个百分点。
  • 详见链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/ppvehicle_attribute.md

违停检测方案

  • 通过目标检测来获取车辆检测框,模型方案为PP-YOLOE
  • 基于跟踪算法获取每辆车的轨迹,模型方案为OC-SORT。如果车辆中心在违停区域内且在指定时间内未发生移动,则视为违章停车
  • 使用车牌识别模型得到违章停车车牌并可视化
  • 详见链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/ppvehicle_illegal_parking.md

二次开发

此外,PP-Vehicle支持二次开发,大家可以在自己的数据集上进行模型训练、策略改写等,定制化自己的专属PP-Vehicle。如下图为车牌识别任务二次开发示例:

▲ 二次开发示例

  • 详见链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/docs/advanced_tutorials/customization/ppvehicle_plate.md

部署优化

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

▲ Jetson配置参数

  • 详见链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED_en.md#Inference-Deployment

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PaddlePaddle 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档