1. 程式人生 > >運動目標跟蹤(十一)--CN及CSK跟蹤原理

運動目標跟蹤(十一)--CN及CSK跟蹤原理

原文:

http://blog.csdn.net/hlinghling/article/details/44308199

基於自適應顏色屬性的目標追蹤(就是CN)

Adaptive Color Attributes for Real-Time Visual Tracking

基於自適應顏色屬性的實時視覺追蹤

 3月講的第一篇論文,個人理解,存在很多問題,歡迎交流!

這是CVPR2014年的文章。名字翻譯為基於自適應選擇顏色屬性的實時視覺跟蹤。首先理解什麼是Adaptive color attributes,文章中colorattributes把顏色分為11類,就是將RGB三種顏色細化為黑、藍、棕、灰、綠、橙、粉、紫、紅、白和黃共11種。那麼如何做到adaptive(自適應)?就是實時的選擇比較顯著的顏色,這個選擇的過程是一種類似PCA(主成分分析)中降維的思想,將11維特徵降為2 維(程式碼裡使用的就是2),文章重點之一就是這個。

主成分分析:主要用於特徵的降維。

PCA是指它可以從多元事物中解析出主要影響因素,揭示事物的本質,簡化複雜的問題,是尋找最小均方意義下、最能代表原始資料的投影方法。主成分分析的主要思想是尋找到資料的主軸方向,由主軸構成一個新的座標系,這裡的維數可以比原維數低,然後資料由原座標系向新的座標系投影,這個投影的過程就是降維的過程。

摘要

視覺跟蹤在計算機視覺中是一個很有挑戰性的問題,現在最好的(state-of-art) 視覺跟蹤器或者依賴於光照資訊或是使用簡單的顏色表示來描述圖片。與視覺跟蹤不同的是,在目標識別和檢測問題中,結合光照資訊和複雜的顏色特徵可以提供非常好的表現。由於跟蹤問題的複雜性,所需要的顏色特徵應該被有效的計算並且擁有一定的光學不變形同時保持較高的辨別力。

這篇文章研究基於檢測的跟蹤(tracking-by-detection)結構下顏色屬性的貢獻值。我們的結果表明顏色屬性對於視覺跟蹤問題具有優越的表現。我們進而提出一種自適應低維顏色屬性的轉化。用41個有挑戰性的基準顏色序列進行基於量化和屬性評估方法的評價。該方法比基於光照強度的跟蹤器提升了24%的距離精度。此外,可以得到我們的方法勝過最先進的追蹤方法,並且速度可達到100fps以上。

1.     Introduction

目標跟蹤就是在圖片序列中找到目標的位置,(目標是提前標明的,即在第一幀給出),在計算機視覺中是最優挑戰性的問題,在許多應用中扮演了至關重要的作用,比如,人機互動,視訊監控,機器人。跟蹤問題之所以複雜是因為,跟蹤過程中可能發生光照改變,遮擋,背景干擾,跟蹤目標發生形變。本文調查瞭如何使用顏色資訊來減小上述問題的影響。

現在最先進的跟蹤器或是使用光照強度(RGB值)或是使用紋理資訊。儘管現在在視覺跟蹤方面已經取得了很大的進展,但是對於顏色資訊的使用還是僅限於簡單的顏色空間轉換。和視覺跟蹤不同的是,在目標檢測方面,複雜的,巧妙設計的顏色特徵顯示了非常好的效果,而利用顏色資訊做視覺跟蹤是一件很難的事情。顏色測量結果在整個圖片序列中變化很大,原因包括光照改變,陰影,相機和目標幾何位置的變化。對於彩色影象在上述情況下魯棒性的評價已經用在 影象分類,行為識別上,因此我們使用現在的評價方法來評價對目標跟蹤這個問題的顏色轉換的方法。

