TrackFormer解读
TrackFormer和TransTrack一樣是基于Transformer在MOT上的工作,其中一位作者就是DETR的作者,相比TransTrack雖然MOTA上不是很高,但是IDF1和IDs都是好不少的,個(gè)人覺(jué)得也是值得關(guān)注的工作,甚至有點(diǎn)更簡(jiǎn)明的感覺(jué)。
簡(jiǎn)介
此前已有TransTrack首開(kāi)先河,我也對(duì)此做了解讀,這篇TrackFormer也是基于Transformer做的MOT工作,也參考了DETR的思路,引入了track query來(lái)以自回歸的方式跟蹤目標(biāo),這個(gè)track query由DETR檢測(cè)器生成并且隨著時(shí)間集成了對(duì)應(yīng)目標(biāo)的位置信息,而Transformer的decode在幀之間調(diào)整track query,從而跟隨了目標(biāo)位置的變化。TrackFormer因此以一種新的tracking-by-attention范式實(shí)現(xiàn)了一種無(wú)縫的幀間數(shù)據(jù)關(guān)聯(lián),注意力機(jī)制確保了模型同時(shí)考慮位置、遮擋和目標(biāo)的識(shí)別特征。在MOT17和MOTS20上,TrackFormer取得了SOTA表現(xiàn),進(jìn)一步推動(dòng)了Transformer在計(jì)算機(jī)視覺(jué)中的發(fā)展。
-
論文標(biāo)題
TrackFormer: Multi-Object Tracking with Transformers
-
論文地址
http://arxiv.org/abs/2101.02702
-
論文源碼
暫未開(kāi)源
介紹
在人群密集的場(chǎng)景中跟蹤多個(gè)目標(biāo)其實(shí)是非常大的挑戰(zhàn),因?yàn)閷?duì)人而言集中注意力關(guān)注一個(gè)目標(biāo)已經(jīng)不是很容易的事情,因此將Transformer這種強(qiáng)大的自注意力引入MOT任務(wù)中,是一種很好的選擇。而隨著圖像級(jí)別的目標(biāo)檢測(cè)器的發(fā)展,大部分MOT方法都采用tracking-by-detection的思路,它主要分為兩步:首先,在單幀上檢測(cè)出目標(biāo),接著在幀間檢測(cè)結(jié)果之間進(jìn)行關(guān)聯(lián),從而形成沿著時(shí)間的軌跡。
很多方法在數(shù)據(jù)關(guān)聯(lián)這一步做了研究,關(guān)聯(lián)其實(shí)也才是跟蹤的核心問(wèn)題。傳統(tǒng)的TBD(tracking-by-detection)方法關(guān)聯(lián)檢測(cè)框采用時(shí)序的稀疏或密集圖優(yōu)化方法,或者使用卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)檢測(cè)框之間的匹配分?jǐn)?shù)。最近的一些工作則產(chǎn)生了一些新的思路,如tracking-by-regression方法,這類方法中檢測(cè)器不僅僅輸出逐幀的檢測(cè)結(jié)果,同時(shí)還取代了數(shù)據(jù)關(guān)聯(lián)步驟,以軌跡位置變化的回歸來(lái)實(shí)現(xiàn)。這類方法隱式地進(jìn)行數(shù)據(jù)關(guān)聯(lián),不過(guò)還是依賴于額外的圖優(yōu)化或者運(yùn)動(dòng)和外觀模型。這在很大程度上是由于缺乏對(duì)象標(biāo)識(shí)和局部邊界框回歸的概念。
這篇論文中,作者提出了一種將MOT問(wèn)題視為tracking-by-attention的方法,即TrackFormer。TrackFormer以一個(gè)統(tǒng)一的方式同時(shí)實(shí)現(xiàn)目標(biāo)檢測(cè)和數(shù)據(jù)關(guān)聯(lián),如下圖所示,TrackFormer基于CNN和Transformer(基于DETR中的結(jié)構(gòu))實(shí)現(xiàn)軌跡的形成。就像我之前在Transformer的文章中所說(shuō),這篇論文的主要工作其實(shí)也集中在decoder的query上。它通過(guò)新提出的track query以自回歸方式在視頻序列中在空間和時(shí)間上跟蹤一個(gè)對(duì)象。在每一幀上,模型會(huì)對(duì)多個(gè)track query進(jìn)行變換,這個(gè)track query表示對(duì)應(yīng)目標(biāo)的空間位置。Transformer在幀級(jí)特征和track query上執(zhí)行注意力操作,以推理目標(biāo)位置和身份(伴隨遮擋)以及新物體的出現(xiàn)。新目標(biāo)的出現(xiàn)是同一個(gè)Transformer以統(tǒng)一的方式為新進(jìn)入場(chǎng)景的目標(biāo)生成track query來(lái)實(shí)現(xiàn)的。
TrackFormer可以端到端訓(xùn)練完成檢測(cè)和跟蹤任務(wù),和DETR類似,優(yōu)化目標(biāo)也是一個(gè)集合預(yù)測(cè)損失。它實(shí)現(xiàn)了與注意力的隱式關(guān)聯(lián)軌跡,不需要額外的匹配,優(yōu)化或者運(yùn)動(dòng)和外觀的建模。在benchmark評(píng)估中,將TrackFormer應(yīng)用到MOT17數(shù)據(jù)集上,它達(dá)到了SOTA表現(xiàn)。此外,我們展示了我們的模型輸出分割掩模的靈活性,并展示了多目標(biāo)跟蹤和分割(MOTS20)上SOTA成果。
TrackFormer
TrackFormer的核心其實(shí)是提出了一個(gè)track query的東西,這和TransTrack中的learned query結(jié)合track feature的思路非常類似,它的整體結(jié)構(gòu)如下圖所示。
論文首先回顧了DETR并進(jìn)行了一些數(shù)學(xué)上的推導(dǎo),我這里就在已了解DETR的基礎(chǔ)上直接這篇論文的工作了。首先我們看上圖最左側(cè)初始幀上,其實(shí)這就是標(biāo)準(zhǔn)的DETR過(guò)程(因此后面CNN特征送入encoder就不講解了),直接看右側(cè)decoder過(guò)程,最下面的白色框框表示learnable object query,共有NobjectN_{object}Nobject?個(gè)(一般大于單幀最大目標(biāo)數(shù)),它會(huì)查詢到對(duì)應(yīng)數(shù)目的output embedding,這個(gè)object embedding一方面用于后續(xù)檢測(cè)任務(wù)的head中,如邊框回歸和類別預(yù)測(cè)。對(duì)那些成功預(yù)測(cè)出目標(biāo)(即非背景類)的output embedding(圖上的紅色、綠色和藍(lán)色框),還將其初始化為傳入下一幀的track query。這里需要注意的是,不算head層,其實(shí)Transformer結(jié)構(gòu)會(huì)將輸入進(jìn)行頻繁的自注意力,但是輸出獲得內(nèi)容信息的embedding維度是不變的,這里可以理解為一個(gè)黑盒,因此這里初始化的track query其實(shí)和后面每幀為了新目標(biāo)檢測(cè)使用的object query是同維的。
下面,對(duì)于不是第一幀的后續(xù)幀而言,decoder輸入的query不僅僅有每幀初始化用于檢測(cè)的NobjectN_{object}Nobject?個(gè)object query,還有上一幀已經(jīng)成功檢測(cè)的目標(biāo)的NtrackN_{track}Ntrack?個(gè)track query(顯然它不是固定的,而是依賴于上一幀的),共有Nobject+NtrackN_{object}+N_{track}Nobject?+Ntrack?個(gè)query,decoder接受這個(gè)query之后查詢到當(dāng)前幀的檢測(cè)結(jié)果(我這里的理解其實(shí)是,object query用于空間上查詢,track query帶有時(shí)序信息進(jìn)行查詢),所以指導(dǎo)訓(xùn)練的集合預(yù)測(cè)損失變?yōu)橄率?#xff0c;其中σ^\hat{\sigma}σ^表示最接近的預(yù)測(cè)和GT。
Lset(y,y^,σ^)=∑i=1Nobject+Ntrack?Lobject(y,y^i,σ^)\mathcal{L}_{\mathrm{set}}(y, \hat{y}, \hat{\sigma})=\sum_{i=1}^{N_{\mathrm{object}}+N_{\text {track }}} \mathcal{L}_{\mathrm{object}}\left(y, \hat{y}_{i}, \hat{\sigma}\right) Lset?(y,y^?,σ^)=i=1∑Nobject?+Ntrack???Lobject?(y,y^?i?,σ^)
因此,track query查到的目標(biāo)如果成功檢測(cè)到了,那就賦予同一個(gè)id(如上圖中間部分的前面的紅綠藍(lán)框),沒(méi)檢測(cè)到則表示目標(biāo)消失(如上圖右邊部分的藍(lán)色框),那些object query檢測(cè)成功(非背景類,上圖中不打叉的)的則作為新目標(biāo)。接著,這些新舊目標(biāo)的output embedding一起作為下一幀的track query。這樣,以一種相對(duì)優(yōu)雅的方式完成了數(shù)據(jù)關(guān)聯(lián)以致整個(gè)跟蹤任務(wù)。
從Transformer的結(jié)構(gòu)上來(lái)看,其結(jié)構(gòu)如上圖所示,這很容易看懂,我就不多贅述了。這里唯一需要說(shuō)明的是,其實(shí)track query并非完全和object query同等對(duì)待的,它先經(jīng)過(guò)了一個(gè)額外的多頭自注意力層(track query attention)來(lái)對(duì)其預(yù)處理,這個(gè)操作的理由其實(shí)是因?yàn)榍耙粠膐utput embedding用于目標(biāo)的分類和回歸任務(wù),與objectquery并不在一個(gè)空間內(nèi)。經(jīng)過(guò)一個(gè)變換再和object query進(jìn)行concat會(huì)好一些。
從整體上來(lái)看,TrackFormer可以被理解為一個(gè)基于自適應(yīng)回歸track query的持續(xù)的重檢測(cè)跟蹤目標(biāo)的過(guò)程。其實(shí)無(wú)論是object query還是track query,其實(shí)query都是潛在的當(dāng)前幀目標(biāo)的表示,只是track query帶有時(shí)序信息而已,而將其引入下一幀的檢測(cè),當(dāng)注意力在整個(gè)集合上允許時(shí),會(huì)自動(dòng)避免重復(fù)目標(biāo)的檢測(cè)。此外,從整體上看,只要軌跡一直存在,其實(shí)目標(biāo)的track query其實(shí)會(huì)被逐幀更新,TrackFormer因此也實(shí)現(xiàn)了一種隱式的多幀注意力。
訓(xùn)練和推理
就訓(xùn)練來(lái)看,損失是和DETR類似的集合預(yù)測(cè)損失,集合預(yù)測(cè)損失通過(guò)匹配預(yù)測(cè)結(jié)果和GT之后計(jì)算二者損失得到。不過(guò),TrackFormer的GT分配策略和DETR不同,它分為兩步,先處理track query再處理object query。
不妨記第ttt幀上的軌跡集為Kt?KK_{t} \subset KKt??K,上一幀的檢測(cè)結(jié)果被安排的id是上一幀Kt?1?KK_{t-1} \subset KKt?1??K中的,它帶著id信息作為當(dāng)前幀的track query,如果當(dāng)前幀的KtK_tKt?中仍然存在對(duì)應(yīng)的id,那么將該id的GT分配給該track query,否則給予其背景類表示該目標(biāo)沒(méi)出現(xiàn)過(guò),剩下的沒(méi)有分配的id則按照DETR的思路分配給object query。
至此,TrackFormer就完成了訓(xùn)練過(guò)程,從這個(gè)過(guò)程不難看出,它的訓(xùn)練是基于兩幀樣本的。之后,為了更好地訓(xùn)練及構(gòu)建泛化能力足夠的track query,使用下面三種數(shù)據(jù)增強(qiáng)策略。
就推理過(guò)程來(lái)看,就比較簡(jiǎn)單了,在初始幀上直接進(jìn)行DETR就行,在后續(xù)幀上decoder依據(jù)track query和object query進(jìn)行當(dāng)前幀的檢測(cè)。如果object query得到的框置信度高于閾值σdetection\sigma_{detection}σdetection?則認(rèn)為新目標(biāo)產(chǎn)生,track query的置信度如果小于閾值σtrack\sigma_{track}σtrack?則認(rèn)為軌跡終止,同時(shí)對(duì)track query的結(jié)果進(jìn)行track nms消除高遮擋情況。至于我們平時(shí)比較關(guān)心也很費(fèi)資源的軌跡暫存和找回,TrackFormer沒(méi)有考慮。
實(shí)驗(yàn)
關(guān)于是否進(jìn)行數(shù)據(jù)增強(qiáng)、是否需要后處理的消融實(shí)驗(yàn)我這里就不提了,可以參考原論文,下面是MOT17和MOTS20上與SOTA方法的對(duì)比。就Transformer引入MOT中這個(gè)創(chuàng)新來(lái)看,其結(jié)果是相當(dāng)不錯(cuò)的,而且相比于TranTrack,IDs可以說(shuō)是大幅度降低,相當(dāng)不錯(cuò)。
總結(jié)
TrackFormer提出了一種全新的MOT框架,并將Transformer引入了MOT中,通過(guò)track query這個(gè)設(shè)計(jì)完成了DETR到track with DETR思路的遷移,并在MOT17等benchmark上取得了SOTA表現(xiàn),是值得關(guān)注的工作。最后,如果我的文章對(duì)你有所幫助,歡迎一鍵三連,你的支持是我不懈創(chuàng)作的動(dòng)力。
總結(jié)
以上是生活随笔為你收集整理的TrackFormer解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。