基于多傳感器的3DMot
【GiantPandaCV導語】本文針對3D多目標跟蹤任務,介紹了一下近年基于3d lidar目標檢測(如pointpillars)模型的3d mot的算法進展。因為當前3d目標檢測的論文和介紹較多,但對自動駕駛和機器人領域而言,后處理和跟蹤部分尤為重要,這里就賞析一下近年的發(fā)展。
1. IROS 2020-AB3DMOT:A Baseline for 3D Multi-Object Tracking and New Evaluation Metrics
代碼鏈接:https://github.com/xinshuoweng/AB3DMOT
文章鏈接:http://www.xinshuoweng.com/papers/AB3DMOT_eccvw/camera_ready.pdf
出發(fā)點:提供基于3d目標檢測的多目標跟蹤base_line。

因為是baseline算法,比較簡單,這邊簡單對要點做個描述。總體跟蹤過程是Kalman濾波+匈牙利匹配,只使用勻速運動模型.
3D卡爾曼的狀態(tài)變量是(x,y,z,θ,l,w,h,s,Vx,Vy,Vz),沒有包含角速度是因為實驗發(fā)現(xiàn)角速度對性能提升沒有幫助。
數(shù)據(jù)關(guān)聯(lián)部分,輸入為卡爾曼預測結(jié)果T和當前檢測結(jié)果N,首先使用3D IOU或者中心坐標距離構(gòu)建關(guān)聯(lián)矩陣.在這里作者丟掉了IoU小于一定閾值或者中心點距離大于一定值的匹配結(jié)果。然后就使用匈牙利匹配進行匹配,得到匹配上的障礙物和未匹配的障礙物。
對于匹配上的障礙物,使用當前檢測結(jié)果作為觀察,更新卡爾曼狀態(tài)。
Kalman更新模塊涉及到了方向校正的問題。這里為了防止檢測結(jié)果中朝向角可能會出現(xiàn)相差180°的問題,對于預測和觀測朝向角相差大于90°的情況,那么修正預測結(jié)果,會對預測變量中的朝向角增加180°。
創(chuàng)新
將Kalman濾波器擴展到3D領域 提供了3D MOT的評估工具 提出了新的評估指標,考慮不同的軌跡置信度閾值
2. ICRA 2021-EagerMOT: 3D Multi-Object Tracking via Sensor Fusion
1.總覽:
文章鏈接:http://arxiv.org/pdf/2104.14682v1.pdf
代碼鏈接:https://github.com/aleksandrkim61/EagerMOT
出發(fā)點:該算法是融合2d和3d檢測來源的mot算法,且采取了兩階段的數(shù)據(jù)關(guān)聯(lián)。問題:3D點云的檢測和跟蹤有精確的距離測量,但是遠距離的物體掃到的點就很少了,經(jīng)常出現(xiàn)漏檢,而融合3D檢測距離很準而2D檢測看得更遠的優(yōu)勢,提高3D目標跟蹤對遮擋、遠距離目標跟蹤的效果。

2.介紹:
基于激光雷達的3D追蹤方法:對反射率敏感,信號稀疏,只能在有限范圍內(nèi)有效。
基于圖像的2D追蹤方法:無法獲得3D位置信息,對部分遮擋的或者距離很遠的物體具有魯棒性。
EagerMOT提出了一個簡單但有效的多階段數(shù)據(jù)關(guān)聯(lián)方法,可以使用潛在的不同模態(tài)下的不同檢測器。通用性強,適配多種傳感器組合方式:LiDAR+前置攝像頭;LiDAR+多個非重疊攝像頭;只有攝像頭。
3.Method:
1,檢測Detector
信息源:3D:多線激光雷達,產(chǎn)生3d檢測框;2D:圖像,產(chǎn)生2D檢測框。
這兩條線的信息可以不同時具備。

2,F(xiàn)usion(融合)
不同檢測器檢測結(jié)果先融合后關(guān)聯(lián):
使用3D結(jié)果在圖像像素坐標系下的2D投影框與2D圖像檢測框結(jié)果的IoU作為相似度衡量標準,
使用貪婪算法匹配2D結(jié)果 和3D結(jié)果 得到融合結(jié)果。


多攝像頭時的策略:
對于每一個攝像頭執(zhí)行上述流程最終對于有多個2D結(jié)果匹配的3D結(jié)果取IoU最大的匹配。
3,Data Association(數(shù)據(jù)關(guān)聯(lián))
任務:將當前幀中的所有觀測對象與跟蹤序列的卡爾曼預測進行關(guān)聯(lián),論文的二階段匹配可以相互獨立。

狀態(tài)空間設計:3D狀態(tài),與AB3DMOT一致,3D包圍框信息以及三軸速度信息使用常速度運動模型
2D狀態(tài),2D包圍框信息。
第一階段數(shù)據(jù)關(guān)聯(lián):3d關(guān)聯(lián)
使用貪心算法關(guān)聯(lián)檢測到的3D狀態(tài)和上一幀的追蹤3D物體狀態(tài),使用考慮速度方向的歐式距離度量作為相似度度量。
使用貪心算法關(guān)聯(lián)檢測到的3D狀態(tài)和上一幀的追蹤3D物體狀態(tài),使用考慮速度方向的歐式距離度量作為相似度度量。
注意:速度方向夾角為0時α最小

