羅鋒 隋愛娜
摘 要:現(xiàn)有圖像描述方法常見訓(xùn)練對象為單一的句子解碼器,造成生成的描述內(nèi)容在長距離依賴上效果不顯著,描述細節(jié)質(zhì)量不高,從而不能真實、完整地表征圖像全局關(guān)系。針對該問題,設(shè)計一種基于多層LSTM解碼機制的圖像描述方法。該方法由多個LSTM解碼器組成,其中每一個解碼器均基于前一級輸出進行工作,從而生成越來越精細的描述內(nèi)容。在MS-COCO 測試集中,該方法的BLEU-1和CIDEr分別可達到0.753與1.090,明顯優(yōu)于單一解碼器結(jié)構(gòu)模型。實驗結(jié)果表明,生成的模型表現(xiàn)出更精細的圖像描述。
關(guān)鍵詞:圖像描述;長短時記憶網(wǎng)絡(luò);解碼器
DOI:10. 11907/rjdk. 191594 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP317.4 文獻標(biāo)識碼:A 文章編號:1672-7800(2019)009-0058-04
A Fine-Grained Image Description Method Based on Multi-Level LSTM Decoder
LUO Feng1,2, SUI Ai-na1,2
(1. School of Computer Science and Cybersecurity, Communication University of China;
2. Key Laboratory of Convergent Media and Intelligent Technology Ministry of Education,Beijing 100024,China)
Abstract:The existing image description method usually trains a single sentence decoder, which makes the generated description content long-distance dependence effect not significant, the quality of the detailed expression is not high, and cannot completely represent the problem of the global relationship of the image. To solve this problem, this paper proposes an image description method for multi-layer LSTM decoding mechanism, which consists of multiple LSTM decoders, each of which works based on the output of the previous stage, thus generating more and more detailed descriptions. In the MS-COCO test set, the BLEU-1 and CIDEr of the method can reach 0.753 and 1.90 respectively, which is obviously better than the single decoder structure model. The experimental results show that the model generated by this method can show a more detailed image description.
Key Words:image description; long and short time memory network; decoder
0 引言
隨著互聯(lián)網(wǎng)的發(fā)展,社交圖像數(shù)量迅猛增長,單一零散的標(biāo)注已經(jīng)不能滿足用戶對多元化圖像信息內(nèi)容的需求。如何通過已有的人工標(biāo)注信息,利用計算機將一些無序的弱標(biāo)簽生成符合人類語言規(guī)范的描述性語句,成為計算機視覺領(lǐng)域的熱點問題。
傳統(tǒng)圖像內(nèi)容描述有兩種:①基于模板的方法[2]。通過檢測圖像目標(biāo)、行為、場景等信息,將檢測到的內(nèi)容填充到一個特殊的語言模板內(nèi),從而產(chǎn)生描述性語句。該方法過于依賴固定模板,容易忽略目標(biāo)屬性信息,導(dǎo)致生成的描述性內(nèi)容形式過于單一;②基于相似性檢索的方法[3]。通過檢索向量空間中最接近的內(nèi)容生成描述性語句。該方法過于依賴數(shù)據(jù)庫中的描述性語句,很難形成比較新穎的圖像描述內(nèi)容。
隨著深度學(xué)習(xí)的發(fā)展,圖像描述取得了重大突破。Vinyals等[1]發(fā)布了NIC模型(Neural Image Caption),該模型以Encoder-Decoder為基線框架。其中,在編碼端以卷積神經(jīng)網(wǎng)絡(luò)CNN[5]提取圖像特征,在解碼端以長短時記憶網(wǎng)絡(luò)LSTM[4]生成描述性語句,但由于在編碼過程中,編碼器需將整個序列的信息壓縮到一個固定常量中,先輸入的信息會被后輸入的信息覆蓋。因此,輸入的序列越長,覆蓋越嚴重,造成解碼準(zhǔn)確度下降。為了改進Encoder-Decoder被基線模型信息覆蓋的問題,Xu等[7]提出在圖像卷積特征中結(jié)合空間注意力機制的方法,將上下文信息輸入到Encoder-Decoder框架中。在Encoder階段,與之前直接通過全連接層提取特征不同,使用較低層的卷積層作為圖像特征[6],其中卷積層保留了圖像空間信息,結(jié)合注意力機制能夠動態(tài)選擇圖像空間特征用于Decoder 階段。在Decoder 階段,輸入中增加了圖像上下文向量,該向量是當(dāng)前時刻圖像的顯著區(qū)域特征表達。但實驗表明,該方法對圖像物體屬性信息表述不明顯,圖像描述內(nèi)容的精度還有很大提升空間。
當(dāng)前基于CNN+LSTM結(jié)構(gòu)[1]的圖像描述模型依然存在部分缺陷。以 Google NIC模型和基于注意力機制[3]的圖像描述模型為例,兩者均基于單一解碼器,根據(jù)之前的基本真值詞[5],利用反向傳播最大化每個真值詞的可能性。這種單一解碼方式對于圖像描述的細節(jié)表述不詳,難以形成豐富的細粒度描述。因此,本文提出一種基于多層LSTM和多層注意力結(jié)構(gòu)的層疊式圖像描述解碼框架,對原先粗粒度的圖像描述方式進行改進,可捕獲圖像中長距離空間關(guān)系,生成更生動的圖像描述內(nèi)容。
1 圖像描述模型
1.1 基于LSTM的解碼模型
圖像描述模型主要分為圖像特征提取和生成語言描述。在圖像特征提取方面,使用的是訓(xùn)練好的Faster R-CNN[8]模型。在解碼部分,實驗使用的是LSTM解碼器。
給定圖像[I]和其對應(yīng)的圖像描述語句 [X]。首先使用CNN提取圖像特征[V(I)]。圖像描述語句[X={x1,x2,?,][xl}],其中[Xt]是語句中單詞的表達形式。
在實驗過程中采用Word2vec詞向量生成工具[9],通過學(xué)習(xí)文本上下文的語料,根據(jù)詞匯上下文將文本中的每個詞匯映射到一個統(tǒng)一的N維詞匯空間,并使語義相近的詞匯在該空間中的位置相近,使用LSTM將特征轉(zhuǎn)換為描述性語句[10],如圖1所示。
在訓(xùn)練解碼部分時,圖像特征與描述語義句子之間的映射關(guān)系最大化,即:
在公式(3)中,[s()]表示Softmax函數(shù),[L()]表示 LSTM 網(wǎng)絡(luò),[ht]為LSTM隱藏層狀態(tài),[W、U、C]表示模型自學(xué)習(xí)的參數(shù)矩陣,[Xt]和[ht-1]分別為LSTM當(dāng)前時刻的輸入及上一時刻的隱藏層狀態(tài),[v]為圖像全局特征。
1.2 基于多層LSTM的改進模型
目前,大多數(shù)圖像描述模型基于單級LSTM的句子解碼器,以Google NIC模型為例的解碼部分,只在LSTM網(wǎng)絡(luò)的第一層輸入圖像全局特征,并未考慮到每個單詞在圖像上的注意力不同,因為有些詞匯與圖像內(nèi)容的關(guān)系太大,所以干擾性詞匯會導(dǎo)致單一的句子解碼器模型生成的描述性語句出現(xiàn)偏差。
為了解決單一LSTM解碼器對內(nèi)容描述精度不夠的問題,本文提出一種基于多層LSTM的解碼模型。其中,圖像高層特征輸入至與高層LSTM相連的注意力結(jié)構(gòu)[12],低層特征輸入至與底層 LSTM 相連的注意力結(jié)構(gòu)。改進的語言模型框架如圖2所示。
模型框架由3層LSTM網(wǎng)絡(luò)構(gòu)成,采用層疊式注意模型進行定位與詞預(yù)測高度相關(guān)的區(qū)域,通過注意力模型對圖像特征和來自前一級的注意權(quán)重進行操作,即在每個時間步驟的輸入均包含已出現(xiàn)的圖像特征、前一個詞嵌入及其隱藏狀態(tài)、來自前一個LSTM 的更新后的隱藏狀態(tài)。
第一層LSTM語言模型基于全局圖像特征生成詞[16],包括[xi],[v],[hni-1]。[hni-1]表示上一時刻第n層LSTM的輸出狀態(tài),其中[t]表示當(dāng)前時刻,[t-1]表示前一時刻,[xt]表示經(jīng)過Word2vec處理后的詞向量,[v=1kvi]是圖像經(jīng)Faster R-CNN高層卷積層提取的平均池化特征均值。最終,將以上3部分連接組合,輸入至語言模型的第一層LSTM結(jié)構(gòu)中。由于有些詞語與圖像沒有太大關(guān)系,需要引入注意力機制對詞語進行有效甄別,同時也會得到一個空間圖[13](Spatial Map),顯示與每個預(yù)測詞相關(guān)的圖像區(qū)域。LSTM輸出一個網(wǎng)絡(luò)狀態(tài)[h1t],將[h1t]和特征[vi]相連接并輸入到注意力結(jié)構(gòu)中。
其中,[xnt]為最終層語言模型在t時刻的輸入,[ct、][hn-1t、][hn-1t、][hn-2t]分別表示注意力結(jié)構(gòu)的輸出和上兩層LSTM的輸出狀態(tài)。在最終層LSTM語言模型后連接Softmax層,通過Softmax函數(shù)選取 LSTM 模型每一時刻輸出中概率最大的詞,連接成為描述句子,作為模型最終輸出結(jié)果。
2 實驗過程與結(jié)果分析
2.1 數(shù)據(jù)集及實驗環(huán)境
實驗使用MS-COCO數(shù)據(jù)集,超過160 000張圖像,訓(xùn)練集大約80 000張圖像,驗證集大約40 000張圖像,測試集大約40 000張圖像。其中,人工為每張圖像至少撰寫5條標(biāo)注,總共有超過100萬條描述性短標(biāo)簽,包含物體類別、輪廓坐標(biāo)、邊界框坐標(biāo)等描述性語句,可用于圖像識別、圖像分割、圖像描述生成等任務(wù)。
實驗基于Windows環(huán)境下的TensorFlow框架,它是谷歌研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),作為一個強大的開源軟件庫,可實現(xiàn)的模型功能非常靈活,它可在小到一部智能手機、大到數(shù)千臺數(shù)據(jù)中心服務(wù)器上運行,處理框架以數(shù)據(jù)流圖的方式運算,是目前實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)效果較好的框架。
2.2 參數(shù)設(shè)置
在訓(xùn)練模型之前,使用MS-COCO數(shù)據(jù)集圖像描述句子構(gòu)建單詞表,取數(shù)據(jù)集中的描述句子長度不大于16個單詞的句子,以及句子中至少出現(xiàn)4次的單詞構(gòu)成單詞表,最終選定的單詞表大小為11 520,利用Word2vec工具將詞匯映射為多維空間向量。
經(jīng)過多次調(diào)參比較,模型中使用的每一個LSTM層的隱藏節(jié)點及注意力結(jié)構(gòu)中的隱藏節(jié)點數(shù)目設(shè)為1 000時效果較好,在訓(xùn)練的同時為了防止網(wǎng)絡(luò)過擬合,使用Dropout方法,對循環(huán)神經(jīng)網(wǎng)絡(luò)層中的某些神經(jīng)網(wǎng)絡(luò)單元,按照一定概率將其暫時從網(wǎng)絡(luò)中丟棄,Dropout取值為0.5。在訓(xùn)練中,批尺寸設(shè)為10,學(xué)習(xí)率設(shè)置為0.01。
同時,為保證最終能得到恰當(dāng)合理的描述語句,實驗采用集束搜索(Beam Search)的方法,在每一步保持頂部前M個句子,對于這些頂部的M個句子,只考慮前M個擴展,并對句子重新評分。在實驗中,將Beam的大小設(shè)置為3,直到搜索終止或達到最大允許的句子長度。該過程結(jié)束后,根據(jù)模型分配的對數(shù)似然函數(shù)概率生成候選句子。
2.3 評分標(biāo)準(zhǔn)
目前最普遍的客觀量化評分標(biāo)準(zhǔn)包括:BLEU、METEOR、CIDEr。BLEU(Bilingual Evaluation Understudy)是雙語互評輔助工具,它將生成的候選語句(Candidate Caption)和參考語句(Reference Caption)視為N-Gram,即將句子按順序劃分的N個詞組成組,再計算這些組的精度,并在長度上施加適量的懲罰,得到BLEU的分數(shù);METEOR是基于1-Gram的精度與召回的調(diào)和平均;CIDEr主要修改降低了句子長度和單詞頻率帶來的影響,當(dāng)在較長句子上重復(fù)較高置信度的單詞時,基本CIDEr指標(biāo)會很高,CIDEr通過基于候選和參考句子長度之間差異的高斯懲罰與計數(shù)上的限制使評判標(biāo)準(zhǔn)更接近人類。實驗采用以上客觀量化標(biāo)準(zhǔn)對實驗結(jié)果進行評分。
2.4 模型評估
按照設(shè)定的參數(shù),對模型進行訓(xùn)練。當(dāng)在相同數(shù)據(jù)集、相同訓(xùn)練條件下時,本文模型生成的圖像描述的客觀量化評分較高,評估對比如表1所示。本文模型Bleu-1得分為0.753,Bleu-4得分為0.348,METEOR得分為0.271,CIDEr得分為1.090。
可以看出,相較于對比模型的結(jié)果,本文模型有較大提升。這是因為對比模型大多訓(xùn)練了單一的解碼器,而本文模型在解碼端采用多層LSTM解碼器,每個時間步驟的輸入均由前一個目標(biāo)詞和之前的隱藏狀態(tài)構(gòu)成。在后續(xù)的多級中,每個精細解碼器均會再次基于圖像特征以及來自前一個LSTM的注意力權(quán)重和隱藏狀態(tài)預(yù)測詞,這些相對精細化的預(yù)測對下一步圖像的整體描述生成有重要作用。
為進一步測試解碼模型的效果,在測試集里選取一張圖片,并分別在NIC模型、ATT-FCN模型及本文模型中進行測試,各個圖像描述內(nèi)容結(jié)果如圖3所示,從描述的內(nèi)容可見,相對于單層解碼器的NIC模型,本文模型圖像描述的精細程度優(yōu)于其它兩種模型,對長距離的依賴更為顯著,不但能合理地推斷出“man”、“child”和“l(fā)ake”之間的關(guān)系,還能對“man”和“child”的著裝顏色進行描述。也就是說,多層LSTM解碼的方式可以由粗略轉(zhuǎn)為精確地考慮圖像中的視覺信息,這與人類視覺系統(tǒng)十分相似。
3 結(jié)語
本文設(shè)計了一個從粗略到精細的基于多級LSTM解碼的圖像內(nèi)容描述模型框架。首先在第一級粗略搜索空間解碼,每個時間步驟的輸入均由前一個目標(biāo)詞和之前的隱藏狀態(tài)構(gòu)成。在后續(xù)解碼器中,每個精細解碼器會再次基于圖像特征以及來自前一個LSTM的注意力權(quán)重和隱藏狀態(tài)預(yù)測相關(guān)詞匯。每個精細解碼器由一個LSTM網(wǎng)絡(luò)與注意力模型構(gòu)成。LSTM在每個時間步驟的輸入均包含已出現(xiàn)的圖像特征、前一個詞嵌入及隱藏狀態(tài)、來自前一個LSTM更新后的隱藏狀態(tài)。通過注意力機制得到的空間圖可以顯示每個預(yù)測詞相關(guān)的圖像區(qū)域,以達到更好的描述效果。改進后的解碼模型訓(xùn)練結(jié)果表明,該預(yù)測模型可以更好地聯(lián)合圖像視覺特征和語義特征對圖像進行描述。同時,將該模型與其它經(jīng)典模型進行比較,能達到較好的評估指標(biāo)。下一步將結(jié)合現(xiàn)有圖像描述方法,在視頻描述及視覺問答等相關(guān)任務(wù)方面展開更深入的研究。
參考文獻:
[1] VINYALS O,TOSHEV A,BENGIO S,et al. Show and tell: a neural image caption generator[C]. Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition,2015:3156-3164.
[2] FANG H, GUPTA S, IANDOLA F, et al. From captions to visual concepts and back[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2015:1473-1482.
[3] XU K, BA J, KIROS R, et al. Show, attend and tell: neural image caption generation with visual attention[DB/OL]. ?https://arxiv.org/pdf/1502.03044.pdf.
[4] JIA X, GAVVES E, FERNANDO B, et al. Guiding long-short term memory for image caption generation[J]. ?2015 IEEE International Conference on Computer Vision?,2015(1):2407-2415.
[5] ZHOU L,XU C,KOCH P,et al. Image caption generation with text-conditional semantic attention[DB/OJ]. https://arxiv.org/pdf/1606.04621v2.pdf.
[6] WU Q, SHEN C, LIU L, et al. What value do explicit high level concepts have in vision to language problems[DB/OJ]. ?https://arxiv.org/pdf/1506.01144.pdf.
[7] YAO T, PAN Y, LI Y, et al. Boosting image captioning with attributes[C]. IEEE International Conference on Computer Vision,2017:4904-4912.
[8] LU J, XIONG C, PARIKH D, et al. Knowing when to look: adaptive attention via a visual sentinel for image captioning[C]. IEEE Conference on Computer Vision and Pattern Recognition,2017:3242-3250.
[9] HAO F,Gupta S,IANDOLA F,et al. From captions to visual concepts and back[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2015:?1473-1482.
[10] LI N N,CHEN Z Z. Image captioning with visual-semantic LSTM[C]. 27th International Joint Conference on AI,2018:793-799.
[11] ANDERSON P,HE X D,BUEHLER C,et al. Bottom-up and top-down attention for image captioning and visual question answering[DB/OL]. https://arxiv.org/pdf/1707.07998.pdf.
[12] KULKARNI G,PREMRAJ V,ORDONEZb V,et al. Babytalk: understanding and generating simple image descriptions[C]. ?IEEE Conference on Computer Vision and Pattern Recognition IEEE Computer Society, 2011:1601-1608.
[13] GU J X,CAI J F,WANG G,et al. Stack-captioning:coarse-to-fine learning for image captioning[DB/OL]. https://arxiv.org/pdf/1709.03376.pdf.
[14] YAO T,PAN Y W,LI Y H,et al. Incorporating copying mechanism in image captioning for learning novel objects[C]. IEEE Conference on Computer Vision and Pattern Recognition,2017:5263-5271.
[15] LU J S,XIONG C M,PARIKH D,et al. Knowing when to look: adaptive attention via a visual sentinel for image captioning[C]. ?IEEE Conference on Computer Vision and Pattern Recognition,2017:3242-3250.
[16] RANZATO M A, CHOPRA S, AULI M, et al. Sequence level training with recurrent neural networks[DB/OL]. https://arxiv.org/pdf/1511.06732.pdf.
(責(zé)任編輯:江 艷)