論文地址: https://arxiv.org/pdf/2303.10404.pdf
代碼: 未開源
目前是MOT20的第二名
1. Abstract
這篇文章著力于解決長時(shí)跟蹤的問題. 當(dāng)前大多數(shù)方法只能依靠Re-ID特征來進(jìn)行長時(shí)跟蹤, 也就是軌跡長期丟失后的再識(shí)別. 然而, Re-ID特征并不總是有效的. 尤其是在擁擠和極度遮擋的情況下. 為此, 這篇文章提出了MotionTrack, 包括兩個(gè)方面:
- 設(shè)計(jì)了一個(gè)交互模塊(Interaction Module), 來學(xué)習(xí)短軌跡之間的相互作用. 簡(jiǎn)單來說, 就是根據(jù)目標(biāo)相鄰兩幀的的偏移, 計(jì)算出一個(gè)表征目標(biāo)之間相互影響的矩陣, 隨后利用該矩陣經(jīng)過一個(gè)GCN和MLP來直接得到目標(biāo)的預(yù)測(cè)位置(代替Kalman濾波).
- 設(shè)計(jì)了一個(gè)恢復(fù)模塊(Refined Module), 用來拼接碎片化的軌跡. 對(duì)于沒有匹配成功的檢測(cè)和丟失的軌跡, 計(jì)算他們之間的速度-時(shí)間關(guān)系, 并保留匹配程度高的組合.
2. Introduction
MOT的范式有兩種(當(dāng)然不完全是這兩種), 一是tracking-by-detection, 二是tracking-by-regression. 前者是根據(jù)檢測(cè)器的結(jié)果, 將檢測(cè)與軌跡做關(guān)聯(lián); 而后者往往是檢測(cè)器提供檢測(cè)結(jié)果之外, 還預(yù)測(cè)目標(biāo)的偏移(比如CenterTrack), 也就是直接回歸得到目標(biāo)的新位置, 這樣就不需要額外的關(guān)聯(lián)過程. 本文的方法是tracking-by-detection的方法.
不論哪種范式, 都需要處理短時(shí)和長時(shí)關(guān)聯(lián)的問題. 對(duì)于短時(shí)關(guān)聯(lián), 往往是提取目標(biāo)的運(yùn)動(dòng)或者外觀特征. 但是作者認(rèn)為在擁擠密集的場(chǎng)景中這樣性能有限. 主要的原因是bbox太小, 提取的特征有限, 而且在密集場(chǎng)景中目標(biāo)運(yùn)動(dòng)也是很復(fù)雜的. 對(duì)于長時(shí)關(guān)聯(lián), 如果依靠Re-ID特征去關(guān)聯(lián), 則同樣有分辨率低等等問題, 如果像MeMOT這種采用記憶庫的方式, 則有些耗時(shí).
為此, 作者提出了MotionTrack, 對(duì)于短時(shí)關(guān)聯(lián), 學(xué)習(xí)目標(biāo)之間的交互作用, 來預(yù)測(cè)擁擠場(chǎng)景下的復(fù)雜運(yùn)動(dòng). 對(duì)于長時(shí)關(guān)聯(lián), 將軌跡的歷史信息和當(dāng)前的檢測(cè)進(jìn)行相關(guān)計(jì)算, 隨后利用當(dāng)前檢測(cè)再對(duì)軌跡進(jìn)行修正.
3. Method
下面對(duì)文章解決短時(shí)和長時(shí)關(guān)聯(lián)的兩個(gè)創(chuàng)新點(diǎn)逐一介紹.
3.1 短時(shí)關(guān)聯(lián)–Interaction Module
假設(shè)第 t t t幀, 我們有檢測(cè)集合 D t \mathcal{D}^t Dt, 現(xiàn)有軌跡集合為 T \mathbb{T} T, 共有 M M M個(gè)軌跡, 其中有 S S S個(gè)標(biāo)記為丟失的軌跡, 集合為 T l o s t \mathbb{T}^{lost} Tlost. 我們計(jì)算 M M M個(gè)軌跡在第 t ? 2 t-2 t?2到 t ? 1 t-1 t?1幀的偏移量 O t ∈ R M × 4 \mathcal{O}^t\in\mathbb{R}^{M\times 4} Ot∈RM×4, 每一行分別表示中心點(diǎn)xy和高寬的偏移量. 隨后我們將偏移量和絕對(duì)位置坐標(biāo)concat起來, 得到 I t ∈ R M × 8 I^t\in\mathbb{R}^{M\times 8} It∈RM×8.
隨后, 我們利用自注意力機(jī)制, 得到每個(gè)軌跡之間運(yùn)動(dòng)的影響, 如下式所示:
其中
W
W
W代表權(quán)重,
d
d
d是維數(shù). 這個(gè)與Transformer里的自注意力是基本相似的.
于是我們得到了注意力矩陣 A a t t e ∈ R M × M A^{atte}\in\mathbb{R}^{M\times M} Aatte∈RM×M, 這個(gè)矩陣中的每個(gè)元素表示的就是兩個(gè)軌跡間運(yùn)動(dòng)趨勢(shì)的影響程度.
這其實(shí)是社會(huì)力模型的一種表示, 傳統(tǒng)的社會(huì)力模型是手工設(shè)計(jì)特征, 本文(以及后期的多數(shù)方法)都是用深度學(xué)習(xí)的方式直接學(xué)習(xí).
為了更好地表示群體行為, 作者采用非對(duì)稱卷積(簡(jiǎn)單來說, 就是采用 1 × n 1\times n 1×n或者 n × 1 n\times 1 n×1的卷積核). 因?yàn)樵谶@個(gè)問題中, 采用這樣的卷積核代表的可以是一些軌跡對(duì)一個(gè)軌跡的影響, 也就是群體建模了. 這一步的公式如下:
隨后, 我們只保留大于
ξ
\xi
ξ的元素, 如下所示:
其中 s g n sgn sgn是符號(hào)函數(shù), 圓圈加點(diǎn)是Hadamard積, 也就是逐元素乘積.
最后, 我們利用偏移量 O t O^t Ot, 和表示軌跡間相互影響的矩陣 A a d j c A^{adjc} Aadjc輸入到一個(gè)GCN和MLP后預(yù)測(cè)當(dāng)前幀的偏移量:
其中
W
G
W^G
WG是圖網(wǎng)絡(luò)的權(quán)重.
3.2 長時(shí)關(guān)聯(lián)–Refined Module
我們將預(yù)測(cè)的軌跡的位置和檢測(cè)進(jìn)行IoU匹配(最簡(jiǎn)單的匹配方式), 如果匹配完, 還有 U U U個(gè)檢測(cè)和 S S S個(gè)軌跡沒有匹配, 則進(jìn)入到Refined Module模塊.具體地, 剩余的檢測(cè)集合記為 D r e s t ∈ R U × 5 D^{rest}\in\mathbb{R}^{U\times 5} Drest∈RU×5, 5表示的分別是時(shí)間和 x y w h xywh xywh坐標(biāo). 我們保留30幀歷史軌跡的信息, 因此仍未匹配的軌跡集合記為 T l o s t ∈ R S × 30 × 5 T^{lost}\in\mathbb{R}^{S\times 30 \times 5} Tlost∈RS×30×5, 我們對(duì)于 T l o s t T^{lost} Tlost的第二維和第三維分別采用非對(duì)稱卷積, 得到新的特征, 如下:
對(duì)第二維采用卷積的意義是對(duì)于每個(gè)軌跡, 學(xué)習(xí)時(shí)間維上的關(guān)聯(lián); 對(duì)第三維采用卷積的意義是對(duì)不同軌跡, 學(xué)習(xí)位置間的影響.
隨后對(duì)于檢測(cè), 將當(dāng)前位置和最后一次的位置concat起來, 變成 D r e s t ^ ∈ R U × 10 \hat{D^{rest}}\in\mathbb{R}^{U \times 10} Drest^∈RU×10, 隨后將10升維成D:
其中
F
d
e
t
e
∈
R
U
×
D
F^{dete}\in\mathbb{R}^{U \times D}
Fdete∈RU×D
有一個(gè)疑問: 還沒有匹配, 怎么確定檢測(cè)的最后一次的位置是什么?
隨后將 F d e t e F^{dete} Fdete和 F t r a j F^{traj} Ftraj結(jié)合起來, 變成 F ∈ R S × U × 2 D F\in\mathbb{R}^{S \times U \times 2D} F∈RS×U×2D, 這樣我們對(duì)第三維做MLP+sigmoid, 就可以得到軌跡和檢測(cè)之間的相似度得分(相關(guān)度) C c o r r ∈ R S × U C^{corr}\in\mathbb{R}^{S \times U} Ccorr∈RS×U, 之后將 C c o r r C^{corr} Ccorr作為代價(jià)矩陣, 用貪心算法就可以得到匹配.
得到匹配后, 我們要利用現(xiàn)有的檢測(cè)來修正丟失軌跡的位置, 采用簡(jiǎn)單的線性模型即可:
3.3 整體流程
再看下面的流程圖, 就比較明了了:
3.4 訓(xùn)練
以前做筆記, 不注重是怎么訓(xùn)練的, 其實(shí)這是很重要的一部分…
對(duì)于Interaction Module, 根據(jù)預(yù)測(cè)出的偏移量計(jì)算絕對(duì)坐標(biāo), 并采用IoU損失:
具體地, 采用相鄰的三幀作為一個(gè)sample, 前兩幀是網(wǎng)絡(luò)的輸入, 預(yù)測(cè)出的第三幀位置用來計(jì)算損失.
對(duì)于Refined Module, 對(duì)所有的真值軌跡進(jìn)行提取, 并且隨機(jī)進(jìn)行兩兩組合, 一種組合方式作為一個(gè)訓(xùn)練集, 然后對(duì)軌跡和檢測(cè)進(jìn)行采樣, 看看這個(gè)網(wǎng)絡(luò)預(yù)測(cè)出的檢測(cè)是否屬于該軌跡. 這是個(gè)分類問題, 因此采用交叉熵?fù)p失:
4. 效果與評(píng)價(jià)
總體來說, 效果確實(shí)是很好的.文章來源:http://www.zghlxwxcb.cn/news/detail-597527.html
這篇文章比較"大力出奇跡", 堆了self-attention, 堆了GCN, 也用了相關(guān)運(yùn)算這種在MOT里也比較慣常的做法, 亮點(diǎn)是從社會(huì)力模型的角度講故事, 而且用網(wǎng)絡(luò)代替Kalman預(yù)測(cè)位置也許具有更好的效果.文章來源地址http://www.zghlxwxcb.cn/news/detail-597527.html
到了這里,關(guān)于[論文閱讀筆記20]MotionTrack: Learning Robust Short-term and Long-term Motions for Multi-Object Tracking的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!