A Baseline for 3D Multi-odject Tracking:多目標跟蹤方法


ref: https://zhuanlan.zhihu.com/p/80993033

流程

使用PointRCNN的目標檢測結果來跟蹤;

使用卡爾曼濾波器跟蹤;

使用匈牙利算法匹配前后幀的對象。

特點:

使用了3D的卡爾曼濾波器

優點:

簡單快速效果好

使用的特征和狀態轉移模型?

10-dimensional vector T = (x, y, z, θ, l, w, h, vx, vy, vz) ,沒有使用角速度,加入后效果不好;

狀態轉移方程是恆定速率模型

論文的結果表顯示使用2D的卡爾曼效果也還挺好,MOTA 僅僅降低了一個百分點左右;

匈牙利匹配的cost matrix 是什么?

是跟蹤器預測的3D box 和 檢測的3D box的 3dIOU矩陣;

怎么創建跟蹤器跟蹤器的? 怎么銷毀的?

至少3幀發現同一個物體,才會創建跟蹤器(Fmin)

丟失物體的跟蹤器,還會繼續檢測2幀(age)

為什么有一個把x,y,z,alpha,l,w,h 的順序調換的步驟,后續又換回來了?

這里 pointRCNN 給出的結果順序是反的,代碼里面只是把它重新調整回來而已。

狀態轉移矩陣為什么要加3個1,恆速率模型怎么得到它的?

因為 下一時刻距離=上一時刻距離+速度,所以三個方向的速度要加1,但是實際上這里有個問題,每個時刻的間隔不一定是1秒,這樣算會帶來誤差。

使用數據集

kitti MOT 數據集;

這么快的原因?

使用了numba 加速

Total Tracking took: 98.099 for 8008 frames or 81.6 FPS

沒有使用 numba 加速

Total Tracking took: 145.496 for 8008 frames or 55.0 FPS

可以得出,不使用 numba 加速的話,速度降低了 32%;

匈牙利算法和NN、 GNN方法有什么區別?

沒有很大的差別,都是用於求解指派問題的方法,NN是局部最優,GNN和匈牙利是全局最優;

可以做的改進:

1 把 KF 改為 UKF、EKF效果應該更好吧;

2 使用循環計算 3D IOU 應該是比較慢的,這里其實可以使用2D IOU,並且可以使用 cython 的計算過程來進一步加速。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM