丁恩杰,劉忠育,劉亞峰,郁萬里
(1.中國礦業(yè)大學(xué)物聯(lián)網(wǎng)(感知礦山)研究中心,江蘇 徐州 221008;2.不來德大學(xué)電動學(xué)與微電子研究所,不來德 28359)
隨著大數(shù)據(jù)、計算機(jī)算力、機(jī)器學(xué)習(xí)模型不斷發(fā)展,視頻描述技術(shù)再度掀起研究熱潮。視頻描述有著十分廣泛的應(yīng)用,如視頻檢索、視頻標(biāo)注、行為識別、人機(jī)交互、視頻內(nèi)容講解等場景[1-2]。然而該任務(wù)相對復(fù)雜,涉及計算機(jī)視覺理解和自然語言處理2 個領(lǐng)域,本質(zhì)上屬于跨模態(tài)的映射問題,現(xiàn)有的方法還有較大的提升空間[3]。
視頻描述主要分2 類。一類是抽象概括一段視頻的主要內(nèi)容,該類任務(wù)的輸入通常是一個視頻片段,而輸出則是一句或若干句自然語言[4]。另一類則是視頻內(nèi)容的密集描述,通常需要將視頻片段中的人、物、場景狀態(tài)及其相互關(guān)系和變化過程描述清楚[5-6]。本文所提方法主要解決第一類問題。
傳統(tǒng)的視頻描述方法是基于模板的方法[7-10],如主語-動詞-賓語三元組(SVO,subject-verb-object)[9]和主語-動詞-賓語-地點(SOVP,subject-verb-object-place)[10]等。這類方法通常預(yù)先設(shè)定產(chǎn)生句子的詞法和語法規(guī)則,并且預(yù)先定義主語、謂語和賓語等要素的視覺類別,當(dāng)檢測到相應(yīng)的視覺目標(biāo)時,將視覺語義映射到模板中。顯然,該方法總能夠根據(jù)視覺要素在預(yù)定義的模板中直接生成語法正確的描述,不足之處在于該類方法高度依賴預(yù)定義的語言模板,生成語句受到預(yù)定義的視覺類別和語法結(jié)構(gòu)的限制,句子描述的形式和內(nèi)容缺乏靈活性和多樣性。另一類方法是基于深度學(xué)習(xí)的方法。鑒于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)在自然語言翻譯中的驚人表現(xiàn)[11],相關(guān)學(xué)者逐漸開始使用此類方法生成視頻的語言描述。文獻(xiàn)[12]首先用卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)提取視頻中的圖像特征,然后用RNN 類的方法對圖像特征進(jìn)行編碼,最后解碼生成視頻內(nèi)容的自然語言描述。然而,該方法提取的視覺特征較單一,對視頻內(nèi)容的語言描述不夠豐富[13]。文獻(xiàn)[14]提出遞歸編碼器并結(jié)合注意力模型,使用在Imagenet 上預(yù)訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)提取視頻關(guān)鍵幀的視覺特征,然后按照時序輸入長短期記憶網(wǎng)絡(luò)(LSTM,long and short term memory network)[15]進(jìn)行編碼。文獻(xiàn)[16]提出基于多模態(tài)融合的視頻描述方法,提取視頻中動態(tài)特征和靜態(tài)視覺特征,并融合音頻特征產(chǎn)生語言描述。然而對于視頻中單幀圖像而言,沒有充分考慮場景中的背景和語義信息。文獻(xiàn)[17]提出一種提取視頻關(guān)鍵幀的方法來提升描述語言的準(zhǔn)確度,然而該方法同樣沒有考慮視頻的物體、背景和時空等多維度信息。此類方法使用預(yù)訓(xùn)練的CNN 提取目標(biāo)視頻的特征,本質(zhì)上是采用遷移學(xué)習(xí)對目標(biāo)視頻的視覺特征進(jìn)行提取。然而,遷移學(xué)習(xí)要求選取的源域和目標(biāo)域特征分布越接近越好[18],但由于描述視頻內(nèi)容的多樣性和隨機(jī)性,目標(biāo)域的特征很難和某個圖像數(shù)據(jù)集特征分布完全相同,因此該問題是此類方法的主要瓶頸之一。
為解決上述瓶頸問題,本文采用遷移學(xué)習(xí),從視頻包含的物體、背景和時空動態(tài)關(guān)系等多個維度提取視頻中靜態(tài)、動態(tài)和語義信息,并采用LSTM處理多維度和多模態(tài)信息完成編解碼,最終生成視頻的語言描述。根據(jù)以上分析,本文的主要貢獻(xiàn)如下。
1)提出采用多個源域預(yù)訓(xùn)練的模型提取視頻中的靜態(tài)、動態(tài)和語義信息,以提升視頻語言描述的準(zhǔn)確度。
2)提出一種多模態(tài)信息融合方法,將視頻的關(guān)鍵幀進(jìn)行語言描述,并將視覺模態(tài)信息和語言模態(tài)信息融合,從而進(jìn)一步提升模型生成語言的多樣性。
3)在微軟視頻描述(MSVD,microsoft video description)[19]和微軟視頻到文本研究(MSR-VTT,microsoft research-video to text)[20]公共數(shù)據(jù)集上進(jìn)行模型驗證,并采用多種評價指標(biāo)對產(chǎn)生的語言進(jìn)行評價,結(jié)果顯示所提方法取得了良好的效果。
本文提出的視頻描述方法分為編碼和解碼2 個階段,如圖1 所示。在編碼階段,首先對輸入視頻預(yù)處理,獲取包含靜態(tài)特征的圖像和動態(tài)特征的視頻片段2 種模態(tài)。然后分別用二維卷積神經(jīng)網(wǎng)絡(luò)(2DCNN,two dimensional convolutional neural network)和三維卷積神經(jīng)網(wǎng)絡(luò)(3DCNN,three dimensional convolutional neural network)對圖像模態(tài)和視頻模態(tài)進(jìn)行特征提取。近幾年,人們對單幅圖像的語言描述取得了較大進(jìn)展,且視頻關(guān)鍵幀的語義信息對整個視頻的描述有較大幫助。本文采用文獻(xiàn)[21]中的方法提取關(guān)鍵幀中的語義信息,然后用多層LSTM 對獲取的語義信息和視覺信息進(jìn)行編碼,并將各層LSTM 的隱藏層狀態(tài)作為解碼階段的輸入,最終生成視頻的語言描述。
視頻中存在大量的物體、場景及時空關(guān)系等多維度信息,提取并融合這些信息對視頻的準(zhǔn)確描述至關(guān)重要,本文采用遷移學(xué)習(xí)的方法提取目標(biāo)視頻的視覺特征。為解決源域和目標(biāo)域特征分布不一致的問題,本文采用在多個源域預(yù)訓(xùn)練好的模型提取目標(biāo)域的特征。具體而言,對于所要描述視頻中的物體和場景特征提取,采用在數(shù)據(jù)集Imagenet[22]和Place365[23]上預(yù)訓(xùn)練的2DCNN 模型。Imagenet數(shù)據(jù)集用于圖像分類任務(wù)的模型訓(xùn)練和檢測,包含約1 400 萬張圖像,共1 000 個物體類別。Palce365數(shù)據(jù)集用于場景識別,包含約1 000 萬張場景圖片,共365 個場景類別。對于視頻中時空動態(tài)特征的提取,采用在行為識別Kinetics[24]數(shù)據(jù)集上預(yù)訓(xùn)練的3DCNN 模型。本文采用的Kinetics 數(shù)據(jù)集包含約50 萬個視頻片段,平均視頻長度約為10 s。
圖1 模型原理
對于2DCNN 和3DCNN 模型,均使用152 層的殘差網(wǎng)絡(luò)(ResNet,residual network)[25]。ResNet因其網(wǎng)絡(luò)深度、殘差塊以及在圖像分類問題上的優(yōu)異表現(xiàn)而成為經(jīng)典的CNN。該網(wǎng)絡(luò)引入殘差塊解決了梯度消失問題。152 層的二維殘差網(wǎng)絡(luò)(2DResNet152,two dimensional ResNet152)和152層的三維殘差網(wǎng)絡(luò)(3DResNet152,three dimensional ResNet152)分別采用二維和三維的卷積核,并且以殘差塊為其基本單元。殘差塊如圖2 所示。其中圖2(a)表示2DResNet152 的卷積塊,其卷積核大小分別為1×1 和3×3,F(xiàn)表示卷積核的數(shù)量,BN 表示批量標(biāo)準(zhǔn)化(BN,batch normalization)[26],ReLU表示激活函數(shù)。圖2(b)表示3DResNet152 的殘差塊,其卷積核大小分別為1×1×1 和3×3×3。
視頻是由多幀靜態(tài)圖像按時序構(gòu)成的,因此提取視頻中的關(guān)鍵幀并對其內(nèi)容進(jìn)行描述有助于理解整個視頻的內(nèi)容。本文采用在微軟通用目標(biāo)檢測(COCO,microsoft common object in context)[27]數(shù)據(jù)集上預(yù)訓(xùn)練的靜態(tài)圖像描述模型,對視頻的關(guān)鍵幀進(jìn)行描述。視頻中往往包含大量的冗余信息,因而只需抽取視頻中若干關(guān)鍵幀進(jìn)行描述。由于視頻內(nèi)容大多是緩慢變化的,因此采用固定時間間隔的方法來提取5 個關(guān)鍵幀作為圖像描述方法的輸入,而輸出為圖像的語言描述。然后將描述語句中的單詞表示為512 維度的向量,將2 個單詞拼接成1 024 維度,最后將拼接后的詞向量與視覺特征向量進(jìn)行融合。視覺語義特征提取單元原理如圖3 所示。
圖2 二維和三維ResNet152 網(wǎng)絡(luò)的殘差塊
圖3 視覺語義特征提取單元原理
如圖1 所示,第一層LSTM 主要對動態(tài)信息建模,將3DCNN輸出的特征向量按照時序作為LSTM的輸入。將第一層LSTM 的輸出與場景特征向量拼接后作為第二層LSTM 單元的輸入。同理,由第三層和第四層LSTM完成物體信息和語義信息的特征融合建模。將視頻按照時序每 16 幀一組作為3DCNN 的輸入,取平均池化后的輸出作為動態(tài)信息的特征向量。由于視頻的長度不一,3DCNN 產(chǎn)生的視頻動態(tài)特征向量個數(shù)不同。本文取50 個該特征向量,對于超過50 個的則將多余的部分舍去;對于不足50 個特征向量的,不足部分用維度相同的零向量代替。對于場景特征向量和物體特征向量均取50 個。而對于語義信息,將視頻等間隔切分,取其中5 幀生成靜態(tài)圖的語言描述。
本文的視頻描述模型以LSTM為基礎(chǔ)網(wǎng)絡(luò)進(jìn)行編碼,LSTM 可以有效地提取時序特征,LSTM 原理如圖4 所示。假設(shè)在時刻t,輸入的特征向量為xt,對應(yīng)輸入的隱藏層特征為ht-1,記憶單元的特征為ct,則任意時刻LSTM 單元的計算式為
其中,it、ft、ot、gt分別為LSTM 的輸入門、遺忘門、輸出門、輸入調(diào)制門,W和b為需要優(yōu)化的參數(shù)。
其中,σ為sigmoid 函數(shù),φ為tanh 函數(shù),⊙為哈達(dá)瑪積運算,即向量的對應(yīng)元素相乘。σ φ和 的計算式分別為
圖4 LSTM 單元原理
在編碼階段,連續(xù)選取視頻的 16 幀作為3DResNet152 的輸入,經(jīng)過網(wǎng)絡(luò)計算得到平均池化輸出的2 048 維向量。等間隔地選取視頻的50 幀分別作為2DResNet152 在Imagenet 和Place365 預(yù)訓(xùn)練模型的輸入,選取2DResNet152 網(wǎng)絡(luò)的平均池化輸出的2 048 維向量作為輸出,獲取場景描述向量和物體描述向量。等時間間隔地選取視頻中的5 幀作為在COCO 數(shù)據(jù)集上的靜態(tài)圖像描述模型的輸入,輸出為5 句語言描述,采用詞嵌入方法將每一個單詞編碼成512 維的向量,2 個向量拼接到一起組成一個1 024 維的向量st∈S(s1,s2,s3,…,st,…,sn)。其中LSTM 單元的隱藏層狀態(tài)表示為H(h1,h2,h3,…,ht,…,hn),hn+t-1表示LSTM 某一時間步的隱藏層狀態(tài)。模型產(chǎn)生的句子描述為Y(y1,y2,y3,…,yt,…,ym)。Y關(guān)于Xd、Xs、Xg和S的條件概率分布可表示為
其中,條件概率分布P(yt|hn+t)是整個詞匯集在softmax 層對應(yīng)的輸出概率。對于給定的幀序列F,獲取的Xd、Xs、Xg和S特征描述向量使最大的詞序列Y即為預(yù)測的句子。本文模型采用
模型驗證采用常用的MSVD 和MSR-VTT 這2個公共數(shù)據(jù)集。MSVD 是由微軟研究院于2010 年公開的公共數(shù)據(jù)集,該數(shù)據(jù)集由1 970 個視頻片段構(gòu)成,平均每個視頻片段包含40 個人工標(biāo)注語句。MSR-VTT是由微軟于2016年公開的一個用于測試視頻描述模型的公共數(shù)據(jù)集。該數(shù)據(jù)集由10 000 個視頻片段構(gòu)成,平均每個視頻片段包含20 個人工標(biāo)注語句。模型訓(xùn)練均采用上述數(shù)據(jù)集中的英文標(biāo)注語句。
對模型結(jié)果的評價采用 METEOR、BLEU(bilingual evaluation understudy)、ROUGE-L 和CIDEr 共4 種指標(biāo)。
METEOR 指標(biāo)基于wordnet 同義詞庫,預(yù)先給定一組校準(zhǔn)Z,通過最小化對應(yīng)語句中連續(xù)有序的塊C來得出,計算式為
其中,α、γ和φ均為用于評價的默認(rèn)參數(shù),hk(ci)、hk(sij)分別是一個N元模子(n-gram)出現(xiàn)在候選句子ci和標(biāo)注句子sij中的次數(shù);METEOR 標(biāo)準(zhǔn)基于單精度的加權(quán)調(diào)和平均數(shù)和單字召回率,其結(jié)果和人工判斷的結(jié)果有較高的相關(guān)性。
BLEU是由IBM提出的一種常用的機(jī)器翻譯評測方法,BLEU 定義n元詞的個數(shù)來度量生成結(jié)果和目標(biāo)語句之間的語義相似度。因此該方法首先統(tǒng)計候選語句和參考語句中n元詞的個數(shù),然后相除即為精確率結(jié)果。實驗采用BLUE-4 評測方法,其中4 為n元詞中n的個數(shù)。計算式為
其中,BP 為懲罰因子,pn為計算所預(yù)測的n-gram的精確率,N為元組個數(shù)。
ROUGE-L 相比于BLEU,不需要預(yù)先指定n-gram 的值,因為其考慮的是單詞的順序性,更能評價句子層級的意義。但ROUGE-L 只考慮了一個最長子序列,其他序列不能對其產(chǎn)生影響。ROUGE-L 的評價計算式為
CIDEr 是Vedantam 等[28]于2015 年提出的專門用于圖像或視頻描述的一種評價指標(biāo),旨在度量待評價語句和真實語句間的匹配程度。其主要原理是,將待評價與真實語句表示成詞頻和逆向詞頻(TF-IDF,term frequency-inverse document frequency)的向量形式,然后求其余弦相似度來對句子進(jìn)行打分。
在UltraLab 圖形工作站上進(jìn)行方法驗證,采用Pytorch 深度學(xué)習(xí)架構(gòu)。工作站配備24 核的Intel Xeon Gold 6146 CPU和8塊英偉達(dá)公司的GTX2080圖形處理器,工作站的內(nèi)存大小為200 GB。將數(shù)據(jù)集MSVD 和MSR-VTT 均劃分為訓(xùn)練集、驗證集和測試集。其中MSVD 訓(xùn)練集為1 300 個視頻片段,驗證集為200 個視頻片段,測試集為470 個測試片段;MSR-VTT 的訓(xùn)練集為6 513 個視頻片段,驗證集為609 個視頻片段,測試集為2 878 個視頻片段。
首先,構(gòu)建用于描述視頻內(nèi)容的字典,分別統(tǒng)計MSVD 和MSR-VTT 數(shù)據(jù)集語料庫中的單詞頻率。去除語料庫中的生僻字和標(biāo)點符號,保留單詞頻率大于或等于5 的單詞,對于不可識別的符號用
訓(xùn)練模型的批量處理和學(xué)習(xí)率分別設(shè)定為128和0.001。模型生成句子的最大長度設(shè)定為28 個單詞,目標(biāo)函數(shù)采用負(fù)對數(shù)似然損失函數(shù),用于度量人工標(biāo)注句子和模型生成句子之間的距離。采用Pytorch架構(gòu)中的Adam優(yōu)化器對模型的參數(shù)進(jìn)行優(yōu)化,訓(xùn)練的epoch 設(shè)定為40。測試時對模型生成的句子用3.2 節(jié)所述的方法進(jìn)行評估。評估的參考句子為目標(biāo)視頻的人工標(biāo)注語句,計算結(jié)果取其中最大值。
實驗結(jié)果如表1 所示。由表1 中結(jié)果可知,本文方法在MSVD 和MSR-VTT 這2 個公共數(shù)據(jù)集上的得分最高。這是因為本文方法融合了多維度信息,在Kinetics 上預(yù)訓(xùn)練的3DResNet152 網(wǎng)絡(luò)可以有效提取數(shù)據(jù)的動態(tài)信息,在Imagenet 物體分類數(shù)據(jù)集上預(yù)訓(xùn)練的2DResNet152網(wǎng)絡(luò)可以有效提取視頻中的視覺場景中的背景和目標(biāo)信息,在Place365場景識別數(shù)據(jù)集上預(yù)訓(xùn)練的2DResNet152網(wǎng)絡(luò)可以有效提取視頻的場景信息。除了上述3 種視覺信息,本文方法還針對視頻中的關(guān)鍵幀來提取語義信息,獲取的語義信息本質(zhì)是在COCO 數(shù)據(jù)集上預(yù)訓(xùn)練的靜態(tài)圖像語言描述遷移到視頻的語言描述,然后將這些豐富的視覺和語義2 種模態(tài)信息通過有效方法融合,進(jìn)而獲得更加準(zhǔn)確的視頻描述。
表1 MSVD 和MSR-VTT 的測試集在BLEU4、METEOR、ROUGE-L、CIDEr 上的測試結(jié)果
視頻描述的目標(biāo)是生成更加符合人類語言習(xí)慣的語言描述,所提模型對MSVD 和MSR-VTT 數(shù)據(jù)集的視頻描述實例如表2 所示,展示了部分視頻的原手工標(biāo)注語句和模型自動生成的語句。由表2可知,與視頻片段的原人工描述相比,模型自動生成的描述語句包含的語言要素更加豐富。一方面由于模型獲得的特征更加多樣化,使其能夠適應(yīng)內(nèi)容多種多樣的視頻片段;另一方面是人工標(biāo)注的語言會受到人們自身知識、興趣和語言能力的限制,所以所提模型產(chǎn)生了效果較好的描述。
為解決視頻的多維度信息的表示和提取,提高語言描述的質(zhì)量,采用多種視覺任務(wù)預(yù)訓(xùn)練模型有效地提取視頻中豐富的靜態(tài)和動態(tài)視覺信息,并結(jié)合視頻關(guān)鍵幀的語義信息,構(gòu)建模型融合多維度和多模態(tài)信息,進(jìn)而生成整個視頻的語言描述。3DResNet152 深度卷積神經(jīng)網(wǎng)絡(luò)具有良好的時空特征表示的特點,可以提取目標(biāo)視頻的動態(tài)信息;而在Imagenet 和Palce365 公共數(shù)據(jù)集上預(yù)訓(xùn)練的2DResNet152 深度卷積神經(jīng)網(wǎng)絡(luò),可以對場景中的背景和物體等靜態(tài)信息進(jìn)行特征表示。多維度的動態(tài)信息和靜態(tài)信息形成互補(bǔ),為視頻的語言描述提供豐富的視覺特征。此外,采用在COCO 數(shù)據(jù)集預(yù)訓(xùn)練的靜態(tài)圖像語言生成模型對視頻的關(guān)鍵幀進(jìn)行語言描述,可為視頻語言描述提供較豐富的語義信息。用多層LSTM 模型將獲得的多維度視覺和語義2 種模態(tài)信息進(jìn)行融合,生成較高質(zhì)量的視頻語言描述。通過在MSVD 和MSR-VTT 這2 個數(shù)據(jù)集上實驗驗證,所提方法在常用的METEOR、BLEU、ROUGE-L 和CIDEr 評價指標(biāo)上均獲得了良好的效果。
表2 MSVD 和MSR-VTT 數(shù)據(jù)集的視頻描述實例
在今后的研究中,將繼續(xù)探索多維度和多模態(tài)信息的特征表示和融合方法,并且將探討注意力機(jī)制,讓模型能夠聚焦更加有用的信息,進(jìn)一步提升視頻描述的質(zhì)量。