謝琦彬,陳平華
廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510006
近年來,圖像描述(Image Caption)任務(wù)在計(jì)算機(jī)科學(xué)領(lǐng)域受到了很多關(guān)注,逐漸成為熱門話題。圖像描述任務(wù)是計(jì)算機(jī)視覺技術(shù)和自然語言處理技術(shù)結(jié)合的產(chǎn)物,其本質(zhì)是計(jì)算機(jī)對輸入圖像的內(nèi)容進(jìn)行識別和理解,并自動生成一段用人類語言描述的文本。這項(xiàng)任務(wù)不僅節(jié)省了對海量的圖像進(jìn)行人工標(biāo)注花費(fèi)的時(shí)間,還可以應(yīng)用于盲人導(dǎo)航、兒童早教等多個方面,具有重要的研究意義。圖像描述生成任務(wù)作為一種跨領(lǐng)域任務(wù),一方面需要模型提取圖片中的對象以及對象間的關(guān)系,另一方面還需要高度理解圖像特征并生成描述正確且邏輯清晰的語句。傳統(tǒng)的研究圖像描述生成任務(wù)的算法主要有以下兩大類:基于模板的圖像描述方法[1-3],該類方法首先會捕捉圖像中的對象、動作、場景,然后把它們填入到固定的句子模板中生成圖像的標(biāo)注,這類方法特點(diǎn)是操作簡單,但生成的語句缺乏一定的多樣性,與人工標(biāo)注句子的表述風(fēng)格相差過大;基于檢索的方法[4-5],該類方法將目標(biāo)圖像與經(jīng)過人工標(biāo)注圖像數(shù)據(jù)庫中的圖像進(jìn)行相似度排序,檢索最佳表述,但該方法生成的文本嚴(yán)重依賴圖像數(shù)據(jù)庫當(dāng)中的人工標(biāo)注,無法生成新穎的語句,缺乏靈活性。近年來隨著深度學(xué)習(xí)的成功,基于編碼器-解碼器的模型解決了輸入輸出序列必須等長的限制條件,自然語言領(lǐng)域中的機(jī)器翻譯、機(jī)器寫作等任務(wù)中大量使用該模型進(jìn)行研究,且取得了十分優(yōu)異的效果。研究學(xué)者將其應(yīng)用在圖像描述生成任務(wù)當(dāng)中,使用編碼器對輸入的圖像進(jìn)行特征提取,再通過解碼的方法生成最終的文本描述。Mao等在文獻(xiàn)[6]中提出使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)作為編碼器將圖像轉(zhuǎn)換為固定長度的向量表示,然后傳入到循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)中輸出相應(yīng)的文本描述。文獻(xiàn)[7]提出了一種端到端訓(xùn)練的神經(jīng)圖像字幕生成器(Google NIC),該模型使用深度卷積神經(jīng)網(wǎng)絡(luò)提取目標(biāo)圖像的視覺特征表示,使用長短期記憶神經(jīng)網(wǎng)絡(luò)[8](long short-term memory,LSTM)替代RNN生成文本描述,改善了RNN在長文本序列上的梯度彌散問題,提升了描述文本的質(zhì)量。文獻(xiàn)[9]對LSTM進(jìn)行了改進(jìn),將編碼器從圖像中獲取的信息添加到LSTM中進(jìn)行訓(xùn)練,用于指導(dǎo)描述文本的生成。為了進(jìn)一步增強(qiáng)模型對圖像重要區(qū)域信息的捕捉,文獻(xiàn)[10]提出了將注意力機(jī)制融入到圖像描述生成任務(wù)中,并提出了兩種不同的注意力機(jī)制,分別是軟注意力(softattention)機(jī)制和硬注意力(hard-attention)機(jī)制,軟注意力機(jī)制針對每個劃分的圖像區(qū)域?qū)W習(xí)注意力權(quán)重后進(jìn)行加權(quán)求和,權(quán)重系數(shù)總和固定為1;在硬注意力機(jī)制中,將某一個圖像區(qū)域的權(quán)重設(shè)為1,其他區(qū)域設(shè)置為0,從而達(dá)到僅關(guān)注某一個區(qū)域的目的。文獻(xiàn)[11]提出了視覺哨兵的概念,哨兵向量決定模型在每個時(shí)間步上生成單詞時(shí)選擇依賴圖像信息還是語義信息,以提高描述的正確性。與基于模板和基于檢索的方法相比,基于編碼器-解碼器的方法泛化能力強(qiáng),所生成的描述文本表達(dá)自然。上述方法對圖像描述任務(wù)做了大量的工作,但是該任務(wù)仍然面臨著一些急需重點(diǎn)解決的問題:(1)大多數(shù)基于神經(jīng)網(wǎng)絡(luò)的方法并沒有對圖像特征進(jìn)行充分的利用,往往只使用圖像全局特征去生成描述文本,在訓(xùn)練過程中會出現(xiàn)對象丟失和預(yù)測錯誤的問題,編碼器提取的圖像特征與注意力機(jī)制沒有實(shí)時(shí)結(jié)合,模型只考慮到上一時(shí)刻編碼器的圖像上下文向量而忽略了當(dāng)前時(shí)刻下的圖像信息;(2)傳統(tǒng)的注意力機(jī)制僅使用隱藏層狀態(tài)去選取合適的圖像特征信息,而沒有對內(nèi)部信息做進(jìn)一步的檢驗(yàn),存在同一時(shí)刻下語義特征與圖像特征不一致的問題。
針對以上方法存在的問題,本文以增強(qiáng)圖像特征提取、改進(jìn)注意力機(jī)制為研究內(nèi)容,提出了一種結(jié)合圖像全局-局部特征和注意力機(jī)制的圖像描述方法,本文的主要特點(diǎn)如下:
(1)分別利用殘差網(wǎng)絡(luò)ResNet101的全連接層和最后一層卷積層分別提取圖像的全局特征和局部特征,對兩種圖像特征在編碼階段做不同的利用。
(2)提出一種實(shí)時(shí)注意力模型,在每一時(shí)刻下根據(jù)圖像特征和語義特征之間的相似度來計(jì)算注意力得分,使得圖像特征信息與文本描述信息能具有最大的相關(guān)性。
(3)在解碼過程中使用雙向門控循環(huán)單元(gated recurrent unit,GRU)結(jié)構(gòu)替代LSTM,在生成文本時(shí)考慮到雙向語義,使目標(biāo)區(qū)域與生成語言之間的對齊更加合理,提高圖像描述的準(zhǔn)確度。
本文的模型整體結(jié)構(gòu)如圖1所示,主要分為圖像特征提取模塊和文本生成模型兩個部分,首先利用特征提取模塊對圖像進(jìn)行處理,將編碼好的圖像向量饋入到文本生成模塊生成圖像描述文本序列。在測試階段,本文隨機(jī)選擇若干張圖片輸入到模型得到對應(yīng)的描述文本,再與人工標(biāo)注的句子進(jìn)行比較,最后得出結(jié)論。
圖1 圖像描述生成模型Fig.1 Image caption model
隨著計(jì)算能力的提高,深度卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺任務(wù)當(dāng)中取得了優(yōu)異的表現(xiàn),這些模型最大的優(yōu)勢就是在大型數(shù)據(jù)集上進(jìn)行訓(xùn)練后可以直接當(dāng)作圖像的特征提取器,使用深度卷積網(wǎng)絡(luò)的全連接層提取的特征通常是一維向量,包含的僅是圖像的全局語義信息,很容易丟失圖像對象間的細(xì)節(jié)信息,為了使每個特征向量與圖像的內(nèi)容相關(guān)聯(lián),從預(yù)訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)的卷積層中提取特征,將其定義為局部特征,這些局部特征可以幫助模型選擇性地使用圖像中的對象信息生成對應(yīng)的字幕。將兩種不同粒度的特征作為輸入,可以使得目標(biāo)之間的關(guān)系表述得更加合理,更加準(zhǔn)確。
在本文中,采用經(jīng)過預(yù)訓(xùn)練的ResNet101作為模型的圖像特征提取器,ResNet[12]網(wǎng)絡(luò)最大的特點(diǎn)就是在每層網(wǎng)絡(luò)之間添加了殘差塊,殘差塊有助于解決隨著網(wǎng)絡(luò)層數(shù)的不斷增加而造成的梯度消失問題。
ResNet結(jié)構(gòu)如圖2所示,其在每一層的輸出與下一層輸入之間添加了直接映射,將恒等映射關(guān)系H(x)=F(x)轉(zhuǎn)化為F(x)=H(x)-x,避免在反向傳播過程中梯度趨近于0,有利于訓(xùn)練更深的模型,從而學(xué)習(xí)到更多的信息。與另一種時(shí)下應(yīng)用廣泛的深度卷積神經(jīng)網(wǎng)絡(luò)VGG16相比,ResNet網(wǎng)絡(luò)在性能方面表現(xiàn)更為優(yōu)異,可以顯著提升效果[13]。在本文中,對于給定的圖像I,首先抽取ResNet101全連接層提取的特征作為全局特征Vgf,特征向量Vgf會作為整個圖像信息直接輸入到解碼器模塊中,將ResNet最后一層卷積層的輸出抽取表示為局部特征Vlf={vlf1,vlf2,…,vlfL},其中L代表總共生成的向量個數(shù),局部特征用于注意力機(jī)制去訓(xùn)練注意力權(quán)重系數(shù),使得模型在每一時(shí)刻下的側(cè)重關(guān)注區(qū)域都有所不同。
圖2 殘差結(jié)構(gòu)圖Fig.2 Residual structure diagram
在圖像描述任務(wù)中通常使用長短期記憶網(wǎng)絡(luò)LSTM作為解碼器來實(shí)現(xiàn)對序列的非線性特征學(xué)習(xí),LSTM由一個記憶單元(constant error carrousel,CEC)和三個門(gate)組成,其核心思想是引入了自適應(yīng)門控機(jī)制,記憶單元用于幫助模型保存當(dāng)前時(shí)刻生成的有關(guān)圖像的隱式信息并傳遞給下一時(shí)刻使用,使得第N個單詞的生成不僅與前一個單詞相關(guān),而是和前面N-1個單詞都相關(guān),這樣本文生成準(zhǔn)確率就會大幅提高。為了簡化LSTM結(jié)構(gòu),研究學(xué)者進(jìn)而提出了GRU網(wǎng)絡(luò)結(jié)構(gòu),GRU原理與LSTM相似,但與LSTM相比最大的特點(diǎn)是將遺忘門和輸入門合并為一個更新門,減少了1/3的訓(xùn)練參數(shù),在保證效果相同的情況下加速反向傳播算法的效率,提升整個實(shí)驗(yàn)的訓(xùn)練性能。圖3是GRU的結(jié)構(gòu)圖。
在圖3中,xt代表t時(shí)刻輸入的文字信息,序列表示為x={x1,x2,…,xn},ht是更新后的隱藏層狀態(tài),r表示控制重置的門控,重置門的作用是判斷前一時(shí)刻狀態(tài)ht-1對當(dāng)前狀態(tài)ht的重要程度,當(dāng)rt的值越小時(shí)允許模型遺忘更多的信息;z為控制更新的門控,其輸出的值始終在(0,1)之間,表示前一時(shí)刻隱藏層輸出信息被保留到當(dāng)前狀態(tài)中的程度,當(dāng)zt的值越大時(shí),代表記憶前一時(shí)刻隱藏層帶入的信息越多。具體公式如式(1)~(4)所示:
圖3 GRU模型Fig.3 GRU model
h?t表示當(dāng)前時(shí)刻候選隱藏層狀態(tài)信息,也稱為記憶信息,由重置門與前一時(shí)刻的隱藏層狀態(tài)信息計(jì)算得出。zt?h?t表示對當(dāng)前時(shí)刻候選隱藏層狀態(tài)信息進(jìn)行選擇性儲存,(1-zt)?ht-1表示遺忘上一時(shí)刻的隱藏狀態(tài)ht-1中某些維度信息,σ是sigmoid非線性激活函數(shù),tanh是雙曲正切S型函數(shù),wz、wr、wh分別表示訓(xùn)練過程當(dāng)中學(xué)習(xí)到的一些參數(shù)。
單向GRU網(wǎng)絡(luò)只能通過獲取過去序列信息來預(yù)測當(dāng)前的單詞,但如果想準(zhǔn)確地獲取一個語句所表達(dá)的意思,未來的序列信息同樣是十分重要的。例如在中文文本序列中“重慶市長江大橋視察工作”,當(dāng)順序讀取語句可以獲得“重慶/市長/江大橋”以及“重慶市/長江大橋”兩種語義,當(dāng)反向獲取語義信息時(shí),會首先得到“視察工作”這個詞組,進(jìn)而可以推斷前面出現(xiàn)的應(yīng)該是人名而不是物名,最后得出該句子的意思是“重慶/市長/江大橋/視察工作”。因此在獲得文本時(shí)需要考慮到雙向語義才能避免產(chǎn)生歧義,雙向GRU包括前向傳播和反向傳播兩種方式,對于每一時(shí)刻t,都會訓(xùn)練兩個方向相反的GRU,最終輸出的向量是前向?qū)W習(xí)和反向?qū)W習(xí)拼接的結(jié)果:ht=[ht-F,ht-B]其中,ht-F、ht-B分別表示t時(shí)刻下GRU前向?qū)W習(xí)和反向?qū)W習(xí)的隱藏層狀態(tài)。
注意力機(jī)制參考了人類神經(jīng)視覺行為特點(diǎn),例如人類在觀察某幅圖像的時(shí)候首先會將視覺能力聚焦在整幅圖像中最顯眼的部分,再去觀察圖像中的其他細(xì)節(jié)。在某種程度上,可以將注意力模型當(dāng)作一種資源分配模型,假設(shè)在生成描述文本時(shí)對圖像中所有區(qū)域中的信息進(jìn)行同等程度的處理,就會忽略掉圖像中重要的焦點(diǎn)信息,注意力機(jī)制的本質(zhì)是為不同的圖像區(qū)域賦予不同的權(quán)重系數(shù),權(quán)重越大表示該圖像區(qū)域?qū)τ谏勺罱K的描述文本有著更重要的意義。在文本中提出了一種新的注意力機(jī)制,該機(jī)制通過循環(huán)結(jié)構(gòu)獲取長序列語義,計(jì)算語義向量和圖像特征向量之間的相似度來獲得注意力權(quán)重,使得注意力機(jī)制在生成圖像上下文信息時(shí)會考慮到實(shí)時(shí)的背景信息。實(shí)時(shí)注意力機(jī)制如圖4所示。
圖4 實(shí)時(shí)注意力機(jī)制Fig.4 Real-time attention mechanism
st是表示t時(shí)刻輸入的單詞,它是一個獨(dú)熱編碼形式的向量,由于詞匯表的維度過于稀疏,因此乘上一個單詞嵌入矩陣WE將其轉(zhuǎn)化為到一個較為稠密的向量xt,即xt=WE*st,語義向量at表示在傳遞過程中保存下來的信息,在t=0時(shí)刻初始化為全0的矩陣,at更新公式如式(5)所示:
注意力權(quán)重系數(shù)是通過對語義信息at和圖像局部特征Vlf求相似度計(jì)算得來的,根據(jù)注意力機(jī)制的定義可知,當(dāng)注意力權(quán)重越大時(shí),表示語義信息與圖像特征信息之間的關(guān)聯(lián)度越大,在式(6)中Wv、Wa分別表示向量的參數(shù)矩陣:
αti表示的是第i個圖像區(qū)域在t時(shí)刻下的注意力權(quán)重,最后對圖像特征與注意力權(quán)重做一個加權(quán)整合,得到圖像上下文信息:
傳統(tǒng)的基于注意力網(wǎng)絡(luò)的圖像描述模型如圖5所示,圖像首先經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)提取得到特征V,將V與長短期記憶網(wǎng)絡(luò)的隱藏層狀態(tài)ht-1作為注意力機(jī)制網(wǎng)絡(luò)的輸入,注意力結(jié)構(gòu)對圖像特征進(jìn)行權(quán)重系數(shù)分配后輸出圖像上下文向量信息Ct,再結(jié)合當(dāng)前時(shí)刻的隱藏層狀態(tài)ht饋入到感知機(jī)當(dāng)中生成單詞yt,整個文本序列的生成過程就是對上述過程進(jìn)行一個不斷的循環(huán)。
圖5 傳統(tǒng)的基于注意力的圖像描述模型Fig.5 Traditional attention-based image caption model
但是需要注意的是,傳統(tǒng)的基于注意力機(jī)制的圖像描述模型并沒有充分利用圖像特征,其提取的僅是圖像的全局特征而沒有利用到圖像的局部特征;同時(shí)鑒于圖像的上下文信息與當(dāng)前時(shí)刻的隱藏層狀態(tài)應(yīng)該是緊密相關(guān),本文在傳統(tǒng)圖像描述生成網(wǎng)絡(luò)上進(jìn)行改進(jìn),進(jìn)一步提出結(jié)合全局-局部特征和注意力機(jī)制的模型,模型如圖6所示。
圖6 結(jié)合全局-局部特征和注意力機(jī)制的模型Fig.6 Model combining global-local features and attention
考慮到需要提取細(xì)粒度更高的圖像視覺信息,本文模型中的注意力機(jī)制結(jié)構(gòu)與圖5所示方法有所不同,在圖6中,注意力機(jī)制利用圖像局部特征向量和文字特征向量的相似度計(jì)算注意力權(quán)重,輸出的上下文向量ct每時(shí)刻都在特定位置利用圖像局部特征,因此可以利用ct指導(dǎo)圖像的全局特征去生成隱藏層狀態(tài)向量,GRU以注意力機(jī)制的輸出ct和圖像全局特征Vgf作為輸入,公式(1)~(4)是單向GRU更新的過程,雙向GRU的輸出為前向網(wǎng)絡(luò)的輸出與后向網(wǎng)絡(luò)輸出的一個拼接:ht=[ht-F,ht-B],同時(shí)為了加強(qiáng)圖像特征與描述文本之間的映射關(guān)系,在GRU輸出的部分加入了殘差模塊,避免在訓(xùn)練過程中部分信息的丟失。
文本的算法步驟可以具體表示為:
輸入 圖像
輸出 圖像的描述文本
1.for i in[1,N]
2.利用ResNet101網(wǎng)絡(luò)提取圖像的局部特征Vlf,并將圖像局部特征向量Vlf與詞向量xt輸入到注意力機(jī)制當(dāng)中;
3.注意力機(jī)制通過計(jì)算圖像局部特征向量Vlf與詞向量xt之間的相似度獲取注意力權(quán)重,然后將注意力權(quán)重與圖像特征結(jié)合獲取上下文向量ct;
4.將獲取的上下文向量ct、ResNet101提取的圖像全局特征Vgf以及上一時(shí)刻的解碼器隱藏狀態(tài)ht-1饋入到雙向GRU中,去更新解碼器當(dāng)前時(shí)刻下的隱藏層狀態(tài)ht;
5.利用殘差結(jié)構(gòu)將t時(shí)刻的隱藏層狀態(tài)ht和上下文向量ct輸入到softmax層得到生成詞yt;
6.end
7.獲得描述文本
本文模型采用圖像描述生成任務(wù)中常用的交叉熵進(jìn)行訓(xùn)練,損失函數(shù)形式如下所示:
為了對生成的圖像描述句子的質(zhì)量進(jìn)行精確評估,實(shí)驗(yàn)需要采用不同的客觀量化方法進(jìn)行驗(yàn)證,本文使用的一些評估指標(biāo)包括BLEU(bilingual evaluation understudy)[14]、METEOR(metric for evaluation of translation with explicit ordering)[15]、CIDEr(consensus-based image description evaluation)[16],對于所有指標(biāo),越高的分?jǐn)?shù)表示性能越好。
BLEU:最初是為機(jī)器翻譯任務(wù)設(shè)計(jì)的,現(xiàn)在廣泛應(yīng)用于圖像描述任務(wù),它通過N-gram計(jì)算輸出文本和人工標(biāo)注的一個或多個句子之間的匹配分?jǐn)?shù),輸出值始終在0~1,BLEU又細(xì)分為BLEU-1、BLEU-2、BLEU-3、BLEU-4。BLEU-1表示原文有多少詞被單獨(dú)翻譯出來,可以用來反映譯文的充分性,其余三個指標(biāo)用于反映譯文的流暢性。
METEOR:用于評價(jià)機(jī)器翻譯輸出的標(biāo)準(zhǔn),該方法不僅考慮了準(zhǔn)確率,還涉及了召回率。
CIDEr:專門設(shè)計(jì)用于測量圖像描述文本與人類標(biāo)注的參考語句之間的一致性,它是通過對每個n元組進(jìn)行TF-IDF權(quán)重計(jì)算,更能反映所生成句子的質(zhì)量。
本文實(shí)驗(yàn)部分使用的數(shù)據(jù)集是微軟公司構(gòu)建的MSCOCO2014[17]數(shù)據(jù)集。MSCOCO2014數(shù)據(jù)集由自然場景和人類生活中的常見圖像組成,它具有背景復(fù)雜、類型較多的特點(diǎn),常用于圖像識別、圖像分割、圖像描述等任務(wù),其中包含113 287張訓(xùn)練集,5 000張驗(yàn)證集和5 000張測試集,每張圖像均有人工添加的5個注解,由JSON格式提供,文本序列長度分布如圖7所示。在本文實(shí)驗(yàn)中,通過訓(xùn)練集和驗(yàn)證集來調(diào)試實(shí)驗(yàn)中的參數(shù)設(shè)置,然后在測試集上進(jìn)行訓(xùn)練獲取指標(biāo)分?jǐn)?shù),與其他主流模型比較對比。
圖7 MSCOCO數(shù)據(jù)集長度分布Fig.7 MSCOCO data set length distribution
在模型訓(xùn)練之前,對輸入的文本數(shù)據(jù)進(jìn)行如下預(yù)處理:將詞匯量限制在前5 000個單詞,將所有單詞全部轉(zhuǎn)化成小寫,去掉空格和特殊字符,如“?”和“!”等,設(shè)定描述文本的最大長度為16,同時(shí)為每個描述都添加
表1 訓(xùn)練超參數(shù)Table 1 Training hyperparameters
為了使實(shí)驗(yàn)結(jié)果體現(xiàn)得較為直觀,表2顯示的是本文算法與mRNN[6]、GoogleNIC[7]、Soft-Attention[11]、Hard-Attention[11]以及近年來有關(guān)于圖像全局-局部特征的描述模型[20-21]在MSCOCO數(shù)據(jù)集下的評估結(jié)果。
表2 不同算法在MSCOCO數(shù)據(jù)集上評價(jià)指標(biāo)得分對比Table 2 Different algorithms evaluate comparison of index scores on MSCOCO dataset %
從實(shí)驗(yàn)?zāi)P头治?,性能提升的原因有以下幾點(diǎn):使用基于殘差網(wǎng)絡(luò)的深度卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征可以有效減少在訓(xùn)練過程當(dāng)中由于網(wǎng)絡(luò)層數(shù)增加帶來的梯度消失問題,其次采用了實(shí)時(shí)注意力機(jī)制能夠更好地表征每一時(shí)刻下圖像特征信息與文字向量信息間的關(guān)系,解碼時(shí)采用的雙向GRU網(wǎng)絡(luò)可以攜帶不同訓(xùn)練方向的語義信息,能夠有效生成通順、合理的語句。最后在訓(xùn)練過程當(dāng)中,利用Dropout和Beam Search幫助模型進(jìn)一步優(yōu)化模型,提升魯棒性,獲得更好的效果。本文工作也與文獻(xiàn)[20-21]進(jìn)行了比較,文獻(xiàn)[20]中提出的是使用InceptionV3和VGG16網(wǎng)絡(luò)分別去提取圖像的局部特征和全局特征,在獲得兩種特征后拉伸成同一維度,拼接成最終的圖像特征向量進(jìn)行解碼,并沒有使用注意力機(jī)制取處理圖像特征與文字向量之間的映射關(guān)系;文獻(xiàn)[21]則是選用VGG16提取全局特征,F(xiàn)aster R-CNN提取局部特征,通過注意力機(jī)制可以選擇地關(guān)注不同時(shí)刻下的顯著對象,考慮它們的圖像上下文信息。以上兩種模型并沒有考慮到注意力機(jī)制的改進(jìn)以及解碼器輸出時(shí)的雙向語義,因此本文相較于以上的模型有了更進(jìn)一步的改進(jìn),在以上的評價(jià)指標(biāo)中,有一定程度的提升。
為了更直觀地證明模型的有效性,在MSCOCO數(shù)據(jù)集上的一些圖像描述結(jié)果如圖8所示,這些圖像定性的分析了文獻(xiàn)[7]和本文提出模型的性能。圖8(a)是使用文獻(xiàn)[7]生成的描述,圖8(b)是使用本文算法實(shí)現(xiàn)的圖像描述。圖8(b)不僅對(1)圖識別出了大象站在柵欄前的這一動作,而且識別出了“metal fence”對細(xì)節(jié)的描述更為豐富;圖8(b)準(zhǔn)確檢測出了(2)圖中的“the pink house”,而圖8(a)則只識別到了建筑物“building”;圖8(a)對(3)圖僅僅識別出了“a woman”,而忽略了圖中的另一個小女孩,對物體“frisbee”錯誤識別成“kite”;圖8(b)對(5)圖片的男人和女人并沒有準(zhǔn)確表達(dá),而只是模糊識別出了“a couple of people”。從上面的結(jié)果可以看出,本文算法在描述結(jié)果上不僅準(zhǔn)確率更高,而且細(xì)節(jié)表現(xiàn)更佳。
圖8 生成圖像描述對比結(jié)果Fig.8 Generate image caption comparison results
為進(jìn)一步測試本文模型的效果,在測試集隨機(jī)選取若干張圖像,使用本文提出的算法模型生成描述文本,結(jié)果如圖9所示。圖9中的圖片包含有動物、食物、風(fēng)景、運(yùn)動等不同風(fēng)格,通過對這些圖片測試的結(jié)果可以看出,本文算法在最后的生成描述上具有較為優(yōu)異的表現(xiàn),能夠準(zhǔn)確地表達(dá)圖片所包含的內(nèi)容,在細(xì)節(jié)處理上也較為細(xì)致,但是也有極少數(shù)圖片上存在一些缺陷:例如圖9的(2)中沒有將花瓶中的假鵝識別出來,僅識別出了花瓶與花這兩個物體,而圖9的(7)更是錯誤地將人的手識別為了繩子,提升生成字幕的穩(wěn)定性、降低錯誤識別率是后續(xù)工作中會繼續(xù)研究并解決的重點(diǎn)問題。
圖9 隨機(jī)選取圖像生成結(jié)果Fig.9 Randomly select image caption generation results
本文提出一種結(jié)合全局-局部特征和注意力機(jī)制的圖像描述方法,利用圖像的局部特征與詞向量之間的相似度去計(jì)算注意力權(quán)重,使注意力機(jī)制能夠準(zhǔn)確捕獲圖像中的對象以及對象之間的關(guān)聯(lián),最后利用圖像的全局特征和注意力上下文指導(dǎo)單詞序列的生成。在MSCOCO2014數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,結(jié)合全局-局部特征和注意力的模型取得了較為優(yōu)秀的評估分?jǐn)?shù),證明了模型的有效性。本文的主要不足之處在于,模型訓(xùn)練過程中有一些圖像生成的字幕并不穩(wěn)定,表述得不夠清楚,下一步將設(shè)計(jì)更為有效的注意力機(jī)制,對全局特征與局部特征做更為緊密的結(jié)合,提升模型的泛化能力,以生成表達(dá)更為豐富的圖像描述字幕。