現在處理視覺跟蹤問題的方法有兩種,叫生成方法和判別方法(看過機器學習的人應該很熟)。生成方法不斷去搜索和目標最相似的區域,這類方法或者基於模板匹配或是基於子空間模型(子空間這個概念有點唬人,我覺得就是將原始的目標,分為好多層,就像ps裡的圖層一樣)。判別方法旨在將目標從背景中區分出來,就是將跟蹤問題變為二分類問題。生成方法只使用了目標的資訊,而判別方法既使用目標資訊也使用背景的資訊,找到一個將目標區分出來的分類界限。這種方法在很多基於tracking by detection框架的演算法中使用,即使用目標和目標附近的環境訓練出一個online的分類器。在前幾年有個對現在比較優秀跟蹤器的評價,(可以看cvpr2013年的一個benchmark),裡面有個csk的跟蹤器,排在前十名,而且擁有非常高的速度,這種跟蹤器發現了一個密度取樣的策略,就是對一幀中多個子視窗的處理,可以歸為對一個迴圈矩陣的處理,由於csk良好的表現和快速,我們的方法是基於csk跟蹤器。

貢獻:本文使用顏色屬性擴充套件了csk跟蹤器,並取得了良好的表現。csk的模型更新機制在處理多通道訊號時,是次優的,為此我們調整了原來csk的更新機制,在實驗中證明了新機制在多通道跟蹤中的有效性。高維的顏色屬性導致計算複雜度上的增加,可能限制跟蹤器在實時應用和機器人中的使用,為此我們提出了自適應的維度下降方法,將原始的11維下降到2維,這樣跟蹤器的幀率就可以達到100fps以上並且不影響精確度。最後我們做了大量的評價證明了。

2.     The CSK Tracker

            CSK是在一個單獨的影象碎片中從目標中得到核心的最小方形分類器。首先,這篇文章使用的決策函式是一個結構風險最小化的函式:


文章中:





具體的細節後面再說。

            Vapnik等人在多年研究統計學習理論基礎上對線性分類器提出了另一種設計最佳準則。其原理也從線性可分說起,然後擴充套件到線性不可分的情況。甚至擴充套件到使用非線性函式中去,這種分類器被稱為支援向量機(Support Vector Machine,簡稱SVM)。支援向量機的提出有很深的理論背景。

       支援向量機方法是在近年來提出的一種新方法。

            SVM的主要思想可以概括為兩點:⑴它是針對線性可分情況進行分析,對於線性不可分的情況,通過使用非線性對映演算法將低維輸入空間線性不可分的樣本轉化為高維特徵空間使其線性可分,從而 使得高維特徵空間採用線性演算法對樣本的非線性特徵進行線性分析成為可能;

這裡主要說程式碼的思路。

            首先:讀入視訊檔案,得到groundtruth資訊,也就得到了object的位置和大小的資訊;然後得到一個在目標框圖內目標的分佈函式(高斯的分佈,這一點我不是很明白,和公式裡面不一樣);

            接下來:  讀入第一張圖片,轉化為灰度圖,對框內的資料進行視窗濾波的處理,得到一個邊緣效應比較小的資料。並且這個資料是被歸一化到-0.5~0.5的;

            然後:     通過以上資料求得核函式K;然後利用K再求出f(x)需要用到的 alpha(就是上面公式裡面的c);(值得注意的是這裡對於這兩個重要的引數的求解都是從FourierDomain求得的,這裡是本文的一個創新點,也是速度如此快的原因)

            接下來:   對於後面的每一幀影象, 先轉化為灰度影象,然後用hann窗預處理好輸入的資料;接下來結合上一幀影象的資訊再次計算K;然後由現在的alpha和K來計算出響應值,選出響應值最大的位置。(值得注意的是這裡計算的出來的響應值是待處理的Frame裡面的每一個可能的目標區域)

            最後:  根據響應值最大的位置來計算現在的K,然後更新alpha。然後處理下一幀影象。(同時也要看到,計算響應值和更新alpha所用到的K的計算的方式是不一樣的。程式碼裡面,計算響應值的K是目標和待檢測的目標img進行卷積的,而更新的時候是目標和自己卷積的)

高斯函式

高斯函式的形式為:


其中 a、b 與 c 為實數常數 ,且a > 0.

