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

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

整體方案

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

PP-Vehiclertsp拉流預(yù)測示例
-
核心算法:主要由預(yù)訓(xùn)練模型以及邏輯策略組成。預(yù)訓(xùn)練模型主要有4個:車輛檢測模型、車輛跟蹤模型、車牌識別模型、車輛屬性分析模型。各個模型性能見下表:

預(yù)訓(xùn)練模型

違停pipeline配置文件示例
-
輸出:包括車牌信息、車輛軌跡、車輛屬性、違停信息等;同時支持這些信息的可視化渲染輸出,如下圖為直接配置可視化信息rtsp推流顯示。

rtsp推流展示示例
詳見:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED.md
方案簡析
PP-Vehicle針對一些高頻車輛分析場景提供了詳細的解決方案,在這里就主要思路進行簡析,詳細的解析大家可以關(guān)注課后的海報,聽一聽開發(fā)同學(xué)的詳解。
車牌識別方案:
-
通過目標(biāo)檢測來獲取圖片中的車輛檢測框,模型方案為PP-YOLOE-l。當(dāng)輸入為視頻時,會基于車輛檢測框,使用OC-SORT跟蹤模型來完成車輛的多目標(biāo)跟蹤;
-
通過車輛檢測框的坐標(biāo)截取對應(yīng)位置圖像;
-
使用車牌檢測模型在每張車輛截圖中識別車牌所在位置,同理截取車牌區(qū)域,模型方案為PP-OCRv3車牌檢測模型;
-
使用字符識別模型識別車牌中的字符,模型方案為PP-OCRv3車牌識別模型;
-
此外還使用了一些優(yōu)化策略提升速度以及準(zhǔn)確率。
-
使用跳幀策略,每10幀做一次車牌檢測,避免每幀做車牌檢測的算力消耗;
-
車牌結(jié)果穩(wěn)定策略,避免單幀結(jié)果的波動,利用同一個id的歷史所有車牌識別結(jié)果進行投票,得到該id最大可能的正確結(jié)果;
-
車輛檢測模型聯(lián)合BDD-100k和UA-DETRAC數(shù)據(jù)集訓(xùn)練, 車牌檢測方案采用CCPD數(shù)據(jù)集在車牌場景finetune提升檢測精度。
詳見:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/ppvehicle_plate.md
車輛屬性識別方案:
-
車輛屬性識別模型使用了PaddleClas的超輕量圖像分類方案(PULC,Practical Ultra Lightweight image Classification)。
-
并在該模型的基礎(chǔ)上,進一步使用了以下優(yōu)化方案:
-
使用SSLD預(yù)訓(xùn)練模型,在不改變推理速度的前提下,精度提升約0.5個百分點;
-
融合EDA數(shù)據(jù)增強策略,精度提升0.52個百分點;
-
使用SKL-UGI知識蒸餾, 精度提升0.23個百分點。
詳見:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/ppvehicle_attribute.md
違停檢測方案:
-
通過目標(biāo)檢測來獲取車輛檢測框,模型方案為PP-YOLOE;
-
基于跟蹤算法獲取每輛車的軌跡,模型方案為OC-SORT。如果車輛中心在違停區(qū)域內(nèi)且在指定時間內(nèi)未發(fā)生移動,則視為違章停車;
-
使用車牌識別模型得到違章停車車牌并可視化。
詳見:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/ppvehicle_illegal_parking.md
二次開發(fā)
此外,PP-Vehicle支持二次開發(fā),大家可以在自己的數(shù)據(jù)集上進行模型訓(xùn)練、策略改寫等,定制化自己的專屬PP-Vehicle。如下圖為車牌識別任務(wù)二次開發(fā)示例:

二次開發(fā)示例
詳見:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/docs/advanced_tutorials/customization/ppvehicle_plate.md
部署優(yōu)化
特別的,PP-Vehicle針對邊緣端部署場景進行了優(yōu)化,如針對Jetson系列模型選擇輕量級版本,同時開啟跟蹤跳幀功能進行優(yōu)化,同時提供了豐富的部署選項以達到性能-速度的平衡。

Jetson配置參數(shù)
詳見:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED_en.md#Inference-Deployment
審核編輯 :李倩
-
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70790 -
車牌識別
+關(guān)注
關(guān)注
5文章
83瀏覽量
16014 -
車輛檢測
+關(guān)注
關(guān)注
0文章
32瀏覽量
10980
原文標(biāo)題:最新優(yōu)秀開源!車牌識別、車輛檢測、車輛跟蹤、違停檢測一網(wǎng)打盡!
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于LockAI視覺識別模塊:C++目標(biāo)檢測
DA14594 BLE Pro開發(fā)套件 開源 (原理圖+BOM+PCB)

SC171開發(fā)套件V3 技術(shù)資料
AI功能(SC171開發(fā)套件V3)
AI端側(cè)部署案例(SC171開發(fā)套件V3)
AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)
首創(chuàng)開源架構(gòu),天璣AI開發(fā)套件讓端側(cè)AI模型接入得心應(yīng)手
燧原科技正式納入飛槳例行版本發(fā)布體系

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

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

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

評論