2019_ITM_Continuous Gesture Segmentation and Recognition using 3DCNN and Convolutional LSTM

摘要

  連續手勢識別旨在識別連續手勢序列中正在進行的手勢,並且由於每個手勢實例的開始幀和結束幀在實際中通常是未知的,因此更有意義。本文提出了一種有效的連續手勢識別的深層架構。首先,使用提出的時間擴張的Res3D網絡將連續的手勢序列分割成孤立的手勢實例。提出了平衡平方鉸鏈損失函數來處理邊界和非邊界之間的不平衡。時間擴張使得基於時空信息上下文的分割更加合理和有效。然後,基於三維卷積神經網絡(3DCNN),卷積長短期記憶網絡(ConvLSTM)和二維卷積神經網絡(2DCNN)構建識別網絡,實現孤立手勢識別。“3DCNN-ConvLSTM-2DCNN”體系結構對於同時學習長期相關時間特徵和深度時空特徵更爲有效。提出的分割和識別網絡在Chalearn LAP ConGD數據集上獲得0.7163的Jaccard指數,比2017年ChaLearn LAP大型連續手勢識別挑戰獲勝者高0.106。

1 介紹

  手勢識別,其目的是解釋人的手勢,在計算機視覺領域非常重要,如人機交互(HCI)[1],虛擬現實(VR),手語理解。
  手勢識別可以分爲兩類:孤立手勢識別和連續手勢識別[2]。前者旨在對每個序列中僅包含一個孤立手勢實例的視頻或其他類型的手勢序列(例如,RGB-D或骨架數據)進行分類。後者必須從連續的數據序列中檢測並識別沒有已知邊界的手勢。大多數手勢識別都集中在孤立的實例[3]-[9]。然而,連續手勢識別更實用,因爲手勢的數目,順序和邊界在實際中通常是未知的[10]。對於連續的手勢識別,還需要檢測每個手勢實例的開始和結束邊界。
  模板匹配方法是一種基於每個幀中的手工特徵的很有前途的連續手勢識別技能,如[11]和[12]中所述。但是,手工製作的功能通常基於Kinect傳感器從正面看到的手勢。該限制使得模板匹配方法不適合於從RGB視頻進行連續手勢識別,視頻可能從不同視角觀察手,或者手輪廓由於遮擋或照明而模糊。因此,手工特徵和傳統的機器學習方法不適合視頻的連續手勢識別,部分原因是手勢詞彙量大,各種照明條件,詞彙之外的動作,不同表演者之間的不一致和不規範的動作。
  一般來說,連續手勢識別的分割和識別問題可以分別用深度神經網絡解決。在[13]中,滑動體積法應用於RGB視頻,以獲得使用3D卷積神經網絡(3DCNN)進行識別的手勢體積。然而,滑動體積方法帶來了巨大的計算量,並且不適合識別具有各種長度的手勢。移動量(QoM)用於分割[14]中深度序列的手勢。但是,基於QoM的分割方法假定所有手勢都從相似的姿勢開始。基於手動檢測器的Faster R-CNN[15]被構造以獲得用於時間分段的精確手部位置,然後採用雙流遞歸神經網絡[16]或3DCNN[17]進行最終識別。在這兩種方法中,需要手動標記手部位置以訓練手部檢測器。
  在本文中,提出了一種基於Res3D網絡[18]的手勢分割網絡和基於3DCNN和卷積長短期記憶(ConvLSTM)網絡[19]的手勢識別網絡,用於連續手勢識別。連續手勢識別的分割問題在文獻[20]中被視爲兩類分類問題,並且採用雙流ConvNets將RGB-D序列中的每個幀分類爲轉換幀和手勢幀。提出的分割網絡也將每個幀分爲兩類:邊界和非邊界。將時間擴張插入到原始Res3D網絡中以構建提出的分割網絡。我們認爲根據上下文信息檢測手勢邊界更合理,而不是像[20]中那樣使用局部幀。考慮到邊界與非邊界之間的不平衡,我們還提出了一種分段網絡的均衡平方鉸鏈損失函數。
  連續的手勢序列被分割成各種長度的孤立的手勢序列。因此,可以採用孤立手勢識的別方法進行最終識別。提出的識別網絡是我們以前的孤立手勢識別網絡的改進版本[6,21]。利用Res3D的底部四個3D卷積塊學習短時空特徵,然後利用ConvLSTM學習長時空特徵映射,最後利用MobileNet[22]基於學習的2D時空特徵映射進行最終分類。提出的“3DCNN-ConvLSTM-2DCNN”體系結構適用於各種長度的手勢識別,無需額外的輸入長度標準化。
  本文的貢獻主要在於以下兩個方面:

  • 基於上下文時空信息,Res3D採用時空擴展方式進行手勢邊界檢測,並提出均衡平方鉸鏈損失函數來處理分割網絡訓練中邊界與非邊界之間的不平衡問題。
  • 提出的識別網絡中的3DCNN,ConvLSTM和2DCNN組件分別用於學習不同級別的時空特徵。 這種組合使網絡更適合同時學習長期相關時間特徵和深度時空特徵。

  本文的其餘部分安排如下。在第二節中,簡要回顧了連續手勢識別的分割和識別方法的發展。隨後,第三部分和第四部分分別給出了建議的分割和識別網絡的細節。在第五節中,給出了實驗結果來驗證所提出的網絡的有效性。最後,結論和未來的工作在最後一節討論。

