????????多目標跟蹤的問題是這樣的:有一段視頻,視頻是由 N 個 連續幀構成的。從第一幀到最后一幀,里面有多個目標,不斷地有出有進,不斷地運動。我們的目的是對每個目標,能跟其他目標區分開,能跟蹤它在不同幀中的軌跡。最經典的應用就是路口監控中看到的行人了。
Input: detection responses。現在拿來一段視頻,我們先用 state-of-art detectors 把各幀中的人檢測出來,包括位置、大小。當然,這個檢測是有 noise 的,否則也就沒必要用各種 MOT 方法來處理了。每個 detection 產生的結果就是 response,它還有一個可信度,比如80%可信,20%可信。
Output: Tracklets. 就是最終得到每個 target 的軌跡。
Challenges: Occlusions,similar appearance,complex motion,false alarms.這些問題基本上是每篇論文都在努力解決的。
Occlusions:有三種,被場景中的物體遮擋,被其他 target 遮擋,被自己遮擋(如變形,無法檢測到),遮擋之后,本來應該檢測到的 target 就檢測不到了。解決的方法如根據 temporal 信息,估計出某一幀的某個位置有 target 被遮擋了。
Appearance:一是怎么把 target 與背景分開;二是怎么把不同的 target 分開。一般需要設計一個很好的外觀模型,比如用 HOG、color histogram 等等。
Motion: 最簡單的情況是勻速直線運動,這樣我們很好預測下一幀中這個 target 在哪,但實際情況往往并不如此。比如可能來了個急轉彎,可能突然轉身往回走。解決之道,一般要設計更靈活、更復雜的運動模型。
False Alarms: detector 給出了 response,但實際上那個地方并沒有 target,誤檢。這就要根據可信度,以及多種 refinement 方法來甄別了。
原文鏈接:Multiple Object Tracking: A Literature Review
摘要
多目標跟蹤因其學術和商業潛力,在計算機視覺中逐漸備受關注。盡管如今已經有多種多樣的方法來處理這個課題,但諸如目標重疊、外觀劇變等問題仍然是它所面臨的重大挑戰。在本文中,我們將提供關于多目標跟蹤最綜合、最新的資訊,檢驗當下最新技術突破,并對未來研究提出幾個有趣的方向。據我們所知,關于這個課題還沒有被廣泛調查研究過,因此我們將盡力提供近世紀以來關于多目標跟蹤最全面的介紹。本文的主要貢獻點如下四條:1)多目標跟蹤系統的關鍵方向,包括公式(formulation),分類(categorization),關鍵原則(key principles),以及測評(evaluation);2)根據現有技術所屬的不同方向來進行討論,再將每個方向的方法劃分為成組,然后對組內方法的原則、優缺點進行討論;3)檢驗現有公開的實驗并且總結在主流數據集上的實驗結果,再進行量化地對比,與此同時指出分析中發現的幾個有趣的問題;4)提供在MOT研究中會遇到的問題的討論,以及可能在以后的工作中會出現的潛在可研究方向。
1、介紹
多目標跟蹤(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)主要任務是在給定視頻中同時對多個感興趣的目標進行定位,并且維持他們的ID、記錄他們的軌跡。這些目標可以是路上的行人【1~2】,路上的車輛【3~4】,操場上的運動員【5~7】,或者多組動物(鳥【8】,蝙蝠【9】,螞蟻【10】,魚【11~13】,細胞【14~15】,等等),甚至是一個單目標中的不同部分【16】。在本文中我們主要關注行人跟蹤的研究,有如下三個原因:第一,與生活中其他物體相比,行人是典型的非剛體目標,MOT的理想例子;第二,在實際應用中存在大量的含有行人的視頻,這意味著巨大的商機;第三,據數據統計,至少70%的MOT研究都是針對行人的。
作為計算機視覺中的一項中級(mid-level)任務,多目標跟蹤依賴于高級(high-level)任務,如姿態估計【17】,動作識別【18】和行為分析【19】。它有許多實際應用,如視頻監控【20】,人機交互【21】和虛擬現實【22】。這些實際需求引起了人們對這一話題的極大興趣。與之相對的,單目標跟蹤(Single Object Tracking, SOT)主要集中在設計復雜的外觀模型和/或運動模式,解決具有挑戰性的問題如尺度變化,出平面旋轉和光照變化,而多目標跟蹤還有額外的兩個任務需要解決:確定目標的數量(通常隨時間變化),和維持各自的ID。除了SOT和MOT的共同問題外,MOT還需要處理更復雜的關鍵問題包括:1)頻繁遮擋;2)軌道初始化和終止;3)相似的外觀;4)多目標間的相互影響。為了解決所有這些問題,在過去的幾十年里,人們提出了廣泛的解決方案。這些解決方案集中在MOT系統的不同方面,使得MOT研究人員,特別是新手,很難對這個問題有全面的了解。因此,在本文中,我們提供了關于多目標跟蹤問題各個方面的詳細討論。
1.1、與其他相關綜述的不同
據我們所知,關于多目標跟蹤的問題還沒有一個全面的文獻綜述。然而,也有一些與多目標跟蹤有關的其他文獻資料,如表1所示。我們將這些文獻分為三組,然后著重指出我們之間的差異如下:
第一類【19~21】【23~24】在將跟蹤作為一個單獨部分來討論的同時,還詳細討論了MOT的各個方面。例如,將目標跟蹤作為高級任務的過程中的一個步驟進行討論,如人群建模【19】【23~24】。類似地,在【20~21】中,將目標跟蹤劃為行為識別【21】或視頻監視系統【20】的一部分。
第二類【25~28】專注于一般視覺跟蹤技術【25~27】或一些特定的問題如外觀模型【28】,但這類文獻涉及范圍更廣。相反,本文更全面地關注多目標跟蹤。
第三類【29~30】介紹并討論一般視覺跟蹤【29】和特定的多目標跟蹤的基準(benchmark)【30】,他們更注重實驗研究而不是文獻綜述。
1.2貢獻
我們在計算機視覺方面提供了第一個關于MOT的概述相信有助于理解這個問題,它的主要挑戰,問題,以及目前的主流算法。主要如下:
?推出了統一的MOT問題,包括了現有的大部分MOT方法(第2.1節),以及兩種不同的方法對MOT方法進行分類(第2.2節)。
?研究了MOT系統不同的關鍵部分,每一個都被進一步分成不同的方面,并對其進行了詳細的討論原則、進展和缺陷(第3節)。
?關于不同的方法在流行數據集上的實驗結果,讓未來的實驗比較方便。通過調查所提供的結果,有了一些有趣的觀察和發現(第4節)。
?通過總結MOT回顧,我們揭示了現有的非常貼切的問題研究。此外,討論確定未來的問題研究方向(5節)。
? ? ? ? 回顧最近的工作關于多目標跟蹤進展的文獻,提供了實驗結果公開的數據集,除了現有出版物之外,提供了對最先進技術的定量看法非常貼切的方法。用于多個標準的基準測試對象跟蹤,最近的工作Leal-Taixe MOTChallenge′et al【30】。
1.3、本文組織結構
1.4、外延符號(Denotations)
我們表示標量和向量變量用小寫字母和粗體小寫字母。用粗體大寫字母表示矩陣或者一組向量。大寫字母用于特定的函數或變量,如上表2。
2、MOT問題
2.1、問題公式(Formulation)
在過往研究中,MOT問題已經從不同的角度形成了不同公式,這使我們很難從高層的角度來理解這個問題。本文中,我們泛化了公式,并認為現有的研究可以由這些公式統一。據我們所知,這項嘗試以前從未有過。
通常來說,多目標跟蹤可以認為是多變量估計問題。給定一個圖像序列,表示第t幀第i個目標的狀態,
表示在第t幀下所有目標的狀態序列,
表示第i個目標的狀態序列,其中is和ie分別表示目標i出現的第一幀和最后一幀,
表示所有目標從第一幀到第t幀的狀態序列。需要注意的是每一幀目標的ID都可能不同。
相應的,在最常用的tracking-by-detection,或Detection Based Tracking(DBT)結構下,O1t表示第t幀第i個觀測目標(observation),
表示所有目標從第一幀到第t幀的觀測目標序列。
????多目標跟蹤的目的是找到所有目標“最好的”狀態序列,在所有觀測目標的狀態序列上的條件分布上,可以通過使用MAP(maximal a posteriori)估計法泛化建模得到:
以往研究中提到的不同MOT算法,其目的現在可以被認為是設計不同方法來解決上述的MAP問題。它們的方法要么是基于概率預測方面的【6】【31~37】,要么是基于決策優化方面的【16】【38~48】。
基于概率預測的方法通常用兩步迭代算法來解決式(1)的,
其中P(St|St-1)是動態模型,P(Ot|St)是觀測模型。
????基于決定性優化的方法則是直接最大化概率函數L(O1:t|S1:t)在觀測集
上作為代表P(S1:t|O1:t)
或最小化能量函數E(S1:t|O1:t)
其中Z是歸一化因子,保證P(S1:t|O1:t)是一個概率分布
2.2、MOT分類(Categorization)
????????由于難以使用一個通用的標準來對一個特定的MOT方法進行分類,所以我們使用多個標準來區分MOT方法。接下來將會根據三個標準劃分:初始化方法、處理模式和輸出類型。至于選擇上述三種的原因是,這符合一個任務的自然流程。
2.2.1、初始化方法
大多數現存的MOT研究可以根據目標如何初始化分為兩類:Detection-Based Tracking(DBT)和Detection-Free Tracking(DFT)。
DBT:如圖1上層 第一,由于提前訓練目標檢測器,DBT大部分關注特定的目標類型,如行人、車輛或人臉。第二,DBT的性能非常依賴于所采用的目標檢測器的性能。
[49] “Online learned discriminative partbased appearance models for multi-human tracking,”?
Eur. Conf. Comput. Vis., 2012, pp. 484–498.
[50] “Multi-class object tracking algorithm that handles fragmentation and grouping,”?
[51]? “A stochastic graph evolution framework for robust multi-target
tracking,” =
DFT:如圖1下層所示,DFT【52~55】需要在第一幀手動初始化一定數量的目標,然后在后續幀定位這些物體。
[52]“Single and multiple object tracking using log-euclidean riemannian subspace and block-division appearance model,”?
[53]? “Structure preserving object tracking,”?
[54] “Preserving structure in model-free tracking,”
[55]? “Game-theoretic multiple target tracking,”?
相對來說,DBT更受歡迎,因為它可以自動發現新目標、自動終止消失的目標。而DFT就不能處理新目標出現的情況,但它不需要提前訓練目標探測器。表3列出了DBT和DFT之間的主要差異。
2.2.2、處理模式
????????MOT也可以分為online跟蹤和offline跟蹤,其差別在于在處理當前幀時,后幾幀的觀測目標是否被利用到。Online,也稱為causal,只依靠直到當前幀的前面的信息。相對的offline則能使用未來幀的信息。
Online跟蹤:在online跟蹤【52~54】【56~57】中,圖像序列是一步步處理的因此該跟蹤方式也稱序列跟蹤。如圖2上層所示,a,b,c三個圈表示三個不同的目標,綠色箭頭表示過去的觀測目標,其結果由目標的位置和ID表示。
Offline跟蹤:Offline跟蹤【1】【46~47】【51】【58~63】利用一組幀來處理數據。如圖2下層所示,來自所有幀的觀測目標需要提前獲取,然后經分析計算組成最后的輸出。注意到由于計算復雜度和內存限制,不總是一次性處理所有幀,而是考慮將數據分成幾個短一點的視頻,對于每組分層或順序處理得到結果。表4列出了兩類處理模式的不同。
2.2.3、輸出類型
????????這個標準根據輸出的隨機性將MOT方法分成基于決策的和基于概率的。基于決策的跟蹤輸出是恒定的無論運行方法多少次,而基于概率的跟蹤每次運行都可能產生不同輸出結果。兩者差異來源于2.1節提到的優化方法。
2.2.4、討論
????????DBT和DFT的區別在于是否檢測模型被采用(DBT)或不采用(DFT)。區別在線和離線跟蹤的關鍵是它們處理觀察的方式。讀者可能會質疑DFT是否與在線跟蹤相同,因為它似乎總是順序地處理觀察。這在大多數情況下是正確的一些例外存在。無序跟蹤[64]就是一個例子。它是DFT,同時也是在一個過程中進行不整齊的觀察。雖然它是用于單對象跟蹤,但它可以也適用于MOT,因此也可以應用DFT在一個批處理模式。另一個模糊可能會在兩者之間增DBT和離線跟蹤,如DBT跟蹤或檢測響應通常以批處理方式關聯。請注意,還有順序DBT,它可以進行關聯在之前得到的軌跡和新的檢測反應[8],[31],[65]。在2.2.1、2.2.2和2.2.3是將MOT方法分類的三種方法可能會有別人。值得注意的是,具體的體育解決方案場景[5], [6],空中場景[44], [66],一般物體[8],[65], [67], [68]等存在,我們建議讀者參考各自的出版物。通過提供上述三個標準,就可以了是否方便用一個來標記一個具體的方法分類標簽的組合。這將有助于一個更容易理解具體的方法。
3、MOT組成成分
????????在設計MOT算法的時候有兩個問題需要考慮:一個是怎樣測量幀內目標的相似性,另一個是基于這個相似性怎樣判斷幀間目標是否相同。前者主要包括外觀,運動,交叉,排斥和碰撞的建模問題,后者主要和數據關聯有關。
3.1、外觀模型
????????外觀是MOT中重要的計算相似度(affinity)的途徑,在單目標跟蹤中,復雜的外觀建模主要用于將目標和背景區分開來,而大多數MOT方法則不將其作為核心建模方法。從技術上可以將外觀模型分為視覺表示和統計測量,前者基于單特征或多特征來描述一個目標,后者則是計算不同目標間的相似性。例如目標i和j間的相似性可以寫成:
其中Oi和Oj是不同觀測目標的視覺表示,F(,)是測量它們相似性的函數。
3.1.1、視覺表示
????????如圖3,根據特征的不同,視覺表示也就不同。我們將特征按如下分類:
Local features:KLT善于尋找好的用于跟蹤的特征,得到了這些特征之后,我們可以用來生成短軌跡(trajectories)【62】【74】、估計攝像頭運動【63】【75】,運動聚類【68】等等。光流法也可以認為是local features當我們將像素單位作為最佳local范圍時,許多MOT方法在進行數據關聯前都會利用光流法來生成短軌跡(tracklets)【76~77】,又由于光流法與運動息息相關,它也常用來對運動信息編碼【78~79】,還有一類特殊的應用是在擁擠場景中尋找人群運動規律【35】【69】,這是其他特征所不能做到的。
Region features:和local features相比,region features在更廣的范圍內搜索例如bounding box。我們按次序對它分類:zero-order,fist-order,up-to-second-order。在這里次序表示當計算表示時差異的次序,舉例來說,zero-order表示像素值不進行比較,one-order表示像素值的差異只計算一次。
Zero-order:最常用的表示方法,經典例子是顏色直方圖【34】【62】【71~72】【77】以及原始像素(raw pixel)模板【80】。
First-order:基于梯度的表示方法例如HOG【18】【32】【60】【77】【81】和水平集公式(level-set formulation)【71】經常被使用。
Up-to-second-order:區域協方差矩陣【82~83】,被用于【52】【60~61】。
Others:例如深度,常用于提煉檢測假設【71】【84~87】,占有概率圖(Probabilistic Occupancy Map, POM)【42】【88】,常用與估計一個目標出現在特定區域單位的概率,還有步態(gait)特征,對于每個人來說是不一樣的【62】。
Discussion:顏色直方圖經常使用,然而其忽略了目標區域的空間分布。Local features是高效的,但是對遮擋和平面外旋轉(out-of-plane)敏感。基于梯度的特征例如HOG可以描述目標的形狀并且對一定變化例如光照有適應性,但它不能很好地處理遮擋和變形。區域協方差矩陣相對來說比較魯棒因為它們使用了較多的信息,但同時帶來了較高的計算復雜度。深度特征使相似性的計算更準確,但它需要同一場景的多視角信息或者額外算法【89】來獲取深度。
3.1.2、統計測量
????????在上一步視覺表示的基礎上,統計測量計算兩個觀測目標間的相似度,其中又可分為單線索(single cue)和多線索(multiple cue)的方法:
Single cue:使用single cue進行外觀建模的要么是將距離轉換為相似性,要么直接計算相似度。例如,歸一化互相關(Normalized Cross Correlation, NCC)常用來對使用原始像素模板方法的兩對應區域進行計算【2】【69】【80】【90】。在顏色直方圖中,巴氏(Bhattacharyya)距離常用來計算兩直方圖Ci和Cj間的距離,,然后將該距離轉換成相似性
或者將距離放入高斯(Gaussian)分布中如【38】。相異性(dissimilarity)轉換成概率還能用協方差矩陣來表示。除此之外,在基于點特征表示方法【33】上還能用到磁帶(bag-of-words)模型【92】。
Multiple cues:不同的cues可以進行互補使外觀模型更加魯棒,我們基于5種融合策略來構建多線索外觀模型如表5:
Boosting:從特征池中序列地選擇一部分特征來進行基于boosting的算法,例如在【60】,【49】和【40】中,對于顏色直方圖,HOG,和協方差矩陣描述子,分別采用AdaBoost,RealBoost和HybirdBoost算法來區分不同目標各自的tracklets。
Concatenation:可以將不同特征連接起來計算。在【46】中就連接了顏色,HOG和光流。
Summation:將通過不同特征得到的相似度加權求和【71】【93】【94】。
Product:跟加權求和不同的是將得到的相似度相乘【33】【51】【95】【96】,需要注意的是采用這種方法往往需要進行獨立性假設。
Cascading:將使用不同方法的視覺表示級聯計算,通常可以縮小搜索范圍或者由粗到細地對外觀建模。
3.2、運動模型
????????運動模型捕捉目標的動態行為,它估計目標在未來幀中的潛在位置,從而減少搜索空間。在大多數情況下,假設目標在現實中是平緩運動的,那么在圖像空間(除了突然運動)也是如此。我們將在下面討論線性運動模型和非線性運動模型。
3.2.1、線性運動模型
????????線性運動模型是目前最主流的模型【32】【97~98】,并且通常在模型中假設目標勻速運動【32】,基于這個假設,有三種不同的方法構建模型:
通過使后繼幀中的目標速度變化得平穩一些來達到速度平整性(smoothness)。在【45】中由損失函數(5)實現,其中是對N幀M個trajectories或目標進行求和:
位置平整性直接影響觀測位置和預測位置的差異。舉【31】為例,△t是tracklet Tj頭尾間的間隔,那么其平整性就通過將預測位置代入以觀測位置為中心的高斯分布中達到。在估計階段,前向運動和后向運動都需要考慮,因此線性運動模型的相似度就有式(6)
,其中"F"和"B"分別表示前向(forward)和后向(backward),同時,觀測位置和預測位置之間的偏移量△p符合以0位中心的高斯分布。其他關于此類建模方法的例子還有【1】【7】【58~60】【99】。
????????第三種方法是加速度平整性【99】。在k時刻觀測目標的tracklet{Ok}的運動狀態{S^k}的概率分布有式(7),其中vk是速度,ak是加速度,N是均值為0的高斯分布
3.2.2、非線性運動模型
????????雖然線性運動模型比較常用,但由于存在它解決不了的問題,非線性運動模型隨之誕生。它可以使tracklets間運動相似度計算得更加準確,例如【47】就使用非線性運動模型處理目標自由移動的問題。如圖4a,給定屬于同一目標的tracklet T1,T2,線性運動模型【59】將它們連接的概率很低。但如果利用非線性運動模型,T1的尾巴和T2和頭部之間的間隔可以用T0∈S模擬解釋,其中S是support tracklets的集合。如圖4b,T0匹配T1尾巴和T2頭部,那么T1和T2之間就可以用T0聯通,同時,它們的相似度可以由上一節計算得到。
3.3、交互模型(Interaction Model)
????????交互模型也稱為相互運動模型,它捕捉目標對其他目標的影響。在擁擠場景中,目標會從其他的目標和物體中感受到“力”。例如,當一個行人在街上行走時,他會調整他的速度、方向和目的地,以避免與其他人碰撞。另一個例子是當一群人穿過街道時,他們每個人都跟著別人,同時引導其他人。事實上,這是兩個典型交互模型的例子,這些模型被稱為社會力模型【100】和人群運動模式模型【101】。
3.3.1、社會力模型(Social Force Models)
????????社會力模型也被稱為群體模型。在這些模型中,每個目標都被認為依賴于其他目標和環境因素,這種信息可以緩解擁擠場景中跟蹤性能的下降。在社會力模型中,目標會根據其他物體和環境的觀察來確定它們自己的速度、加速度和目的地。更具體地說,在社會力模型中,目標行為可以由兩方面建模而成:基于個體力和群體力。
Individual force:對于一組目標中的每個個體都有兩種力需要考慮
保真度(fidelity),表示某個體不會改變他原定目的地。
穩定性(constancy),表示某個體不會突然改變他的動量,包括速度和方向
Group force:對于整個組需要考慮三種力:
吸引力(attraction),表示組內個體間距離較近
排斥力(repulsion),表示組內個體間保持一定距離
一致性(coherence),表示組內個體有相似的速度
3.3.2、人群運動模式模型(Crowd Motion Pattern Models)
????????受到人群仿真技術【23】的啟發,其運動模式也被用于進行人群中的目標跟蹤。通常這類模型適用于目標密度非常高的超密集場景,這時目標都比較小,那些外觀、個人運動模式線索就會受到極大干擾,所以人群運動模式就相對比較適合。
????????該類模式又分結構化模式和非結構化模式,結構化模式主要得到集體的空間結構而非結構化模式主要得到不同個體運動的模式(modalities)。通常來說,運動模式由不同方法學習得到例如ND tensor voting【74】,Hidden Markov Models【36】【104】,Correlated Topic Model【76】,甚至考慮場景結構【69】,然后運動模式可作為先驗知識輔助目標跟蹤
3.4、排斥模型(Exclusion Model)
????????排斥是在尋找解決MOT的方法時,為了避免物理碰撞規定的約束,這種約束在現實中也是成立的比如兩個不同的目標不能同時出現在同一個物理位置中。對于給定的多個檢測響應(responses)和多個trajectory假設,通常存在兩個約束,第一個是檢測層面的排斥(detection-level exclusion)【105】,例如在同一幀中兩個不同的檢測響應不能被分配給同一個目標,第二個是軌跡層面的排斥(trajectory-level exclusion),例如兩條軌跡不能無限逼近彼此。
3.4.1、檢測層面的排斥模型
? ??????"soft" modeling:通過最小化損失函數去懲罰違反約束的例子稱為軟建模:有這樣一種特殊排斥圖,給定所有的檢測響應,這些檢測響應就代表圖中的結點,每個結點只和同時存在的另一些結點相連,在圖構建完成后,通過排斥約束,鼓勵連接結點像Tr(YLY)一樣擁有不同標記值,使分配的標記最大化。其中L代表拉普拉斯(Laplacian)矩陣,Y=(y1,....,y|V|)表示所有|V|個結點分配的標記值,Tr(·)表示矩陣中的軌跡范數(trace norm)。
????????"hard" modeling:通過在檢測層面添加補充額外的約束來硬建模.例如,為了建模檢測層面的排斥模型,cannot links被引入來模仿如果兩個軌跡在它們的時間跨度上有重疊,然后它們就不能被分配到同一個集群,即屬于相同的軌跡群[107]。非負離散化[108]將探測設置為非重疊群服從相互排斥的約束。
3.4.2、軌跡層面的排斥模型
????????通常來說如果兩靠的較近的檢測假設擁有不同的軌跡,那么將受到軌跡層面排斥模型的懲罰。通常,軌跡級排斥是通過懲罰兩個相近的檢測假設但具有不同軌跡標簽的情況來建模的。這將抑制一個軌跡標簽。例如,[109]中的懲罰項與兩種不同軌跡標簽的檢測響應之間的距離成反比。如果兩個檢測響應太接近了,會導致相當大的,或者,無限高成本。類似的想法在[48]中被采用。與此相反,[105]中的軌跡級排除的懲罰,與兩者之間的空間 - 時間重疊成正比軌跡。兩個軌跡越接近,這個越高罰款。還有一個特例[43],其中排斥被認為是對所謂的額外約束網絡流量算法中的“沖突”邊緣。
3.5、遮擋處理
????????遮擋是MOT最難處理的問題之一,這也是ID交換(ID switches)和軌跡分段的主要原因。
3.5.1、部分到整體(Part-to-whole)
????????該策略是建立在目標的一部分仍可見的假設上的,也確實在大部分情況發生。一種比較流行的方法是將全局目標(類似一個跟蹤框,bounding box)分割成幾個部分,然后對每個部分計算相似度,具體來說就是當發生遮擋時,被遮擋的那些部分的相似度權重降低,而提高沒被遮擋部分的相似性權重。至于如何進行分割,有將目標均勻地切分成一個個格子的【52】,也有以某種形態例如人來切分目標的,比如在【49】中分成了15個不重疊的部分,還有在【77】【111】中由DPM檢測器【110】得到的部分。
基于這些個別部分,忽略了遮擋部分的觀測。例如,part-wise外觀模型是在[52]中構造的。重建誤差用來確定哪個部分被遮擋了。外觀
整體對象的模型只會有選擇地更新未被遮擋的部分
這是"hard"的方法,也存在"soft“方法在【49】中(中式英語都出來了)。兩tracklets j和k之間的相似度可由下式計算得到
其中f是特征,i是部分的下標,權重由部分間的遮擋關系學習得到。在【77】中,通過人身體部分的連接可以得到部分的軌跡,進一步得到整個人的軌跡。
????????"Part-to-whole"策略也可以應用在基于點聚類特征的跟蹤中,其中點聚類特征認為具有相似運動的特征點都屬于相同目標,只要一個目標的一些部分仍然可見,那么這個方法就是可行的【62】【68】【112】
3.5.2、假設與測試(Hypothesize-and-test)
該策略不直接處理這檔問題,而是根據已有的觀測目標,先進行假設,然后測試假設是否成立來解決問題。
Hypothesize:【38】基于距離和尺度都相近的觀測目標對,來生成遮擋假設,假設Oi被Oj遮擋,對應的遮擋假設就是
其中Pj,tj分別是oj的位置和時間戳,si和fi分別是oi的大小和外觀特征。這個方法將遮擋視為干擾,而在其他研究【113】【114】中,遮擋模式被用來輔助檢測,更具體來說,不同的檢測假設由融合了兩種不同程度和模式的遮擋的目標綜合結合而成,如圖5.
Test:在【38】中,假設觀測和原觀測一起作為損耗流框架的輸入,然后使用MAP來得到最優解。在【114】和【113】中,多行人檢測器是在檢測假設上進行訓練的,這樣就大大降低了檢測碰撞的難度。
3.5.3、緩沖與恢復(Buffer-and-recover)
????????該策略在發生遮擋前記錄目標狀態并且將發生遮擋時的觀測目標存入緩沖區中,當遮擋結束后,目標狀態基于緩沖區的觀測目標和之前記錄的狀態恢復出來。當發生遮擋時,【71】保持最多15幀的trajectory,然后推斷發生遮擋時潛在的軌跡。當目標重新出現時,重新進行跟蹤并且ID也維持不變,在【34】中使用到這種方法。當跟蹤狀態因為遮擋而產生歧義時觀測模式就會啟動【115】,只要有足夠的觀測目標,就會產生假設來解釋觀測目標。以上就是"buffer-and-recover"策略。
3.5.4、其他
????????除了上述方法外,還有一些其他方法例如,【116】將目標作為在圖像空間中的高斯分布,然后顯式地對所有目標對的遮擋率,以部分能量差函數的形式建模;還有將多種方法結合起來進行遮擋處理。
3.6、預測(Inference)
3.6.1、概率預測(Probabilistic Inference)
????????概率預測方法通常將目標狀態作為不確定的分布,而跟蹤算法的目的是基于現有的觀測目標,用多種概率學方法去估計那個概率分布。這類算法通常只需要過去或現在的觀測目標,所以它也特別適合online跟蹤。因為只有現存的觀測目標才被用于估計,所以可以很自然地在目標狀態序列中使用Markov特性假設,該假設包括兩方面,讓我們回顧2.1節的公式。
????????第一,當前目標狀態只依賴于之前的狀態,其次,當使用一階(first-order)Markov特性時則只依賴于最后一個狀態,即
第二,觀測目標只和它的狀態有關,也就是說,它是條件獨立的,即
????????這兩方面各自和動態模型和觀測模型有關,前者與跟蹤策略相關,后者則提供有關目標狀態的觀測測量。預測(predict)一步是根據之前的觀測來估計當前的狀態,具體來說,當前狀態的后驗概率分布,是通過以動態模型來整合上一目標狀態空間,從而估計得到的。更新(update)一步是根據觀測模型得到的測量來更新狀態的后驗概率分布。
????????根據這些等式,目標狀態可以通過迭代計算predict和update兩步來得到,然而實際上,目標狀態分布不能不先簡化假設,因此沒有能計算得到完整狀態分布的解法。另外,對于多目標而言,狀態集的維數是非常大的,導致整合步驟更加困難,因此需要有對應的降維方法。
????????多種多樣的概率預測模型被用于多目標跟蹤中【36】【95】【117~118】,例如卡爾曼濾波【35】【37】,擴展卡爾曼濾波【34】以及粒子濾波【32~33】【52】【93】【119~122】。
卡爾曼濾波(kalman filter):適用于線性系統和服從高斯分布的目標狀態。
擴展(Extended)卡爾曼濾波:通過泰勒展開(Taylor expansion)估計,進一步適用于非線性系統。
粒子濾波(Particle filter):基于蒙特卡洛采樣(Monte Carlo sampling)的模型在粒子濾波算法問世后風靡一時【10】【32~33】【52】【93】【119~121】。該方法用一組有權重的粒子來對分布建模,從而通過改變自己的分布可以得到任意的假設【32~33】【36】【93】。
3.6.2、確定性優化(Deterministic Optimization)
????????相對于概率預測,確定性優化旨在是找到MOT最大的后驗解決(maximum a posteriori, MAP)辦法。這種方法更適合offline跟蹤,因為需要提前獲得所有幀的觀測目標,然后全局性地將屬于同一目標的觀測目標串聯成一條軌跡,關鍵問題在于怎樣找到最優的連接。
?Bipartite graph matching:通過將MOT問題建模成偶圖匹配,兩個不相交的結點集在online跟蹤中可以存在trajectories和新的檢測目標,或者在offline跟蹤中存在兩個tracklets集,結點間的權重則代表trajectories和檢測目標間的相似度,然后要么使用貪心偶匹配算法【32】【111】【123】,要么使用匈牙利(Hungarian)優化算法【31】【39】【58】【66】【124】,來決定兩結點集如何進行匹配。
Dynamic Programming:擴展動態規劃【125】,線性規劃【126~128】,二次布爾規劃(quadratic boolean programming)【129】,最短K路徑(K-shortest paths)【18】【42】,集合覆蓋(set cover)【130】和subgraph multicut【131】【132】,都是被用于解決檢測目標和tracklets之間關聯問題的方法。
Min-cost max-flow network flow:網絡流是一個帶有權重邊的有向圖。對于MOT,圖中結點是檢測響應或tracklets,流是連接兩個結點的指示器,為了滿足流平衡的需求,需要增加源(source)節點和匯聚(sink)節點,如圖6。一個trajectory對應一個流邊,從源節點轉移到匯聚節點的總流數等于trajectories的數目,轉移損耗是所有連接的假設的負對數似然(negative log-likelihood),注意,全局最優解可以在多項式時間內得到,例如使用push-relabel算法。這類方法在【18】【38】【41】【43】【90】【133】都被使用到。
Conditional random field:在【1】【59】【105】【134】中都有使用到這種方法。定義一個圖G=(V,E),其中V是結點集,E是邊集,低層(low-level) tracklets作為圖的輸入,每個結點表示觀測目標【105】或者tracklets對【59】,每個label通過預測得到,然后用來推斷都是觀測目標屬于哪些track跟蹤目標或者來連接哪些tracklets。
MWIS(maximum-weight independent set):它是屬性圖中非相鄰節點的權重最大的子集。而在上述CRF模型中,屬性圖中的結點代表后繼幀的tracklets對,結點的權重表示tracklet對間的相似度,而且tracklets對擁有相同方向的話,那么它們的邊是聯通的。在【46】【97】中數據關聯是用MWIS建模的。
3.6.3、討論
????????實際中,確定性優化或能量最小化比概率預測更常用,盡管概率預測提供更直接、完整的解決方法,但它們往往是難以推測的,而相反,能量最小化則能夠在一定時間內得到“足夠好”的解決辦法。
4、MOT測評
對于給定的MOT方法,需要根據評分指標和數據集定量地評估其性能。這尤關重要,一方面,必須測量不同組成成分和參數對整體性能的影響,才能設計出最佳的系統。另一方面,可以與其他方法直接比較。而性能評估往往并不簡單,我們將在本節中看到。
4.1、指標(Metrics)
MOT方法的評價指標是至關重要的,因為它們為公平定量的比較提供了途徑。本節簡要介紹不同的MOT評估指標,由于許多方法不采用跟蹤檢測策略,它們通常測量檢測性能以及跟蹤性能,因此,在MOT方法中采用了目標檢測的度量標準。基于此,MOT指標大致可以分為兩組,分別用于評估檢測和跟蹤,如表7所示。
4.1.1、檢測指標
準確度(Accuracy):常用召回率和精度指標以及每幀平均誤報率(False Alarms per Frame, FAF)作為MOT指標[1]。[63]使用False Positive Per Image(FPPI)評價檢測性能。多目標檢測的準確性(Multiple Object Detection Accuracy, MODA),一個全面的評估標準,將誤檢和漏檢的相對數納入考慮范圍,由[135]提出。
精度(Precision):多目標檢測精度(Multiple Object Detection Precision, MODP)測量的是檢測目標和ground truths之間的誤差[135]。
4.1.2、跟蹤指標
準確度(Accuracy):它度量算法跟蹤目標的準確程度。ID Switches[80]則統計MOT算法在目標之間切換的次數。多目標跟蹤的準確性(MOTA)【136】將false positive率、false negative率和錯配(mismatch)率結合成一個單獨的數,對整體的跟蹤性給出一個比較合理評估。盡管仍有一些弊端,但這是目前最普及的MOT評估方法。
精度(Precision):三個指標,多目標跟蹤精度(MOTP),跟蹤距離誤差(TDE)[36]和OSPA[137]。它們描述了通過bounding box重疊和/或距離來測量目標跟蹤的精確程度。具體而言,在[137]中還考慮了基數(cardinality)錯誤。
完整性(Completeness):完整性度量指的是ground truth trajectories被跟蹤的完整度。大多數跟蹤(Mostly Tracked, MT)、部分跟蹤(Partly Tracked, PT)、大部分丟失(Mostly Lost, ML)和分段(Fragmentation, FM)[40]的數量屬于這一組。
魯棒性(Robustness):通過從遮擋中恢復出來的能力來評估MOT算法的度量標準,包括在[51]中的從短期遮擋恢復(Recopver from Short-term occlusion, RS)和長期遮擋恢復(RL)。
4.2、數據集
表8給出了當下最經常被使用的一些數據集。這些數據集在MOT中至關重要,但是仍然存在一些問題:第一,數據集的規模相對于SOT來說較小;第二,由于近幾年行人檢測技術取得進展,所以大部分數據集集中在行人上,然而最近關于多類目標的檢測也有一定成果,因此可以考慮多將數據庫放在多類目標的檢測與跟蹤上。
4.3、公開算法
4.4、基準結果(Benchmark Results)
(原文)由于篇幅問題,只展示了最常用的數據集PETS2009-S2L1序列的跟蹤結果,如表10。需要注意的是,表中的數據可能不會特別直觀,原因如下:
不同的方法,基于online和offline兩種不同的框架,很難去度量它們之間的好壞,因為offline的方法需要更多的信息。
不同檢測假設,同一種方法可能由于采用不同的檢測方法而得到不同的結果。
視角問題,有些方法可能需要多視角信息而有些則只用單視角。
先驗知識,例如場景結構和行人數目等,一些方法需要提前得到。
嚴格來說要想得到真正客觀公平直觀的測評結果,是需要非常細致的控制變量的,例如要想測試某兩個數據關聯方法好不好使,需要保證兩組方法的其他部分一致才比較準確。盡管如此,我們還是能通過這個表得到許多有用的信息的:
通過將所有的發表結果進行整合,起碼對于相同的數據集下的結果有個好的比較。
盡管這個特定的個體之間的比較方法可能不公平,但在不同類型的方法之間的比較比如在線和離線能看出這兩類在公有數據集上的水平
為以后的研究工作做鋪墊,并且了解了MOT的發展進程。
表11是offline方法和online方法的比較,圖7圖8是從09年到15年各指標浮動曲線。
5、總結
本文描述了視頻中多目標跟蹤(MOT)任務的相關方法和問題,也是過去十年里的第一個全面的綜述文獻,提出了一個統一問題公式和一些現有方法的分類方式,介紹了star-of-the-art MOT算法的關鍵因素,并討論了MOT算法的測評包括評價指標、公開數據集,開源代碼的實現,和基準測試結果。雖然在過去幾十年中已經取得了很大進展,但在當前的MOT研究中仍然存在一些問題有待研究。
5.1、存在的問題
????????我們已經討論了數據集的現存問題(4.2節)和公開算法(第4.3節)。除開這些,還有一些其他問題:
????????MOT研究中的一個主要問題是,MOT方法的性能在很大程度上取決于目標檢測器。例如,被廣泛使用的tracking-by-detection模式就是建立在一個目標檢測器上的,它提供檢測假設來驅動跟蹤過程。在固定其他部分時,給定不同的檢測假設集,相同的方法將產生具有顯著性能差異的跟蹤結果。有時某方法中的檢測模塊沒有任何描述,這就給對比其他方法提高了難度。KITTI和MOTChallenge就在嘗試解決這個問題,也正往一個更有原則、更統一的目標檢測和跟蹤靠攏(參見mot17)。
????????另一個令人討厭的問題是,在提出MOT解決方法時,一個算法越復雜,就有越多的參數,這就使調參非常困難。同時,其他人也很難實現這種方法并且重現結果。
????????某些方法在特定視頻序列中表現良好,然而當在應用于其他視頻下時,它們可能不會產生令人滿意的結果,這可能是因為該方法所使用的目標檢測器是在特定的視頻中被訓練的,因此不能很好地泛化使用在其他視頻序列中。
????????所有這些問題都限制了MOT研究的進一步發展及其在實際系統中的應用。最近,人們嘗試著解決這些問題,例如,MOT Benchmark[160]提供了大量的有注釋的測試視頻序列、統一的檢測假設、標準評估工具等,這有助于推進MOT技術的進一步研究和發展。
5.2、未來的方向
????????即使已經研究了幾十年的MOT問題,它仍然存在著許多發展的機會。在這里,我們想指出一些更普遍的問題,并提供可能的研究方向。
MOT with video adaptation:視頻自適應,當前大多數MOT方法需要離線訓練的目標檢測器,然而這就有一個問題:對于特定視頻的檢測結果可能不適用于給定的視頻,這常常限制了多目標跟蹤的性能。所以需要重新定制目標檢測器來提高性能,[166]通過逐步細化通用行人檢測器,使通用行人檢測器適應特定的視頻。這也是改進MOT方法預處理階段的一個重要方向。
MOT under multiple cameras:多攝像機[167]。多攝像頭的配置有兩類:第一個是多攝像頭記錄同一個場景,即多視角。然而,這個設置的關鍵問題是如何融合來自多個攝像機的信息。第二個是每個攝像機記錄一個不同的場景,即一個不重疊的多攝像機網絡。在這時,多攝像頭間的數據關聯就成為了一個再識別(reidentification)問題。
Multiple 3D object tracking:三維多目標跟蹤,當前大多數方法都集中在2D下的多目標跟蹤,即在圖像平面上,包括多攝像頭的情況。3D跟蹤[168],可以提供更準確的位置,大小估計和高層計算機視覺對于遮擋的有效處理。然而,3D跟蹤需要相機校準,或為了攝像頭姿態估計和場景布局而需要克服其他困難。同時,三維模型設計是另一個需要考慮的問題。
MOT with scene understanding:場景理解,[35],[169],[170]分析了擁擠場景下,例如在高峰時期的地鐵車站和公共場所的游行示威。在這種情況下,大多數目標是小的和/或被大面積遮擋的,因此很難進行跟蹤。場景理解的分析結果可以提供上下文信息和場景結構,如果將其更好地融入到MOT算法中,將有助于跟蹤問題的解決。
MOT with deep learning:深度學習,深度學習模型已成為處理各種視覺問題的非常強大的框架,包括圖像分類[171],目標檢測[163] [164] [165],單目標跟蹤[ 161 ]。對于MOT問題,深度學習模型提供的強大的目標檢測模型可以顯著提高跟蹤性能[172],[173]。盡管最近已經開始嘗試使用連續神經網絡進行在線MOT,但關于使用深度神經網絡來進行目標關聯問題的formulation和建模仍需要投入更多的研究。
MOT with other computer vision tasks:其他計算機視覺任務,雖然多目標跟蹤是服務于其他高層次的計算機視覺任務,但也存在這樣的趨勢:將一些彼此能優勢互補的計算機視覺任務結合起來以解決MOT問題。可能的組合包括目標分割[ 174 ],行人再識別[ 175 ],行人姿態估計[ 17 ]和動作識別[ 18 ]。
????????除了以上的未來方向外,由于目前的MOT的研究主要集中在監控場景中跟蹤多個行人,所以關于其他類型的擴展也是不錯的研究方向,例如目標可以是汽車、動物等,場景可以是交通場景,航拍等。因為在不同情況下的不同類型的目標跟蹤問題的設置和難度有可能是完全不同的。
參考自
http://blog.csdn.net/yuhq3/article/details/78742658
http://blog.csdn.net/sjtu_012/article/details/40921789