尹坤陽,潘 偉,謝立東,徐素霞
(廈門大學 信息科學與技術學院,福建省仿腦智能系統重點實驗室,福建廈門361005)
一種基于深度學習的人體交互行為分層識別方法
尹坤陽,潘偉,謝立東,徐素霞*
(廈門大學 信息科學與技術學院,福建省仿腦智能系統重點實驗室,福建廈門361005)
摘要:本文把人體交互行為分解為由簡單到復雜的4個層次:姿態、原子動作、復雜動作和交互行為,并提出了一種分層漸進的人體交互行為識別方法.該方法共有3層:第1層通過訓練棧式降噪自編碼神經網絡把原始視頻中的人體行為識別為姿態序列;第2層構建原子動作的隱馬爾科夫模型(hidden Markov model,HMM),并利用估值定界法識別第1層輸出的姿態序列中包含的原子動作;第3層以第2層輸出的原子動作序列為輸入,采用基于上下文無關文法(context-free grammar,CFG)的描述方法識別原子動作序列中的復雜動作和交互行為.實驗結果表明,該方法能有效地識別人體交互行為.
關鍵詞:人體行為識別;深度學習;隱馬爾科夫模型(HMM);上下文無關文法(CFG);Kinect
人體行為識別在計算機視覺領域中占有重要地位,它在視頻監控、醫療監護、人機交互和運動分析等諸多領域有著廣泛的應用[1].在過去的幾十年中,研究者們提出了大量的行為識別方法,這些方法可以分為2類:單層行為識別方法和分層行為識別方法[2].
單層行為識別方法又可分為時空法[3]和序列法[4].時空法把輸入視頻當作一個三維的時空體(XYT),而序列法把輸入視頻視為特征向量序列.單層行為識別方法直接從圖像序列中表示和識別人體行為;而分層行為識別方法往往會有2層或者更多的層次,底層直接處理輸入圖像,高層把低層的識別結果作為輸入繼續進行識別工作.與單層行為識別方法相比,分層行為識別方法需要較少的訓練數據,更容易融入先驗知識.
分層行為識別方法可分為3類:統計方法[5]、句法方法[6]和基于描述的方法[7].統計方法通過構造基于狀態模型的連接層次概率表示和識別人體行為;句法方法采用特定的語法規則對高層行為進行建模,常見的語法規則有上下文無關文法(context-free grammar,CFG)和隨機CFG;基于描述的方法通過描述子動作之間的時間、空間和邏輯關系表示人體行為.與上述2種分層行為識別方法不同,基于描述的方法雖然把復雜動作當作簡單子動作的組合,但只有滿足一定條件的子動作組合才被視為復雜動作.
很長時間以來,神經網絡領域的研究者意識到使用多層非線性的網絡組合會達到更好的效果,但在訓練時容易陷入局部最優,多層神經網絡的性能反而更不理想.2006年Hinton等[8]提出逐層初始化降低多層神經網絡訓練難度,掀起機器學習的第2次浪潮.Larochelle等[9]進一步提出棧式降噪自編碼神經網絡,這種神經網絡在訓練數據中加入噪聲,顯著地提高了學習的效果.在基于描述的行為識別方法領域,Allen[10]為描述子動作之間的時間關系提出了一組時間描述子,后來這些描述子被其他研究者廣泛采用.Ryoo等[11]采用基于CFG的描述方法表示人體行為,提出邏輯描述子(與、或和非)增強空間和時間描述子對子動作關系的表示能力.但這些識別方法使用彩色相機采集數據,光照條件、衣服的紋理甚至人的影子都會影響識別效果.使用Kinect深度相機采集數據,可以有效消除光照變化和復雜背景的影響,提高人體行為識別的魯棒性[12].蘇竑宇等[13]構建了基于支持向量機(support vector machine,SVM)和隱馬爾可夫模型(hidden Markov model,HMM)二級模型識別日常行為,他們使用了Kinect采集的數據集,但并未涉及交互行為.
本文提出了一種新的分層行為識別方法.與文獻[11]的方法相比,該方法第1層使用深度神經網絡,提高了識別方法的可擴展性;第2層提出的估值定界法提高了對原子動作分割的效率和準確度;第3層設計了1組新型空間描述子,引入人臉朝向,增強了對交互行為的描述能力.Kinect提供的骨骼信息是由人體輪廓估算而來,骨骼信息不能有效獲取人體接觸及遮擋信息,因此本文選取輪廓圖像作為輸入,而不采用骨骼信息,同時采用彩色圖像識別人臉朝向.
1識別方法概述

