林大潤 陳俊洪 王思涵 鐘經謀 劉文印
(廣東工業大學計算機學院 廣東 廣州 510006)
近年來隨著人工智能技術和智慧城市的快速發展,服務機器人逐漸走入人們的生活中,在餐飲、家居、物流等各行業都得到廣泛的應用,其可以輔助人類高效完成一些具有重復性、復雜性、娛樂性等特性的任務。這使得人們對于良好的人機交互體驗有著更高要求,但傳統機器人控制通常依賴于專門的指向設備和特定的操作流程,這不僅耗費大量的資源,而且對于普通用戶特別是特殊人群則具有較高的使用難度。語音技術的出現使得人機交互領域有了極大的發展:只需要直接說出自己的需求,機器人就能完成相應的動作。
雖然現有的語音交互技術已經有了很大的進展,但在現實應用場景中,語音識別準確度的提升主要依靠網絡的深度以及海量的數據集去支撐的。人們提出了許多已經比較成熟的語音識別的方法:Ravanelli等[1]提出了一個RNN模型并在TIMIT數據集上取得了sota成果;Zhou等[2]提出了一個在語音識別領域上的transformer模型用于普通話數據集上。但是這類方法都是將語音的全部內容識別成文本,不僅準確率不高,而且還需要增加一道文本轉換成機器人所能接受的指令形式的步驟,效率較低。為了解決以上問題,人們提出將音頻和視頻的特征相結合的方式提高模型的準確度:宋冠軍等[3]直接級聯音視頻特征并采用PCA降維的方法達到特征融合的目的;Guo等[4]提出使用共享權重和共享記憶的特征融合方法,提高了音頻特征和視頻特征的“共鳴”度。但這些方法效果一般。
為了提高計算精度,本文提出了一個基于視頻與音頻特征融合網絡的動作三元組分類框架。該框架主要包含三個模塊,分別為視頻特征提取網絡、音頻特征提取網絡和特征融合分類網絡。第一個模塊利用I3D[5]視頻分類網絡來提取視頻的特征;第二個模塊利用了一維的卷積神經網絡和LSTM網絡來提取音頻的特征;第三個模塊將兩個特征分別通過全連接層以及歸一化后相加,然后導入GRU分類網絡輸出動作三元組。與其他語音分類網絡相比,本文提出的框架雖然需要視頻數據,但不需要轉換成中間文本形式。端對端的輸出動作指令使得準確率有所突破,并且在數據集上表現出較好的魯棒性。
從語音中提取出動作三元組(動作,主體物體,受體物體)其本質是語音關鍵詞檢索(Spoken Keyword Spotting)。作為語音識別的一個子領域,其目的是在語音信號中檢測指定詞語的所有出現位置。隨著智能助理、智能音箱等應用的興起,語音關鍵詞檢測越來越受到產業界的重視。早些年前,一些專業領域的人員希望通過專業知識來解決這一問題,Weintraub[6-7]提出使用對數似然比以及Viterbi的兩種方法來獲取語音關鍵詞,但是這些方法需要大量的先驗知識,無法進行廣泛的應用。后來隨著深度學習的興起,人們開始在這個領域使用深度模型,例如隱馬爾可夫模型(HMM)[8]、深度神經網絡(DNN)[9]、卷積神經網絡(CNN)[10]等,取得了不錯的效果。
基于樣例的語音關鍵詞檢索(QbE-STD)已經成為一個非常值得關注的領域。在這個領域關注的是長語音的關鍵詞識別,由于語音長度變長與語義理解變得復雜,檢索的難度也有所上升。文獻[11-12]提出DTW(Dynamic Time Warping)算法,但在多人語音里不是很理想。借鑒深度學習的成功經驗,研究人員提出了基于LSTM[13]、DNN[14]、RNN[15]的模型并取得了不錯的效果。這些方法不需要研究人員具備太多的語音專業知識也能端對端地完成任務,但準確率仍然沒有進一步的提高。Kamper等[16]創新地提出了多模態特征融合的方法檢索關鍵詞,取得了很好的效果。
單模態表示學習負責將信息表示為計算機可以處理的數值向量或者進一步抽象為更高層的特征向量,而多模態表示學習是指通過利用多模態之間的互補性,剔除模態間的冗余性,從而學習到更好的特征表示,這在許多領域上有許多成功的應用。其中最早的應用領域是視聽語音識別[17],通過將視頻跟音頻特征進行融合提高語音的識別效果。第二個重要的多模態應用類別來自多媒體內容索引和檢索領域[18-20]。
多模態領域根據模態的融合方法分為兩個研究方向,分別是聯合表示(Joint Representations)和協同表示(Coordinated Representations)。協同表示負責將多模態中的每個模態分別映射到各自的表示空間,但映射后的向量之間滿足一定的相關性約束。例如Kamper等[16]的方法將音頻特征與視頻特征分別映射到各自的表示空間上進行檢索,是典型的協同表示方法。Guo等[4]提出的方法都是將視覺模態和聽覺模態的信息一起映射到一個統一的多模態向量空間進行概括生成,是典型的聯合表示方法。本文應用聯合表示的方法,將音視頻特征先進行融合并用于動作三元組的分類,提高了準確率。
我們的目標是從音頻和視頻中生成可以高度概括技能的動作三元組(動作,主體物體,受體物體),總體網絡框架如圖1所示。接下來我們將按視頻特征提取、音頻特征提取和視頻特征及音頻特征融合分類三個部分進行詳細介紹。

