許振雷,董洪偉
(江南大學物聯(lián)網(wǎng)工程學院,江蘇無錫 214000)
隨著通信技術(shù)水平的提高,視頻成為目前最大的信息載體之一?!耙粓D勝千言”生動形象地說明了圖像在充當信息介質(zhì)時的重要性,而視頻攜帶的信息量更多,因此,如何使計算機理解視頻中的內(nèi)容成為學者們的研究熱點。圖像問答(Visual Question Answering,Visual QA)[1]任務為視頻理解的父任務,其簡單描述為給定一張圖像和一個與圖像內(nèi)容相關(guān)的問題,計算機在理解圖像內(nèi)容和問題的基礎(chǔ)上給出問題的答案。圖像問答的子任務包括圖像模式識別和自然語言處理。相對于圖像問答,視頻問答(Video Question Answering,Video QA)更具挑戰(zhàn)性。
目前,視頻問答研究發(fā)展較緩慢,其中一個重要原因就是數(shù)據(jù)集的整理(包括收集和標注)成本較高,且與視頻相關(guān)的處理技術(shù)也不夠成熟。視頻采集過程中不能很好地截取核心內(nèi)容片段的后果是,一方面若視頻時間過長,將導致無關(guān)信息增多,難以吸引足夠多的人來回答并標注問題,另一方面若時間過短將導致信息不足,造成回答者理解錯誤。
本文在現(xiàn)有注意力機制框架的基礎(chǔ)上,提出先驗MASK注意力機制模型。提取視頻的關(guān)鍵幀并采用向上注意力機制Faster R-CNN模型獲得關(guān)鍵幀的特征以及關(guān)鍵幀中的對象標簽,將特征以及對象標簽與問題文本分別進行3種注意力加權(quán),采用先驗MASK屏蔽無關(guān)答案,從而提高視頻問答的準確率。
目前,學術(shù)界和工業(yè)界對視頻問答的研究較少,但有關(guān)其父任務,即圖像問答[1]的研究非常多,且獲得了較大進展。從模型的角度來看,圖像問答任務主要聚焦于將圖像特征與文本特征進行融合,從而實現(xiàn)端到端的訓練。在圖像處理領(lǐng)域,隨著網(wǎng)絡結(jié)構(gòu)的不斷提出,使用卷積神經(jīng)網(wǎng)絡(CNN)進行圖像特征表達成為主流,此外,自然語言處理也得到迅速發(fā)展,從早期的詞袋模型[2]、Word2vec[3]到近期的自然語言處理預訓練模型Bert[4]、XLNet[5]等,計算機能夠抽取語法以及語義特征,從而抽象地提取文本特征。在圖像處理和自然語言處理相結(jié)合的任務,即圖像問答任務中,如何將文本特征與圖像特征進行有效融合,成為近年來的研究熱點。2015年,ZHOU等人[6]提出圖像問答的基線,引入iBOWIMG模型,如圖1所示,用VGGNet[7]網(wǎng)絡對圖像進行特征提取,對問題以及答案實現(xiàn)詞袋編碼[2],繼而將圖像特征與問題特征相拼接,經(jīng)過分類層輸出每個答案的概率,并與真實答案進行誤差計算從而實現(xiàn)梯度回傳,達到訓練的目的。
圖1 iBOWIMG模型結(jié)構(gòu)Fig.1 iBOWIMG model structure
文獻[1]使用神經(jīng)網(wǎng)絡進行圖像特征提取,利用循環(huán)神經(jīng)網(wǎng)絡LSTM[8]實現(xiàn)問題文本特征提取,將2個特征相拼接從而達到訓練的目的,此外,使用語言模型從COCO[9]的圖像標注中自動生成問題,同時規(guī)定答案必須是一個單詞,包含物體、數(shù)量、顏色和位置4個主題,但是其僅支持一個問題且答案只能是一個單詞,不具有現(xiàn)實意義。文獻[10]提出注意力機制,并將注意力機制應用于圖像問答領(lǐng)域。文獻[11]將問題進行特征表達后形成卷積核并與圖像進行卷積操作,以得到圖像空間上的區(qū)域關(guān)注圖,從而更準確地提取特征。文獻[12]提出自上而下和自下而上相結(jié)合的注意力模型方法,并將其應用于視覺場景理解和視覺問答系統(tǒng)等相關(guān)問題,其中,基于自下而上的關(guān)注模型(一般使用Faster R-CNN[13])用于提取圖像中的興趣區(qū)域,獲取對象特征,而基于自上而下的注意力模型用于學習特征所對應的權(quán)重,實現(xiàn)對視覺圖像的深入理解。該方法在2017年VQA Challenge(https://visualqa.org/)比賽中取得了第一名,驗證了其有效性。
上述均為圖像問答的相關(guān)研究,可以看出,圖像問答系統(tǒng)已經(jīng)進展顯著。文獻[14]提出將C3D模型[15]與ResNet模型[16]提取的特征相結(jié)合,并再次與Glove[17]提取的Word2vec特征進行結(jié)合的方法,以進行注意力機制端到端的訓練,自此視頻問答逐漸成為研究人員關(guān)注的熱點。如圖2所示,由于視頻含有時間序列,因此其問答任務相對圖像而言難度更大。
圖2 圖像問答與視頻問答Fig.2 Visual QA and Video QA
目前,國內(nèi)外學者對視頻問答的研究方法主要分為聯(lián)合嵌入、視頻描述以及注意力機制3種,具體如下:
1)聯(lián)合嵌入是視頻問答任務中最常見的一種方法,其使用卷積神經(jīng)網(wǎng)絡提取視頻特征,同時利用遞歸神經(jīng)網(wǎng)絡提取問題文本的特征表達,然后將視頻特征與問題特征相拼接并直接輸入模型,從而生成每個答案的概率。對于視頻特征而言,目前多數(shù)采用ImageNet[18]中的預訓練模型(如VGGNet[19]、ResNet[16]以及GoogleNet[20])來提取圖像特征;對于問題文本而言,多數(shù)采用LSTM和GRU[21]來提取文本特征。文獻[22]提出Re-watching和Re-watcher 2種機制,以模仿人類閱讀問題時不斷觀察視頻的行為,然后將2種機制組成為forgettable-watcher模型。
2)視頻描述方法,其將一段視頻轉(zhuǎn)換成自然語言描述的句子。該方法將視頻轉(zhuǎn)換成文本,從而利用自然語言處理的方法得到問題的答案。文獻[23]提出一種分層記憶網(wǎng)絡(Layered Memory Network,LMN)模型,從電影或電視劇字幕中提取單詞和句子,利用LMN生成視頻表達,然后通過語義匹配將問題與視頻轉(zhuǎn)換成文本從而生成答案。文獻[24]使用預訓練的Faster R-CNN[13]模型首先獲取每一幀圖像中的目標和位置屬性信息,學習視頻中的字幕信息得到相關(guān)的視覺標簽,然后將獲取的區(qū)域特征(目標和位置屬性)、視頻特征和問題文本特征輸入到模型中,從而得到問題的答案。
3)注意力機制模型[25],其首先在機器翻譯[26]任務中被提出,在循環(huán)神經(jīng)網(wǎng)絡中識別句子中不同部分的權(quán)重,從而使神經(jīng)網(wǎng)絡注意不同的單詞。注意力機制在機器翻譯任務中取得了較好效果,其也逐漸成為視頻問答領(lǐng)域的研究熱點。文獻[27]提出一種聯(lián)合序列融合(Joint Sequence Fusion,JSFusion)模型。聯(lián)合語義張量(Joint Semantic Tensor,JST)在多模塊序列之間采用密集的Hadamard積來生成3D張量,然后采用學習的自注意力機制突出3D的匹配向量。卷積分層解碼器(Convolutional Hierarchical Decoder,CHD)通過卷積與卷積門模塊發(fā)現(xiàn)JST模塊生成的3D張量的局部對準分數(shù),該模型作為一種通用的方法,能夠應用于各種多模態(tài)的序列數(shù)據(jù)對,并用于視頻檢索、視頻問答、多項選擇以及空白填空等任務。文獻[28]使用融合視頻特征與問題特征的雙重注意力機制來解決視頻問答問題。文獻[29]利用Appearance和Motion 2種注意力機制來加強問題與視頻之間的關(guān)系,再使用RNN的變體AMU(Attention Memory Unit)來進一步處理問題,從而提高模型的預測性能。
目前,國內(nèi)外學者對視頻問答研究較少的主要原因是高質(zhì)量數(shù)據(jù)集的獲取與標注難度較高。2018年,阿里巴巴之江實驗室舉辦的視頻問答大賽開放了高質(zhì)量的ZJB-VQA數(shù)據(jù)集,該數(shù)據(jù)集一共包含8 920個視頻,每個視頻包括5個問題,一共有44 600個問題,每個問題有3個不同的相似答案。該數(shù)據(jù)集涵蓋日常生活的各方面,是目前質(zhì)量較高的視頻問答數(shù)據(jù)集,其中,每個問題以及答案都由人工進行標注,如圖3所示。ZJB-VQA數(shù)據(jù)集的問題類型主要集中于color、doing、how many、yes/not和where。
圖3 ZJB-VQA數(shù)據(jù)集問題類型分布Fig.3 Problem type distribution of ZJB-VQA dataset
從表1可以看出,ZJB-VQA數(shù)據(jù)集中各類型問題以及答案的平均長度分布比較均勻,問題約為8個單詞,答案約為1個單詞。圖4所示為數(shù)據(jù)集的答案分布情況,“standing”在答案中占比最高,達到28.3%,其次是“indoor”,關(guān)于顏色的詞匯的出現(xiàn)概率也非常高,總和達到23%。
表1 ZJB-VQA數(shù)據(jù)集中問題及答案的長度統(tǒng)計結(jié)果Table 1 Statistical results of question and answer length of ZJB-VQA dataset
圖4 ZJB-VQA數(shù)據(jù)集的答案類型分布Fig.4 Answer type distribution of ZJB-VQA dataset
ZJB-VQA數(shù)據(jù)集測試集的評價指標為準確率,每個問題有3個相似的答案,只要有一個答案和模型預測值完全匹配,就認為預測答案正確。準確率的計算公式如下:
其中,M為回答正確的問題總數(shù),N為測試集的總數(shù)。
目前,多數(shù)視頻問答方案沒有考慮文本特征與視頻特征之間的相關(guān)性,而這種相關(guān)性特征在回答任務中至關(guān)重要,如何使模型能夠同時捕捉問題以及視頻的興趣點尤為關(guān)鍵,因此,本文針對一般性視頻問答任務提出基于先驗MASK注意力機制的VQA模型,模型結(jié)構(gòu)如圖5所示。模型輸入為N個問題q、一個視頻ν、問題先驗信息prior以及視頻標簽attr,問題文本經(jīng)過Word2vec之后與視頻特征ν、視頻標簽attr進行注意力機制加權(quán),最后在網(wǎng)絡輸出期間與問題先驗信息prior作乘積,結(jié)果稱為先驗MASK,網(wǎng)絡的最終輸出為N個問題的預測答案。
圖5 先驗MASK模型結(jié)構(gòu)Fig.5 Prior MASK model structure
從圖5可以看出,模型輸入為N個文本問題,由于公開的數(shù)據(jù)集是1個視頻對應多個問題(如ZJB-VQA數(shù)據(jù)集中1個視頻對應5個相關(guān)問題),通過這種多輸入學習方式能夠讓網(wǎng)絡學習到更好的泛化特征。
在問題處理中,將文本統(tǒng)一為相同的長度,根據(jù)表1的結(jié)果,文本的平均長度約為8個單詞,最長為18個單詞,文本取14個單詞作為問題輸入長度時模型表現(xiàn)較佳。在視頻處理中,視頻中無用幀數(shù)量較多,如何處理冗余幀成為完成該任務的重點。如果使用全部幀進行訓練會使訓練時間大幅增加,且對機器的要求較高,因此,本文采用ffmpeg工具進行視頻關(guān)鍵幀提取,ffmpeg是開源的音頻、視頻處理工具。本文設置關(guān)鍵幀個數(shù)為Lν,提取出的幀不足Lν時進行補充,多余Lν幀壓縮為一幀,最終將每一個視頻處理成L幀的圖片集合,同時使用Faster R-CNN作為特征提取工具。如圖6所示,F(xiàn)aster R-CNN是一個目標檢測模型,該模型不僅能夠檢測目標,還可以使用邊框標記出目標所屬的類別以及在圖片中的坐標位置。
圖6 Faster R-CNN模型檢測示例Fig.6 Faster R-CNN model checking example
本文采用Faster R-CNN模型,該模型將網(wǎng)絡的最后一層輸出作為特征,并使用一個IoU閾值進行篩選,對于每一個區(qū)域i,Vi表示該區(qū)域的特征,在視頻問答任務中,特征的維度為M(預訓練模型中M為2 048),給出該區(qū)域置信度較高的前P個對象,因此,對于視頻中的一個幀而言,F(xiàn)aster R-CNN輸出的維度為(P,M),對每個視頻進行特征提取得到(Lν,P,M)維的特征以及每一幀中置信度最大的P個對象標簽。對于Lν幀而言,共有Lν×P個標簽,選擇出現(xiàn)頻率最高的w個標簽作為最終輸入模型的標簽,方案使用的Faster R-CNN中的預訓練ResNet-101 CNN模型是基于ImageNet訓練的,使用基于Faster R-CNN的自上而下和自下而上相結(jié)合的注意力模型方法進行特征提取,設置置信度的閾值為0.2,可使Faster R-CNN得到多數(shù)可信度較高的標簽。此時,方案獲得了(L,P,M)維大小的特征以及w個視頻標簽。
對于網(wǎng)絡結(jié)構(gòu)中的注意力模塊以及網(wǎng)絡輸出模塊,本文提出3種注意力模型以及先驗MASK,3種注意力模型分別為temporal-attention、attr-block-attention以及time-spatial-attention,三者從不同的角度來捕獲視頻與問題文本之間的關(guān)系。
如圖7所示,temporal-attention模型將問題特征與視頻特征進行注意力加權(quán),使模型根據(jù)問題來捕獲視頻中的關(guān)鍵點,將N個問題進行全局平均采樣后的結(jié)果與視頻特征進行哈達馬點積,作為下一個網(wǎng)絡的輸入。對于問題特征的處理,本文使用雙層雙向LSTM進行網(wǎng)絡表示。其中,問題q經(jīng)過Glove[17]預訓練向量Word2vec后得到q∈,Lq為句子的長度,300為預訓練的Word2vec維度。經(jīng)過LSTM層學習后所有的隱藏層維度均為O,進行全局平均池化后得到q′∈?l×O,視頻特征ν∈,其中,L′為下采樣使用的幀數(shù),如ZJB-VQA數(shù)據(jù)集實驗中實際使用了16幀。問題隱藏層特征Hq∈?O×O,將視頻特征同樣進行全局平均池化后得到Hν∈?M×O,fatt∈?q×O,其中,注意力權(quán)重o∈計算公式如下:
圖7 temporal-attention模型結(jié)構(gòu)Fig.7 temporal-attention model structure
temporal-attention模型關(guān)注視頻特征與問題之間的關(guān)系,而attr-block-attention模型關(guān)注的是問題以及視頻中通過Faster R-CNN提取出的標簽之間的注意力??紤]例子“桌子上有什么?”,F(xiàn)aster R-CNN提取出“桌子”標簽,容易將該標簽與問題進行注意力加權(quán)。attr-block-attention模型結(jié)構(gòu)如圖8所示,使用attr-block-attention能夠讓模型在視頻標簽與N個問題中找到興趣點,從而使模型學習更重要的信息。
圖8 attr-block-attention模型結(jié)構(gòu)Fig.8 attr-block-attention model structure
time-spatial-attention模型將問題特征與視頻特征進行一系列的特征提取后,將其分別與問題以及視頻作注意力加權(quán),此時模型更能關(guān)注問題以及視頻中的關(guān)鍵點,并作為下一個網(wǎng)絡的輸入。timespatial-attention模型結(jié)構(gòu)如圖9所示。
圖9 time-spatial-attention模型結(jié)構(gòu)Fig.9 time-spatial-attention model structure
本文將上述3種注意力機制的輸入進行融合,直接取平均并與先驗信息作加權(quán),以得到最終的模型輸出。
網(wǎng)絡的輸出答案有多種,但是針對某一種問題而言,其答案空間卻有限,如圖3所示,ZJB-VQA數(shù)據(jù)集的問題類型主要集中于how many、color、doing、yes/not以及where,比如對于yes/not問題類型而言,答案只有yes或not,不可能出現(xiàn)其他答案。因此,本文使用先驗MASK將該答案控制在固定的輸出空間之內(nèi),從而提升網(wǎng)絡的預測性能。
使用2018年“之江杯”人工智能大賽視頻組開放的數(shù)據(jù)集進行實驗,將本文模型與下列模型進行性能對比:
1)VQA+模型,其為圖像問答方法[1,30]的擴展,采用ResNet[16]網(wǎng)絡進行特征提取,使用LSTM完成問題特征提取,然后輸入到分類網(wǎng)絡中得到問題答案。VQA+模型是“之江杯”第2名和第3名所采用的基本方案。
2)SA+模型[31],其通過LSTM提取問題文本中的單詞特征,然后與視頻幀的特征相結(jié)合并輸入到分類網(wǎng)絡中,得到問題的答案。
3)R-ANL模型[28],其為一種屬性增強的注意力網(wǎng)絡學習表示方法,采用多步推理與屬性增強注意力相結(jié)合的方式得到答案。
4)DLAN模型[32],該模型采用一種分層的方式來解決視頻問答問題,按照問題重要性來獲取問題視頻表達,從而回答問題。
由于LSTM網(wǎng)絡不可并行,因此Transformer模型[33]將傳統(tǒng)注意力機制的LSTM網(wǎng)絡改為可并行化的矩陣操作,然后進行注意力加權(quán)以達到訓練時序數(shù)據(jù)的目的。由于GPU發(fā)展迅速,Transformer的網(wǎng)絡參數(shù)可以很大卻不會延長網(wǎng)絡的訓練迭代時間。此外,本文中的所有實驗均為一個視頻對應多個問題,實驗過程中發(fā)現(xiàn)多輸入訓練能夠使訓練速度加快且準確率提升。多輸入訓練與單獨訓練的對比結(jié)果如表2所示,可以看出,相對單獨訓練模式,在ZJB-VQA數(shù)據(jù)集上使用多輸入訓練模式時訓練迭代加快且準確率提升。
表2 2種訓練模式對比結(jié)果Table 2 Comparison results of two training modes
對于ZJB-VQA數(shù)據(jù)集,本文將文本問題個數(shù)設置為5,與ZJB-VQA官方數(shù)據(jù)集的訓練集一致,同時將視頻的關(guān)鍵幀個數(shù)Lν設置為40,F(xiàn)aster R-CNN得到的圖像特征大小為2 048,將參數(shù)P設置為36,通過Faster R-CNN得到的標簽個數(shù)w為96,句子長度Lq為14,所有網(wǎng)絡的隱藏層權(quán)重O為256,下采樣后使用的幀個L′為16。本文實驗配置均采用64 GB內(nèi)存,顯卡為1張GTX 1080ti,CPU為i7。
VQA+模型與SA+模型是視頻問答的基準模型,R-ANL模型、DLAN模型與Transformer模型采用了注意力機制。針對前文3種模型temporal-attention(簡稱TA)、attr-block-attention(簡稱ABA)和timespatial-attention(簡稱TSA)以及先驗MASK,本文分別進行實驗,結(jié)果如表3所示。
表3 ZJB-VQA數(shù)據(jù)集上各模型的性能對比結(jié)果Table 3 Performance comparison results of each model on ZJB-VQA dataset
從表3可以看出:
1)使用注意力機制的模型的泛化能力優(yōu)于未使用注意力機制的模型。
2)本文提出的3個注意力機制組件(TA、ABA、TSA)均對模型精度有很大提升,將VQA+無注意力機制的模型精度提升到0.50以上,當3種注意力機制融合時可得到0.59的精度。雖然Transformer模型的精度也為0.59,但是其大幅增加了訓練代價,訓練時間約為本文模型的2倍。
3)本文提出的先驗MASK可進一步提升模型精度,由于先驗MASK僅對網(wǎng)絡的最后一層輸出進行處理,因此其未增加訓練代價。
4)本文模型在2018年“之江杯”全球人工智能大賽視頻問答組中的最終精度為0.61,而以VQA+為基準的第2名以及第3名方案的精度均為0.56。在現(xiàn)場演示階段,本文模型在3 min之內(nèi)得到5個測試樣本的答案,表明其在精度和速度上均有良好的表現(xiàn)。
圖10所示為本文模型在ZJB-VQA數(shù)據(jù)集上的訓練準確率與損失值結(jié)果,其中,訓練集與驗證集以8∶2的比例劃分。從圖10可以看出,在訓練迭代次數(shù)達到25時,訓練集收斂開始波動,損失值下降變得平緩,說明模型已經(jīng)達到飽和。驗證集準確率提高緩慢,到30次迭代時模型設置了早停,從而保證模型的泛化性能,避免發(fā)生過擬合問題。
圖10 本文模型在ZJB-VQA數(shù)據(jù)集上的實驗結(jié)果Fig.10 Experimental results of the proposed model on ZJB-VQA dataset
根據(jù)ZJB-VQA數(shù)據(jù)集的視頻內(nèi)容提出問題,利用本文模型對問題答案進行預測,如圖11、圖12所示。圖11是一個女人坐在床邊的視頻,問題分別為“Is the person in the video standing or sitting?”以及“What color clothes does the person in the video wear?”,本文模型預測的答案分別為“sitting”以及“blue”,說明模型的預測結(jié)果符合視頻場景。但是本文模型仍然存在不足,在圖12中,第一個視頻中一個男人拿著瓶子,女人將東西放到櫥柜中,問題為“What is the woman in the video doing?”,模型預測為“l(fā)ooking things”,而答案是“putting things”,可見模型在預測一些包含復雜動作的場景時還存在局限性。
圖11 模型預測正確示例Fig.11 Example of correct model prediction
圖12 模型預測錯誤示例Fig.12 Example of incorrect model prediction
本文針對視頻問答任務,構(gòu)建一種先驗MASK注意力機制模型,利用3種注意力從不同角度關(guān)注視頻以及問題的興趣點,通過先驗MASK屏蔽與問題無關(guān)的答案,從而進一步提升模型性能。實驗結(jié)果表明,相對VQA+、SA+等模型,該模型具有更高的精度與更快的速度。本文模型在2018年“之江杯”人工智能大賽中獲得了視頻問答組的冠軍,驗證了其有效性。后續(xù)將使用更深的網(wǎng)絡(如ResNet-152模型)提取視頻關(guān)鍵幀的特征,或使用BERT[4]和XLNet[5]等自然語言預訓練模型提取問題特征,以提高視頻問答模型的預測速度和準確率。