圖1 識別方法框圖Fig.1Processing flow of the recognition system
本文采用分層的交互行為識別方法,算法框架見圖1.該識別方法共有3層:第1層把采集到的視頻圖像進行預處理,提取圖像中包含人體的部分,并轉換成同樣的大小,然后輸入采用深度學習算法的棧式降噪自編碼神經網絡進行分類,識別出每幀圖像中的人體行為姿態;第2層把第1層輸出的姿態序列作為輸入,用估值定界法對姿態序列進行分割,找出原子動作的起止點,輸出原子動作序列;第3層的輸入是第2層輸出的原子動作序列,根據基于CFG的描述規則,識別原子動作序列中的復雜動作和交互行為.這種方法需要訓練棧式降噪自編碼神經網絡、構建原子動作的HMM和基于CFG的描述模型:其中棧式降噪自編碼神經網絡由姿態圖像訓練集圖像預處理后訓練而成;原子動作HMM的訓練數據來自原子動作訓練集,動作視頻圖像預處理后通過棧式降噪自編碼神經網絡進行識別,輸出姿態序列,進而構建原子動作的HMM;基于CFG的描述模型則根據復雜動作和交互行為的子動作之間的時間關系和執行者之間的空間關系添加規則,構建各個復雜動作和交互行為的描述模型.
2第1層:基于深度學習的姿態識別
姿態是對圖像中整個人體的抽象和描述,每幀圖像中的人像都屬于某個姿態.第1層識別工作完成時,每幀圖像就可以用姿態表示.本文構建了一個新型的棧式降噪自編碼神經網絡識別圖像中的人體姿態[14],識別過程如圖2所示.

圖2 姿態識別過程圖Fig.2Processing flow of pose recognition
2.1圖像預處理
Kinect能夠實時獲取人體輪廓信息,采集的視頻分辨率為240×320.為了減少計算量,圖像預處理時提取圖像中的人體部分并縮放至28×28.具體過程如下:在圖像中找到人體上下左右的邊界點,去掉超出邊界點的部分,對剩余的矩形采用線性插值法,縮放至28×28,把這784個像素點的數值作為一個行向量保存起來.至此,圖像預處理工作完成.
2.2構建棧式降噪自編碼神經網絡
棧式降噪自編碼神經網絡采用深度學習算法,由多層稀疏自編碼器組成,每層的輸出是后一層的輸入.構建棧式降噪自編碼神經網絡需要設計隱層層數及每層節點數,同時設計良好的學習率能加快學習過程.

圖3 不同參數對深度學習性能的影響Fig.3The different building performance on human action dataset
為了選取合適的節點數,先構建一個3層BP神經網絡,其中輸入層節點數為784.隱層的節點數從10遞增到1 100,迭代次數從25遞增到100.從圖3(a)可以看出,當節點數小于200時(上下層節點數比例約為0.25),神經網絡性能良好,當節點數大于600時,神經網絡性能就變得很差.因此對每個隱層節點數選為上一層節點數的25%左右,這樣,整個網絡結構像一個金字塔,從輸入層到輸出層節點數依次減少.
學習率的不同會影響深度學習的收斂速度,為了使深度神經網絡能更快的收斂,本文使用自適應學習率更新算法:
LR(i+1)=

(1)
LR(0)=F;
(2)

(3)
其中LR(i)表示i時刻的學習率,C和F分別為學習率的上限值和下限值,f(i)是i時刻的均方誤差,f′(i)是i時刻和i-1時刻均方誤差的差值.
為了保證學習率在合適的范圍內,選取C=3,F=0.1.圖3(b)中有幾種固定學習率和自適應學習率時神經網絡的性能對比,可以看出采用自適應學習率能顯著提高神經網絡性能.
2.3姿態識別實驗結果
對構建的深度學習方法與其他機器學習算法進行比較,進行比較的算法有采用徑向基核(radial basis function,RBF)的監督學習算法SVM、集成學習算法隨機森林(random forest)、深度學習算法RBF神經網絡(network)和深度信念網絡(deep belief network,DBN).所有算法使用同一個數據集,即姿態圖像訓練集,包含待識別原子動作中的全部姿態圖像.表1表明棧式降噪自編碼神經網絡(ours)相對其他算法識別性能有很大的提升.