第二階段數(shù)據(jù)關(guān)聯(lián):2d關(guān)聯(lián)
關(guān)聯(lián)2d檢測結(jié)果與2d追蹤,直接使用2D IoU作為相似度衡量標準

4,狀態(tài)更新
2D、3D狀態(tài)都進行更新;
2D狀態(tài)直接使用當前幀中的檢測結(jié)果覆蓋;
3D狀態(tài)需要更新卡爾曼濾波器狀態(tài),使用融合了檢測結(jié)果和卡爾曼濾波預測的最優(yōu)值更新;
如果某物體在當前幀沒有對應的3D信息只含有2d信息,其對應序列直接使用卡爾曼濾波的預測結(jié)果更新。
跟蹤周期控制:
類似于AB3DMOT:
當某一狀態(tài)(2D/3D)超過Age_max幀沒有更新,則刪除此狀態(tài);
當某一物體由2D信息更新超過Age_2d幀后才使用關(guān)聯(lián)上的3D信息進行更新;
未被關(guān)聯(lián)的2D檢測結(jié)果產(chǎn)生新的追蹤狀態(tài)。
主要意義:
能使用2D信息對無法獲取3D信息的對象進行補盲。

實驗部分請關(guān)注原文。
3. SimpleTrack: Understanding and Rethinking 3D Multi-object Tracking
1.總覽:
論文:https://arxiv.org/abs/2111.09621 代碼:https://github.com/TuSimple/SimpleTrack 本文將3dmot算法分解為了四個模塊:檢測模塊、運動模型模塊、關(guān)聯(lián)模塊、軌跡管理,并且對四個模塊現(xiàn)在常見的一些做法進行了分析和改進,是一篇不錯的rethinking論文。在分析的基礎上,作者提出相應的改進,從而形成一個強大而簡單的基線:SimpleTrack。
2,運動模型模塊
檢測模塊沒啥好說的,就是接收3d檢測結(jié)果,做一些坐標轉(zhuǎn)換(如轉(zhuǎn)到world坐標系)。
運動預測模塊主要依據(jù)某些運動學模型預測后續(xù)運動,進而實現(xiàn)后續(xù)與觀測量(檢測結(jié)果)的匹配。目前常用的運動學模型分為兩種,卡爾曼濾波法(KF)和速度預測模型法(CV, 如CenterPoint這樣把兩幀點云放進去預測速度)。其中卡爾曼濾波在觀測質(zhì)量較低時可以提供更平滑的預測結(jié)果,而速度預測模型法可以較好的處理突發(fā)和不可預測的運動。作者通過實驗分析發(fā)現(xiàn),幀率較低時(如2hz)時,CV法更占據(jù)優(yōu)勢,而幀率較高時,KF法更占優(yōu)勢。
3,Data Association(數(shù)據(jù)關(guān)聯(lián))
關(guān)聯(lián)模塊主要有兩種做法,一種是基于IoU的關(guān)聯(lián)方式,一種是基于距離的關(guān)聯(lián)方式。這兩種方式都可以構(gòu)建cost矩陣。前者是IoU大于閾值就關(guān)聯(lián)上了,反之就沒有關(guān)聯(lián)上。后者一般使用歐式距離或者馬氏距離(也有類似EagerMot那樣考慮了余弦距離和歐式距離加權(quán)的做法)。這兩種方法各有優(yōu)劣,對于基于IoU的方法而言,一旦IoU過小就關(guān)聯(lián)不上,但是這個觀測仍然是存在的,這就會導致某些目標的軌跡提前消失!而對于距離的關(guān)聯(lián)方式而言,則可能會導致誤檢。因為如果用中心點距離,表示性不夠(如物體的高度影響也很大)。基于以上問題,作者提出了GIoU進行關(guān)聯(lián),這是目標檢測新常用的iou形式。
關(guān)聯(lián)方式上,作者也對比了匈牙利算法和貪婪算法。
3,軌跡管理模塊
在MOT中有一個重要的評價指標ID-Switches,這個指標表示預測的ID與真實的ID不匹配的次數(shù)。作者將出現(xiàn)這個錯誤的原因分為了兩種,分別是1、錯誤關(guān)聯(lián) 2、提前結(jié)束。

其中提前結(jié)束這種錯誤占了大多數(shù)。提前結(jié)束常是因為iou太低被過濾了。因而作者提出了兩階段關(guān)聯(lián),簡單來說就是設置了兩個高低閾值,分別是Th和Tl。首先進行對iou大于Th的Box做正常的匹配關(guān)聯(lián),在第二階段,只要Box的置信度高于Tl就允許進行關(guān)聯(lián),但是由于這一段檢測結(jié)果質(zhì)量較差,所以檢測結(jié)果不用于更新運動模型,而是使用運動預測結(jié)果代替檢測結(jié)果輸出。在使用兩階段關(guān)聯(lián)后,ID-Switch指標得到了明顯的提升。
歡迎關(guān)注GiantPandaCV, 在這里你將看到獨家的深度學習分享,堅持原創(chuàng),每天分享我們學習到的新鮮知識。( ? ?ω?? )?
