金鋒 張德 王亞慧



摘? 要: 為了提高HOG在動作識別應用中的識別率,提出一種基于HOG特征協方差矩陣的動作識別算法。算法以HOG特征為樣本計算協方差矩陣,再通過矩陣對數運算,將協方差矩陣從黎曼流形映射到線性空間;然后從協方差矩陣中提取描述子,基于不同的核函數使用支持向量機進行分類。在公開的三個數據庫Weizmann,KTH和UCF Sports上分別進行實驗,實驗結果表明,文中提出的算法具有很好的識別性能。
關鍵詞: 動作識別; 計算機視覺; 圖像處理; 模式識別; HOG特征; 協方差矩陣
中圖分類號: TN911.73?34; TP391.4? ? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)03?0078?04
Action recognition algorithm based on covariance matrix of HOG feature
JIN Feng, ZHANG De, WANG Yahui
(School of Electrical and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044, China)
Abstract: An action recognition algorithm based on covariance matrix of HOG (histogram of oriented gradient) feature is proposed to improve the recognition rate of HOG in action recognition applications. In the algorithm, HOG features are taken as samples to calculate the covariance matrix, and then the covariance matrix is mapped from the Riemannian manifold to the linear space by matrix logarithm operation. Then the descriptors are extracted in the covariance matrix and classified by support vector machine according to different kernel functions. Some experiments are conducted on the three public databases Weizmann, KTH and UCF Sports respectively, and the results show that the proposed algorithm has good recognition performance.
Keywords: action recognition; computer vision; image processing; pattern recognition; HOG feature; covariance matrix
0? 引? 言
視頻圖像已成為人們獲取視覺信息的主要手段,特別是視頻流和計算機處理相結合,人們稱之為計算機視覺。人類獲取客觀世界信息的80%都來自于視覺,由此可見,人類視覺系統對人類獲取信息而言非常重要[1]。目前,人體運動分析是計算機視覺領域中最活躍的研究主題之一,其核心是利用計算機視覺技術從圖像序列中檢測、跟蹤和識別人并對其行為進行理解與描述?;谟嬎銠C視覺的人體動作識別在智能監控、智能家用電器、人機接口、基于內容的視頻檢索等領域有著廣闊的應用前景和極大的經濟價值和社會價值[2]。
人體動作識別算法主要涉及動作表示和動作分類兩個步驟。目前,根據人體動作將已有動作識別的方法大體分為三類:
1) 基于時序或者狀態模型的動作識別方法[3]。該類方法通過對視頻中運動人體檢測、分割與跟蹤,提取人體輪廓特征并建立動作的時序或狀態模型,然后比較輸入視頻中相應特征與模型的相似性以達到動作識別的目的[4]。該類方法計算簡單、方便快捷,但是該方法的缺點是識別結果容易受視角變換和部分遮擋的影響。
2) 基于上下文及語境分析的動作識別方法。該方法將人體運動信息與全局中的場景或者物體編碼為一個整體進行動作識別。此類方法識別效果較好,但是計算量大,只適合用于特定的場景[5]。
3) 基于局部時空特征點的動作識別方法。該類方法將視頻序列看成是時間域或者空間域上的三維時空卷,然后在三維時空卷上探測局部時空特征點并通過計算其特征進行動作識別[6]。此類方法計算復雜度低且對噪聲和部分遮擋不敏感,具有一定的魯棒性,但是要求特征點足夠稠密,以便能夠保證涵蓋運動目標的全部信息。近年來基于深度學習的方法也受到廣大學者的關注與研究[7?8]。
為了提高所提取特征向量的表征性,提高動作識別精度,本文提出一種基于HOG(Histogram of Oriented Gradient)特征協方差矩陣的動作識別算法。算法以HOG特征為樣本計算協方差矩陣,再通過矩陣對數運算,將協方差矩陣從黎曼流形映射到線性空間,然后運用相關數學工具從協方差矩陣中提取描述子。
1? 動作特征向量構建
本文詳細講解了HOG特征提取方法,并詳細介紹了如何從HOG特征組成的矩陣計算協方差矩陣,并將其投影到向量空間,最終獲得特征向量。
1.1? HOG特征
HOG與其他時空特征不同的是,它描述的出發點是基于局部細胞單元的,而不是圖像整體。這樣就要求在計算特征向量的開始階段需要先將圖像劃分為一個個大小相同的細胞單元,然后通過計算細胞單元中每個像素點的梯度方向,并通過計算結果統計該細胞單元對應的梯度方向直方圖。后來,為了提高特征描述子的性能,將塊的概念加入到HOG特征的計算中,即圖像中相鄰的若干個細胞單元組成小塊,塊之間允許出現相同的細胞單元。將塊的特征計算完成后,歸一化此特征的計算結果,使得HOG特征對圖像中的亮度變化和陰影等不敏感。以下是HOG特征的提取流程:
1) 灰度化,把原圖片序列變為灰度圖片。
2) 采用Gamma校正(歸一化)。
3) 計算每個像素的梯度(包括大小和方向):主要是為了捕獲輪廓信息,同時進一步弱化光照的干擾。
4) 將圖像劃分成cell,本文采用8×8的cell,并且cell間不重疊。
5) 統計每個cell的梯度直方圖(不同梯度的個數)。每個cell分成9個bin,代表9個不同的方向,也就是每[360°9=]40°分到一個方向,每個方向直方圖大小按像素梯度幅值加權,最后歸一化直方圖,即可形成每個cell的描述子。
6) 將每2×2個cell組成一個block,塊之間可以重疊,一個塊內所有的cell的特征描述符串聯起來得到該塊的HOG特征描述符。
7) 將圖片內所有的block的HOG特征描述符串聯起來就可以得到該圖片的HOG特征描述符,接下來就可用于計算協方差矩陣。
以彎腰動作中一幅圖片為例,HOG特征計算流程圖如圖1所示。
1.2? 基于協方差矩陣的特征向量構建
通過矩陣對數運算能夠將協方差矩陣從黎曼流形映射到線性空間,以便于利用線性空間中的運算子。然后運用數學工具從協方差矩陣中提取描述子,再將描述子編碼,就可以使用支持向量機進行分類。特征向量提取具體方法如下:
1) 將每一幀圖像的HOG特征按照時間順序并列在一起,構成一個較大的樣本矩陣,再計算該樣本矩陣的協方差矩陣。
2) 利用矩陣對數運算,將其投影到向量空間中。在向量空間中,協方差矩陣變成了對稱矩陣,一般不再是正定的。對稱矩陣所構成的空間實際上并不是一個常見的線性空間,而是一個光滑的黎曼流形,因為每個對稱正定矩陣都是一個具有黎曼度量的張量。得到協方差矩陣后,接下來利用矩陣對數運算計算這些協方差矩陣的對數,如式(4)所示,先對協方差矩陣進行奇異值分解,得到它的兩個酉陣[p1,p2],以及其奇異值組成的對角矩陣[λ]。[log Cov]是對稱陣,但是一般不再是正定的。由此,相當于把正定矩陣[Cov]所在的空間投影到了向量空間,成了對稱矩陣[log Cov]。
3) 將該對稱矩陣的上三角按列優先的順序,拉成一列向量,這個向量便是表征視頻段的全局特征??紤]到對稱矩陣大約一半的數據是重復的,在將其拉成一列向量時,只針對它的上三角區域。
特征向量構建流程圖如圖2所示。
最后將得出的向量分別用卡方核函數的支持向量機和交叉核函數的支持向量機進行訓練分類。
2? 支持向量機
為了準確地完成動作識別,需要對所選擇的特征進行分類學習,本文選擇支持向量機作為分類器。支持向量機是一種基于間距最大化的判別算法,把最大優化問題等價轉化為凸二次規劃求解問題。當訓練數據集線性可分時,可以計算出一個距離最大的決策面將數據分開。支持向量機的最優化目標是決策面位于兩類之間,并且到兩類邊界的距離相等且最大。由于從視頻中提取出來的特征描述子長度太大,數據集通常不是線性的,也就無法利用線性支持向量機作為訓練模型得到超平面。為了解決這個問題,就需要把低維中不能線性可分的數據,通過一定的映射方式,將其投影到高維空間,使之變得線性可分。而映射的方式則是通過核函數解決,本文采用的核函數為直方圖交叉核函數和卡方核函數。原因是因為直方圖交叉核函數更適用于直方圖特征,全局特征也適用于卡方核函數。
3? 實驗結果及分析
3.1? 數據庫與實驗過程
為了驗證所提算法的性能,本文采用動作識別領域公開的三個數據庫Weizmann,KTH和UCF Sports進行實驗分析。Weizmann數據庫中包含10個動作,每個動作中含有9個或者10個視頻樣本,如圖3所示。第一排從左往右依次為wave2(雙臂揮手)、bend(彎腰)、jack(跳躍)、run(跑步)和walk(走路);第二排為wave1(單臂揮手)、jump(向前跳躍)、pjump(向上跳躍)、side(側身跑步)和skip(單腳跑)。
KTH數據庫中包含6種動作,每種動作中含有100個視頻樣本,如圖4所示。第一排從左往右依次為boxing(出拳)、handclapping(拍手)、handwaving(揮手);第二排依次為jogging(慢跑)、running(快跑)和walking(走路)。
UCF Sports Dataset數據庫中包含13種動作,每個視頻樣本的數量從5~25個不等,如圖5所示。第一排從左往右依次為diving(跳水)、Golf?swinging(揮桿)、kicking(踢球)、lifting(舉重)和riding?horse(騎馬);第二排從左往右為running(跑步)、skateboarding(滑板)、pommel horse(鞍馬)、horizontal bar(單杠)和walking(走路)。
依據上述數據庫,在實驗過程中,首先將視頻分解為幀圖片,經過圖片大小歸一化后計算HOG特征。這樣,每一幀圖片就對應一個列向量,將同一類動作的HOG特征放在一起,并進行PCA(Principal Component Analysis)降維。然后計算其協方差矩陣,再對協方差矩陣進行對數運算。這樣就得到了特征向量和訓練樣本。本文采用直方圖交叉核函數和卡方核函數的支持向量機作為分類器。在實驗中,對于同一類動作,隨機選取70%的視頻數據作為訓練樣本,30%的視頻數據作為測試樣本。
3.2? 動作識別結果比較與分析
通過使用訓練樣本對支持向量機進行訓練,考慮運用兩種核函數:直方圖交叉核函數和卡方核函數,以下是本文算法在三個數據庫上的識別率及分析。
對Weizmann數據庫中的90個視頻進行實驗所得的識別率如表1所示。從視頻內容來看,Weizmann數據庫的運動背景單一,同一背景并且攝像頭固定。這都有利于有效地提取特征向量。從識別率來看,彎腰和向前跳的識別率較高,從視頻內容來看,兩類動作的差異比較大,即類內差異大,利于支持向量機進行分類。而跳躍與向上跳之間則比較容易出現混淆的部分,也就使得得出的識別率相對較低。
由表2可知,出拳、拍手與揮手,這兩大類動作不難被區分,動作分類的錯誤率主要集中在慢跑與快跑之間,這兩種動作具有一定的相似性,人體的軀干一直在移動,四肢也在做周期的擺動,并且它們的運動方向和擺動幅度變化都不大,進而提取出的HOG特征也具有很高的相似度。相對而言,支持向量機容易做出錯誤的判斷,尤其是這兩類動作的運動人體面對或背對鏡頭時所提取出的特征向量,因此這兩類動作的識別率比其他動作略低。
UCF Sports數據庫中一共有196段視頻,每一段視頻中只包含一個動作,每一種動作類別中包含的視頻數目不等。雖然該數據庫的視頻有較高的分辨率,圖像幾乎沒有噪聲,但拍攝角度及運動人體的尺度變化大,各類動作執行速率差異顯著。并且UCF Sports數據庫的場景十分復雜,攝像頭也不固定。由表3可看出,UCF Sports數據庫下的識別率要比其他兩個數據庫低。該數據庫的失誤率主要集中在滑板、騎馬和跑步三類動作上,類內之間的執行速率差異過大,加上他們的背景變化快,同時在計算協方差矩陣時,樣本均值包含的信息減少。但是近幾年來提取的算法與本文算法在UCF Sports數據庫上的識別率相比,后者仍處于偏上的水平。
本文通過實驗在三個數據庫上分別實現了基于HOG特征協方差矩陣的動作識別算法,并分別同現有水平的其他動作識別方法進行比較,比較結果見表4。通過實驗證實,本文所提出的動作識別方法對視頻中的人體動作有較好的分類效果,在一定水平上優于其他動作識別算法。
4? 結? 論
基于視頻的人體動作識別是計算機視覺研究中一個非常具有挑戰性的研究領域,具有廣闊的應用前景和研究價值。本文提出一種新的特征描述子,即基于HOG特征的協方差矩陣,該方法不僅涵蓋了人體的輪廓信息,還充分發揮了協方差矩陣數據表征的優點。除此之外,本文還采用了兩種和函數的支持向量機進行識別,最后進行對比發現,直方圖交叉核函數更利于本文的動作識別。通過實驗證明,本文算法在Weizmann,KTH和UCF Sports三個數據庫上面取得了不錯的識別率。
參考文獻
[1] 胡瓊,秦磊,黃慶明.基于視覺的人體動作識別綜述[J].計算機學報,2013,36(12):2512?2524.
[2] 李瑞峰,王亮亮,王珂.人體動作行為識別研究綜述[J].模式識別與人工智能,2014,27(1):35?48.
[3] 周風余,尹建芹,楊陽,等.基于時序深度置信網絡的在線人體動作識別[J].自動化學報,2016,42(7):1030?1039.
[4] ALFARO A, MERY D, SOTO A. Action recognition in video using sparse coding and relative features [C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, Nevada: IEEE, 2016: 2688?2697.
[5] WANG H, SCHMID C. Action recognition with improved trajectories [C]// 2013 IEEE International Conference on Computer Vision. [S.l.]: IEEE, 2013: 3551?3558.
[6] 宋健明,張樺,高贊,等.基于深度稠密時空興趣點的人體動作描述算法[J].模式識別與人工智能,2015,28(10):939?945.
[7] 吳軍,肖克聰.基于深度卷積神經網絡的人體動作識別[J].華中科技大學學報(自然科學版),2016,44(z1):190?194.
[8] FEICHTENHOFER C, PINZ A, ZISSERMAN A. Convolutional two?stream network fusion for video action recognition [C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, Nevada: IEEE, 2016: 1933?1941.
[9] JUNEJO I N, AGHBARI Z A. Using SAX representation for human action recognition [J]. Journal of visual communication and image representation, 2012, 23(6): 853?861.
[10] LIU J, KUIPERS B, SAVARESE S. Recognizing human actions by attributes [C]// 2011 IEEE Conference on Computer Vision and Pattern Recognition. Colorado Springs, Columbia: IEEE, 2011: 3337?3344.
[11] WU X, XU D, DUAN L. Action recognition using context and appearance distribution features [C]// 2011 IEEE Conference on Computer Vision and Pattern Recognition. Providence, Rhode Island: IEEE, 2011: 489?496.