表1 不同算法識別準確率的比較
3第2層:基于估值定界法的原子動作識別
原子動作是人體部分肢體就能完成的動作,比如伸手就是一個原子動作.它們由多個姿態組成,往往不能進一步分解為更小的有意義的動作.為了提高姿態序列中原子動作及其起始點的效率和準確度,本文提出了估值定界法.
3.1原子動作的識別
經過第1層的姿態識別后,人體行為視頻就變成了一個姿態序列.基于原子動作訓練集的姿態序列,本文采用Baum-Welch算法構建了12個動作的HMM(即表2中的原子動作).識別時把似然度值最大的類別作為識別結果,以收回手臂(hand_withdraw)為例.表2是該動作各HMM下的似然度值,其中最大的是-15.700 8,即識別結果是hand_withdraw.整個測試集的識別準確率為85.29%.
3.2原子動作的起止點
如果視頻流中包含多個原子動作,可以采用HMM估值問題,對連續幀動作依據似然匹配度進行劃分.參考文獻[11]的前向后看算法,本文加入靜態原子動作的判定標準,提出了估值定界法.

表2 原子動作hand_withdraw的似然度值
注:-Inf表示似然度值超出數值范圍.
前向后看算法在找到動作的終止點前和前向算法一樣,若HMM似然度值在t幀超過閾值,就把t幀當作原子動作的終止點.找到終止點后,該算法用后向算法尋找原子動作的起始點.當找到原子動作起止點后,該算法從t+1幀開始識別視頻中的下一個動作.如果碰到站立(stand)這種既能當作原子動作又能和其他姿態組成新的原子動作,前向后看算法識別結果往往不盡如人意.估值定界法有效地解決了這個問題:如果在t幀時視頻的某HMM似然度值一直小于靜態閾值且達到一定時間,就認為視頻中發生了該HMM所表示的動作,動作的終止點設為t-3,不需要執行后向算法,直接從t-2開始識別視頻流中的下一個動作.
對于輸入的視頻,識別方法在第1層識別圖像中的人體姿態,輸入視頻就變成了一個姿態序列.接著采用估值定界法識別姿態序列中的原子動作并找出它們的起止點,最后融合間隔小于閾值的相鄰相同動作,輸出最后的識別結果.
用符號表示姿態,其中1表示stand,2表示hand_stay_stretch,伸手圖像序列表示為:
[1,1,1,1,1,1,1,2,2,2,2,2,2,2].
用估值定界法識別上面的符號序列,最終結果如表3所示.

表3 原子動作的分割與識別
4第3層:基于CFG的交互行為識別
單人動作可以分為原子動作和復雜動作.復雜動作是指由2個或以上原子動作組成的動作,它的子動作可以是原子動作或者其他復雜動作,但只能由一個人完成.如果一個動作有2個或以上的參與者,那么這個動作就是交互行為.該層用基于CFG的描述方法表示和識別交互行為.
4.1基于CFG的行為表示
本文參考了文獻[11]提出的基于CFG的行為表示方法,重新設計了一組空間描述子描述動作執行者的空間關系,并引入人臉朝向增強對行為的表示能力.
4.1.1時間、空間和邏輯描述子
時間描述子描述子動作之間的時間關系.Allen[10]提出的時間描述子有:“before”、“meets”、“overlaps”、“starts”、“during”和“finishes”.若a和b是兩個動作,起始和終止用下標表示,時間描述子定義如下:
空間描述子描述動作執行者之間的空間關系.Ryoo等[11]定義了2個空間描述子:“near”和“touch”.Aksoy等[15]在他們的語義場景圖中定義了4種空間描述子:“absence”、“no connection”、“overlapping”和“touching”.本文融合兩者提出一組新的空間描述子:“far”、“near”、“touch”和“overlap”.

