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