林大潤 陳俊洪 王思涵 鐘經(jīng)謀 劉文印
(廣東工業(yè)大學(xué)計算機(jī)學(xué)院 廣東 廣州 510006)
近年來隨著人工智能技術(shù)和智慧城市的快速發(fā)展,服務(wù)機(jī)器人逐漸走入人們的生活中,在餐飲、家居、物流等各行業(yè)都得到廣泛的應(yīng)用,其可以輔助人類高效完成一些具有重復(fù)性、復(fù)雜性、娛樂性等特性的任務(wù)。這使得人們對于良好的人機(jī)交互體驗有著更高要求,但傳統(tǒng)機(jī)器人控制通常依賴于專門的指向設(shè)備和特定的操作流程,這不僅耗費大量的資源,而且對于普通用戶特別是特殊人群則具有較高的使用難度。語音技術(shù)的出現(xiàn)使得人機(jī)交互領(lǐng)域有了極大的發(fā)展:只需要直接說出自己的需求,機(jī)器人就能完成相應(yīng)的動作。
雖然現(xiàn)有的語音交互技術(shù)已經(jīng)有了很大的進(jìn)展,但在現(xiàn)實應(yīng)用場景中,語音識別準(zhǔn)確度的提升主要依靠網(wǎng)絡(luò)的深度以及海量的數(shù)據(jù)集去支撐的。人們提出了許多已經(jīng)比較成熟的語音識別的方法:Ravanelli等[1]提出了一個RNN模型并在TIMIT數(shù)據(jù)集上取得了sota成果;Zhou等[2]提出了一個在語音識別領(lǐng)域上的transformer模型用于普通話數(shù)據(jù)集上。但是這類方法都是將語音的全部內(nèi)容識別成文本,不僅準(zhǔn)確率不高,而且還需要增加一道文本轉(zhuǎn)換成機(jī)器人所能接受的指令形式的步驟,效率較低。為了解決以上問題,人們提出將音頻和視頻的特征相結(jié)合的方式提高模型的準(zhǔn)確度:宋冠軍等[3]直接級聯(lián)音視頻特征并采用PCA降維的方法達(dá)到特征融合的目的;Guo等[4]提出使用共享權(quán)重和共享記憶的特征融合方法,提高了音頻特征和視頻特征的“共鳴”度。但這些方法效果一般。
為了提高計算精度,本文提出了一個基于視頻與音頻特征融合網(wǎng)絡(luò)的動作三元組分類框架。該框架主要包含三個模塊,分別為視頻特征提取網(wǎng)絡(luò)、音頻特征提取網(wǎng)絡(luò)和特征融合分類網(wǎng)絡(luò)。第一個模塊利用I3D[5]視頻分類網(wǎng)絡(luò)來提取視頻的特征;第二個模塊利用了一維的卷積神經(jīng)網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)來提取音頻的特征;第三個模塊將兩個特征分別通過全連接層以及歸一化后相加,然后導(dǎo)入GRU分類網(wǎng)絡(luò)輸出動作三元組。與其他語音分類網(wǎng)絡(luò)相比,本文提出的框架雖然需要視頻數(shù)據(jù),但不需要轉(zhuǎn)換成中間文本形式。端對端的輸出動作指令使得準(zhǔn)確率有所突破,并且在數(shù)據(jù)集上表現(xiàn)出較好的魯棒性。
從語音中提取出動作三元組(動作,主體物體,受體物體)其本質(zhì)是語音關(guān)鍵詞檢索(Spoken Keyword Spotting)。作為語音識別的一個子領(lǐng)域,其目的是在語音信號中檢測指定詞語的所有出現(xiàn)位置。隨著智能助理、智能音箱等應(yīng)用的興起,語音關(guān)鍵詞檢測越來越受到產(chǎn)業(yè)界的重視。早些年前,一些專業(yè)領(lǐng)域的人員希望通過專業(yè)知識來解決這一問題,Weintraub[6-7]提出使用對數(shù)似然比以及Viterbi的兩種方法來獲取語音關(guān)鍵詞,但是這些方法需要大量的先驗知識,無法進(jìn)行廣泛的應(yīng)用。后來隨著深度學(xué)習(xí)的興起,人們開始在這個領(lǐng)域使用深度模型,例如隱馬爾可夫模型(HMM)[8]、深度神經(jīng)網(wǎng)絡(luò)(DNN)[9]、卷積神經(jīng)網(wǎng)絡(luò)(CNN)[10]等,取得了不錯的效果。
基于樣例的語音關(guān)鍵詞檢索(QbE-STD)已經(jīng)成為一個非常值得關(guān)注的領(lǐng)域。在這個領(lǐng)域關(guān)注的是長語音的關(guān)鍵詞識別,由于語音長度變長與語義理解變得復(fù)雜,檢索的難度也有所上升。文獻(xiàn)[11-12]提出DTW(Dynamic Time Warping)算法,但在多人語音里不是很理想。借鑒深度學(xué)習(xí)的成功經(jīng)驗,研究人員提出了基于LSTM[13]、DNN[14]、RNN[15]的模型并取得了不錯的效果。這些方法不需要研究人員具備太多的語音專業(yè)知識也能端對端地完成任務(wù),但準(zhǔn)確率仍然沒有進(jìn)一步的提高。Kamper等[16]創(chuàng)新地提出了多模態(tài)特征融合的方法檢索關(guān)鍵詞,取得了很好的效果。
單模態(tài)表示學(xué)習(xí)負(fù)責(zé)將信息表示為計算機(jī)可以處理的數(shù)值向量或者進(jìn)一步抽象為更高層的特征向量,而多模態(tài)表示學(xué)習(xí)是指通過利用多模態(tài)之間的互補性,剔除模態(tài)間的冗余性,從而學(xué)習(xí)到更好的特征表示,這在許多領(lǐng)域上有許多成功的應(yīng)用。其中最早的應(yīng)用領(lǐng)域是視聽語音識別[17],通過將視頻跟音頻特征進(jìn)行融合提高語音的識別效果。第二個重要的多模態(tài)應(yīng)用類別來自多媒體內(nèi)容索引和檢索領(lǐng)域[18-20]。
多模態(tài)領(lǐng)域根據(jù)模態(tài)的融合方法分為兩個研究方向,分別是聯(lián)合表示(Joint Representations)和協(xié)同表示(Coordinated Representations)。協(xié)同表示負(fù)責(zé)將多模態(tài)中的每個模態(tài)分別映射到各自的表示空間,但映射后的向量之間滿足一定的相關(guān)性約束。例如Kamper等[16]的方法將音頻特征與視頻特征分別映射到各自的表示空間上進(jìn)行檢索,是典型的協(xié)同表示方法。Guo等[4]提出的方法都是將視覺模態(tài)和聽覺模態(tài)的信息一起映射到一個統(tǒng)一的多模態(tài)向量空間進(jìn)行概括生成,是典型的聯(lián)合表示方法。本文應(yīng)用聯(lián)合表示的方法,將音視頻特征先進(jìn)行融合并用于動作三元組的分類,提高了準(zhǔn)確率。
我們的目標(biāo)是從音頻和視頻中生成可以高度概括技能的動作三元組(動作,主體物體,受體物體),總體網(wǎng)絡(luò)框架如圖1所示。接下來我們將按視頻特征提取、音頻特征提取和視頻特征及音頻特征融合分類三個部分進(jìn)行詳細(xì)介紹。
圖1 音視頻融合網(wǎng)絡(luò)框架
由于動作是在時間與空間兩個維度上進(jìn)行變化的序列,所以我們考慮從時序與空間信息中共同提取動作特征,從而提高動作識別的準(zhǔn)確性。對此,我們采用I3D(Two-Stream Inflated 3D ConvNet)網(wǎng)絡(luò)[5]進(jìn)行特征的提取,該網(wǎng)絡(luò)具有兩個分支,分別用于提取時間特征和空間特征,并且可通過增加空間維度將2D卷積核擴(kuò)展到3D卷積核,使得網(wǎng)絡(luò)可以提取更多的時間特征,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 I3D網(wǎng)絡(luò)結(jié)構(gòu)
可以看到,該模型由一系列的二維卷積層、最大池化層,以及INC層組成,其中INC層是將Inception-v1[24]的2D-Inception module加一個時間維度拓展為3D-Inception module,具體結(jié)構(gòu)如圖3所示。本文使用Charades[21]數(shù)據(jù)集的預(yù)訓(xùn)練參數(shù),將動作指令相關(guān)的視頻輸入到網(wǎng)絡(luò)后,將網(wǎng)絡(luò)結(jié)構(gòu)原本的分類層移除,得到維度為(30,2 048)的特征向量。
圖3 INC模塊結(jié)構(gòu)
由于原始語音表示形式不符合人耳的聽覺特性,難以抽取有效特征,所以在對音頻特征提取之前,我們將原始語音轉(zhuǎn)換成梅爾頻率倒譜系數(shù)MFCC(Mel Frequency Cepstrum Coefficient)。該方法與基于聲道模型的LPCC相比具有更好的魯棒性,并且更加符合人耳的聽覺特性。在得到39維的MFCC特征后,我們將其輸入到一維的卷積+LSTM神經(jīng)網(wǎng)絡(luò),其具體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 音頻特征提取網(wǎng)絡(luò)結(jié)構(gòu)
我們參考Satt等[25]的工作使用了一層的一維卷積層加LSTM的網(wǎng)絡(luò)結(jié)構(gòu):將MFCC的音頻特征輸入到一維卷積層,然后加入最大池化層突出語音中描述動作三元組的部分,去除冗余特征。隨后加入雙向LSTM層,使其能更加充分地從時序數(shù)據(jù)中學(xué)習(xí)。最后再接入全連接層,維度是(3,400),便得到了音頻特征并作為特征融合部分的輸入。
特征融合分類網(wǎng)絡(luò)的目的是將2.1節(jié)得到的視頻特征以及2.2節(jié)得到的音頻特征相融合后預(yù)測出動作三元組。其具體的結(jié)構(gòu)如圖5所示。
圖5 特征融合網(wǎng)絡(luò)
緊接著,我們將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的結(jié)構(gòu)
隨后,我們將其輸入到雙向的GRU網(wǎng)絡(luò)以及批歸一化層,其后輸入到全連接層,得到維度為(3,29)的向量,其中29為動作類別數(shù)以及物品類別數(shù)的總和,最終輸入到softmax函數(shù)進(jìn)行分類。
MPII Cooking 2數(shù)據(jù)集是由不同操作者進(jìn)行烹飪所采集的數(shù)據(jù)集,它一共包含30多個菜譜,273個烹飪視頻,總時長達(dá)到27小時。在本文中,我們挑選了7個動作,21類常見物體進(jìn)行研究,考慮到某些動作無主體或者受體,我們使用“-”代表物體缺失。類別信息如表1所示。
表1 物體和動作類別數(shù)據(jù)
由于本文中我們只考慮單個指令任務(wù),所以我們首先把視頻按照動作分割成視頻段,并從中隨機(jī)抽取4 000個視頻段作為視頻模塊的訓(xùn)練集,2 000個視頻段作為整個網(wǎng)絡(luò)框架的訓(xùn)練集,500個視頻段作為視頻模塊的測試。然而,由于MPII Cooking 2數(shù)據(jù)集只有視頻和文本的描述,缺少語音描述數(shù)據(jù),所以我們根據(jù)文本描述擴(kuò)展出3 000段英文語音描述,其中每段語音時間不超過10 s。我們隨機(jī)選取2 500段語音將用于語音模塊的訓(xùn)練,剩下的500段語音用于整個網(wǎng)絡(luò)框架的測試。為了更好地展示所使用的數(shù)據(jù)集,我們對部分?jǐn)?shù)據(jù)集進(jìn)行了可視化展示,內(nèi)容如表2所示。
表2 數(shù)據(jù)集可視化效果
在視頻特征提取階段,我們使用在Charades[21]數(shù)據(jù)集上預(yù)訓(xùn)練的I3D網(wǎng)絡(luò)參數(shù)在我們的數(shù)據(jù)集上訓(xùn)練,具體的網(wǎng)絡(luò)參數(shù)參考文獻(xiàn)[5]。
在音頻特征提取階段,我們使用只有一層的一維卷積網(wǎng)絡(luò)進(jìn)行特征的提取,其卷積核大小為3,步長為1,padding模式為same,深度為3。隨后我們使用最大池化,輸入到雙向LSTM網(wǎng)絡(luò),單元數(shù)為400,激活函數(shù)為ReLU函數(shù),dropout參數(shù)選擇0.3,最后使用一個全連接層將輸出維度調(diào)整為(3,400)。
在特征融合分類的階段,將視頻和語音特征進(jìn)行相加后輸入到Multi-Head Attention層,其中我們將dmodel以及h分別設(shè)置為400和8。而后面的雙向GRU層單元數(shù)設(shè)置為400,激活函數(shù)選擇為ReLU,dropout參數(shù)是0.3。
在本文中,模型的學(xué)習(xí)率變化使用指數(shù)衰減算法,其中指數(shù)衰減學(xué)習(xí)率是先使用較大的學(xué)習(xí)率來快速得到一個較優(yōu)的解,然后隨著迭代的繼續(xù),逐步減小學(xué)習(xí)率,使得模型在訓(xùn)練后期更加穩(wěn)定。其公式如下。
式中:lr為此輪的學(xué)習(xí)率,lrinit為初始的學(xué)習(xí)率設(shè)為0.000 7,epoch為當(dāng)前迭代輪數(shù),drop設(shè)為0.5,epochsdrop設(shè)為5。
視頻模塊性能測試:我們橫向?qū)Ρ缺疚牡囊曨l模塊部分的模型,即使用Stack Flow、AlexNet、CNN3D、LSTM、Two-Stream[27]方法將I3D網(wǎng)絡(luò)進(jìn)行視頻單模態(tài)模型替換并性能的比較,結(jié)果如表3所示。
表3 不同視頻模塊融合模型效果(%)
可以看出,I3D融合網(wǎng)絡(luò)在我們的數(shù)據(jù)集上的準(zhǔn)確率達(dá)到74.92%,召回率達(dá)到70.37%。通過與其他模型相對比,可以發(fā)現(xiàn)Two-Stream以及I3D模型相比于CNN3D、LSTM等網(wǎng)絡(luò)表現(xiàn)得更加出色,這是因為這兩個方法不僅使用了RGB圖像的信息,還較好地利用了光流數(shù)據(jù)進(jìn)行特征的抽取,有效地獲得了空間特征與時序特征,提高了動作的識別率。而對比Two-Stream以及I3D網(wǎng)絡(luò),I3D模型更勝一籌的地方在于,Two-Stream中的兩個網(wǎng)絡(luò)均采用2D CNN,在學(xué)習(xí)的過程中丟失了較多的時序信息,對于運動線索如何隨時間的演變不能很好地體現(xiàn)。而I3D分別使用兩個3D CNN對RGB數(shù)據(jù)與光流數(shù)據(jù)中的空間特征與時序特征進(jìn)行有效提取,盡可能地利用到數(shù)據(jù)流中的動作特征信息,并取得了最好的結(jié)果。
音頻模塊性能測試:將本文所提出的音頻模塊模型與ResNet[28],FFN[29]方法通過在融合模型中替換音頻模塊進(jìn)行橫向比較,結(jié)果如表4所示。
表4 不同音頻模塊融合模型效果(%)
可以看到,音頻特征提取網(wǎng)絡(luò)的融合模型在我們的數(shù)據(jù)集上的準(zhǔn)確率以及召回率表現(xiàn)最好,相比于其他網(wǎng)絡(luò)具有巨大的提升。其中ResNet[28]是具有一系列shortcut模塊的卷積神經(jīng)網(wǎng)絡(luò),它的網(wǎng)絡(luò)能更深并且更加有效地進(jìn)行學(xué)習(xí),在語音識別[29]上取得有效的成果。而FFN(Feed Forward Network)[30]則是以瓶頸結(jié)構(gòu)(bottleneck)提取特征,再使用ResNet[28]結(jié)構(gòu)學(xué)習(xí)的一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。由于我們的音頻模型具有雙向LSTM結(jié)構(gòu),能夠?qū)φZ音中的時序信息進(jìn)行有效的提取,因此其在我們的數(shù)據(jù)集上能有更好的效果。
單模態(tài)與多模態(tài)方法對比:為了驗證本文所提出來的多模態(tài)特征融合的有效性,我們將測試出來的最好的視頻模型和音頻模型與我們所提出的多模態(tài)融合模型進(jìn)行對比,其中Single Video代表I3D網(wǎng)絡(luò),Single Audio代表我們提出的音頻特征提取網(wǎng)絡(luò)。結(jié)果如表5所示。
表5 單模塊模型與多模態(tài)模型的表現(xiàn)(%)
可以看出,我們的模型的準(zhǔn)確率能達(dá)到74.92%,召回率為70.37%,準(zhǔn)確率比表現(xiàn)最好的視頻模型提高了6.79百分點。通過分析我們發(fā)現(xiàn)單模態(tài)的模型由于特征的缺少導(dǎo)致表現(xiàn)不佳,我們的模型同時從視覺信息和聽覺信息不一樣的特征空間中提取特征,當(dāng)視覺信息中有用信息變少時,例如遮擋、光線太暗等,我們的模型能夠從聽覺信息中補充所需要的有用信息,提高了模型的魯棒性。如表6所示,由于角度的不同、手部遮擋以及光線不足等原因,單模態(tài)模型無法在這些樣本上提取有效的特征進(jìn)行識別;而多模態(tài)模型可以較好地融合兩種不同模態(tài)特征,使得視頻即使在惡劣條件下仍然可以有效地進(jìn)行識別。為了更直觀地展示本文所提出的算法效果,我們對部分結(jié)果進(jìn)行了可視化,結(jié)果如表7所示。其中錯誤指令用斜體標(biāo)出。
表6 單模態(tài)與多模態(tài)的效果對比可視化
表7 動作指令組的可視化效果
本文提出了一種融合視頻特征和音頻特征的動作指令組生成框架,該框架通過使用I3D、BiLSTM等方法分別對視頻和語音進(jìn)行特征的提取,并通過融合輸入給Multi-Head Attention層生成動作指令組。大量的實驗表明,本文所提出的框架能夠有效地突破單模態(tài)下分類預(yù)測的瓶頸,并且在數(shù)據(jù)集上表現(xiàn)良好,具有較高的魯棒性。
在以后的工作中,我們將在以下幾個方面進(jìn)行拓展:(1) 使用其他特征融合方式,提高分類的準(zhǔn)確率;(2) 嘗試從長視頻或者復(fù)雜視頻中提取動作指令組,提高操作復(fù)雜性。