From: 目標跟蹤方法的發展概述
From: 目標跟蹤領域進展報告
通用目標的跟蹤
經典目標跟蹤方法
2010 年以前,目標跟蹤領域大部分采用一些經典的跟蹤方法,比如 Meanshift、Particle Filter 和 Kalman Filter,以及基於特征點的光流算法等。
Meanshift 方法是一種基於概率密度分布的跟蹤方法,使目標的搜索一直沿着概率梯度上升的方向,迭代收斂到概率密度分布的局部峰值上。首先 Meanshift 會對目標進行建模,比如利用目標的顏色分布來描述目標,然后計算目標在下一幀圖像上的概率分布,從而迭代得到局部最密集的區域。Meanshift 適用於目標的色彩模型和背景差異比較大的情形,早期也用於人臉跟蹤。由於 Meanshift 方法的快速計算,它的很多改進方法也一直適用至今。
粒子濾波(Particle Filter)方法是一種基於粒子分布統計的方法。以跟蹤為例,首先對跟蹤目標進行建模,並定義一種相似度度量確定粒子與目標的匹配程度。在目標搜索的過程中,它會按照一定的分布(比如均勻分布或高斯分布)撒一些粒子,統計這些粒子的相似度,確定目標可能的位置。在這些位置上,下一幀加入更多新的粒子,確保在更大概率上跟蹤上目標。
Kalman Filter 常被用於描述目標的運動模型,它不對目標的特征建模,而是對目標的運動模型進行了建模,常用於估計目標在下一幀的位置。
另外,經典的跟蹤方法還有基於特征點的光流跟蹤,在目標上提取一些特征點,然后在下一幀計算這些特征點的光流匹配點,統計得到目標的位置。在跟蹤的過程中,需要不斷補充新的特征點,刪除置信度不佳的特征點,以此來適應目標在運動中的形狀變化。本質上可以認為光流跟蹤屬於用特征點的集合來表征目標模型的方法。
在深度學習和相關濾波的跟蹤方法出現后,經典的跟蹤方法都被舍棄,這主要是因為這些經典方法無法處理和適應復雜的跟蹤變化,它們的魯棒性和准確度都被前沿的算法所超越,
但是,了解它們對理解跟蹤過程是有必要的,有些方法在工程上仍然有十分重要的應用,常常被當作一種重要的輔助手段。(新的舊的都要學,deep vision的坑 太深太深)
檢測與跟蹤相結合的方法
在 2010 年左右,目標跟蹤的方法通常分成基於產生式模型的方法和基於鑒別式模型的方法。
- a 前面介紹的經典跟蹤方法都可以歸類為產生式模型的方法,
- b 而基於鑒別式模型的方法是指利用分類來做跟蹤的方法,即把跟蹤的目標作為前景,利用在線學習或離線訓練的檢測器來區分前景目標和背景,從而得到前景目標的位置。
- 雖然此時通用物體的檢測率還非常低(ImageNet 的檢測率不超過 20%),因為物體檢測主要基於手工設計的特征,但是,通過在新更新檢測器的模型和各種底層特征的提出,鑒別式跟蹤方法更能適應跟蹤過程中的復雜變化,所以利用檢測來做跟蹤(Tracking By Detection)逐漸成為主流。
人們開始采用一種在線學習的方法來訓練跟蹤的檢測器,比如,在第一幀目標出現的位置建立初始的檢測模型,並在后續幀更新模型以適應目標的變化,這里介紹當時 Surrey 大學博士生 Z.Kalal 提出的一種長效跟蹤的 TLD(Tracking-Learning-Detection)方法。
TLD 方法的整個框架有三個模塊,其中
跟蹤器(Tracking)負責用經典的方法跟蹤目標,論文中采用基於光流的特征點統計方法確定目標在下一幀的跟蹤位置,
檢測器(Detection)負責在一定的范圍內檢測目標,並且與跟蹤結果綜合得到最終的輸出結果。在確定目標的最佳位置之后,
學習模塊(Learning)負責對跟蹤結果和檢測器進行修正,在目標的周圍選取更多的正負樣本在線更新檢測器的模型。
作者利用了多級分類器的方式來提高檢測器的檢測能力,降低誤檢,級聯了一個在線學習的隨機森林分類器和最近鄰的分類器。
為了平衡整個檢測器的穩定性和學習能力,作者提出了一種半監督的學習方法,利用 P-N 限制條件更新模型,使檢測器能夠收斂到一個穩定的狀態。
從整個框架的設計上看,TLD 的工程意義要大於算法本身,作者對每個模塊都做了很多細節上的調整,比如利用 Backward-Forward 來過濾不可靠的光流特征點,對物體的變化做了尺度上的估計,利用 P-N 樣本集更新隨機森林分類器等。
TLD 的代碼也公開了,人們可以很容易重現論文的結果。這種跟蹤和檢測相結合的框架和思想,極大地推動了跟蹤算法的發展。那時對於跟蹤算法的評測還沒有公認的數據集和評測標准,很難對不同跟蹤方法的進行比較。
所以,在 2013 年左右,人們開始建立公共的測試視頻集,定義了跟蹤的初始條件和評價指標,比如 OTB 數據集(Object Tracking Benchmark)和 VOT 競賽(Visual Object Tracking),其中 OTB 數據集至今已經有 100 多段視頻,以短時跟蹤為主,里面包含了各種復雜的變化場景,VOT 競賽每年舉辦一次,迄今已經舉辦了 4 年,自此跟蹤的模型和算法日新月異,比如 2013 年的冠軍 Struck,利用結構化 SVM 方法在線學習的一個分類器,2014 年的冠軍 DSST,一種改進的基於相關濾波的多尺度跟蹤方法,之后陸續又出現了很多基於深度學習的方法。
基於相關濾波的跟蹤算法
相關濾波的跟蹤算法始於 2012 年 P.Martins 提出的 CSK 方法,作者提出了一種基於循環矩陣的核跟蹤方法,並且從數學上完美解決了密集采樣(Dense Sampling)的問題,利用傅立葉變換快速實現了檢測的過程。
在訓練分類器時,一般認為離目標位置較近的是正樣本,而離目標較遠的認為是負樣本。
回顧前面提到的 TLD 或 Struck,他們都會在每一幀中隨機地挑選一些塊進行訓練,學習到的特征是這些隨機子窗口的特征,而 CSK 作者設計了一個密集采樣的框架,能夠學習到一個區域內所有圖像塊的特征。
密集采樣的過程可以通過作者提出的循環矩陣來實現,並且整個分類器的學習過程可以用快速傅立葉變換轉化成頻域內的計算,不受 SVM 或 Boost 等學習方法的限制。
無論是用線性分類還是核分類,整個學習過程十分高效,證明過程完備,易於理解。在論文中作者給出的算法實現只需要十幾行代碼。利用快速傅立葉變換,CSK 方法的跟蹤幀率能達到 100~400fps,奠定了相關濾波系列方法在實時性應用中的基石。
相關濾波系列的方法發展很快,比如 CSK 作者引用的 MOSSE 方法,后續他又提出了基於 HOG 特征的 KCF 方法。后續還有考慮多尺度或顏色特征(Color Name 表)的方法以及用深度學習提取的特征結合 KCF 的方法(比如 DeepSRDCF 方法)等。
從它的發展過程來看,考慮的尺度越來越多,特征信息也更加豐富,當然計算時間也會相應增加,但總體上說,相關濾波系列的跟蹤方法在實時性上優勢明顯,采用哪種改進版本的方法視具體的應用而定。
相關濾波的方法也有一些缺陷,比如目標的快速移動,形狀變化大導致更多背景被學習進來等都會對 CF 系列方法造成影響。雖然后續的研究也有一些針對性的改進,比如改進邊界效應,改善背景更新策略或提高峰值響應圖的置信度等,但普適性還需要進一步研究,特別是對不同的應用針對性地調整。
基於深度學習的跟蹤方法 (之后有進一步了解)
優勢一、卷積特征輸出表達能力更強
最近三年是深度學習技術的高速發展期,深度學習技術也被成功應用在計算機視覺的各個應用領域,跟蹤也不例外。在大數據背景下,利用深度學習訓練網絡模型,得到的卷積特征輸出表達能力更強。
在目標跟蹤上,初期的應用方式是把網絡學習到的特征,直接應用到相關濾波或 Struck 的跟蹤框架里面,從而得到更好的跟蹤結果,比如前面提到的 DeepSRDCF 方法。
本質上卷積輸出得到的特征表達,更優於 HOG 或 CN 特征,這也是深度學習的優勢之一,但同時也帶來了計算量的增加。
目前很多研究跟蹤的框架和方法往往會同時比較兩種特征,從而驗證跟蹤方法或框架的改進提高,
-
- 一種是傳統的手工特征,
- 另一種就是深度網絡學習的特征。
網絡不同層的卷積輸出都可以作為跟蹤的特征,對於如何有效地利用深度學習的特征,Martin.D 也做了大量的工作,提出了一系列相關的方法,比如 C-COT 和 ECO 等。
優勢二、端到端的輸出
深度學習的另一大優勢是端到端的輸出,我們認為這為跟蹤開辟了一片光明的前景,這里以 GOTURN 方法為例,介紹來自斯坦福大學的 D.Held 發表 ECCV2016 上的文章,目前 GOTURN 方法已經 集成在 OpenCV 3.2.0 的開發版本中。
GOTURN 方法利用 ALOV300+視頻序列集和 ImageNet 檢測數據集訓練了一個基於圖像對輸入的卷積網絡,輸出在搜索區域內相對於上一幀位置的變化,從而得到目標在當前幀上的位置。
為了得到網絡訓練所需的大數據集,作者不僅利用了視頻序列集中的隨機連續幀對圖,而且利用了更多的單張圖片集進行數據增強。對於數據的擾動分布,作者也做了大量的實驗,使得跟蹤的位置變化更加平滑。
從網絡結構中可以看出,GOTURN 先從輸入的圖像對中分別提取前一幀和當前幀的卷積特征,再送入三個全連接層,最后得到預測的位置變化。其中卷積層是通過 ImageNet 預訓練得到,並且在跟蹤網絡訓練中固定這部分參數(防止過擬合),學習全連接層的參數。本質上說,GOTURN 也利用了深度學習強大的特征表達能力,但是,它建立了第一個基於深度學習的端到端輸出的跟蹤框架,而且在 GPU GTX680 上跟蹤速度在能達到 100fps。
基於深度學習的跟蹤框架目前還在不斷發展中,比如牛津大學的 Luca Bertinetto 提出的端到端的跟蹤框架(另一個框架),從 SiameseFC 到今年的 CFNet。雖然相比於相關濾波等傳統方法,在性能上還非常慢,但是這種端到端輸出可以與其他的任務一起訓練,特別是和檢測分類網絡相結合,在實際應用中有着十分廣泛的前景。
特定目標的跟蹤
前面介紹的跟蹤方法都是對通用目標的跟蹤,沒有目標的類別先驗。在實際應用中,還有一個重要的跟蹤是特定物體的跟蹤,比如人臉跟蹤、手勢跟蹤和人體跟蹤等。特定物體的跟蹤與前面介紹的方法不同,它更多地依賴對物體訓練特定的檢測器。
人臉跟蹤由於它的明顯特征,它的跟蹤就主要由檢測來實現,比如早期的 Viola-Jones 檢測框架和當前利用深度學習的人臉檢測或人臉特征點檢測模型。
手勢跟蹤在應用主要集中在跟蹤特定的手型,比如跟蹤手掌或者拳頭。設定特定的手型可以方便地訓練手掌或拳頭的檢測器。
實際上,跟蹤和檢測是分不開的,比如傳統 TLD 框架使用的在線學習檢測器,或 KCF 密集采樣訓練的檢測器,以及當前基於深度學習的卷積特征跟蹤框架。
一方面,跟蹤能夠保證速度上的需要,而檢測能夠有效地修正跟蹤的累計誤差。不同的應用場合對跟蹤的要求也不一樣,比如特定目標跟蹤中的人臉跟蹤,在跟蹤成功率、准確度和魯棒性方面都有具體的要求。
另外,跟蹤的另一個分支是多目標跟蹤(Multiple Object Tracking)。多目標跟蹤並不是簡單的多個單目標跟蹤,因為它不僅涉及到各個目標的持續跟蹤,還涉及到不同目標之間的身份識別、自遮擋和互遮擋的處理,以及跟蹤和檢測結果的數據關聯等。
從 2015 年開始,MOT 競賽每年會舉辦一次,在基於深度學習的目標檢測成功率大幅提高的背景下,MOT 的成功率也處於快速發展的通道中。
目標跟蹤領域進展報告,重點關注:基於深度學習的目標跟蹤
較早運用深度學習方法進行目標跟蹤的是王乃岩在NIPS2013的工作。
當時卷積神經網絡在計算機視覺領域還沒有完全開展起來,當時他們使用一種自動編碼器,在100萬張的32*32的圖像上離線訓練目標的表示,然后運用到目標跟蹤任務上。