c2 = 2 的高斯函式是傅立葉變換的特徵函式。這就意味著高斯函式的傅立葉變換不僅僅是另一個高斯函式,而且是進行傅立葉變換的函式的標量倍。

在計算機視覺中,有時也簡稱為高斯函式高斯函式具有五個重要的性質,這些性質使得它在早期影象處理中特別有用.這些性質表明,高斯平滑濾波器無論在空間域還是在頻率域都是十分有效的低通濾波器,且在實際影象處理中得到了工程人員的有效使用.高斯函式具有五個十分重要的性質,它們是:

(1)二維高斯函式具有旋轉對稱性,即濾波器在各個方向上的平滑程度是相同的.一般來說,一幅影象的邊緣方向是事先不知道的,因此,在濾波前是無法確定一個方向上比另一方向上需要更多的平滑.旋轉對稱性意味著高斯平滑濾波器在後續邊緣檢測中不會偏向任一方向.

(2)高斯函式是單值函式.這表明,高斯濾波器用畫素鄰域的加權均值來代替該點的畫素值,而每一鄰域畫素點權值是隨該點與中心點的距離單調增減的.這一性質是很重要的,因為邊緣是一種影象區域性特徵,如果平滑運算對離運算元中心很遠的畫素點仍然有很大作用,則平滑運算會使影象失真.

(3)高斯函式的傅立葉變換頻譜是單瓣的.正如下面所示,這一性質是高斯函式付立葉變換等於高斯函式本身這一事實的直接推論.影象常被不希望的高頻訊號所汙染(噪聲和細紋理).而所希望的影象特徵(如邊緣),既含有低頻分量,又含有高頻分量.高斯函式付立葉變換的單瓣意味著平滑影象不會被不需要的高頻訊號所汙染,同時保留了大部分所需訊號.

(4)高斯濾波器寬度(決定著平滑程度)是由引數σ表徵的,而且σ和平滑程度的關係是非常簡單的.σ越大,高斯濾波器的頻帶就越寬,平滑程度就越好.通過調節平滑程度引數σ,可在影象特徵過分模糊(過平滑)與平滑影象中由於噪聲和細紋理所引起的過多的不希望突變數(欠平滑)之間取得折衷.

(5)由於高斯函式的可分離性,大高斯濾波器可以得以有效地實現.二維高斯函式卷積可以分兩步來進行,首先將影象與一維高斯函式進行卷積,然後將卷積結果與方向垂直的相同一維高斯函式卷積.因此,二維高斯濾波的計算量隨濾波模板寬度成線性增長而不是成平方增長.

希爾伯特空間

完備的內積空間,在一個複數向量空間上的給定的內積可以按照如下的方式匯出一個範數norm

此空間稱為是一個希爾伯特空間,如果其對於這個範數來說是完備的。這裡的完備性是指,任何一個柯西列都收斂到此空間中的某個元素,即它們與某個元素的範數差的極限。任何一個希爾伯特空間都是巴拿赫空間,但是反之未必

離散傅立葉變換和快速傅立葉變換

所謂徑向基函式 (Radial Basis Function簡稱 RBF),就是某種沿徑向對稱的標量函式。通常定義為空間中任一點x到某一中心xc之間歐氏距離單調函式,可記作 k(||x-xc||),其作用往往是區域性的 ,即當x遠離xc時函式取值很小。最常用的徑向基函式是高斯核函式 ,形式為k(||x-xc||)=exp{- ||x-xc||^2/(2*σ^2) }其中xc為核函式中心為函式的寬度引數 , 控制了函式的徑向作用範圍

