0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

CVer 来源:CVer 作者:CVer 2022-10-20 11:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

81b9849a-5020-11ed-a3b6-dac502259ad0.gifPP-Vehicle功能全景图

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

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

  • 泛化性:在公开数据集以及自采数据集上进行充分训练,并且提供预训练模型,覆盖车辆分析中监控视角、驾驶员视角、俯拍视角等常见相机视角。

  • 低代码:实现1行代码快速部署,支持图片、视频、单路/多路rtsp视频流输入,修改配置文件即可快速实现策略修改以及pipeline的组合。

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

搭配源码食用更佳!

https://github.com/PaddlePaddle/PaddleDetection

记得Star收藏,

防止走丢又实时关注更新!

82380b44-5020-11ed-a3b6-dac502259ad0.png

整体方案

82506a68-5020-11ed-a3b6-dac502259ad0.png

PP-Vehicle技术架构

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

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

825992be-5020-11ed-a3b6-dac502259ad0.png

PP-Vehiclertsp拉流预测示例

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

828f5d18-5020-11ed-a3b6-dac502259ad0.png

预训练模型

82f34ee0-5020-11ed-a3b6-dac502259ad0.png

违停pipeline配置文件示例

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

838074d2-5020-11ed-a3b6-dac502259ad0.png

rtsp推流展示示例

838b60a4-5020-11ed-a3b6-dac502259ad0.gif

可视化效果

详见:

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

方案简析

PP-Vehicle针对一些高频车辆分析场景提供了详细的解决方案,在这里就主要思路进行简析,详细的解析大家可以关注课后的海报,听一听开发同学的详解。

车牌识别方案:

  1. 通过目标检测来获取图片中的车辆检测框,模型方案为PP-YOLOE-l。当输入为视频时,会基于车辆检测框,使用OC-SORT跟踪模型来完成车辆的多目标跟踪;

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

  3. 使用车牌检测模型在每张车辆截图中识别车牌所在位置,同理截取车牌区域,模型方案为PP-OCRv3车牌检测模型

  4. 使用字符识别模型识别车牌中的字符,模型方案为PP-OCRv3车牌识别模型;

  5. 此外还使用了一些优化策略提升速度以及准确率。

  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

车辆属性识别方案:

  1. 车辆属性识别模型使用了PaddleClas超轻量图像分类方案(PULC,Practical Ultra Lightweight image Classification)

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

  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

违停检测方案:

  1. 通过目标检测来获取车辆检测框,模型方案为PP-YOLOE;

  2. 基于跟踪算法获取每辆车的轨迹,模型方案为OC-SORT。如果车辆中心在违停区域内且在指定时间内未发生移动,则视为违章停车;

  3. 使用车牌识别模型得到违章停车车牌并可视化。

详见:

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

二次开发

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

89ab6740-5020-11ed-a3b6-dac502259ad0.png

二次开发示例

详见:

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

部署优化

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

89bf00ca-5020-11ed-a3b6-dac502259ad0.png

Jetson配置参数

详见:

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

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4942

    浏览量

    73159
  • 车牌识别
    +关注

    关注

    5

    文章

    84

    浏览量

    16467
  • 车辆检测
    +关注

    关注

    0

    文章

    32

    浏览量

    11022