在2015年,王乃岩繼續將卷積神經網絡運用到目標跟蹤任務中,采用卷積神經網絡輸出50*50的heatmap來表示每個像素是否處於目標之內的概率。
卷積神經網絡模型運用的是ImageNet數據集預訓練的模型,然后在線進行更新,跟蹤時運用兩個卷積神經網絡,采用不同的更新策略。

在OTB50數據集上,與傳統采用手工設計的方法相比較,該方法性能有了極大的提升。

隨着深度學習的火熱,從2015年開始,利用深度學習進行目標跟蹤的研究工作越來越多。

馬超在ICCV2015的工作是將卷積神經網絡中不同層的特征圖結合起來,在相關濾波框架下進行跟蹤。
在淺層的網絡中,空間的分辨率較高,但是特征的語義信息比較少;
隨着卷積神經網絡層數的增加,從深層網絡提取的特征語義信息越來越豐富,但是空間的分辨率就會越低,不利於對目標的定位。
所以融合不同層的特征,有利於提高目標跟蹤的精度。

這是大連理工大學盧湖川老師在ICCV2015的工作,將全卷積網絡用在目標跟蹤上,運用卷積神經網絡不同層之間的特性,對網絡中不同層的特征進行融合,提高了目標跟蹤的性能,該網絡在OTB50上取得了不錯的結果。

