DSST(Discriminative Scale Space Tracker)
題目:Accurate Scale Estimation for Robust Visual Tracking
來源:BMVC 2014 (VOT2014 Benchmark第一名)
作者:Martin Danelljan,林雪平大學
1. 基本介紹
提出了一種在tracking-by-detection框架下的目標尺度估計算法。算法基於尺度金字塔描述來學習DCF(判別式相關濾波),分別學習尺度估計濾波器、位置濾波器兩個不同的濾波器。相較於全面的尺度搜索方法(也是本文所提出,比較耗時),快速尺度跟蹤方法性能提升顯著,並能夠方便的融入到其他沒有尺度估計的跟蹤算法中。
2. DCF (Discriminative Correlation Filters)
位置估計的方法基於MOSSE跟蹤方法,算法通過學習得到一個位置的相關濾波器,用這個濾波器來確定目標在下一幀的位置。MOSSE使用的是灰度圖像。爲訓練圖像,爲期望的高斯相應,爲第幀時待求的濾波器(詳細情況可參閱MOSSE算法總結)。通過在傅里葉頻域中最小化誤差項,
可求解得到第t幀的濾波器(使用個樣本)
通過對過去幀的檢測結果加權平均來取代直接的求和。當在當前幀內大小的檢測區域 進行檢測時,檢測結果爲
新目標的估計位置即爲相關分數矩陣的最大值位置。
3. 算法介紹
3.1 Discriminative Correlation Filters for Multidimensional Features(多維特徵的DCF)
使用深度的特徵(27維fhog特徵+1維灰度原始特徵,每層特徵記爲 ),並加上漢明窗,期望響應輸出爲二維高斯函數,每層特徵對應一個二維的位置濾波器(,,尺寸相等)。
最小化誤差,得到濾波器
仍然是分子分母分別迭代
預測輸出由下式得到
3.2 Exhaustive Scale Space Tracking(全面尺度空間跟蹤)
基於3維的位置尺度濾波器,濾波器尺寸爲,代表高、寬、尺度數。
首先以目標舊位置爲中心提取 種不同尺度下的矩形樣本,然後把所有樣本resize到固定的尺寸(),構成一個的矩形塊(以待估計目標的位置和尺度爲中心)。然後在這個固定的尺寸下提取fhog特徵, 使用三維高斯函數構建對應的期望輸出。濾波器的迭代計算方式同3.1節相同。
預測時,取矩形塊響應輸出中的最大值,同時得到新位置和新尺度。然後以該位置和尺度爲中心進行下一步矩形塊的構建和迭代計算。
此方法計算量較大。
3.3 Fast Scale Space Tracking(快速尺度跟蹤)
基於一維尺度濾波器。由於在連續的兩幀中,位置的變化往往大於尺度的變化,因爲,文中先採用2維位置濾波器確定位置信息,再在位置的基礎上使用1維尺度濾波器確定尺度信息。
- 在當前幀裏,提取一個上幀目標2倍大小區域()作爲樣本。以3.1節介紹的位置濾波器方法,計算目標新位置。
- 以目標當前新位置爲中心,截取種不同尺度下的矩形樣本,然後把所有樣本resize到固定的尺寸(),在這個固定的尺寸下提取fhog特徵,每個尺度樣本的特徵串成一個特徵向量(設長度爲,長度和resize的尺寸有關)。
- 對應到3.1節的濾波器更新公式,則特徵層數變爲特徵向量的長度,變爲一維高斯函數(長度爲),長度爲,在每個上分別乘一個一維漢明窗。然後預測輸出響應最高的尺度值。
在此引用kooalle_cln博客中的一張圖
3.4 各種尺度的選擇
和爲目標在上一幀的長寬,,爲尺度總數。
則一共有個取值(),
比當前尺度越大的多的尺度,放縮比例越大。即越接近的尺度越精細檢測,越遠的尺度越粗略檢測。
4. 算法性能
與其他尺度適應算法的比較
Martin自從提出DSST算法後,在自己的跟蹤器工作中就從來沒用過,用的都是上述的SAMF
優點:不依賴於定位器,如果定位時間較長則使用DSST進行尺度估計是首選,否則不建議使用;
時間開銷:CPU下大概10ms,主要開銷在特徵提取上(33*2)次。
SAMF
尺度金字塔原理,方法實用;
特點:無參數,不更新,尺度估計是否準確比較依賴於定位器的性能是否魯棒;
優點:雖然尺度估計不準會影響跟蹤定位器的學習,但是多尺度搜索天然的可以和定位器定位相互促進,所以相互結合比較穩定,不易出現尺度估計偏移過大情況;
時間開銷:依賴於定位器的定位開銷,N-1倍於定位器定位開銷(N爲金字塔等級數);
應用:廣泛應用於SRDCF系列目標跟蹤算法(SRDCF,CCOT,ECO)。
【引用自 https://blog.csdn.net/aiqiu_gogogo/article/details/79108461 】
- 雖然SAMF和DSST都可以跟上普通的目標尺度變化,但SAMF只有7個尺度比較粗,而DSST有33個尺度比較精細準確;
- DSST先檢測最佳平移再檢測最佳尺度,是分步最優,而SAMF是平移尺度一起檢測,是平移和尺度同時最優,而往往局部最優和全局最優是不一樣的;
- DSST將跟蹤劃分爲平移跟蹤和尺度跟蹤兩個問題,可以採用不同的方法和特徵,更加靈活,但需要額外訓練一個濾波器,每幀尺度檢測需要採樣33個圖像塊,之後分別計算特徵、加窗、FFT等,尺度濾波器比平移濾波器慢很多;SAMF只需要一個濾波器,不需要額外訓練和存儲,每個尺度檢測就一次提特徵和FFT,但在圖像塊較大時計算量比DSST高。
所以尺度檢測DSST並不總是比SAMF好,其實在VOT2015和VOT2016上SAMF都是超過DSST的,當然這主要是因爲特徵更好,但至少說明尺度方法不差。總的來說,DSST做法非常新穎,速度更快,SAMF同樣優秀也更加準確。
DSST一定要33個尺度嗎?
DSST標配33個尺度非常非常敏感,輕易降低尺度數量,即使你增加相應步長,尺度濾波器也會完全跟不上尺度變化。關於這一點可能解釋是,訓練尺度濾波器用的是一維樣本,而且沒有循環移位,這就意味着一次訓練更新只有33個樣本,如果降低樣本數量,會造成訓練不足,分類器判別力嚴重下降,不像平移濾波器有非常多的移位樣本(個人看法歡迎交流)。總之,請不要輕易嘗試大幅降低尺度數量,如果非要用尺度濾波器33和1.02就很好。
以上就是兩種推薦的尺度檢測方法,以後簡稱爲類似DSST的多尺度和類似SAMF的多尺度。如果更看重速度,加速版的fDSST,和僅3個尺度的SAMF(如VOT2014中的KCF)就是比較好的選擇;如果更看重精確,33個尺度的DSST,及7個尺度的SAMF就比較合適。
【作者:YaqiLYU 鏈接:https://www.zhihu.com/question/26493945/answer/156025576】
4. 參考資料
https://blog.csdn.net/roamer_nuptgczx/article/details/50134633
https://www.jianshu.com/p/c709aea5a56f