本發(fā)明涉及一種動(dòng)作識(shí)別方法。特別是涉及一種基于稀疏編碼張量分解的動(dòng)作識(shí)別方法,
背景技術(shù):
隨著可以獲得的視頻數(shù)量的急劇增加,基于內(nèi)容的視頻分析已經(jīng)在視頻檢索、動(dòng)作識(shí)別、視頻摘要等領(lǐng)域引起了極大的關(guān)注。與其他人體部位相比較,由于手勢(shì)其手和手指具有很高的靈巧度,因此它是最有效的和通用的與外界交互的方式。作為人類動(dòng)作語(yǔ)義分析中的重要組成部分,手勢(shì)識(shí)別已經(jīng)獲得了廣泛的應(yīng)用。例如在醫(yī)院就診中一個(gè)手勢(shì)識(shí)別系統(tǒng)可以使醫(yī)生通過(guò)手勢(shì)去操縱數(shù)字圖像。
手勢(shì)識(shí)別的目的可以看作是對(duì)視頻序列進(jìn)行分類。在最近幾年,出現(xiàn)了一些有關(guān)于手勢(shì)識(shí)別的工作,但是對(duì)于現(xiàn)實(shí)的應(yīng)用領(lǐng)域設(shè)計(jì)一個(gè)強(qiáng)有力的手勢(shì)識(shí)別算法仍然是一個(gè)極具挑戰(zhàn)性的問(wèn)題,尤其是對(duì)于那些非常復(fù)雜的動(dòng)作。為了去更好的解決這個(gè)問(wèn)題,多重線性代數(shù)作為分析多維數(shù)據(jù)類型(張量)的一個(gè)強(qiáng)有力的的工具已經(jīng)應(yīng)用到了手勢(shì)識(shí)別問(wèn)題當(dāng)中。既然人體動(dòng)作隨時(shí)間的變化可以表示為一個(gè)視頻幀序列,那么張量就可以很自然的將動(dòng)作序列表征為一個(gè)三階張量的形式?;趶埩糠纸獾募夹g(shù),已經(jīng)提出了許多的手勢(shì)識(shí)別算法;他們都是通過(guò)將視頻序列轉(zhuǎn)化為張量的形式而不是傳統(tǒng)的向量或者矩陣的形式去測(cè)量視頻序列之間的相似度。將視頻轉(zhuǎn)換為向量或矩陣的形式不僅會(huì)造成視頻中所包含的原始數(shù)據(jù)信息丟失,而且還會(huì)破壞視頻幀與幀之間的相關(guān)性。同時(shí)原始視頻序列中會(huì)伴有各種各樣的噪聲,傳統(tǒng)的將其轉(zhuǎn)換為向量或矩陣的方式并不能夠去除冗余。因此本發(fā)明提出了用張量去建模視頻序列,并且用張量分解技術(shù)對(duì)建模后的張量視頻序列進(jìn)行處理。
兩種非常值得注意的張量分解方式為CP分解和Tucker分解。這兩種分解方式的主要不同點(diǎn)在于CP分解是將一個(gè)張量分解為許多的一秩張量之和的形式,Tucker是主成分分析的一種高階的形式。然而在這些基于張量分解去對(duì)視頻進(jìn)行分類的方法中,存在一個(gè)基本的然而卻被忽視的問(wèn)題:所有的視頻序列在時(shí)間維度上都需要有統(tǒng)一的視頻序列長(zhǎng)度。當(dāng)前用一個(gè)確定時(shí)間軸長(zhǎng)度去標(biāo)準(zhǔn)化視頻序列的最普遍的方式是從視頻序列中挑選中間的一些幀去建立一個(gè)新的視頻序列,使這些視頻序列的長(zhǎng)度統(tǒng)一。然而這種操作方式會(huì)導(dǎo)致以下的不足之處:1)新構(gòu)建的視頻序列不能夠全面的表征手勢(shì);2)不能夠依靠手勢(shì)動(dòng)作中速度的變化去自動(dòng)的捕獲視頻序列中的關(guān)鍵幀。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種能夠提高手勢(shì)識(shí)別的準(zhǔn)確率并且便于后續(xù)視頻序列分類的基于稀疏編碼張量分解的動(dòng)作識(shí)別方法。
本發(fā)明所采用的技術(shù)方案是:一種基于稀疏編碼張量分解的動(dòng)作識(shí)別方法,包括如下步驟:
1)將原始的視頻序列表征為一個(gè)三階的視頻序列張量T表示視頻序列長(zhǎng)度,I1×I2表示視頻幀的大小;
2)對(duì)三階的視頻序列張量進(jìn)行Tucker分解獲得空域維度減少的核張量;
3)將視頻序列張量縮放到相同的尺度;
4)動(dòng)態(tài)學(xué)習(xí)步驟2)和步驟3)更新結(jié)果直到算法收斂結(jié)果達(dá)到最優(yōu)。
步驟2)是將最初的視頻序列張量表示成一個(gè)低階的視頻序列張量其中J1<I1,J2<I2,在這個(gè)變換過(guò)程找到三個(gè)映射矩陣和視頻序列張量表示如下形式:
其中,F(xiàn)=Α×1U1×2U2,則視頻序列張量C簡(jiǎn)寫為:
C=F×3U3 (2)。
步驟3)包括:
(1)構(gòu)建目標(biāo)函數(shù)
為了將視頻縮放到相同的尺度,對(duì)映射矩陣U3采用關(guān)鍵幀選擇(類似于特征選擇)的措施:采用稀疏編碼的方法從F中選取最優(yōu)的K幀構(gòu)成詞典,其中K<T,在此基礎(chǔ)上用有限的基重構(gòu)原始的視頻序列,對(duì)F按照時(shí)間域展開得到令張量展開矩陣設(shè)定目標(biāo)函數(shù)如下:
其中,定義詞典為從F中選取的K幀向量構(gòu)成的基,定義表示去掉GS矩陣的全零列后構(gòu)成的矩陣,λ,β為懲罰因子。同時(shí)可得:
其中矩陣L可以通過(guò)初始化詞典B={b1,…,bk…,bK}得到。
目標(biāo)函數(shù)轉(zhuǎn)換如下形式:
假定存在線性函數(shù)G=f(B),即滿足G=BU3,則映射矩陣U3=B+G,其中B+為B的偽逆;
(2)求解目標(biāo)函數(shù)
先應(yīng)用詞典學(xué)習(xí)的方法尋找最佳的關(guān)鍵幀構(gòu)成詞典B進(jìn)而得到映射矩陣U3,再用交替迭代的方法得出映射矩陣U1和U2,最終得出等長(zhǎng)的視頻序列;具體包括
(a)尋找最佳的關(guān)鍵幀構(gòu)成詞典B
首先從張量展開矩陣中隨機(jī)選擇K列,組成初始化的詞典B={b1,…,bk…,bK},并得到對(duì)角矩陣S和矩陣L,將原始的目標(biāo)函數(shù)轉(zhuǎn)化為求解如下目標(biāo)函數(shù):
定義其中1≤k≤K,通過(guò)如下函數(shù)尋找使得誤差最小的列
從詞典B中去掉該列得到
令其中1≤i≤T-K,選擇一個(gè)向量替換掉bp,使?jié)M足如下條件:
更新、計(jì)算對(duì)角矩陣S和視頻序列張量C,并重該(a)步直至收斂,利用映射矩陣U3=B+G得到映射矩陣U3;
(b)求解映射矩陣U1和映射矩陣U2
首先給定視頻序列張量Α,隨機(jī)初始化映射矩陣U1和映射矩陣U2,根據(jù)下式:
F=Α×1U1×2U2 (9)
對(duì)F展開得到矩陣?yán)靡曨l序列張量C的算法求解映射矩陣U3,應(yīng)用交替下降法以及特征值分解法將映射矩陣U1及映射矩陣U3作為已知求解映射矩陣U2,將映射矩陣U2及映射矩陣U3作為已知求解映射矩陣U1,重該(b)步直至收斂。
步驟4)包括:
動(dòng)態(tài)的循環(huán)迭代步驟2)和步驟3)直到算法收斂,每循環(huán)迭代一次算法會(huì)更新一次映射矩陣U1,U2,U3和等長(zhǎng)的視頻序列張量C,最終所得的等長(zhǎng)視頻序列張量C是在空域上對(duì)原始的視頻進(jìn)行了空間降維去噪處理,在時(shí)域上進(jìn)行降維后仍然可以體現(xiàn)原始視頻的時(shí)序信息同時(shí)保留了等長(zhǎng)視頻序列張量C在時(shí)域上的連續(xù)性;
在得到等長(zhǎng)的視頻序列張量C后,采用積流行的方法對(duì)視頻序列張量C進(jìn)行分類,每個(gè)張量在積流行中映射為一個(gè)點(diǎn),然后在積流行中計(jì)算每?jī)蓚€(gè)點(diǎn)的測(cè)地線距離,來(lái)對(duì)張量視頻序列C進(jìn)行分類。
本發(fā)明的基于稀疏編碼張量分解的動(dòng)作識(shí)別方法,能夠?qū)⒁曨l序列處理為統(tǒng)一的長(zhǎng)度——稀疏編碼張量分解技術(shù)。在這個(gè)過(guò)程中通過(guò)在張量分解的框架中適應(yīng)性挑選出信息量最多的幀去構(gòu)建出具有統(tǒng)一視頻序列長(zhǎng)度的新的視頻序列。本發(fā)明的方法降低了手勢(shì)識(shí)別的難度,提高了手勢(shì)識(shí)別的準(zhǔn)確性,為后續(xù)的視頻序列分類提供了良好的條件,提升視頻序列分類的準(zhǔn)確率。
附圖說(shuō)明
圖1是基于稀疏編碼張量分解技術(shù)的動(dòng)作識(shí)別方法流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例和附圖對(duì)本發(fā)明的基于稀疏編碼張量分解的動(dòng)作識(shí)別方法做出詳細(xì)說(shuō)明。
基于稀疏編碼張量分解的動(dòng)作識(shí)別方法,其特征在于,包括如下步驟:
1)將原始的視頻序列表征為一個(gè)三階的視頻序列張量T表示視頻序列長(zhǎng)度,I1×I2表示視頻幀的大??;相對(duì)于傳統(tǒng)的將視頻中的每一幀提取特征然后用這些特征去進(jìn)行識(shí)別分類的方法相比,將一個(gè)視頻序列整體構(gòu)建為一個(gè)三階張量的形式可以保留視頻中的全部信息不造成信息的丟失,而且張量及張量分解技術(shù)當(dāng)今已非常成熟,也為后續(xù)的算法設(shè)計(jì)奠定了良好的基礎(chǔ)。
2)對(duì)三階的視頻序列張量進(jìn)行Tucker分解獲得空域維度減少的核張量;
是將最初的視頻序列張量表示成一個(gè)低階的視頻序列張量其中J1<I1,J2<I2,在這個(gè)變換過(guò)程找到三個(gè)映射矩陣和視頻序列張量表示如下形式:
其中,F(xiàn)=Α×1U1×2U2,則視頻序列張量C簡(jiǎn)寫為:
C=F×3U3 (2)。
3)將視頻序列張量縮放到相同的尺度;包括:
(1)構(gòu)建目標(biāo)函數(shù)
為了將視頻縮放到相同的尺度,對(duì)映射矩陣U3采用關(guān)鍵幀選擇(類似于特征選擇)的措施:采用稀疏編碼的方法從F中選取最優(yōu)的K幀構(gòu)成詞典,其中K<T,在此基礎(chǔ)上用有限的基重構(gòu)原始的視頻序列,對(duì)F按照時(shí)間域展開得到令張量展開矩陣設(shè)定目標(biāo)函數(shù)如下:
其中,定義詞典為從F中選取的K幀向量構(gòu)成的基,定義表示去掉GS矩陣的全零列后構(gòu)成的矩陣,λ,β為懲罰因子。同時(shí)可得:
其中矩陣L可以通過(guò)初始化詞典B={b1,…,bk…,bK}得到
目標(biāo)函數(shù)轉(zhuǎn)換如下形式:
假定存在線性函數(shù)G=f(B),即滿足G=BU3,則映射矩陣U3=B+G,其中B+為B的偽逆;
(2)求解目標(biāo)函數(shù)
先應(yīng)用詞典學(xué)習(xí)的方法尋找最佳的關(guān)鍵幀構(gòu)成詞典B進(jìn)而得到映射矩陣U3,再用交替迭代的方法得出映射矩陣U1和U2,最終得出等長(zhǎng)的視頻序列;具體包括
(a)尋找最佳的關(guān)鍵幀構(gòu)成詞典B
首先從張量展開矩陣中隨機(jī)選擇K列,組成初始化的詞典B={b1,…,bk…,bK},并得到對(duì)角矩陣S和矩陣L,將原始的目標(biāo)函數(shù)轉(zhuǎn)化為求解如下目標(biāo)函數(shù):
定義其中1≤k≤K,通過(guò)如下函數(shù)尋找使得誤差最小的列
從詞典B中去掉該列得到
令其中1≤i≤T-K,選擇一個(gè)向量替換掉bp,使?jié)M足如下條件:
更新、計(jì)算對(duì)角矩陣S和視頻序列張量C,并重該(a)步直至收斂,利用映射矩陣U3=B+G得到映射矩陣U3;
(b)求解映射矩陣U1和映射矩陣U2
首先給定視頻序列張量Α,隨機(jī)初始化映射矩陣U1和映射矩陣U2,根據(jù)下式:
F=Α×1U1×2U2 (9)
對(duì)F展開得到矩陣?yán)靡曨l序列張量C的算法求解映射矩陣U3,應(yīng)用交替下降法以及特征值分解法將映射矩陣U1及映射矩陣U3作為已知求解映射矩陣U2,將映射矩陣U2及映射矩陣U3作為已知求解映射矩陣U1,重該(b)步直至收斂。
4)動(dòng)態(tài)學(xué)習(xí)步驟2)和步驟3)更新結(jié)果直到算法收斂結(jié)果達(dá)到最優(yōu),包括:
動(dòng)態(tài)的循環(huán)迭代步驟2)和步驟3)直到算法收斂,每循環(huán)迭代一次算法會(huì)更新一次映射矩陣U1,U2,U3和等長(zhǎng)的視頻序列張量C,經(jīng)過(guò)這種動(dòng)態(tài)的循環(huán)迭代過(guò)程,最終所得的等長(zhǎng)視頻序列張量C是在空域上對(duì)原始的視頻進(jìn)行了空間降維去噪處理,在時(shí)域上進(jìn)行降維后仍然可以體現(xiàn)原始視頻的時(shí)序信息同時(shí)保留了等長(zhǎng)視頻序列張量C在時(shí)域上的連續(xù)性。
在得到等長(zhǎng)的視頻序列張量C后,采用積流行的方法(Y.M.Lui,J.R.Beveridge,and M.Kirby,“Action classification on product manifolds,”In Proceedings of the International Conference on Computer Vision and Pattern Recognition,2010,pp.833–839.)對(duì)等長(zhǎng)視頻序列張量C進(jìn)行分類,每個(gè)張量在積流行中映射為一個(gè)點(diǎn),然后在積流行中計(jì)算每?jī)蓚€(gè)點(diǎn)的測(cè)地線距離,來(lái)對(duì)等長(zhǎng)視頻序列張量C進(jìn)行分類。