CVPR2016上提出的MDNet方法在多個數據集上都取得了非常好的結果,該網絡具備如下特點:
-
MDNet通過卷積神經網絡學習性能很強的分類器,將目標和背景分開。
-
其網絡結構輸出K個全連接層,對應K個用來訓練的序列。
-
訓練的時候每次選出一個序列,更新對應的分支全連接層和內部共享的隱含層。
-
為了提高分類性能,該模型挖掘有難度的負樣本來構造訓練的minibatch。
-
在跟蹤時,采用邊框回歸來提高網絡的精度,定位時通過在上一幀采樣N個候選,然后將分類結果最好的一個候選作為目標位置。
-
該網絡的缺點是速度慢,在NVIDIA Tesla K20 GPU上速度是1幀/秒。

雖然運行時間慢,但是該網絡的精度非常高,在OTB50和OTB100上都取得了非常好的結果。

近期美國天普大學凌海濱老師對MDNet模型進行了改進,在網絡中采用循環神經網絡對目標自身結構進行建模。

該網絡在OTB100上取得了不錯的跟蹤結果。

孿生網絡
CVPR2016上提出了一種通過相似性學習的方式進行目標跟蹤的孿生網絡。
其最大的特點是,該方式訓練好的網絡直接在跟蹤上使用,不需要更新。網絡同樣采用了不同層的特征融合和邊框回歸來提升目標跟蹤的性能。