圖1 音視頻融合網絡框架
由于動作是在時間與空間兩個維度上進行變化的序列,所以我們考慮從時序與空間信息中共同提取動作特征,從而提高動作識別的準確性。對此,我們采用I3D(Two-Stream Inflated 3D ConvNet)網絡[5]進行特征的提取,該網絡具有兩個分支,分別用于提取時間特征和空間特征,并且可通過增加空間維度將2D卷積核擴展到3D卷積核,使得網絡可以提取更多的時間特征,具體網絡結構如圖2所示。

圖2 I3D網絡結構
可以看到,該模型由一系列的二維卷積層、最大池化層,以及INC層組成,其中INC層是將Inception-v1[24]的2D-Inception module加一個時間維度拓展為3D-Inception module,具體結構如圖3所示。本文使用Charades[21]數據集的預訓練參數,將動作指令相關的視頻輸入到網絡后,將網絡結構原本的分類層移除,得到維度為(30,2 048)的特征向量。

圖3 INC模塊結構
由于原始語音表示形式不符合人耳的聽覺特性,難以抽取有效特征,所以在對音頻特征提取之前,我們將原始語音轉換成梅爾頻率倒譜系數MFCC(Mel Frequency Cepstrum Coefficient)。該方法與基于聲道模型的LPCC相比具有更好的魯棒性,并且更加符合人耳的聽覺特性。在得到39維的MFCC特征后,我們將其輸入到一維的卷積+LSTM神經網絡,其具體網絡結構如圖4所示。

圖4 音頻特征提取網絡結構
我們參考Satt等[25]的工作使用了一層的一維卷積層加LSTM的網絡結構:將MFCC的音頻特征輸入到一維卷積層,然后加入最大池化層突出語音中描述動作三元組的部分,去除冗余特征。隨后加入雙向LSTM層,使其能更加充分地從時序數據中學習。最后再接入全連接層,維度是(3,400),便得到了音頻特征并作為特征融合部分的輸入。
特征融合分類網絡的目的是將2.1節得到的視頻特征以及2.2節得到的音頻特征相融合后預測出動作三元組。其具體的結構如圖5所示。

圖5 特征融合網絡

緊接著,我們將XF輸入至Scaled Dot-Product Attention層,在該步驟中,先生成一個Query向量Q、Key向量K,以及Value向量V,其計算公式如下:
Q=Wqx
(5)
K=Wkx
(6)
V=Wvx
(7)
式中:dk是向量Q和向量K的維度,輸出的矩陣Q、K、V∈Rm×dv。為了捕獲句子中更加豐富的語義信息,我們使用Multi-Head Attention[26]來提高分類效果,其公式如下:



圖6 Multi-Head Attention的結構
隨后,我們將其輸入到雙向的GRU網絡以及批歸一化層,其后輸入到全連接層,得到維度為(3,29)的向量,其中29為動作類別數以及物品類別數的總和,最終輸入到softmax函數進行分類。
MPII Cooking 2數據集是由不同操作者進行烹飪所采集的數據集,它一共包含30多個菜譜,273個烹飪視頻,總時長達到27小時。在本文中,我們挑選了7個動作,21類常見物體進行研究,考慮到某些動作無主體或者受體,我們使用“-”代表物體缺失。類別信息如表1所示。

表1 物體和動作類別數據
由于本文中我們只考慮單個指令任務,所以我們首先把視頻按照動作分割成視頻段,并從中隨機抽取4 000個視頻段作為視頻模塊的訓練集,2 000個視頻段作為整個網絡框架的訓練集,500個視頻段作為視頻模塊的測試。然而,由于MPII Cooking 2數據集只有視頻和文本的描述,缺少語音描述數據,所以我們根據文本描述擴展出3 000段英文語音描述,其中每段語音時間不超過10 s。我們隨機選取2 500段語音將用于語音模塊的訓練,剩下的500段語音用于整個網絡框架的測試。為了更好地展示所使用的數據集,我們對部分數據集進行了可視化展示,內容如表2所示。