原文标题:最新优秀开源!车牌识别、车辆检测、车辆跟踪、违停检测一网打尽!

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶中“一段式”和“二段式”有什么区别?

    [首发于智驾最前沿微信公众号]最近有小伙伴提问,一段式和二段式有什么区别。其实说到自
    的头像 发表于 10-24 09:03 632次阅读
    自动驾驶中“一段式<b class='flag-5'>端</b><b class='flag-5'>到</b><b class='flag-5'>端</b>”和“二段式<b class='flag-5'>端</b><b class='flag-5'>到</b><b class='flag-5'>端</b>”有什么区别?

    广和通发布目标检测模型FiboDet

    为提升侧设备视觉感知与决策能力,广和通全自研目标检测模型FiboDet应运而生。该模型基于广和通在边缘计算与人工智能领域的深度积累,面向工业、交通、零售等多个行业提供高性能、低功
    的头像 发表于 09-26 13:39 1414次阅读

    基于LockAI视觉识别模块:C++目标检测

    是基于百度深度学习框架开发的一个高效的目标检测库,支持多种先进的目标
    发表于 06-06 14:43

    DA14594 BLE Pro开发套件 开源 (原理图+BOM+PCB)

    DA14594-006FDEVKT-P BLE Pro开发套件 *附件:REN_DA1459x_开发板 硬件手册.pdf *附件:DA1459x Pro开发套件 (469-16-D) 物料清单
    的头像 发表于 05-22 10:47 1041次阅读
    DA14594 BLE Pro<b class='flag-5'>开发套件</b> <b class='flag-5'>开源</b> (原理图+BOM+PCB)

    SC171开发套件V3 技术资料

    /jishu_2485277_1_1.html 硬件配件测试与使用(SC171开发套件V3) https://bbs.elecfans.com/jishu_2485280_1_1.html AI侧部署开发
    发表于 04-17 11:03

    AI功能(SC171开发套件V3)

    https://t.elecfans.com/v/27892.html *附件:文档:图像语义分割(deeplabv3)案例----基于SC171开发套件V3.pdf 见文档说明 2 人体目标检测
    发表于 04-16 18:48

    AI侧部署案例(SC171开发套件V3)

    AI侧部署案例(SC171开发套件V3) 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 初学者入门手写数字识别案例 20分02秒 https://t.elecfans.com
    发表于 04-16 18:33

    AI侧部署开发(SC171开发套件V3)

    AI侧部署开发(SC171开发套件V3) 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 Fibo AI Stack模型转化指南------Docker Desktop环境操作
    发表于 04-16 18:30

    首创开源架构,天玑AI开发套件侧AI模型接入得心应手

    时间。 这不仅仅是工具的升级,更是迈向智能体化用户体验的关键基础设施。 天玑AI开发套件 2.0,全面释放天玑侧AI能力 去年,天玑AI开发套件一经发布就广受
    发表于 04-13 19:52

    燧原科技正式纳入例行版本发布体系

    燧原科技与经过长时间的适配合作和持续集成(CI)建设,对合⼊的每⼀行代码都在燧原硬件上进⾏了验证。如今,燧原正式纳入
    的头像 发表于 04-11 11:31 827次阅读
    燧原科技正式纳入<b class='flag-5'>飞</b><b class='flag-5'>桨</b>例行版本发布体系

    如何在C#中部署PP-OCRv4模型

    《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》收到了读者热烈反响c,很多读者提出:如何在C#中部署PP-OCRv4模型?本文从零开始详细介绍整个过程。
    的头像 发表于 02-17 10:58 2656次阅读
    如何在C#中部署<b class='flag-5'>飞</b><b class='flag-5'>桨</b><b class='flag-5'>PP</b>-OCRv4模型

    【米尔RK3576开发板评测】+项目名称百度PP-YOLOE

    一、简介 PP-YOLOE是百度基于其之前的PP-YOLOv2所改进的卓越的单阶段Anchor-free模型,超越了多种流行的YOLO模型。PP-YOLOE,有更高的检测精度且部署友好
    发表于 02-15 17:14

    使用OpenVINO C# API轻松部署PP-OCRv4模型

    ​ 作者:算力魔方创始人/英特尔创新大使刘力 《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》 收到了读者热烈反响,很多读者提出:如何在C#中部署PP-OC
    的头像 发表于 02-12 10:42 2023次阅读
    使用OpenVINO C# API轻松部署<b class='flag-5'>飞</b><b class='flag-5'>桨</b><b class='flag-5'>PP</b>-OCRv4模型

    自动驾驶技术研究与分析

    传递和全局优化的优势,成为智能驾驶技术发展的重要方向。与传统模块化架构相比,技术通过深度神经网络实现从传感器数据输入车辆控制信号输出
    的头像 发表于 12-19 13:07 1522次阅读

    【正点原子STM32H7R3开发套件试用体验】开发套件开箱报告

    学习STM32从入门跑路了。 而且官方提供的资料和例程,那也是特别的丰富: 正点原子STM32H7R3开发套件确实是一套非常值得拥有,非常值得学习研究的开发套件
    发表于 12-12 00:54