該網絡也是取得了不錯的結果。

在ECCV2016上也有一篇采用孿生網絡的工作,與上一篇不同之處在於,這篇采用全卷積網絡。
其優勢在於:只需要一次前向操作,通過cross-correlation layer就可以得到所有卷積區域的得分;對於搜索圖像也不要求必須和目標的圖像大小一致。

該網絡在VOT2015數據集上取得了不錯的結果,由於采用了全卷積網絡的結構,和其他基於深度學習的方法相比,速度具有很大的優勢。

在ECCV2016上還有一個采用深度回歸網絡進行目標跟蹤的工作,與目標檢測中基於回歸方法的卷積網絡有些類似,這個方法直接對目標位置進行回歸。
與其他基於深度學習方法的目標跟蹤相比,該方法具有如下特點:
-
由於直接對目標位置進行回歸,其速度上會有更大的優勢。
-
改變了其他方法提取第一幀的作為參考模型方式,而在前一幀的目標位置提取參考模型,提取的目標patch里還含有一定的背景context信息
-
在線跟蹤的時候網絡模型不用進行更新
-
在訓練的時候不僅采用了視頻輸入,同時還采用了靜態圖像輸入,圖像采用的是ImageNet檢測挑戰的數據集來進行訓練,因此特征提取更加細膩。

與其他基於深度學習的方法相比,該模型主要的優勢是速度快,在GTX Titan X GPU上運行超過100幀/秒。

最近發表的另外一些基於深度學習的目標跟蹤工作,例如:采用CNN和LSTM進行結合的方式。