邏輯描述子包含與、或和非,可以加強時間描述子和空間描述子對行為的表示能力.它們的定義和傳統數理邏輯中的定義一致.
4.1.2人臉朝向
人臉朝向也能增強描述子對行為的描述能力,當2人的動作是相互靠近或者相互離開時,人臉朝向可以作為執行者所做動作的方向.Face++在多項世界人臉識別比賽中名列前茅,他們的核心算法使用深度學習[16].本文采用Face++提供的云API識別人臉朝向,通過云API,每個頭像會返回83個關鍵點信息,把這83個信息點用九宮格分為9個區域,統計每個區域關鍵點的數量,則形成一個九維的特征向量.人臉朝向分為3類:左、中和右.實驗中人臉數據共有6 000幀,取自拍攝的姿態圖像訓練集和原子動作訓練集中的圖像,采用隨機森林進行訓練識別,識別精度達到97.63%.
4.2單人復雜動作的識別
單人復雜動作的識別,即識別視頻中的子動作及它們之間的時間關系.以握手(handshake)為例,這個復雜動作可以分為3個子動作:“hand_stretch”、“hand_stay_stretch”和“hand_withdraw”.
經過姿態識別后,復雜動作握手的圖像序列變為姿態序列,用符號表示為:
[1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
1,1,1].
接著用估值定界法找出上述序列中子動作的起止點,此處前向閾值為-7,后向閾值為-10,靜態連續幀個數為5.表4為最終輸出結果.

表4 復雜動作分割示例
注:以握手的子動作為例.
3個子動作的時間關系滿足:
meets(hand_stretch,hand_stay_stretch)&
meets(hand_stay_stretch,hand_withdraw)
符合基于CFG的描述方法對握手這個動作的定義,從而識別出握手這個行為.
4.3交互行為的識別
通過單人復雜動作的識別,得到每個人的動作在時間上的關系;根據人臉朝向,得到動作執行者所做動作的方向;再加上空間描述信息,就能準確表示交互行為.以交互行為ShakeHands為例(圖4).

圖4 交互行為ShakeHands的圖像和剪影序列Fig.4The images and silhouettes of interactive ShakeHands
圖5中PR表示圖像右邊的人,PL表示圖像左邊的人.識別單個人的動作時,發現PR和PL都有一個握手的復雜動作,并且在hand_stay_stretch階段,2人相互接觸,他們的關系描述如下:

很明顯這些子動作之間的關系滿足ShakeHands的定義,并由人臉朝向可知,2人的動作分別指向對方,即在這段視頻中識別出交互行為ShakeHands.
4.4實驗結果
采集的交互動作數據集共有10組,每組都包括“Approach”、“Depart”、“Hello”、“ShakeHands”和“Punch”,還有1個動作“Point”作為干擾.Approach是2人走近,Depart是2人走遠,它們的子動作均是walk,需要的空間描述子分別為far和near.Hello是2人打招呼,可以不需要空間描述子.ShakeHands是2人握手,而Punch是一人拳打另一人,兩者都需要空間描述子touch.
第1層識別出每幀圖像中的人體姿態,第2層用估值定界法識別出原子動作和它們的起止點,第3層采用基于CFG描述的方法識別交互行為.表5是最終的識別結果,可以看出雖然視頻數據集較小,但仍能達到很好的識別結果,數據集總體識別準確率為82%.

圖5 交互行為ShakeHands識別示意圖Fig.5Illustration of ShakeHands recognition