核函式(Kernels

            將核函式形式化定義,如果原始特徵內積是,對映後為,那麼定義核函式(Kernel)為

            由於計算的是內積,我們可以想到IR中的餘弦相似度,如果x和z向量夾角越小,那麼核函式值越大,反之,越小。因此,核函式值是和的相似度。

SVM的核函式如何選取

1. Linear核:主要用於線性可分的情形。引數少,速度快,對於一般資料,分類效果已經很理想了。
2. RBF
核:主要用於線性不可分的情形。引數多,分類結果非常依賴於引數。有很多人是通過訓練資料的交叉驗證來尋找合適的引數,不過這個過程比較耗時。我個人的體會是:使用libsvm,預設引數,RBF核比Linear核效果稍差。通過進行大量引數的嘗試,一般能找到比linear核更好的效果

3.     顏色視覺追蹤

為了能合併顏色資訊,我們通過定義一個合適的核心K來擴充套件CSK追蹤不起到多維顏色特徵。

1.     a Hann Window

漢寧窗又稱升餘弦窗,漢寧窗可以看作是3個矩形時間窗的頻譜之和,或者說是 3 sinct)型函式之和,而括號中的兩項相對於第一個譜窗向左、右各移動了 π/T,從而使旁瓣互相抵消,消去高頻干擾和漏能。可以看出,漢寧窗主瓣加寬並降低,旁瓣則顯著減小,從減小洩漏觀點出發,漢寧窗優於矩形窗.但漢寧窗主瓣加寬,相當於分析頻寬加寬,頻率分辨力下降。


2.     低維度自適應顏色屬性

提出一種自適應維度減少的方法,它能夠儲存有用資訊的同時大大減少顏色維度的數量,從而使得速度有了顯著的提升。

Adaptivecolor attributes:

  文章中colorattributes把顏色分為11類,就是將RGB三種顏色細化為11種基本顏色(black,blue,brown,grey,green,orange,pink,purple,red,white,yellow)。

 如何做到adaptive(自適應)?就是實時的選擇比較顯著的顏色,這個選擇的過程是一種類似PCA(主成分分析)中降維的思想,將11維特徵降為2 維(程式碼裡使用的就是2) 。

對於CN(color name)對映有兩種規範化技術:

1.將11個顏色容器中各減去1/11,CN將變為10維子空間

2.將CN投影到10維子空間的標準正交基上。(效果更好)

基於顏色特徵拓展CSK分類器:

目標模型由兩部分組成:

學習目標外觀(thelearned target appearance)  &&  變換的分類器引數A

1)CSK tracker 線性插值:

           (並非前面所有的幀都同時用於更新當前的資料)

2)文獻4 MOSSE tracker:在更新方案中計算當前幀的同時考慮前面所有幀(本文所用的方法)

           (但僅用於一維,我們需要將方法用於多維顏色特徵)

更新分類器:

最小代價函式:


低維自適應顏色屬性:

方法:通過最小代價函式,為當前幀P找到一個適合的降維對映。



4.     實驗

三個評估引數:

CLE中心位置誤差:目標的估計中心位置與真實地面的平均歐氏距離;

DP距離精度:中心誤差小於一個給定閾值的幀的相對數量;

OP重複精度:邊界框重疊的地方超過一個閾值的百分比。

實驗圖見論文

1.顏色特徵的評估


2.更新方案


3.低維自適應顏色屬性


4.與最先進方法比較

結論:

CN和CN2得到較好的結果,CN2速度要快,本文提出的的方法較好!

總結:

本文提出使用顏色屬性來進行視覺追蹤,並且將CSK追蹤器的學習方案擴充套件到多通道顏色特徵,提出基於顏色屬性的低維自適應擴充套件。最終可以得到結論:文章中提出的方法在100FPS的速度的同時保持最高的精確度。

解釋:

StruckStructuredoutput tracking with kernels基於核心的結構化輸出跟蹤

EDFT:Enhanced distribution fieldtracking using channel representations基於通道表示的增強分佈場追蹤

CSK:Exploiting the circulantstructure of tracking-by-detection with kernels

LSHT:Visual tracking via localitysensitive histograms基於區域性敏感直方圖的目標跟蹤演算法

 有對應原始碼和論文

本文的參考文獻:

1.CSK :J.Henriques, R.Caseiro, P. Martins, and J. Batista. Exploitingthecirculant structure oftracking-by-detection with kernels. InECCV, 2012.

2. J. van deWeijer, C.Schmid, J. J.Verbeek, and D.Larlus. Learning color namesfor real-world applications.TIP,18(7):1512–1524,2009