2 相關工作

  在本節中,將簡要回顧連續手勢識別的分割和識別網絡的發展。

A.時間分段

  一般來說,連續手勢識別比孤立手勢識別更具挑戰性,因爲連續手勢序列中手勢實例的模糊邊界。因此,時間分割對於連續手勢識別是至關重要的。
  連續手勢(或動作)識別的時間分割方法可以分爲三類。第一類使用滑動窗口[13,23]或多尺度滑動窗口[24]進行時間分割。第二類假定相鄰手勢的開始和結束幀是相似的,例如,中立姿勢或手位置。在[25]中提出了一個二元分類器來區分靜止或執行動作的主體幀。基於[26]中的人手運動分析設計了一種時間分割方法。柴等在[16,17]中認爲在生成一個手勢時主體舉手,在執行一個手勢後放下雙手。因此,他們利用Faster R-CNN來檢測手並根據手位置來分割連續的手勢序列。江等人[27]和王等人[14]基於移動量檢測開始和結束幀,因爲他們假設所有手勢都是從相似的姿勢開始的。第三類是使用基於神經網絡的分類器來檢測邊界。Wang等人[20]利用雙流ConvNets將RGB-D序列中的每個幀分類爲“過渡幀”和“手勢幀”。
  受之前的作品[28]和[29]的啓發,其中構造卷積去卷積(CDC)網絡在未修剪的視頻中定位動作實例,並且在C3D中採用時間擴張來構建時間保存卷積網絡以獲得精確時間定位,提出了一種基於時間擴張的Res3D網絡進行邊界檢測的分割網絡。在分割網絡中採用均衡平方鉸鏈損失函數來處理邊界和非邊界之間的不平衡。

B.手勢識別

  時間分割將未修剪的手勢視頻劃分爲獨立的手勢序列。在時間分割之後,連續手勢識別被轉換成孤立手勢識別。雖然2DCNN在基於圖像的應用中取得了巨大成功,但3DCNN在2016年和2017年ChaLearn LAP大規模孤立手勢識別挑戰中取得了優異的手勢識別性能[30],[31]。Li等人[3]和朱等人[5]採用基於C3D的網絡,並在2016年ChaLearn LAP大型孤立手勢識別挑戰中獲得第一名和第三名。Duan等人[32]集成了一個卷積雙流共識投票網絡和一個3D Depth-Saliency ConvNet用於手勢識別。苗等人[8]採用3DCNN從RGB/Depth/Flow模式學習時空特徵,並使用典型相關分析(CCA)將特徵融合到最終分類中。
  然而,我們認爲遞歸神經網絡更適合從各種長度的序列或長期序列中學習時間特徵。因此在我們以前的網絡[6],[21]中,我們使用淺3DCNN學習短時空特徵,使用ConvLSTM來學習長時空特徵。在本文中,使用最先進的2DCNN和3DCNN網絡構建改進的網絡。 Res3D的底部四個3D卷積塊和MobileNet網絡的一部分被用於提出的識別網絡的3DCNN和2DCNN組件。實驗結果證明了所提出的深層架構的優越性。

