原理簡介
在動作視頻中,運動區域像素髮生劇烈的變化,但是在完成一套動作前,其動作代表的含義是不變的,即其視頻表達的高層語義未發生變化。慢特徵分析算法,通過劇烈變化的像素尋找其內含的高層語義信息,計算相應的特徵來表徵其高層語義信息,用以識別。視頻中的動作識別大致可分爲視頻預處理、特徵興趣點提取、輸入視頻信息整理、慢特徵分析、特徵描述、特徵分類。本文主要解析其中核心算法 慢特徵分析部分。
算法數學推導過程
將I維輸入信號記作:X(t)= [x1(t), x2(t), …, xi(t)]T
,其中t屬於(t0 , t1)
。慢特徵分析算法的目的是要尋找一組映射函數:G(x)=[g1(x), g2(x) , … , gj(x)]
,使得輸出信號:`Y(t) = [ y1(t), y2(t), … , yj(t)]T在時間維度上緩慢變化。其中:yj(t) = gj(x(t))。其中g1(x) , g2(x) , …. ,gj(x)
即爲所求的慢特徵函數。
慢特徵分析算法的核心就是尋找一組映射函數使得輸入信號經過變換後得到的輸出信號變化緩慢。輸出信號變化緩慢用數學公式表達即爲:Δj = Δ(yj) = < y(。)j2> t 最小,其中 j屬於{ 1,…,J}。(注:“y(。)”表示“y”的一階導數點應該在y上方的==下同理,“t”表示y在t時刻的瞬時平均值。)確定這一目標表達式後,爲該表達式添加約束條件:
< y1 >t = 0 ; (1)
< yj2>t = 1 ; (2)
對於任意j’ < j : < yj’ yj > t=0 ; (3)
約束條件(1)的作用是方便滿足約束條件(2)和約束條件(3)的要求;約束條件(2)的作用是保證輸出信號攜帶有用信息,避免一些簡單的解決方案使得輸出信號變成常數;約束條件(3)表示去相關,輸出信號的每一維yj都表示信號中不同類型的信息,同時,約束條件(3)也使得輸出信號中y1是變化最緩慢的,y2的變化緩慢的程度其次,y3更次之,依次類推。
如果映射函數是線性的,即gj(x) = wjTx ,其中x是輸入信號,wj是其相應的加權值。那麼SFA映射函數的求解問題可以等同於廣義特徵值的求解問題:
AW = BWΛ
其中,A = < x(。)x(。)T>t
表示輸入信號在時間維度上一階導數協方差的統計平均,B=< xxT>t 表示輸入信號協方差的統計平均。Λ是廣義特徵值組成的對角矩陣,W是廣義特徵向量組成的矩陣。其推導過程可爲:
< Y(。)2> = <(wjTx(。))2> = < wjTx(。)x(。)Twj>= < wjTAW>
= < wjTXXTwj>=< wjTBW>
而< Y(。)2>t=Λ= < Y2>tΛ
, 所以 AW = BWΛ
此外,慢特徵函數是由特徵值Λ決定的,即特徵值越小,對應的慢特徵函數求得的輸出函數變化越慢。
對於非線性的變換,可以認爲是在非線性空間中的線性變換。非線性變換函數h(x)可以定義爲: h(x)=[h1(x), … ,hM(x)]
.
例如:h(x)= [x12, x1x2 , x1x3, 22 , x2x3, x32, x1, x2, x3]
可以認爲是對三維輸入信號:x = [ x1, x2, x3]
的二次非線性擴展。因此,慢特徵分析可以在非線性空間求解,從而獲得非線性的慢特徵映射函數。
簡而言之,慢特徵函數的獲取大體可分爲以下兩個步驟:
1、非線性擴展:
應用非線性函數h(x)對原始輸入信號進行非線性擴展,並是h(x)聚攏:z := h(x) – h0
,其中:h0 = < h(x)>t
。這一操作的目的是使約束條件(1)得到滿足。在本文中,我們使用的非線性擴展函數是:h(x)=[x1, … , xi, x1x1, … , xixi]
。
2、解決廣義特徵值問題: AW= BWΛ
其中 A := < z(。)z(。)T>t
, B = < zzT>t
假設矩陣A 和矩陣B 是M維矩陣,對應於最小的前K個特徵值 λ1 ≤λ2 ≤ … ≤λk
的K個特徵向量:w1, w2, … , wK
即爲所要求的非線性的慢特徵函數: g1(x), g2(x), …gK(x)
:
gj(x) = wjT(h(x) – h(0))
,
這些g(x) 就可以同時滿足約束條件(1)、(2)、(3)以及使得目標表達式最小。
主要參考文獻:Zhang Zhang and Dacheng Tao,Slow Feature Analysis for Human Action Recognition,IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINEINTELLIGENCE,2012,VOL. 34, NO. 3,page:436-450
以上~