王鑫 宋永紅 張元林
圖像描述(Image captioning)是涉及到計算機視覺和自然語言處理這兩個領(lǐng)域的一個重要的研究方向,主要工作是實現(xiàn)圖像到文本的多模態(tài)轉(zhuǎn)換[1-3],需要計算機能夠識別圖像上的對象,理解對象的屬性、對象之間的關(guān)系,并用人類的語言表達(dá)出圖像上的內(nèi)容.
目前常用于圖像描述的編碼器-解碼器 (Encoder-Decoder)框架最早受啟發(fā)于機器翻譯[4-6],NIC (Neural image caption)[7]模型作為第一個使用這個框架的圖像描述模型,以卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)作為編碼器來提取圖像上的視覺信息[8-9],得到一個包含有整幅圖像上視覺信息的全局視覺向量,以單層的長短期記憶網(wǎng)絡(luò)(Long-short term memory,LSTM)[10]作為解碼器,在生成圖像描述的初始時刻將全局視覺向量輸入LSTM 網(wǎng)絡(luò)中,之后逐步生成圖像描述中的每個單詞.文獻(xiàn)[11]中提出了g-LSTM (Guiding LSTM)模型,它與NIC 模型最大的不同在于,不僅將全局視覺向量作為LSTM 網(wǎng)絡(luò)的輸入,也將全局視覺向量用來構(gòu)建LSTM 網(wǎng)絡(luò)的各個門,作者嘗試以這種方法來引導(dǎo)LSTM 生成更加貼合于圖像內(nèi)容的描述.文獻(xiàn)[12]中使用多標(biāo)簽分類的方法,對圖像進(jìn)行多標(biāo)簽分類,從而將圖像上的多個高層屬性編碼進(jìn)一個0-1 向量中,該向量的每一維都對應(yīng)屬性庫中的一個屬性,如果圖像上具有該屬性,向量對應(yīng)維度的值取1 否則取0,作者使用該向量代替編碼器給出的全局視覺向量,取得了比較好的效果.
雖然這幾種編碼器-解碼器模型都取得了不錯的效果,但存在兩個主要的問題:
1)包含整幅圖像視覺信息的全局視覺向量在初始時刻被輸入解碼器中,解碼器需要自己從中抽取預(yù)測單詞所需的視覺信息,造成解碼器負(fù)擔(dān)過重.
2)作為解碼器的LSTM 網(wǎng)絡(luò)在預(yù)測每個單詞時都會接收新的輸入并遺忘掉現(xiàn)有的部分信息,這就造成了隨著預(yù)測的進(jìn)行一些重要的視覺信息會被遺忘掉,從而導(dǎo)致語言模型[13-15]預(yù)測出的單詞逐漸缺乏圖像上視覺信息的指導(dǎo),偏離了圖像的真實內(nèi)容.
在編碼器-解碼器框架的基礎(chǔ)上,相繼提出了多種注意力模型.文獻(xiàn)[16]中最早將空間注意力機制引入到圖像描述領(lǐng)域,在預(yù)測單詞時空間注意力模型能夠根據(jù)LSTM 的隱含層狀態(tài)來為每個局部視覺向量分配不同的權(quán)重,然后通過加權(quán)求和得到當(dāng)前單詞所需的視覺向量.空間注意力模型與編碼器-解碼器模型的結(jié)合,一定程度上解決了編碼器-解碼器模型的上述兩個問題.但是同時也產(chǎn)生了3個新的問題:
1)在空間注意力模型中,每個局部視覺向量只對應(yīng)一個標(biāo)量權(quán)重,所以特征向量的每一維都需要乘以相同的權(quán)重,空間注意力的這種操作相當(dāng)于認(rèn)為同一個圖像區(qū)域中所有視覺特征具有同等重要性,但實際情況并不是這樣,所以本文認(rèn)為空間注意力模型對特征的選擇是不準(zhǔn)確的.
2)空間注意力模型對局部視覺向量上視覺特征的選擇是強制性的,解碼器在預(yù)測每個單詞時,空間注意模型都要求局部視覺向量權(quán)重之和為1,這就造成了局部視覺向量上沒有解碼器需要的視覺特征時,空間注意力模型也會向解碼器中輸入視覺特征,這些視覺特征就如同噪聲一般,會干擾解碼器對單詞的預(yù)測.
3)空間注意力模型是一種自頂向下的注意力模型,對于生成一個長度為n的句子,空間注意力模塊需要被執(zhí)行n次,并且每次執(zhí)行空間注意力模塊時所有的局部視覺向量都需要參與運算,這無疑大大限制了模型的時間性能.
針對空間注意力模型存在的第2 個問題,文獻(xiàn)[17]提出了自適應(yīng)注意力機制(Adaptive attention),這種方法在局部視覺向量集合中添加一個編碼有已生成單詞序列語義信息的向量,當(dāng)局部視覺向量上沒有解碼器需要的視覺信息時,該語義向量所對應(yīng)的權(quán)重就會接近于1,從而可防止空間注意力模型強制向解碼器中輸入視覺特征.但是自適應(yīng)注意力機制沒能解決第1 個問題和第3 個問題,而且增加了空間注意力模型的參數(shù)量和計算復(fù)雜度.文獻(xiàn)[18]提出的SCA-CNN (Spatial and channel-wise attention in CNN)一定程度上對空間注意力模型的第1 個問題做出了改進(jìn),它的通道級注意力模型能夠為編碼器輸出特征圖的每一個通道賦予一個權(quán)重,與空間注意力模型結(jié)合在一起既實現(xiàn)了對空間位置的選擇也實現(xiàn)了對通道的選擇.但是通道級注意力模型本質(zhì)上只能為特征圖的每個通道計算一個權(quán)重,這種對通道的篩選仍然不靈活、不充分,并沒有完全解決第1 個問題.另外SCA-CNN 沒有考慮解決第2 個問題和第3 個問題,相反的通道級注意力模型同樣作為一個自頂向下的注意力模型,在空間注意力模型的基礎(chǔ)上進(jìn)一步增加了模型的參數(shù)量和計算復(fù)雜度.
NIC 模型[7]的應(yīng)用揭示了單個全局視覺向量能夠用來生成整幅圖像對應(yīng)的描述,這就意味著全局視覺向量是對圖像上的多種視覺信息的編碼,相應(yīng)的每條局部視覺向量都是對局部圖像上的多種視覺信息的編碼.換句話說,視覺特征提取器輸出的每條視覺向量都包含了多種視覺特征.一般而言,單個句子無法描述出圖像中的所有內(nèi)容,所以語言模型在生成單條圖像描述句子時,也無法用到所有的視覺特征.我們稱視覺向量上對生成準(zhǔn)確圖像描述有用的特征為顯著性視覺特征,其余為非顯著性視覺特征,顯然對于語言模型來說,非顯著性視覺特征就是噪聲,會影響其生成準(zhǔn)確的圖像描述.由于神經(jīng)網(wǎng)絡(luò)模型的可解釋性不強從而導(dǎo)致特征向量每一維的含義難以被人類所理解,所以對顯著性特征和非顯著性特征的定義比較模糊,但是我們?nèi)匀幌M谶@種思想的指導(dǎo)下,設(shè)計出一種特征提取機制,能夠在訓(xùn)練過程中學(xué)會區(qū)分這兩種特征,提取顯著性視覺特征,過濾非顯著性視覺特征,本文稱這種特征提取機制為顯著性特征提取機制(Salient feature extraction mechanism,SFEM).SFEM 由全局顯著性特征提取器(Global salient feature extractor,GE)和即時顯著性特征提取器(Instant salient feature extractor,IE)構(gòu)成.實驗證明本文的SFEM 能夠有效解決編碼器-解碼器模型存在的兩個問題,并且能夠避免空間注意力模型所存在的三個問題.
本文在MS COCO (Microsoft common objects in context)數(shù)據(jù)集上對SFEM 進(jìn)行了評估,使用編碼器-解碼器模型[7,19]作為基準(zhǔn)模型 (baseline),實驗表明添加SFEM 模塊后,模型在BLEU (Bilingual evaluation understudy)/CIDER (Consensus-based image description evaluation)值上比基準(zhǔn)模型有8.63%/11.24%的提升.并且SFEM 可以完全取代空間注意力模型,我們在與SFEM 完全一致的基準(zhǔn)模型上實現(xiàn)了空間注意力模型[16,19],實驗表明SFEM 在BLEU4/CIDER值上比空間注意力模型有4.29%/5.79%的提升.另外本文還進(jìn)行了兩種模型在圖形處理器 (Graphics processing unit,GPU)和中央處理器 (Central processing unit,CPU)環(huán)境下的時間性能對比實驗,在單塊Nvidia TITAN X GPU 環(huán)境下本文模型的FPS值比空間注意力模型高17.34%,在Intel Xeon CPU 環(huán)境下優(yōu)勢更加明顯,本文模型的FPS (Frames per second)值比空間注意力模型高43.80%.由于現(xiàn)有的大多數(shù)圖像描述算法都是在空間注意力模型上添加新的模塊而設(shè)計的[17-21],時間復(fù)雜度在空間注意力模型的基礎(chǔ)上都有不同程度的增加,所以相比于其他目前先進(jìn)的模型,本文方法在時間性能上具有明顯優(yōu)勢.
本文的網(wǎng)絡(luò)模型如圖1 所示,整個模型分解為多個步驟,主要是為了說明每個模塊的作用,實際中無論是前向傳播還是反向傳播,本模型都是一個端到端的網(wǎng)絡(luò)模型.本文算法的主要步驟如下:
圖1 本文網(wǎng)絡(luò)模型Fig.1 Structure of our network
步驟 1.視覺特征提取.本文選用在ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練過的Inception-V4 模型作為特征提取器,用來對輸入圖像提特征,從而得到一個包含有多個特征向量的局部視覺向量集合,以及一個全局視覺向量.
步驟 2.全局顯著性視覺特征提取.GE 會從局部視覺向量集合中提取出各個向量上包含的顯著性視覺特征,然后將整幅圖像上的顯著性視覺信息編碼進(jìn)一個和單個局部視覺向量維度相同的特征向量中,本文將該特征向量稱為全局顯著性視覺向量.
步驟 3.即時顯著性視覺特征提取.IE 根據(jù)解碼器當(dāng)前的隱含層狀態(tài),動態(tài)決定從全局顯著性視覺向量中獲取哪些視覺特征,同時決定視覺特征在當(dāng)前步預(yù)測單詞時的參與比例,從而向語言模型提供對預(yù)測本時刻單詞最有用的顯著性視覺特征.
步驟 4.單詞預(yù)測.本文選用單層LSTM 網(wǎng)絡(luò)作為語言模型,其需要憑借顯著性視覺特征和上文的語義特征,預(yù)測本時刻的輸出單詞.如果輸出單詞不是句子終止符號,則轉(zhuǎn)到步驟3,否則完成預(yù)測.
1)提出了全局顯著性特征提取器.本文的全局顯著性特征提取器有三方面的作用:首先,全局顯著性特征提取器會從各個局部視覺向量中提取并整合顯著性視覺特征,這個操作會為局部視覺向量的每一維都生成一個權(quán)重,能夠有效克服空間注意力模型對特征選擇不準(zhǔn)確的問題;其次,全局顯著性特征提取器不需要使用自上而下的語義信息,所以對于單幅圖像其只需要提取一次顯著性視覺特征就可以用來生成任意長度和任意數(shù)量的句子;最后,全局顯著性特征提取器只輸出一條全局顯著性視覺向量,能夠顯著減少解碼器端提取視覺信息時的計算量.
2)提出了即時顯著性特征提取器.本文的即時顯著性特征提取器有兩方面的作用:首先即時顯著性特征提取器能夠根據(jù)解碼器當(dāng)前的隱含層狀態(tài),動態(tài)決定從全局顯著性視覺向量中獲取哪些視覺特征,并有效控制視覺特征在語言模型預(yù)測單詞時的參與比例,該比例可以為0,避免了空間注意力模型強制向語言模型輸入視覺特征的問題;其次即時顯著性特征提取器的計算量明顯小于空間注意力模型,執(zhí)行速度要優(yōu)于空間注意力模型.
3)提出由全局顯著性特征提取器和即時顯著性特征提取器組成的SFEM,使用SFEM 能夠大幅提高編碼器-解碼器模型生成圖像描述的準(zhǔn)確性,并且相比于廣泛使用的空間注意力模型,SFEM在生成圖像描述的準(zhǔn)確性和時間性能兩方面都具有明顯的優(yōu)勢.
4)將全局顯著性特征提取器和即時顯著性特征提取器分別與空間注意力模型組合使用,實驗結(jié)果表明本文的全局顯著性特征提取器和即時顯著性特征提取器單獨使用時也能提升空間注意力模型生成圖像描述的準(zhǔn)確性.
視覺特征提取器通常也稱為編碼器,主要作用是從輸入圖像中提取整張圖像上的視覺特征.本文選用在ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練過的Inception-V4 作為編碼器.首先將任意尺寸的圖像預(yù)處理為229×229像素,然后將圖像送入編碼器中提取其視覺特征.在Inception-V4 中,第3 個Inception-C 模塊輸出1 536 個通道的特征圖,每個特征圖的尺寸為8×8,將這些特征圖由C×W ×H形變?yōu)?W ×H)×C,從而得到局部視覺向量集合{v1,v2,···,v64},vi∈R1536,如圖2 所示,本文將圖像劃分為規(guī)則的網(wǎng)格,vi的感受野對應(yīng)于圖像上第i個格子,另外取平均層的輸出為全局視覺向量g∈R1536,對應(yīng)的感受野是整幅圖像.
圖2 局部視覺向量與圖像的對應(yīng)關(guān)系Fig.2 Correspondence between local visual vectors and image
語言模型通常也稱為解碼器,對于給定的一幅圖像I,我們的目標(biāo)是生成描述這幅圖像內(nèi)容的一條句子S={S1,S2,···,SN},其中Si表示句子中第i個單詞.遵循圖像描述中有監(jiān)督學(xué)習(xí)的優(yōu)化方式,建立語言模型時的優(yōu)化目標(biāo)是最大化產(chǎn)生圖像正確描述的概率,所以理想情況下,模型的參數(shù)θ應(yīng)該滿足
其中,θ是模型的參數(shù),I是一幅圖像,是這幅圖像對應(yīng)的正確描述.使用鏈?zhǔn)椒▌t展開p(;θ)
為了在表達(dá)上簡潔,我們?nèi)サ袅甩?本文使用單層的LSTM 網(wǎng)絡(luò)對進(jìn)行建模,即
其中,δ(x,k)表示取向量x第k維上的值,表示全局顯著性視覺向量,表示解碼器在t時刻所需的顯著性視覺向量,W表示網(wǎng)絡(luò)權(quán)重.
在圖像描述領(lǐng)域,解碼器之所以可以生成描述圖像內(nèi)容的句子,核心之處在于向解碼器中輸入了視覺特征,這些視覺特征能夠指導(dǎo)編碼器生成與圖像內(nèi)容相關(guān)的圖像描述.而如何在合適的時間向解碼器中輸入合適的視覺特征則是讓解碼器生成最符合圖像內(nèi)容的描述的關(guān)鍵之處.本文提出了顯著性特征的概念,并在提取顯著性視覺特征,過濾非顯著性視覺特征的思想指導(dǎo)下設(shè)計出SFEM,如圖3所示,SFEM 包含GE和IE 兩個部分.GE 能夠自適應(yīng)地提取視覺向量vi上的顯著性視覺特征,過濾掉非顯著性視覺特征.然后GE 會將所有局部視覺向量vi上的顯著性視覺特征整合到唯一的一條特征向量中,稱其為全局顯著性視覺特征向量,之后解碼器所需的一切視覺信息只需要從上獲取.GE為
圖3 SFEM 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of SFEM
IE 能夠根據(jù)LSTM 的隱含層狀態(tài)ht-1從中自適應(yīng)地提取t時刻所需的顯著性視覺特征,并能夠靈活地控制視覺信息在解碼器中的參與比例,避免無關(guān)的視覺信息干擾解碼器預(yù)測單詞,這一點十分有益于解碼器生成語法和語義上正確的句子.IE為
2.3.1 全局顯著性特征提取器
使用編碼器對給定圖像提特征得到全局視覺向量g∈RD和局部視覺向量集合{v1,v2,···,vN},vi∈RK.g是對整幅圖像上視覺信息的編碼,vi是對圖像上局部區(qū)域上視覺信息的編碼.正如之前所提到的,我們認(rèn)為在每條視覺向量上都存在顯著性視覺特征和非顯著性視覺特征,其中顯著性視覺特征對于解碼器生成圖像描述有用,需要保留下來,而非顯著性視覺特征則會作為噪聲干擾解碼器生成圖像描述,需要過濾掉.對于vi=[α1,α2,···,αK]T,在GE中直觀地將vi的每個維度αi視為一種特征,并定義權(quán)重系數(shù)對該特征進(jìn)行過濾
其中,Wvd∈RK×K,Wgd∈RK×D.值得注意的是,對于任意的vi,GE 為其構(gòu)建時共用同一套參數(shù)Wvd和Wgd. 所以就網(wǎng)絡(luò)的參數(shù)量而言,GE 其實和空間注意力模型基本一致.另外為了減少解碼器一端的計算量,本文將GE 從各個局部視覺向量中提取到的顯著性視覺特征融合到中,的計算方式為
實際上包含了整幅圖像上所有重要的視覺信息,所以解碼器只需要從獲取視覺信息就能夠生成正確的圖像描述,從而能夠減少解碼器提取視覺特征時的計算量.最后由于本文的GE 位于解碼器一端,所以對于單幅圖像GE 只需要執(zhí)行一次就可以用來生成任意數(shù)量、任意長度的圖像描述.而生成一個長度為n的句子,空間注意力模型需要執(zhí)行n次.
2.3.2 即時顯著性特征提取器
解碼器在預(yù)測圖像描述時需要兩種信息的支持,首先是前文的語義信息,其次是圖像上的視覺信息.在本文方法中,通過GE 對局部視覺向量集合{v1,v2,···,vN}中的顯著性視覺特征進(jìn)行提取,大量的非顯著性視覺特征已經(jīng)被過濾,但是解碼器是按時間順序逐個預(yù)測單詞來生成圖像描述的,對于不同的單詞,解碼器所需的顯著性視覺特征不同,而于同一個單詞,在圖像描述中出現(xiàn)第i次和第i+1次時,其所需的顯著性視覺特征也不相同.為此本文提出IE 用來從中提取解碼器在每一時刻所需顯著性視覺特征.對于=[α1,α2,···,αK]T,在IE 中采取與GE 類似的方法,為每一維的特征值αi賦予一個權(quán)重,來衡量αi的顯著性程度.所以對于,IE 需要為其生成K維的權(quán)重向量的構(gòu)建使用解碼器的t-1時刻的隱含層狀態(tài)ht-1∈RL作為指導(dǎo),因為ht-1包含了已生成單詞序列的語義信息,所以訓(xùn)練好的模型可以通過ht-1來選擇t時刻預(yù)測單詞可能會用到的顯著性視覺特征,即
其中,Whv∈RK×L是網(wǎng)絡(luò)需要在訓(xùn)練中學(xué)習(xí)的參數(shù).將對應(yīng)元素相乘就可以獲得t時刻輸入解碼器的顯著性視覺向量t
從網(wǎng)絡(luò)的參數(shù)量上來看,本文的IE 是非常少的,并且IE 在計算上也非常精簡,因為雖然本文的IE 需要在預(yù)測每個單詞時都執(zhí)行一次,但I(xiàn)E 只涉及到ht-1和這兩個輸入,并且計算過程僅僅是對ht-1進(jìn)行一個線性變換,再加一個向量間的對應(yīng)元素相乘的操作,所以本文的IE 每次執(zhí)行所需的時間要遠(yuǎn)遠(yuǎn)小于包括空間注意力模型在內(nèi)的自定向下注意力模型.值得注意的是,本文的IE 不會強制向解碼器輸入視覺信息,因為所以當(dāng)中沒有解碼器在t時刻需要的視覺特征時,每一維的值都為0,從而將上所有特征都作為非顯著性特征進(jìn)行過濾.
本文網(wǎng)絡(luò)采用端到端的訓(xùn)練方式,訓(xùn)練過程中固定視覺特征提取器的參數(shù),只對SFEM和語言模型進(jìn)行訓(xùn)練.語言模型的損失函數(shù)也是整個網(wǎng)絡(luò)的損失函數(shù),即
我們使用MS COCO 數(shù)據(jù)集[22]來評價本文提出的方法.MS COCO 的訓(xùn)練集有82 783 幅圖像,驗證集中有40 504 幅圖像,并且每幅圖像對應(yīng)5 個標(biāo)注句子,這5 個句子的表達(dá)方式以及描述內(nèi)容不盡相同,但這5 個句子都是對圖像中內(nèi)容的描述.本文使用Karpathy[23]中的數(shù)據(jù)劃分方式進(jìn)行模型的訓(xùn)練和評估,訓(xùn)練集不變,依舊是82 783 幅圖像,從原來的驗證集中選擇5 000 幅圖像來做驗證集,選擇5 000 幅圖像來做測試集.對數(shù)據(jù)集的處理參照文獻(xiàn)[19]的一系列處理方式,包括將句子中的字母都轉(zhuǎn)換為小寫、刪除非字母數(shù)字的符號、使用空格將單詞分割等.本文只保留在所有句子組成的集合中,至少出現(xiàn)5 次的單詞,這樣一來,本文最終的詞庫大小為10 516.對于句子長度,本文限制在30個單詞以內(nèi),并且這30 個單詞包括句子的開始符號BOS和句子的結(jié)束符號EOS.
本文使用BLEU1,BELU2,BELU3,BELU4[24],METEOR (Metric for evaluation of translation with explicit ordering)[25],以及CIDER[26],ROUGE(Recall-oriented understudy for gisting evaluation)[27],SPICE (Semantic propositional image caption evaluation)[28]作為評價標(biāo)準(zhǔn).對于這些評價標(biāo)準(zhǔn)的計算,使用的是MS COCO 圖像描述評價工具.
本文的GE 能夠從局部視覺向量中獲取到顯著性視覺特征,但是GE 是通道級別的注意力,人類很難去理解每個通道表示的是什么,所以本文采用了一種間接的方式,可視化出顯著性特征在圖像上的分布,以此來展示顯著性特征與圖像中的哪些內(nèi)容能夠?qū)?yīng)起來.
本文通過Wi來衡量GE從vi提取的顯著性視覺特征的量,具體表示為
其中,‖v‖1表示向量的L1 范數(shù),K是vi的維度.結(jié)合第2.3.1 節(jié)對GE 的介紹,可以看出當(dāng)Wi為0時,GE 未從vi上提取到任何視覺特征.Wi越大,說明GE從vi上提取的顯著性視覺特征越多.
圖4是Wi的可視化結(jié)果,每個子圖中左邊是原圖,中間是Wi的可視化圖,右邊是原圖和Wi的可視化圖的疊加,文字為本文的SFEM 生成的圖像描述.在本文的實驗中,視覺特征提取器會從圖像中提取出64 個局部視覺向量,按順序?qū)?yīng)于圖像的64 個區(qū)域.本文將每個vi對應(yīng)的Wi平鋪于對應(yīng)的區(qū)域,得到Wi的可視化圖,其中灰度值越大表示GE 從該區(qū)域的顯著性視覺特征越多,反之則越少.從圖4 中可以發(fā)現(xiàn),GE 更加關(guān)注圖像上與周圍環(huán)境差異比較大的區(qū)域,對于形狀、紋理、顏色相似的區(qū)域則會適當(dāng)降低關(guān)注.由此可以推測,通過GE在訓(xùn)練過程中的學(xué)習(xí)可以得知,這些相似的區(qū)域能夠向語言模型提供的視覺特征基本一致,并且這些區(qū)域大概率是背景.為了避免這部分視覺特征在所占比重過高,GE 通常認(rèn)為這些區(qū)域的視覺特征的顯著性程度低;而與周圍環(huán)境差異比較大的區(qū)域通常會存在模型感興趣的實體對象,所以GE 認(rèn)為這些區(qū)域的視覺特征顯著性程度高.需要注意的是模型不會將圖像上所有實體對象所在區(qū)域都作為感興趣區(qū)域.由于一句話所能表達(dá)的內(nèi)容有限,因此模型會與人的表達(dá)行為相似,通常只表達(dá)自己感興趣的內(nèi)容,從這一點來看,本文的GE 其實是一個內(nèi)容注意力模塊,對照圖5 可以看出GE 能夠決定語言模型將要描述的圖像內(nèi)容.
圖4 顯著性特征在空間上的分布Fig.4 Spatial distribution of salient features
圖5 即時顯著性特征隨預(yù)測單詞的變化Fig.5 The change of instant salient features with predicted words
本文通過Dt來衡量IE在t時刻提取顯著性視覺特征的量,Dt等于的L1 范數(shù)除以的維數(shù),即
結(jié)合第2.3.2 節(jié)對IE 的介紹,可以看出當(dāng)Dt為0 時,IE 不會從全局顯著性視覺向量中提取到任何視覺特征,此時解碼器對單詞的預(yù)測完全參考LSTM在t時刻之前累積的語義特征.當(dāng)Dt越大時,說明LSTM在t時刻參考的視覺特征越多.
本文認(rèn)為一個完全符合圖像內(nèi)容的句子,它的每一個單詞都應(yīng)該在圖像上有據(jù)可查,所以單詞對應(yīng)的Dt值通常不會為0,而Dt值的高低主要取決于3 個因素:首先是單詞的抽象程度(抽象程度越低則Dt值越高);其次是單詞對應(yīng)的圖像內(nèi)容應(yīng)大致位于GE 給出的顯著性程度較高的區(qū)域(GE 會過濾掉大量視覺特征);最后是單詞在數(shù)據(jù)集中出現(xiàn)的頻數(shù)(頻數(shù)越高則Dt值越高).通常情況下不考慮單詞出現(xiàn)的頻數(shù),只有當(dāng)單詞出現(xiàn)的頻數(shù)過低時,頻數(shù)才會成為主因.本文對單詞的抽象程度進(jìn)行了簡單定義:可以從圖像上直接觀察到,不需要根據(jù)圖像內(nèi)容做出推理的單詞我們認(rèn)為其抽象程度比較低,需要根據(jù)圖像內(nèi)容進(jìn)行推理或者需要根據(jù)英語語法進(jìn)行推理的單詞我們認(rèn)為其抽象程度比較高(注意單詞的抽象程度與詞性沒有直接關(guān)系,實體對象的名稱、數(shù)量和屬性通常都可以從圖像上直接觀察到,所以它們的抽象程度一般都比較低).
我們使用本文模型為測試集中所有圖像生成對應(yīng)句子,然后統(tǒng)計該單詞在所有句子中Dt的均值,從而得到,在表1 中給出了值最高的20 個單詞.可以看出這些單詞包括實體對象的名稱以及屬性,通常情況下可以從圖像上直接觀察到.我們對圖5 第1 張圖中每個單詞進(jìn)行詳細(xì)分析:第1 個單詞 “a”表示摩托車的數(shù)量,可以直接從圖像中觀察到,所以其抽象程度較低;第2 個單詞 “motorcycle”表示摩托車的類別名稱,可以直接從圖像中觀察到,所以其抽象程度較低;第3 個單詞 “parked”抽象程度比較高,因為模型需要從摩托車上沒有人來推測它的狀態(tài)是停放的;第4 個單詞 “in”抽象程度比較高,因為模型需要根據(jù)語法和圖像內(nèi)容進(jìn)行推理才能得到;第5 個單詞 “a”抽象程度比較高,因為這一個 “a”并不是很直觀,它需要從語法和圖像內(nèi)容進(jìn)行推理才能得到;第6 個單詞 “dirt”表示地面的屬性,但是模型不需要識別出 “field”,模型從 “field”所在的顯著性程度較高的單塊區(qū)域就可以判斷出泥地面是臟的;第7 個單詞 “field”對應(yīng)的圖像內(nèi)容大部分位于GE 給出的顯著性程度較低的區(qū)域,從僅剩的幾塊顯著性較高的區(qū)域模型很難識別出 “field”;第8 個單詞 “next”抽象程度比較高,因為模型需要從摩托車和柵欄的位置關(guān)系推理得到,以此類推后面的幾個單詞的Dt值.
表1 值最高的20個單詞Table 1 The top-20 words withvalue
表1 值最高的20個單詞Table 1 The top-20 words withvalue
1)Encoder-Decoder+SFEM.本文使用第2.1 節(jié)的視覺特征提取器作為編碼器,以第2.2 節(jié)提到的語言模型作為解碼器,搭建出編碼器-解碼器模型作為實驗的基準(zhǔn)模型,在基準(zhǔn)模型上面分別添加空間注意力模型和本文提出的SFEM 進(jìn)行對比實驗.如表2 所示,本文模型比基準(zhǔn)模型在BLEU-4值上提升了8.63%,在CIDER值上提升了11.24%.本文模型比空間注意力模型在BLEU-4值上提升了4.29%,在CIDER 上提升了5.79%.
表2 Encoder-Decoder+SFEM 在MS COCO 數(shù)據(jù)集上的表現(xiàn)(%)Table 2 The performance of Encoder-Decoder+SFEM on MS COCO dataset (%)
2)Up-Down-SFEM.為了充分對比SFEM和空間注意力模型的性能,并驗證顯著性目標(biāo)檢測方法能否提高SFEM 的性能,本文以文獻(xiàn)[20]中提出的Up-Down 模型作為基準(zhǔn)模型進(jìn)行實驗.Up-Down模型包含自底向上注意力模型和自頂向下注意力模型,其中自底向上注意力模型也是視覺特征提取器,由一個Faster-RCNN (Region-based convolutional neural network)[29]構(gòu)成,自頂向下注意力模型就是空間注意力模型.Up-Down 模型使用Faster-RCNN 從圖像上檢測出顯著性目標(biāo),并提取出顯著性目標(biāo)對應(yīng)的視覺向量,每個顯著性目標(biāo)對應(yīng)一個視覺向量,所以視覺特征提取器輸出的也是一個局部視覺向量集合,接下來這些局部視覺向量會送給空間注意力模型用來獲得語言模型預(yù)測每個單詞時所需的視覺特征.由于文獻(xiàn)[20]中訓(xùn)練Up-Down模型使用了額外的VG (Visual genome)[30]數(shù)據(jù)集,以及強化學(xué)習(xí)[31],所以本文對Up-Down 模型的實現(xiàn)細(xì)節(jié)以及訓(xùn)練方式可參考文獻(xiàn)[21].實驗中使用SFEM替換掉空間注意力模型來對比SFEM和空間注意力的性能,表3 中Up-Down-Spatial Attention 表示按照文獻(xiàn)[21]方法實現(xiàn)的Up-Down模型,Up-Down-SFEM 表示用SFEM 替換空間注意力模塊后的模型.我們?nèi)aster-RCNN 中(Region proposal network)之前的視覺特征提取網(wǎng)絡(luò)作為編碼器,構(gòu)造了一個編碼器-解碼器模型并為其添加SFEM 模塊,以此來驗證用顯著性目標(biāo)檢測方法替換掉編碼器能否提高SFEM的性能,在表3 中將該模型表示為Encoder-Decoder?+SFEM.對比Encoder-Decoder?+SFEM和Up-Down-SFEM 的結(jié)果,可以看出使用顯著性目標(biāo)檢測方法并沒有明顯提高SFEM的性能,其中BLEU-4和ROUGE-L值有輕微的下降,我們認(rèn)為有兩方面的原因,首先是SFEM 中GE 本身就具有選取顯著性區(qū)域的能力,所以顯著性目標(biāo)檢測方法對SFEM 的增益有限;其次是顯著性目標(biāo)檢測方法會將實體對象分割開來,可能會喪失表示實體對象相互關(guān)系的特征.另外對比Encoder-Decoder?+SFEM和Up-Down-Spatial Attention 的結(jié)果,可以看出在顯著性目標(biāo)檢測方法的輔助下,空間注意力模型的性能才能夠接近本文的SFEM,但這樣進(jìn)一步降低了空間注意力模型的時間性能.
表3 Up-Down+SFEM 在MS COCO 數(shù)據(jù)集上的表現(xiàn)(%)Table 3 The performance of Up-Down+SFEM on MS COCO dataset (%)
3)SFEM 的時間性能.在表4 中給出了空間注意力模型和本文的SFEM 的時間性能對比,對于Karpathy 劃分下的測試集中的5 000 個樣本,本文模型在單塊Nvidia TITAN X GPU 環(huán)境下測試得到FPS值比空間注意力模型高17.34%,在Intel Xeon CPU 環(huán)境下本文模型的FPS值比空間注意力模型高43.80%.事實上,現(xiàn)有的很多圖像方法都是在空間注意力模型的基礎(chǔ)上添加模塊得到的,所以這些方法的計算復(fù)雜度都要比空間注意力模型高,相應(yīng)在速度上都要比空間注意力模型慢.所以,本文方法相比這些方法在速度上的優(yōu)勢明顯.
表4 本模型和空間注意力模型的時間性能對比(幀/s)Table 4 Time performance comparison between our model and the spatial attention model (frame/s)
空間注意力模型可以表示為
實驗中,Whα與式(9)中Whv參數(shù)量相同,所以Whαht-1與式(9)的計算量是一致的,式(10)是兩個向量對應(yīng)元素相乘,它的計算量相比矩陣乘法可以忽略不記,所以Whαht-1的計算量幾乎等同于整個IE 的計算量,另外由于生成每個單詞時α(vi,ht-1)需要計算N次,所以IE 的計算量遠(yuǎn)遠(yuǎn)小于空間注意力模型.
表5 中是各個模塊單次執(zhí)行時平均花費的時間,其中GE 單次執(zhí)行花費的時間和空間注意力模型相當(dāng),但是由于GE 對于單幅圖像只需要執(zhí)行一次就可以用來生成任意長度、任意數(shù)量的圖像描述,所以在生成圖像描述的完整過程中GE 花費的時間小于空間注意力模型.IE 與空間注意力模型類似,在生成每個單次時都要執(zhí)行一次,但是GPU 環(huán)境下空間注意力模型花費的時間是IE 的4.79 倍,CPU 環(huán)境下空間注意力模型花費的時間是IE 的21.84 倍.
表5 各個模塊單次執(zhí)行平均花費時間(s)Table 5 The average time spent by each module in a single execution (s)
4)SFEM 與其他注意力模型的對比.表6 中列出了近幾年在圖像描述領(lǐng)域常用的一些注意力模型,其中Soft-Attention、Hard-Attention 與本文中對比的空間注意力模型基本一致,本文的SFEM 性能優(yōu)于這兩種注意力模型,SCA-CNN和Up-Down是在空間注意力模型上添加新的模塊改進(jìn)得到的,可以看出本文的SFEM 與這些改進(jìn)過的空間注意力模型也是具有可比性的,所以我們認(rèn)為本文提出的SFEM 能夠作為一種新的注意力模型應(yīng)用在圖像描述領(lǐng)域.
表6 本文模型在MS COCO 數(shù)據(jù)集上的表現(xiàn)(%)Table 6 The performance of our model on MS COCO dataset (%)
1)全局顯著性特征提取器+空間注意力模型.本文的全局顯著性特征提取器與空間注意力模型配合使用時需要做以下兩個改變:首先是使用全局顯著性視覺信息向量替代全局視覺向量g;其次是重新構(gòu)建一個局部顯著性視覺信息向量集合替代局部視覺向量集合,具體表示為
2)即時顯著性特征提取器+空間注意力模型.本文的即時顯著性特征提取器和空間注意力模型配合使用時有兩種方式:第1 種是空間注意力模型在前,而即時顯著性特征提取器在后;第2 種則是即時顯著性特征提取器在前,而空間注意力模型在后.這兩種方式都能夠提升空間注意力模型的性能,但是第2 種方式的提升更加明顯,所以本文僅對第2種組合方式進(jìn)行介紹.第2 種組合方式將即時顯著性特征提取器作用于每一個局部視覺向量上,相當(dāng)于重新構(gòu)建了一個局部顯著性視覺信息向量集合替代最初的局部視覺向量集合,具體表示為
在表7 中給出了全局顯著性特征提取器結(jié)合空間注意力模型的實驗結(jié)果以及即時顯著性特征提取器結(jié)合空間注意力模型的實驗結(jié)果,可以看出空間注意力模型添加了全局顯著性特征提取器和即時顯著性特征提取器之后,在各個評估標(biāo)準(zhǔn)上都能取得一定程度的提高.
表7 組合模型在MS COCO 數(shù)據(jù)集上的表現(xiàn)(%)Table 7 Performance of the combined model on MS COCO dataset (%)
目前空間注意力模型結(jié)合編碼器-解碼器框架在圖像描述領(lǐng)域得到了廣泛的應(yīng)用,但是空間注意力模型有3 個主要的缺陷.本文按照語言模型對圖像上視覺信息的需求,將每條視覺向量上的特征分為顯著性視覺特征和非顯著性視覺特征,在提取顯著性視覺特征過濾非顯著性特征的思想指導(dǎo)下,本文嘗試提出一種新的顯著性特征提取機制(SFEM)用來替代空間注意力模型,實驗表明,本文的SFEM在圖像描述的各個評價指標(biāo)上均優(yōu)于空間注意力模型,并且時間性能明顯優(yōu)于空間注意力模型.
圖6 本文模型生成的圖像描述展示Fig.6 Image descriptions generated by the model of this paper