3 分段網絡

A.深度架構

  時間分割對於連續手勢識別是至關重要的。如圖1所示,所提出的分割網絡基於Res3D網絡。與[20]中的時間分割網絡不同,該網絡使用雙流ConvNets來對RGB-D序列中的每個幀進行分類,所提出的分割網絡被設計爲通過充分利用上下文信息來檢測手勢邊界。因此,採用Res3D作爲基礎網絡。
image
  原始的Res3D網絡如表1所示,時間長度縮小了8倍。然而,爲了獲得更精確的手勢邊界,時間分割系統應該以精細的粒度進行密集預測。Shou等人[28]利用CDC過濾器對3D ConvNets的預測進行上採樣,以便執行每幀動作預測。然而,3D ConvNets中的時間下采樣操作會部分地導致時間信息的丟失。爲了保持時間分辨率並同時對空間分辨率進行降採樣,我們將所有卷積層的步幅減少到1,並將時間膨脹引入卷積層,如表1所示。我們在conv5中使用擴張率1而不是8([33]中使用),因爲conv5是所提出的分割網絡中的最終卷積塊,所以通過使用具有適當頻率的濾波器[35]來消除混疊僞像[34]。
image
  如表1所示,1級dense層,而不是2級softmax層,堆疊在提出的時間擴張Res3D網絡的頂部。其動機是通過使用將在下一節中進行介紹的平衡鉸鏈損失爲邊界和非邊界構建“最大邊緣”分類器。

B. 訓練

  分割網絡旨在檢測手勢邊界。通常,手勢實例的開始和結束幀被定義爲手勢邊界。這意味着手勢序列中邊界和非邊界的幀數之間存在巨大的不平衡。如果將邊界檢測問題簡單地視爲二元分類問題,則不平衡會對分割準確性產生負面影響。因此,在訓練過程中採用均衡平方鉸鏈損失函數,而不是softmax損失函數。
  在機器學習中,鉸鏈損失是用於訓練分類器的目標函數。鉸鏈損失用於“最大邊距”分類。對於預期輸出y=±1和預測分數y’,預測y’的鉸鏈損失被定義爲