交互動作次數識別數準確率/%Approach10770Depart10990ShakeHands10990Hello10880Punch10880總數504182
5結論
本文提出了一種分層的交互行為識別方法.該方法針對普通攝像機采集數據進行人體行為識別時難以提取圖像中的人體部分,容易受到光照條件和背景色彩的影響,且不易消除人影等問題,使用能獲取深度信息的Kinect采集數據.Kinect利用深度信息能有效解決上述問題,實時跟蹤視野中的人體.本文還采用棧式降噪自編碼神經網絡識別圖像中人體姿態,由于深度學習能自動學習數據特征,提高了行為識別方法的可擴展性和適應性.在對姿態序列進行分割時,該方法對靜態原子動作的識別進行了優化,提出的估值定界法提高了原子動作分割的效率和準確率.針對數據集較小的問題,該方法采用基于描述的分層行為識別方法,方便融合先驗知識,引入人臉朝向增強了描述子對行為的描述能力,實驗結果顯示提出的方法能有效識別人體交互性行為.
單個Kinect采集數據時,視覺范圍和角度都有一定的局限,遮擋問題難以消除,對人體行為識別影響較大.因此在未來的工作中,我們將采用多個Kinect采集數據,以減少遮擋和角度等因素的影響.
參考文獻:
[1]POPPE R.A survey on vision-based human action recognition[J].Image and Vision Computing,2010,28(6):976-990.
[2]AGGARWAL J K,Ryoo M S.Human activity analysis:a review[J].Acm Computing Surveys,2011,43(3):1-43.
[3]SHEIKH Y,SHEIKH M,SHAH M.Exploring the space of a human action[C]∥2005 IEEE International Conference on Computer Vision(ICCV).Beijing:IEEE,2005:144-149.
[4]NATARAJAN P,NEVATIA R.Coupled hidden semi markov models for activity recognition[C]∥2007 IEEE Workshop on Motion and Video Computing(WMVC).Austin:IEEE,2007:10.
[5]OLIVER N,HORVITZ E,GARG A.Layered representations for human activity recognition[C]∥2002 IEEE International Conference on Multimodal Interfaces(ICMI).Pittsburgh,PA:IEEE,2002:3-8.
[6]JOO S W,CHELLAPPA R.Attribute grammar-based event recognition and anomaly detection[C]∥2006 IEEE Conference on Computer Vision and Pattern Recognition Workshops(CVPRW).New York:IEEE,2006:107.
[7]GUPTA A,SRINIVASAN P,JIANBO S,et al.Understanding videos,constructing plots learning a visually grounded storyline model from annotated videos[C]∥2009 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Miami,FL:IEEE,2009:2012-2019.
[8]HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[9]VINCENT P,LAROCHELLE H,LAJOIE I,et al.Stacked denoising autoencoders:learning useful representations in a deep network with a local denoising criterion[J].Journal of Machine Learning Research,2010,11:3371-3408.
[10]ALLEN J F.Rethinking logics of action and time[C]∥2013 International Symposium on Temporal Representation and Reasoning (TIME).Pensacola,FL:IEEE,2013:3-4.
[11]RYOO M S,AGGARWAL J K.Recognition of composite human activities through context-free grammar based representation[C]∥2006 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). New York:IEEE,2006:1709-1718.
[12]ZHANG Z.Microsoft kinect sensor and its effect[J].IEEE Multimedia,2012,19(2):4-10.
[13]蘇竑宇,陳啟安,吳海濤.基于 SVM 和 HMM 二級模型的行為識別方案[J].計算機與現代化,2015,5:1-8.
[14]XIE L,PAN W,TANG C,et al.A pyramidal deep learning architecture for human action recognition[J].International Journal of Modelling Identification and Control,2014,21(2):139-146.
[15]AKSOY E E,ABRAMOV A,WORGOTTER F,et al.Categorizing object-action relations from semantic scene graphs[C]∥2010 IEEE International Conference on Robotics and Automation (ICRA).Anchorage,AK:IEEE,2010:398-405.
[16]FAN H,CAO Z,JIANG Y,et al.Learning deep face representation[EB/OL].[2014-03-12].http:∥arxiv.org/abs/1403.2802.
A Hierarchical Approach Based on Deep Learning for Human Interactive-action Recognition
YIN Kunyang,PAN Wei,XIE Lidong,XU Suxia*
(Fujian Key Lab of Brain-like Intelligent Systems,School of Information Science and Engineering,Xiamen University,Xiamen 361005,China)
Abstract:This paper discusses the recognition of interaction-level human activities with a hierarchical approach.We classify human activities into four categories:pose,atomic action,composite action,and interaction.In the bottom layer,a new pyramidal stacked de-noising auto-encoder is adopted to recognize the poses of person with high accuracy.In the middle layer,the hidden Markov models (HMMs) of atomic actions are built, and evaluation demarcation algorithm is proposed to detect atomic actions and speed up calculations.In the top layer,the context-free grammar (CFG) is used to represent and recognize interactions.In this layer,a new spatial predicate set is proposed and face orientation is introduced to describe activities.We use Kinect to capture activity videos.The experimental result from the dataset shows that the system possesses the ability to recognize human actions accurately.
Key words:human action recognition;deep learning;hidden Markov model (HMM);context-free grammar (CFG);Kinect
doi:10.6043/j.issn.0438-0479.2016.03.019
收稿日期:2015-08-29錄用日期:2015-11-20
基金項目:國家自然科學基金(60975084)
*通信作者:suxiaxu@xmu.edu.cn
中圖分類號:TP 391
文獻標志碼:A
文章編號:0438-0479(2016)03-0413-07
引文格式:尹坤陽,潘偉,謝立東,等.一種基于深度學習的人體交互行為分層識別方法.廈門大學學報(自然科學版),2016,55(3):413-419.
Citation:YIN K Y,PAN W,XIE L D,et al.A hierarchical approach based on deep learning for human interactive-action recognition.Journal of Xiamen University(Natural Science),2016,55(3):413-419.(in Chinese)