停車場閘機的車牌識別、道路兩側的違停檢測、繁華路口的車流統計、茫茫車海中的車輛鎖定…這些場景背后的技術原理大家是否在心中簡單構思過?抑或想要抽時間自己攢一套出來可卻又不知從何下手?——PP-Vehicle來告訴你答案。
繼行人分析工具PP-Human之后,飛槳目標檢測端到端開發套件PaddleDetection正式開源車輛分析工具PP-Vehicle!

PP-Vehicle是一款針對車輛分析相關場景的開源工具,產品主要圍繞以下幾個方面進行設計開發:
-
實用性:針對車輛分析場景共性的底層模型進行優選迭代;針對幾個高頻場景進行了詳細的后處理策略設計,可以滿足業務的快速上線需求。同時提供豐富的二次開發教程,方便用戶根據自己的業務場景進行私有化開發。
-
泛化性:在公開數據集以及自采數據集上進行充分訓練,并且提供預訓練模型,覆蓋車輛分析中監控視角、駕駛員視角、俯拍視角等常見相機視角。
-
低代碼:實現1行代碼快速部署,支持圖片、視頻、單路/多路rtsp視頻流輸入,修改配置文件即可快速實現策略修改以及pipeline的組合。
接下來讓我們具體看一下PP-Vehicle的工作。
搭配源碼食用更佳!
https://github.com/PaddlePaddle/PaddleDetection
記得Star收藏,
防止走丟又實時關注更新!

整體方案

PP-Vehicle技術架構
PP-Vehicle整體分為輸入、核心算法、輸出三部分:
-
輸入:支持離線圖片、視頻以及rtsp視頻流等形式,可根據輸入類型快速配置,如下圖所示,為輸入配置為rtsp拉流的示例。

PP-Vehiclertsp拉流預測示例
-
核心算法:主要由預訓練模型以及邏輯策略組成。預訓練模型主要有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車牌識別模型;
-
此外還使用了一些優化策略提升速度以及準確率。
-
使用跳幀策略,每10幀做一次車牌檢測,避免每幀做車牌檢測的算力消耗;
-
車牌結果穩定策略,避免單幀結果的波動,利用同一個id的歷史所有車牌識別結果進行投票,得到該id最大可能的正確結果;
-
車輛檢測模型聯合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)。
-
并在該模型的基礎上,進一步使用了以下優化方案:
-
使用SSLD預訓練模型,在不改變推理速度的前提下,精度提升約0.5個百分點;
-
融合EDA數據增強策略,精度提升0.52個百分點;
-
使用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
審核編輯 :李倩
-
代碼
+關注
關注
30文章
4887瀏覽量
70264 -
車牌識別
+關注
關注
5文章
83瀏覽量
15929 -
車輛檢測
+關注
關注
0文章
32瀏覽量
10954
原文標題:最新優秀開源!車牌識別、車輛檢測、車輛跟蹤、違停檢測一網打盡!
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
DA14594 BLE Pro開發套件 開源 (原理圖+BOM+PCB)

SC171開發套件V3 技術資料
AI功能(SC171開發套件V3)
AI端側部署案例(SC171開發套件V3)
AI端側部署開發(SC171開發套件V3)
首創開源架構,天璣AI開發套件讓端側AI模型接入得心應手
如何在C#中部署飛槳PP-OCRv4模型

【米爾RK3576開發板評測】+項目名稱百度飛槳PP-YOLOE
使用OpenVINO C# API輕松部署飛槳PP-OCRv4模型

端到端自動駕駛技術研究與分析
凌智電子加入飛槳技術伙伴計劃,攜手PaddleX為視覺模組產品賦能添“智”

端到端測試用例怎么寫
【xG24 Matter開發套件試用體驗】深入了解Silicon Labs xG24 Matter開發套件
JH-7110 RISC-V開發套件正式開源

評論