l(y,y)=max(0,1yy)(1) l(y,y')=max(0,1-y*y') \tag{1}
因此,在一個連續手勢序列中手勢的傳統的平方鉸鏈損失可以表示爲
L=1Ni=1N(max(0,1yiyi))2(2) L=\frac{1}{N}\sum^N_{i=1}(max(0,1-y_i*y'_i))^2 \tag{2}
其中N是連續手勢序列中手勢的計數。
  爲了處理手勢序列中邊界和非邊界之間的不平衡,我們修改了傳統的平方鉸鏈損失函數。設rbr_brnr_n分別代表手勢序列中的邊界和非邊界的比率。對於預期的輸出,令yi=1y_i=1表示邊界,yi=0y_i=0表示非邊界。具體而言,由於在密集層中採用S形激活函數,所以1級密集層的輸出是介於0和1之間的概率分數。因此,概率分數yiy'_i是連續的浮點數,其指示每個幀可以被標記爲邊界的程度。所提出的均衡平方鉸鏈損失函數被定義爲
L=rn1Ni=1N(max(0,(1yi)yi))2+rb1Ni=1N(max(0,(1yi)yi))2(3) L=r_n*\frac{1}{N}\sum^N_{i=1}(max(0,(1-y'_i)*y_i))^2 + r_b*\frac{1}{N}\sum^N_{i=1}(max(0,(1-y_i)*y'_i))^2 \tag{3}
  如等式(3)所示,等號右邊的第一個表達式計算邊界的平均損失,第二個表達式計算非邊界的平均損失。權重值rbr_brnr_n組成邊界和非邊界之間的不平衡。將每一幀分爲邊界或非邊界不是所提出的平衡平方鉸鏈損失函數的唯一目的,獲得邊界和非邊界之間的“最大邊緣”分類也是關鍵目標。圖2演示了時間分割的結果。
image

4 識別網絡

  由於基於2DCNN的神經網絡已經在基於圖像的計算機視覺領域取得了巨大的成功,研究人員還在探索時空3DCNN是否可以追溯2DCNN和ImageNet的歷史[36]。在過去的一年中,基於Res3D[18]和I3D[37]的神經網絡在動作檢測/定位/識別領域取得了巨大進步。在我們以前的工作[6]中,我們首先提出使用淺3DCNN學習短時空特徵和卷積LSTM網絡來學習長時空特徵映射。在過去的ICCV 2017[21]中,我們通過堆疊3DCNN,雙向ConvLSTM和2DCNN重建了神經網絡,用於孤立的手勢識別。在本文中,我們將3DCNN和2DCNN的最新特性引入到我們以前的網絡中,並構建如圖1所示的手勢識別網絡。
  如圖1所示,在提出的識別網絡中主要有三個卷積塊:3DCNN塊,ConvLSTM塊和2DCNN塊。
  3DCNN塊旨在學習短時空特徵,因此我們只借用Res3D中的最底層四個3D卷積塊,即表II所示的conv1-conv4塊。但是,我們用步幅(1,1,1)替換了conv4塊中的步幅(2,2,2)。這意味着提出的識別網絡的3DCNN塊仍具有輸出形狀L/2×28×28×256。這與3DCNN塊旨在學習短時空特徵的原理完全一致。
image)
  ConvLSTM塊旨在學習長期時空特徵映射。使用ConvLSTM而不是LSTM的原因是在循環步驟中融合時間特徵時保持空間相關性信息。手的位置在手勢上下文中扮演重要角色。構建每層具有256個過濾器的兩層ConvLSTM網絡。ConvLSTM卷積的步幅都設置爲(1,1)。這意味着ConvLSTM塊不會縮小空間分辨率。在ConvLSTM的每個循環步驟輸出的2D時空特徵映射融合了過去幀的時空特徵。視頻被轉換成2D時空特徵地圖,以進行更深層次的時空學習。
  在此階段,3DCNN和ConvLSTM塊已將視頻文件轉換爲2D時空特徵地圖。然而,對於大規模的手勢識別來說,這兩個塊仍然很淺,特徵地圖仍然具有28×28×256的大形狀。因此,我們使用2DCNN來進一步學習更深的時空特徵。在過去的一年裏,深度可分離的卷積顯示出它們的巨大優勢[22,38,39]。因此,我們借用MobileNet[22]作爲我們的2DCNN塊。由於我們有2D特徵映射,其形狀爲28×28×256,作爲2DCNN塊的輸入,我們只借用MobileNet的一部分,如表3所示。
image
  在表III的MobileNet的頂部,我們在循環步驟上堆疊3D池層,如圖1所示.3D池層具有L/2×4×4的核心,其中L/2是3DCNN塊輸出的時間長度,4×4是空間池化大小。因此,3D池化層的輸出是1024維特徵向量。最後,在網絡頂部堆疊多級softmax層,以獲得最終的識別結果。
  在最近的文獻[40]中,研究人員考慮在各個級別“縮小”I3D模型以理解3D卷積的作用。但是,提出的識別網絡不同於[40]中的“Bottom-heavy I3D”和[18]中3D和2D卷積的各種混合。提出的識別網絡中的3DCNN,ConvLSTM和2DCNN塊被有意設計爲學習不同階段或級別的不同時空特徵。

5 實驗結果

  提出的分割和識別網絡在ChaLearn LAP連續手勢數據集(ConGD)[2]和孤立的Jester Dataset-V1(Jester)[41]上進行評估。首先,提供ConGD和Jester的數據集描述和評估方法。然後,簡要介紹訓練策略。本節將結束實驗結果和討論。

A. 數據集和評估

  ConGD包含22535個RGB-D手勢視頻,有47933個RGB-D手勢實例,來自ChaLearn手勢數據集(CGD)。每個視頻文件都包含一個或多個手勢實例。由21個不同的人表演了249種手勢。
  Jaccard指數用於評估性能(越高越好),該指標用於測量給定手勢序列中真實與預測的序列之間的平均相對重疊。形式上,令Gs,iG_{s,i}Ps,iP_{s,i}爲序列s的二元指示向量,其中1值對應於被標記或預測爲第i類手勢的幀。第i個類的Jaccard索引被定義爲
Js,i=Gs,iPs,iGs,iPs,i(4) J_{s,i}=\frac{G_{s,i}\cap P_{s,i}}{G_{s,i}\cup P_{s,i}} \tag{4}
其中Gs,iG_{s,i}是真實值,Ps,iP_{s,i}是預測值。當Gs,iG_{s,i}Ps,iP_{s,i}爲空時,Js,iJ_{s,i}被定義爲0。因此,具有lsl_s個真標籤的序列s的Jaccard指數被計算爲
Js=1lsi=1CJs,i(5) J_s=\frac{1}{l_s}\sum^C_{i=1}J_{s,i} \tag{5}
其中C是手勢類別的數量。對於所有測試序列S=s1,...,snS=s_1,...,s_n的n個手勢,平均Jaccard指數JS\overline{J_S}被用作評估標準(越高越好)。JS\overline{J_S}計算
JS=1nj=1nJsj(6) \overline{J_S}=\frac{1}{n}\sum^n_{j=1}J_{s_j} \tag{6}
  Jester數據集[41]是一個密集標記的視頻剪輯的大集合,顯示人類在筆記本電腦攝像頭或網絡攝像頭前執行預先定義的手勢。該數據集由大量的人工創建。該數據集包括27種手勢的148094個RGB視頻。每個視頻文件中只包含一個手勢實例。
  對於孤立的手勢識別,計算識別率r作爲評估標準
r=1nj=1nj=1nδ(pl(i),tl(i))(7) r = \frac{1}{n}\sum^n_{j=1}\sum^n_{j=1}\delta(p_l(i),t_l(i)) \tag{7}
其中n是樣本的數量,plp_ltlt_l是預測的標籤和真實值。如果j1=j2j_1=j_2,則δ(j1,j2)=1\delta(j_1,j_2)=1,否則δ(j1,j2)=0\delta(j_1,j_2)=0

B. 網絡訓練

  分割和識別網絡是在Tensorflow v1.2上使用Keras API實現的。NVIDIA TITAN XP GPU用於訓練網絡。
  對於分割網絡,RGB和深度模態網絡分別進行訓練。學習速率在10個週期從最初的0.0001多項式衰減到最後的0.000001。提出的均衡平方鉸鏈損失被用於訓練。批量大小設置爲1,因爲視頻文件具有不同的時間長度。輸入的空間大小限制爲112×112。給定RGB和深度模態網絡的分割結果,評估兩個分數融合策略以獲得最終的分割結果。一個是“乘性融合”融合分數
Scorei=ScoreiRGBScoreiDepth(8) Score_i=\sqrt{Score_i^{RGB}*Score_i^{Depth}} \tag{8}
其中i表示序列中的幀索引。另一個是“平均融合”融合分數
Scorei=(ScoreiRGB+ScoreiDepth)/2(9) Score_i=(Score_i^{RGB}+Score_i^{Depth})/2 \tag{9}
提出的時間膨脹的Res3D網絡輸出似然概率分數,其指示每個幀可以被標記爲邊界的程度。這是使用替代的密集層的動機,如表1所示。因此我們需要使用閾值的方法來基於似然概率分數檢測邊界
Yi={boundaryifScorei>=TCnonboundaryotherwise(10) Y_i = \begin{cases} boundary & if Score_i>=TC \\ non-boundary & otherwise \end{cases} \tag{10}
其中i表示序列中的幀索引。TC=0.5是在我們的實現中區分邊界和非邊界的閾值。
  對於識別網絡,RGB/深度/流模態網絡分別進行訓練。網絡首先在Jester數據集上進行訓練,然後在ConGD數據集上進行微調。在Jester數據集訓練期間,學習速率在30個週期內從最初的0.001多項式衰減到最後的0.000001。批量大小爲16,輸入的時間長度爲16,輸入的空間大小限制爲112×112。在我們以前的工作[6]中提出的採用時間抖動策略的均勻採樣用於對輸入進行預處理。在對ConGD數據集訓練期間,學習速率在10個週期內從最初的0.001多項式衰減到最後的0.000001。批量大小爲8,輸入的時間長度爲32 [3]。採用多級softmax損失函數,採用小批量隨機梯度下降法進行訓練。提出的識別網絡的最終3D池化層輸出的RGB/深度/流模式的特徵被級聯,用於訓練最終識別的支持向量機(SVM)分類器。

C. 實驗結果

  1)分割評估:爲了評估所提出的分割網絡的有效性,我們將提出的時間擴張的Res3D(TD-Res3D)與所有時間步長設定爲1的Res3D(TS1-Res3D)的進行比較。換句話說,TS1-Res3D也是TD-Res3D的一個變體,其中所有的時間膨脹率都設置爲1。分割網絡首先將連續的手勢視頻劃分爲獨立的片段,然後提出的識別網絡進行分類。Jaccard指數,如公式(4)-(6)作爲最終連續手勢識別準確度的評估標準。
  表4給出了ConGD測試集的結果。提出的網絡在2017年ChaLearn LAP大規模連續手勢識別挑戰賽中勝過現有方法[31]。在挑戰中贏得第一和第二名的方法[31]使用Faster-RCNN來檢測分割的手。需要手動標記手位置作爲手部檢測網絡訓練的監督。在提出的分割網絡中,除了原始的幀級別標籤外,不需要額外的標籤。上下文時空信息被有效地用於分割視頻。這一優勢使得提出的分割網絡更加實用和有效。
  此外,TD-Res3D與TS1-Res3D之間的比較表明,時間膨脹在分割網絡中起着重要作用。擴張增強了時間感受域而不損失時間分辨率。因此,上下文時空信息可以充分用於分割。提出的分割網絡優於僅基於孤立圖像檢測邊界的方法[20]。
  2)識別評估:爲了評估提出的識別網絡,通過參考我們以前的網絡來設計兩個變體[6,21]。所有的網絡都是在大規模孤立的手勢數據集(IsoGD)上進行評估[2]。表V中的3DCNN組件具有四個3D卷積(類似於[21])。2DCNN組件有三個2D卷積(類似於[6])。空間金字塔池(SPP)組件具有4級池化,即7×7,4×4,2×2和1×1(類似於[6])。表V中的比較結果表明,採用Res3D和MobileNet的部分功能可顯着增加捲積層的數量,而參數數量沒有大的變化。卷積層數的增加帶來更好的性能。
  提出的識別網絡也在大規模孤立手勢數據集Jester上進行評估。表VI給出了Jester的驗證和測試集上的識別結果。提出的識別網絡在驗證和測試集上獲得了最新的性能。鑑於提議的網絡僅對每個視頻預測一次,提出的網絡與MultiScale TRN相比獲得了1.69%的提高,並且仍然略勝於10個裁剪的MultiScale TRN。
  3)討論:分段對連續手勢識別至關重要。連續手勢識別中的分割和識別過程可以分開或同時進行。如本文所示,所提出的分割和識別網絡都使用Res3D。因此,如果分割和識別網絡可以組合成一個網絡來同時分割和識別連續的手勢,這將是一個有意義的研究。在未來的工作中,我們將探討使用手勢邊界作爲ConvLSTM網絡中遺忘門訓練的監督方法。這也是我們之前在網絡中不使用雙向ConvLSTM的原因之一[21]。當需要保留空間或時間分辨率時,膨脹是一項重要技能。時間膨脹可以充分利用長期上下文信息而不會損失時間分辨率。
  瞭解三維卷積中空間和時間卷積的有效性是一個重要的研究問題。用時空可分離的三維卷積代替三維卷積似乎是一種更加有效和高效的選擇。因此,重新考慮所提出的識別網絡的3DCNN和2DCNN塊的體系結構將是一個有趣的想法。受到這項工作的啓發,處理ConvLSTM中的空間和循環卷積將是一個很好的未來研究方向。

6 結論

  本文提出了連續手勢識別的有效分割和識別網絡。分割和識別過程是連續執行的。首先,基於時間擴張的Res3D的分割網絡將連續的手勢視頻劃分爲孤立的手勢文件。然後,識別網絡使用“Res3D-ConvLSTM-MobileNet”深度架構對每個孤立文件進行分類。ChaLearn LAP ConGD數據集和Jester數據集上的實驗結果證明了提出網絡的有效性。在我們未來的工作中,我們將探索使用手勢邊界作爲ConvLSTM網絡中遺忘門訓練的監督方法,以便爲連續手勢識別同時進行分割和識別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章