表2 數據集可視化效果
在視頻特征提取階段,我們使用在Charades[21]數據集上預訓練的I3D網絡參數在我們的數據集上訓練,具體的網絡參數參考文獻[5]。
在音頻特征提取階段,我們使用只有一層的一維卷積網絡進行特征的提取,其卷積核大小為3,步長為1,padding模式為same,深度為3。隨后我們使用最大池化,輸入到雙向LSTM網絡,單元數為400,激活函數為ReLU函數,dropout參數選擇0.3,最后使用一個全連接層將輸出維度調整為(3,400)。
在特征融合分類的階段,將視頻和語音特征進行相加后輸入到Multi-Head Attention層,其中我們將dmodel以及h分別設置為400和8。而后面的雙向GRU層單元數設置為400,激活函數選擇為ReLU,dropout參數是0.3。
在本文中,模型的學習率變化使用指數衰減算法,其中指數衰減學習率是先使用較大的學習率來快速得到一個較優的解,然后隨著迭代的繼續,逐步減小學習率,使得模型在訓練后期更加穩定。其公式如下。
式中:lr為此輪的學習率,lrinit為初始的學習率設為0.000 7,epoch為當前迭代輪數,drop設為0.5,epochsdrop設為5。
視頻模塊性能測試:我們橫向對比本文的視頻模塊部分的模型,即使用Stack Flow、AlexNet、CNN3D、LSTM、Two-Stream[27]方法將I3D網絡進行視頻單模態模型替換并性能的比較,結果如表3所示。

表3 不同視頻模塊融合模型效果(%)
可以看出,I3D融合網絡在我們的數據集上的準確率達到74.92%,召回率達到70.37%。通過與其他模型相對比,可以發現Two-Stream以及I3D模型相比于CNN3D、LSTM等網絡表現得更加出色,這是因為這兩個方法不僅使用了RGB圖像的信息,還較好地利用了光流數據進行特征的抽取,有效地獲得了空間特征與時序特征,提高了動作的識別率。而對比Two-Stream以及I3D網絡,I3D模型更勝一籌的地方在于,Two-Stream中的兩個網絡均采用2D CNN,在學習的過程中丟失了較多的時序信息,對于運動線索如何隨時間的演變不能很好地體現。而I3D分別使用兩個3D CNN對RGB數據與光流數據中的空間特征與時序特征進行有效提取,盡可能地利用到數據流中的動作特征信息,并取得了最好的結果。
音頻模塊性能測試:將本文所提出的音頻模塊模型與ResNet[28],FFN[29]方法通過在融合模型中替換音頻模塊進行橫向比較,結果如表4所示。

表4 不同音頻模塊融合模型效果(%)
可以看到,音頻特征提取網絡的融合模型在我們的數據集上的準確率以及召回率表現最好,相比于其他網絡具有巨大的提升。其中ResNet[28]是具有一系列shortcut模塊的卷積神經網絡,它的網絡能更深并且更加有效地進行學習,在語音識別[29]上取得有效的成果。而FFN(Feed Forward Network)[30]則是以瓶頸結構(bottleneck)提取特征,再使用ResNet[28]結構學習的一種神經網絡結構。由于我們的音頻模型具有雙向LSTM結構,能夠對語音中的時序信息進行有效的提取,因此其在我們的數據集上能有更好的效果。
單模態與多模態方法對比:為了驗證本文所提出來的多模態特征融合的有效性,我們將測試出來的最好的視頻模型和音頻模型與我們所提出的多模態融合模型進行對比,其中Single Video代表I3D網絡,Single Audio代表我們提出的音頻特征提取網絡。結果如表5所示。

表5 單模塊模型與多模態模型的表現(%)
可以看出,我們的模型的準確率能達到74.92%,召回率為70.37%,準確率比表現最好的視頻模型提高了6.79百分點。通過分析我們發現單模態的模型由于特征的缺少導致表現不佳,我們的模型同時從視覺信息和聽覺信息不一樣的特征空間中提取特征,當視覺信息中有用信息變少時,例如遮擋、光線太暗等,我們的模型能夠從聽覺信息中補充所需要的有用信息,提高了模型的魯棒性。如表6所示,由于角度的不同、手部遮擋以及光線不足等原因,單模態模型無法在這些樣本上提取有效的特征進行識別;而多模態模型可以較好地融合兩種不同模態特征,使得視頻即使在惡劣條件下仍然可以有效地進行識別。為了更直觀地展示本文所提出的算法效果,我們對部分結果進行了可視化,結果如表7所示。其中錯誤指令用斜體標出。

表6 單模態與多模態的效果對比可視化

表7 動作指令組的可視化效果
本文提出了一種融合視頻特征和音頻特征的動作指令組生成框架,該框架通過使用I3D、BiLSTM等方法分別對視頻和語音進行特征的提取,并通過融合輸入給Multi-Head Attention層生成動作指令組。大量的實驗表明,本文所提出的框架能夠有效地突破單模態下分類預測的瓶頸,并且在數據集上表現良好,具有較高的魯棒性。
在以后的工作中,我們將在以下幾個方面進行拓展:(1) 使用其他特征融合方式,提高分類的準確率;(2) 嘗試從長視頻或者復雜視頻中提取動作指令組,提高操作復雜性。