Python numpy 入門系列 21
尊重原創版權: https://www.gewuweb.com/hot/7766.html
Python實時目標跟蹤系統神器,自動駕駛,違章檢測?分分鐘做出來
uQDIgQcZ4qBt2GcZMS_LrCeB/?source=tuwen_detail)
在當下自動駕駛、智慧城市、安防等領域對車輛、行人、飛行器等快速移動的物體進行實時跟蹤及分析的需求可謂比比皆是,
但單純的目標檢測演算法只能輸出目標的定位+分類,無法對移動的目標具體的運動行為及特徵進行分析,因此在具體的車輛行為分析、交通違章判別、嫌疑犯追蹤、飛行器監管等場景,目標追蹤發揮著不可替代的作用。
但實際目標追蹤的專案落地,往往面臨被檢目標多、相互遮擋、影象扭曲變形、背景雜亂、視角差異大、目標小且運動速度快等產業實際技術難題。
那如何快速實現高效能的目標跟蹤任務呢?一個相對完善的目標跟蹤任務實現,
往往需要融合目標檢測、行人重識別、軌跡融合等多項技術能力,並對上述產業實際的技術難點,分別進行長時間深度優化,同時考慮跨鏡頭、多類別、小目標跟蹤以及輕量化部署等實際業務訴求。
難麼?別急,近日在GitHub社群釋出的一個開源目標跟蹤系統—PP-
Tracking就能使開發者快速用Python完成一個高效能的目標跟蹤任務,並實現伺服器側輕量化上線。
它的具體結構圖如下:
關於詳細的結構詳解,可以前往具體專案連結檢視:
github地址
當然,如果你覺得專案確實實用,支援開源最好的方式就是點亮Star星標支援一下
1
功能豐富效果佳
PP-
Tracking內建DeepSORT[6]、JDE[7]與FairMOT[8]三種主流高精度多目標跟蹤模型,並針對產業痛點、結合實際落地場景進行一系列拓展和優化,覆蓋多類別跟蹤、跨鏡跟蹤、流量統計等功能與應用,可謂是精度、效能、功能豐富樣樣俱全~
- ** 單鏡頭跟蹤 **
單鏡頭下的單類別目標跟蹤是指在單個鏡頭下,對於同一種類別的多個目標進行連續跟蹤,是跟蹤任務的基礎。針對該任務,PP-Tracking基於端到端的One
Shot高精模型FairMOT[8],替換為更輕量的骨幹網路HRNetV2-W18,採用多種Tricks,如Sync_BN與EMA,保持效能的同時大幅提高了精度,並且擴大訓練資料集,減小輸入尺寸,最終實現服務端輕量化模型在權威資料集MOT17上精度達到MOTA
65.3,在NVIDIA Jetson NX上速度達到23.3FPS,GPU上速度可達到60FPS!同時,針對對精度要求較高的場景,PP-
Tracking還提供了精度高達MOTA75.3的高精版跟蹤模型~
- ** 多類別跟蹤 **
PP-
Tracking不僅高效能地實現了單鏡頭下的單類別目標跟蹤,更針對多種不同類別的目標跟蹤場景,增強了特徵匹配模組以適配不同類別的跟蹤任務,實現跟蹤類別覆蓋人、自行車、小轎車、卡車、公交、三輪車等上十種目標,精準實現多種不同種類物體的同時跟蹤。
- ** 跨鏡頭跟蹤 **
安防場景常常會涉及在多個鏡頭下對於目標物體的持續跟蹤。當目標從一個鏡頭切換到另一個鏡頭,往往會出現目標跟丟的情況,這時,一個效果好速度快的跨鏡頭跟蹤演算法就必不可少了!PP-
Tracking中提供的跨鏡頭跟蹤能力基於DeepSORT[6]演算法,採用了百度自研的輕量級模型PP-PicoDet和PP-
LCNet分別作為檢測模型和ReID模型,配合軌跡融合演算法,保持高效能的同時也兼顧了高準確度,實現在多個鏡頭下緊跟目標,無論鏡頭如何切換、場景如何變換,也能準確跟蹤目標的效果。
- ** 流量監測 **
與此同時,針對智慧城市中的高頻場景—人/車流量監測,PP-
Tracking也提供了完整的解決方案,應用伺服器端輕量級版FairMOT[8]模型預測得到目標軌跡與ID資訊,實現動態人流/車流的實時去重計數,並支援自定義流量統計時間間隔。
為了滿足不同業務場景下的需求,如商場進出口人流監測、高速路口車流量監測等,PP-Tracking更是提供了出入口兩側流量統計方式~
複雜場景覆蓋全
- ** 行人、車輛跟蹤 **
智慧交通中,行人和車輛的場景尤為廣泛,因此PP-
Tracking針對行人和車輛,提供對應的預訓練模型,大幅降低開發成本,節省訓練時間和資料成本,實現業務場景直接推理,演算法即應用的效果!不僅如此,PP-
Tracking支援顯示目標軌跡,更直觀地輔助實現高效的路徑規劃分析。
- ** 人頭跟蹤 **
不僅如此,除了在日常跟蹤任務中擁有極強的通用性,針對實際業務中常常出現目標遮擋嚴重等問題,PP-
Tracking也進行了一系列優化,提供了基於FairMOT[8]訓練的人頭跟蹤模型,並在Head Tracking 2021資料集榜單位居榜首,助力PP-
Tracking靈活適配各類行人場景。
- 小目標跟蹤
針對小目標出現在大尺幅影象中的產業常見難題場景,PP-
Tracking進行了一系列的優化,提供專門針對小目標跟蹤的預訓練模型,實現在特殊場景,如無人機等航拍場景下,也能達到較為精準的效果~
兩種使用模式,訓練推理靈活掌握
為了滿足不同的開發需求,PP-Tracking支援兩種使用方式,無論是想通過程式碼呼叫/訓練模型,進行快速推理部署,還是想要零程式碼直接上手使用功能,PP-
Tracking通通滿足你!
- API程式碼呼叫:API簡潔易用,支援模型呼叫、訓練與推理部署,最大程度降低開發成本的前提下,靈活適配各類場景與任務。
- 視覺化開發介面:支援單鏡頭下的單、多目標跟蹤,並覆蓋小目標、人/車流量統計等複雜場景及應用,無需任何開發,即可直接體驗功能,便於集成於各類硬體。
更貼心的是,PP-Tracking支援Python、C++兩種部署語言,同時提供使用飛槳原生推理庫Paddle
Inference和飛槳服務化推理框架Paddle Serving的保姆級部署教程,真正意義上打通從訓練、推理到部署的全流程。
4
產業場景快速融合
這麼厲害的實時跟蹤系統在實際落地中的表現如何呢?接下來,讓我們看看PP-Tracking的實際業務落地效果吧~
以人流量計數為例,在上海音智達公司的實際業務中,使用PP-
Tracking中的服務端輕量化版FairMOT[8],結合人流量計數功能,快速實現商圈出入口的實時人流量去重計數。
被應用於自動駕駛、安防、交通、城市等多種領域的目標跟蹤你學會了麼?
跟蹤你學會了麼?