停车场闸机的车牌识别、道路两侧的违停检测、繁华路口的车流统计、茫茫车海中的车辆锁定…这些场景背后的技术原理大家是否在心中简单构思过?抑或想要抽时间自己攒一套出来可却又不知从何下手?——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针对一些高频车辆分析场景提供了详细的解决方案,在这里就主要思路进行简析,详细的解析大家可以关注课后的海报,听一听开发同学的详解。

车牌识别方案:

  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。如下图为车牌识别任务二次开发示例:

二次开发示例

详见:

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

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

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

最新优秀开源:车牌识别、车型分析、车流统计、违停检测统统行相关推荐

  1. AI车辆检测/车牌识别智能分析网关车辆违停告警功能的开发

    AI人脸检测/口罩检测智能分析网关是一款基于AI边缘计算的智能分析硬件设备,内置多种AI深度学习算法,支持对视频监控场景中的人.车.物.行为等进行抓拍.检测与识别,对异常情况进行实时告警等,可广泛应用 ...

  2. EasyPR中文开源车牌识别系统 开发详解

     在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao ...

  3. 开源车牌识别项目,OpenALPR

    今天在github上看到了一个开源的车牌识别项目,OpenALPR.github链接 我以前自己在MATLAB上编写了一个简单的车牌识别的程序,使用的是传统模板匹配法.只是有了初步的效果,还有很多需要 ...

  4. HyperLPR 开源车牌识别系统搭建踩坑全记录

    (介绍略) 一个开源的车牌识别系统. github地址:https://github.com/szad670401/HyperLPR 一.下载 git clone https://github.com ...

  5. 模式识别之车牌识别---一个开源车牌识别项目easypr

    http://doc.okbase.net/subconscious/archive/105312.html https://github.com/liuruoze http://www.cnblog ...

  6. AI人脸检测智能分析网关新增车辆检测/车牌识别,支持车辆违停告警

    AI人脸检测/口罩检测智能分析网关是一款基于AI边缘计算的智能分析硬件设备,内置多种AI深度学习算法,支持对视频监控场景中的人.车.物.行为等进行抓拍.检测与识别,对异常情况进行实时告警等,可广泛应用 ...

  7. EasyPR--一个开源的中文车牌识别系统

    EasyPR是一个中文的开源车牌识别系统,其目标是成为一个简单.灵活.准确的车牌识别引擎. 相比于其他的车牌识别系统,EasyPR有如下特点: 它基于openCV这个开源库,这意味着所有它的代码都可以 ...

  8. RTSP/GB28181/SDK/Ehome协议人脸识别/车牌识别视频智能分析系统EasyCVR获取播放地址和流地址方法介绍

    视频联网共享服务EasyCVR人脸识别/车牌识别智能分析系统是一个集视频联网共享.存储.流媒体转发.视频转码.视频上云.智能分析等多种功能为一体的流媒体视频服务融合型平台.目前EasyCVR还可以集成 ...

  9. 【操作教程】RTSP/GB28181/SDK/Ehome协议人脸识别/车牌识别视频智能分析系统EasyCVR如何获取播放地址和流地址?

    视频联网共享服务EasyCVR人脸识别/车牌识别智能分析系统是一个集视频联网共享.存储.流媒体转发.视频转码.视频上云.智能分析等多种功能为一体的流媒体视频服务融合型平台.目前EasyCVR还可以集成 ...

最新文章

  1. QEMU+KVM学习笔记
  2. 生成html_HTML页面生成器:使用JavaScript和Node创建CLI
  3. 如何查看别人(自己)电脑最近的浏览记录
  4. fedora8 使用小记之:终端字体设置
  5. mysql into_MYSQL中replace into的用法
  6. Struts2中action接受参数方法
  7. PL/SQL Developer-官网下载地址
  8. HBase到MR再到HBase
  9. GitHub 热榜:文字识别神器,超轻量级中文 OCR!一个超级厉害的开源库
  10. 桌面支持--outlook会议邀请(选择可选参加的领导)
  11. 如何从IP源地址角度,预防DDoS攻击?
  12. 程序员 文本编辑器 c语言,程序员必备的五款文本编辑器
  13. 操作系统之三种进程通信方式
  14. #linux# gcc编译优化-O0 -O1 -O2 -O3 -OS说明
  15. 网站被黑之如何找到黑客
  16. https://tieba.baidu.com/p/4008858829
  17. 梯度下降法算法比较和进一步优化
  18. 如何关闭 Linux 中的嘟嘟声
  19. Python3爬取前程无忧数据分析工作并存储到MySQL
  20. Apache ShenYu源码阅读系列-基于ZooKeeper的数据同步

热门文章

  1. keras教程_Keras教程
  2. 分享UG塑胶模具设计的分模方法,一起学起来
  3. js URLEncode函数
  4. (原创)android6.0系统 PowerManager深入分析(很具体)
  5. 如何利用eclipse创建一个java web项目?
  6. 关于图灵机的妙文(3)——图灵机杂思(rev#2)(刘未鹏)
  7. 好看的蓝色html生日祝福源码
  8. Paradigm Shifts in Kernel Programming 内核编程的范式转移
  9. 可爱的灯泡眨眼表情动画特效
  10. 更新后的微信新功能,你知道吗?