盤曉芳,楊大偉,毛 琳
(大連民族大學(xué) 機(jī)電工程學(xué)院,遼寧 大連 116605)
密集視頻描述的主要任務(wù)是輸出描述多個事件的長語句[1,2]。在視頻關(guān)鍵內(nèi)容檢索應(yīng)用中,由于多數(shù)視頻描述網(wǎng)絡(luò)在文本生成任務(wù)中提取局部語義信息不足,導(dǎo)致視頻描述語句簡短且代表關(guān)鍵信息的單詞不準(zhǔn)確,造成檢索錯誤,因此提高視頻描述的準(zhǔn)確性和多樣性是一項(xiàng)亟須解決的問題。
視頻描述網(wǎng)絡(luò)大多采用長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[3]和Transformer[4]進(jìn)行文本生成。Krishna等[5]首次提出用于生成多個文本描述的視頻密集事件描述網(wǎng)絡(luò)(Dense-Captioning Events in Videos,DCEV),該網(wǎng)絡(luò)以序列-序列視頻描述網(wǎng)絡(luò)(Sequence to Sequence-Video to Text,S2VT)[6]作為生成文本描述的主要結(jié)構(gòu),利用LSTM完成文本生成任務(wù)。但該網(wǎng)絡(luò)僅以最后的隱藏層信息代表整個視頻,導(dǎo)致視頻信息有所缺失,進(jìn)而影響視頻描述效果。LSTM采用循環(huán)遞歸方式,不能并行訓(xùn)練,捕捉局部語義信息有限。為解決LSTM存在的問題,Transformer模型利用注意力機(jī)制對語義信息構(gòu)建全局關(guān)系,在處理信息缺失的問題上取得了較好的效果[7-9]。Zhou等[10]提出基于Transformer的端到端的視頻描述網(wǎng)絡(luò)(End-to-End Dense Video Captioning with Masked Transformer,EEDVC),利用注意力機(jī)制構(gòu)建輸入與輸出之間的全局依賴關(guān)系。但在Transformer模型中,視頻描述性能依賴特征提取質(zhì)量,不能構(gòu)建特征編碼和文本生成任務(wù)之間的相互促進(jìn)關(guān)系,時態(tài)邏輯信息捕捉能力有待提高。Wang等[11]提出并行解碼的端到端密集視頻描述網(wǎng)絡(luò)(End-to-End Dense Video Captioning with Parallel Decoding,PDVC),該網(wǎng)絡(luò)采用Transformer端到端目標(biāo)檢測網(wǎng)絡(luò)模型(End-to-End Object Detection with Transformers,DETR)[12],通過雙路并行方式,使視頻特征編碼和描述文本生成過程相互促進(jìn),增強(qiáng)視頻特征與文本交互能力,但注意力機(jī)制缺少對局部信息單詞的關(guān)注,影響視頻描述性能。Song等[13]提出視頻多樣性描述網(wǎng)絡(luò)(Towards Diverse Paragraph Captioning for Untrimmed Videos,TDPC),在Transformer基礎(chǔ)上增加動態(tài)視頻記憶模塊,漸進(jìn)地將全局視頻特征分段輸送到解碼器中,充分利用段落間的語義信息,并兼顧視頻描述的準(zhǔn)確性和多樣性,但在文本描述過程中,多頭注意力會忽略對局部語義信息的捕捉,造成部分單詞信息錯誤和缺失,導(dǎo)致語義錯誤,影響描述結(jié)果性能。
為充分描述密集視頻中的多個事件,彌補(bǔ)視頻描述過程中對部分單詞的忽視,本文設(shè)計一種單詞級遺忘度優(yōu)化算法(Word-Level Forgetfulness Optimization Algorithm,WFO)。通過調(diào)整單詞級遺忘度曲線斜率,使動態(tài)視頻記憶模塊增強(qiáng)對局部單詞的關(guān)注,提升多頭注意力模塊中視頻特征與文本向量的交互效率,在提高視頻描述結(jié)果準(zhǔn)確性的同時,增加生成文本的豐富性。
密集視頻描述針對未剪輯的視頻生成段落描述,由多個單詞構(gòu)成的長語句表達(dá)視頻中的多個事件。因此單詞是段落描述中的基本元素,單詞選取的不同會使文本描述的語義發(fā)生變化從而影響描述結(jié)果。針對視頻多樣性描述算法TDPC進(jìn)行分析,視頻如圖1。
圖1 視頻案例
對圖1中的視頻案例進(jìn)行描述如下:
(1)基線描述:a person isundressingin front of a mirror . the person then begins undressing;
(2)真值描述:a personholdsherblanketand walks into the room while holding her phone . she puts the phone down but keeps standing holding the blanket.
案例分析詳情見表1。
真值描述語句由25個單詞組成,而基線描述僅由14個單詞組成,且基線算法TDPC將視頻內(nèi)容中“hold her blanket”(拿著她的毯子)錯誤描述為“undressing”(脫衣),導(dǎo)致文本描述發(fā)生語義錯誤,對視頻內(nèi)容錯誤理解。由此可見,在注意力機(jī)制選擇單詞時,會選中非視頻內(nèi)容的語義信息。本文提出單詞級遺忘度優(yōu)化算法,調(diào)整Transformer解碼器中多頭注意力輸出的權(quán)重和文本序列的組合形式,提高文本生成性能。
表1 案例分析
密集視頻描述網(wǎng)絡(luò)主要由Transformer編碼器和Transformer解碼器兩部分組成。Transformer編碼器負(fù)責(zé)生成全局視頻特征編碼向量,由Transformer解碼器完成文本生成任務(wù)。密集視頻中通常有豐富的時態(tài)邏輯結(jié)構(gòu),直接用解碼器的多頭注意力學(xué)習(xí)不能很好地捕獲視頻時態(tài)邏輯信息,因此將編碼特征輸入到解碼器之前,增加動態(tài)視頻記憶模塊,利用漸進(jìn)記憶功能和漸進(jìn)遺忘功能,更好地利用時態(tài)邏輯結(jié)構(gòu)。
定義1:單詞級遺忘度:在視頻描述領(lǐng)域中,記憶存儲文本特征時,根據(jù)遺忘度曲線決定文本特征向量中的單詞關(guān)注度,遺忘度越低,即對當(dāng)前單詞的關(guān)注度越高。
動態(tài)視頻記憶模塊中,控制多頭注意力權(quán)重αt和歷史文本特征序列Lt的遺忘度曲線為
(1)
式中:s為構(gòu)成語句的平均單詞個數(shù);y(t)為單詞級遺忘度曲線。在遺忘度曲線中,單詞距離與單詞遺忘度成正比。相鄰單詞通常與短語概念對應(yīng),短語在一句話的表達(dá)中起至關(guān)重要的作用,因此采用遺忘度曲線分析其對系統(tǒng)性能的影響。單詞級遺忘度優(yōu)化算法結(jié)構(gòu)如圖2。
通過調(diào)整遺忘度曲線改變單詞級遺忘度,從而優(yōu)化注意力機(jī)制,使模型自動感知文本向量中單詞的重要程度,不斷優(yōu)化語義信息的有效性。單詞級遺忘度數(shù)學(xué)公式為
(2)
(3)
圖2 單詞級遺忘度優(yōu)化算法結(jié)構(gòu)
單詞級遺忘度優(yōu)化算法整體結(jié)構(gòu)如圖3。利用單詞級遺忘度調(diào)整注意力機(jī)制對單詞的關(guān)注度,進(jìn)而優(yōu)化文本描述結(jié)果,使生成的描述語句更貼合視頻內(nèi)容。
圖3 WFO算法整體結(jié)構(gòu)
首先對輸入視頻特征進(jìn)行全局編碼,視頻特征全局編碼向量可表示為
(4)
(5)
采用B對視頻特征編碼和文本編碼的處理公式為
(6)
圖1中不同斜率的遺忘曲線對視頻描述的影響如下:
(1)基線描述:a person isundressingin front of a mirror . the person then begins undressing;
(2)5倍斜率描述:a person is standing in the doorway of the bedroom . the person issnugglingwithablanketand is playing with the blanket;
(3)10倍斜率描述:a person is standing in the doorway of the bedroomholdingablanket. the person puts the blanket on the bed and begins undressing;
(4)15倍斜率描述:a person is standing in the living roomholdingablanket. the person throws the blanket onto the floor and then begins snuggling with a blanket;
(5)真值描述:a personholdsherblanketand walks into the room while holding her phone . she puts the phone down but keeps standing holding the blanket.
調(diào)整遺忘曲線斜率后的描述語句中,單詞數(shù)量均多于基線描述,且基線錯誤描述為“undressing”,調(diào)整后算法能正確描述“holding a blanket”等更貼合視頻內(nèi)容的單詞。由此可知改變遺忘曲線的斜率可影響視頻描述的結(jié)果。
使用一張NVIDIA GeForce 1080Ti顯卡,在Ubuntu16.04環(huán)境基礎(chǔ)上,應(yīng)用PyTorch深度學(xué)習(xí)框架進(jìn)行訓(xùn)練和測試。模型的編碼器和解碼器層數(shù)均為3,輸入視頻特征維度為512,經(jīng)過編碼器生成視頻段落描述,視頻特征序列被動態(tài)視頻記憶模塊依次讀取,輸送到解碼器的多頭注意力模塊中,經(jīng)過解碼器得到最終輸出。多頭注意力中注意頭數(shù)設(shè)為8,隱藏層尺寸為d=512。在訓(xùn)練階段使用的batch size為25,測試階段batch size為100,學(xué)習(xí)率為1,epoch設(shè)為50。選用Charades[14]數(shù)據(jù)集進(jìn)行仿真,數(shù)據(jù)集中視頻大約為30 s,將7 473個視頻用于訓(xùn)練,1 760個視頻用于驗(yàn)證和測試。
為評估視頻描述結(jié)果的準(zhǔn)確性和多樣性,使用BLEU@4[15]、METEOR[16]和CIDEr[17]三個指標(biāo)評估描述準(zhǔn)確性,使用Div@n[18]和Rep@n[19]兩種指標(biāo)評估描述多樣性。
在準(zhǔn)確性的評估指標(biāo)中,BLEU@4計算描述文本由4個單詞構(gòu)成短語的準(zhǔn)確率,且可衡量句子的流暢性,計算公式為
(7)
式中:lc為模型生成描述語句的長度;ls為真值描述的語句長度;Pn為n-gram的精度,在BLEU@4中,n=4。CIDEr是BLEU和向量空間的結(jié)合,得出候選句子和參考句子的相似度,對描述語句的準(zhǔn)確性起主要的評估作用,計算公式為
(8)
式中:m為用作對比的真值描述語句的數(shù)量;gn為每個n-gram與真值描述的相似度;qn為每個n-gram與候選描述的相似度。
METEOR用外部知識源擴(kuò)充同義詞集,同時考慮單詞的詞性評價句子流暢性,但METEOR測試結(jié)果為整個測試集的指標(biāo),不能進(jìn)行單個語句測試,計算公式為
(9)
式中:pen為描述語句中單詞順序的懲罰概率;P為候選文本的準(zhǔn)確率;R為候選文本的召回率;α為[0,1]之間的參數(shù),在多樣性評估指標(biāo)中,Div@n衡量生成單詞的豐富度,重復(fù)詞越少,文本越豐富。n為評估時單詞的個數(shù),進(jìn)行段落描述時計算公式為
(10)
式中:hn為描述語句中n元詞語的個數(shù);hsum為真值描述語句中n元詞語的總個數(shù)。
除采用Div@n指標(biāo)評估描述文本n元詞語多樣性,同時用重復(fù)率指標(biāo)Rep@n作多樣性評價,計算公式為
(11)
式中,hk為生成的文本描述中n元詞語出現(xiàn)的次數(shù)。
本文設(shè)計兼顧準(zhǔn)確性和多樣性的均衡指標(biāo),最終指標(biāo)計算公式為
w62e-ri}]。
(12)
式中:aim為六個指標(biāo)(準(zhǔn)確性:BLEU@4、METEOR和CIDEr;多樣性:Div@1、Div@2、和Rep@4)經(jīng)過處理后的最終結(jié)果;w為各指標(biāo)的權(quán)重;i為模型的個數(shù);N為六個指標(biāo)中比基線高的指標(biāo)個數(shù)。
考慮對比的便捷性和可靠性,使各個指標(biāo)相加和為1,根據(jù)各指標(biāo)的定義作為權(quán)重w的選取依據(jù)。由于BLEU@4、METEOR、CIDEr和Div@n是指標(biāo)越高性能越好,則使用Log函數(shù)將指標(biāo)范圍控制在[0,1]區(qū)間內(nèi);Rep@n指標(biāo)越低性能越好,使用e-ri函數(shù)將指標(biāo)范圍控制在[0,1]。進(jìn)行六個指標(biāo)的權(quán)重分配時,準(zhǔn)確性和多樣性的性能指標(biāo)均占50%,保證最終評估分?jǐn)?shù)準(zhǔn)確性和多樣性的均衡性。
為解決六個指標(biāo)部分指標(biāo)提升過多導(dǎo)致總體分?jǐn)?shù)高,不能對多樣性和準(zhǔn)確性六個指標(biāo)進(jìn)行兼顧的問題,在歸一化基礎(chǔ)上乘以比基線高的指標(biāo)個數(shù)N,其中N∈[0,6],解決了單一或小部分指標(biāo)過高影響最終結(jié)果的問題,最后本文利用兼顧準(zhǔn)確性和多樣性的均衡指標(biāo)aim評估網(wǎng)絡(luò)模型,其中aim∈[0,6]。該指標(biāo)在對比視頻描述結(jié)果時減少了對比指標(biāo)的個數(shù),提高對比便捷性。
圖4 縮小斜率曲線的仿真結(jié)果對比
改變遺忘度會影響文本描述結(jié)果,遺忘度曲線斜率倍數(shù)小于10-8倍時,評價指標(biāo)趨于穩(wěn)定,基本無變化。過于減小遺忘度曲線斜率對遠(yuǎn)距離的單詞遺忘率低,而不能增強(qiáng)對當(dāng)前單詞的關(guān)注度,導(dǎo)致整體性能降低。放大斜率曲線的仿真結(jié)果對比如圖5。
圖5 放大斜率曲線的仿真結(jié)果對比
當(dāng)遺忘度曲線斜率倍數(shù)大于1時,視頻描述性能顯著提高。當(dāng)遺忘曲線斜率倍數(shù)大于600倍時,評價指標(biāo)趨于穩(wěn)定,在過于增大遺忘度曲線斜率時,雖對近距離單詞關(guān)注度增強(qiáng),但文本向量中臨近單詞的衰減率變化較快,導(dǎo)致注意力機(jī)制不能充分利用視頻文本特征,影響視頻描述結(jié)果。
遺忘度曲線斜率倍數(shù)在[10-8,600]區(qū)間內(nèi)描述性能較好。為驗(yàn)證此結(jié)論,從遺忘度曲線相對斜率為1開始,按5的倍數(shù)依次增加,適當(dāng)調(diào)整遺忘度曲線可以對注意力機(jī)制中段落描述中單詞的遺忘度進(jìn)行優(yōu)化,最終提高視頻描述效果。細(xì)分斜率曲線的仿真結(jié)果對比如圖6。
圖6 細(xì)分斜率曲線的仿真結(jié)果對比
為驗(yàn)證單詞級遺忘度優(yōu)化算法的提升效果,選用調(diào)整后的遺忘度與原始網(wǎng)絡(luò)TDPC算法進(jìn)行對比,結(jié)果見表2。
表2 密集視頻描述算法對比
通過調(diào)整單詞級遺忘度,可以優(yōu)化注意力機(jī)制,增強(qiáng)段落描述中部分單詞的關(guān)注度,提高視頻描述的準(zhǔn)確性和多樣性。視頻案例可視化結(jié)果如圖7~圖9。
圖7 視頻案例1
對圖7中的視頻案例進(jìn)行描述如下:
(1)基線描述:a person is standing in the bathroom holding a glass of water . the personputstheglassdownand looks at themselves in the mirror;
(2)遺忘度優(yōu)化:a person is standing in the bathroom holding a mirror and looking at themselves in the mirror .
the person then walks to the sink andwashestheirhands;
(3)真值描述:a person adjusts a bathroom mirror , then puts a book next to a toilet . finally the personwashestheirhandsin the sink.
對圖8中的視頻案例進(jìn)行描述如下:
(1)基線描述:a person is walking through the hallway with a blanket wrapped around them . the person puts the blanket on the floor andleaves;
(2)遺忘度優(yōu)化:a person is standing in the doorway of the entryway grasping a towel . the person puts the towel on the table and beginsdressing;
(3)真值描述:a person is tidying their wardrobe . they then pick up a garment from a chair anddressthemselves with it.
圖8 視頻案例2
對圖9中的視頻案例進(jìn)行描述如下:
(1)基線描述:a person is drinking a glass of water . the person thenwashestheirhandsin the sink;
(2)遺忘度優(yōu)化:a person is drinking a cup of coffee while standing in front of a sink . the person thenpourssomewaterinto a glass and takes a drink;
(3)真值描述:a person in the bathroom drinks from a cup of water . the person thenpoursthe rest of it in the sink and then sets the cup next to the faucet.
圖9 視頻案例3
圖7視頻中的正確描述有“washes hands”(洗手),基線TDPC算法沒有準(zhǔn)確描述這一動作,但通過調(diào)整遺忘度之后,本文可以描述出“washes hands”這一事件,且增加“walks to the sink”(走向水池)等細(xì)節(jié)事件描述,提高了描述的準(zhǔn)確性和多樣性;圖8視頻中正確描述有“dress”(穿),基線TDPC算法沒有描述出這一細(xì)節(jié),但通過調(diào)整遺忘度之后,可以準(zhǔn)確描述出“dressing”;圖9視頻正確描述應(yīng)有“pours”(倒),基線TDPC描述成“washes”(洗),與原視頻表達(dá)內(nèi)容有偏差,但遺忘度調(diào)整后,正確描述出“pours”。對比原始TDPC算法描述結(jié)果,采用單詞級遺忘度優(yōu)化算法,調(diào)整單詞級遺忘度后,對視頻描述結(jié)果的準(zhǔn)確性和多樣性提升效果明顯。
本文針對密集視頻描述文本生成過程中,由于部分單詞錯誤和缺失造成語義錯誤的問題,提出一種單詞級遺忘度優(yōu)化算法(WFO)。通過對描述文本中每個單詞的遺忘度進(jìn)行調(diào)整,模型自動感知文本向量中重要程度不同的單詞,提升視頻描述性能。與TDPC相比,本文方法增強(qiáng)了文本描述性能效果,適用于密集視頻描述和視頻關(guān)鍵內(nèi)容檢索等領(lǐng)域。在未來工作中,將進(jìn)一步優(yōu)化文本生成策略,提升視頻描述的多樣性和準(zhǔn)確性。