王宇航,張燦龍*,李志欣,王智文
(1.廣西多源信息挖掘與安全重點(diǎn)實(shí)驗(yàn)室(廣西師范大學(xué)),廣西 桂林 541004;2.廣西科技大學(xué) 計(jì)算機(jī)科學(xué)與通信工程學(xué)院,廣西 柳州 545006)
圖像描述(image captioning)是一個(gè)結(jié)合計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理的跨領(lǐng)域任務(wù),其計(jì)算涉及自然文本的語(yǔ)義提取、圖像目標(biāo)的檢測(cè)與特征提取、目標(biāo)之間關(guān)系的識(shí)別與推理等,最終將圖像識(shí)別的結(jié)果表述為一個(gè)自然語(yǔ)句[1-3]。深度學(xué)習(xí)技術(shù)的應(yīng)用使計(jì)算機(jī)描述圖像場(chǎng)景的能力得到大幅提升,在某些評(píng)估指標(biāo)上甚至超過(guò)人類(lèi)。然而,若要讓機(jī)器按照用戶(hù)的意愿和個(gè)性去描述一個(gè)場(chǎng)景,就必須使它們擁有感知用戶(hù)興趣和個(gè)性的能力。
遺憾的是,現(xiàn)有的圖像描述模型[4-6]雖然可以生成較為流暢的描述語(yǔ)句,但是存在與用戶(hù)交互性差、多樣性低等問(wèn)題。具體體現(xiàn)在以下2個(gè)方面:1)大多數(shù)圖像描述模型僅機(jī)械地生成描述圖像場(chǎng)景整體內(nèi)容的句子,并沒(méi)有考慮用戶(hù)感興趣的內(nèi)容或者期望描述的詳細(xì)程度[7-8];2)這種生成模式傾向于使用常見(jiàn)的高頻詞來(lái)表達(dá)生成較為“簡(jiǎn)單安全”的句子,容易造成句子缺乏多樣性[9-12],無(wú)法體現(xiàn)用戶(hù)的個(gè)性特征和用語(yǔ)習(xí)慣。如圖1所示,現(xiàn)有模型[13-15]可以準(zhǔn)確地描述出“兩個(gè)棒球運(yùn)動(dòng)員在運(yùn)動(dòng)場(chǎng)打球”,卻不能依據(jù)用戶(hù)的期望描述出男子的具體細(xì)節(jié),如體態(tài)、衣服顏色、背景等細(xì)節(jié)內(nèi)容,也不能控制是全局描述還是局部描述某一個(gè)男子,并且只是用簡(jiǎn)單的語(yǔ)言表達(dá)出來(lái)。
圖1 現(xiàn)有圖像描述實(shí)例
針對(duì)以上問(wèn)題,本文提出場(chǎng)景細(xì)粒度控制的個(gè)性化圖像描述方法,圖2是本文提出模型的整體結(jié)構(gòu)。首先,構(gòu)建一個(gè)包含3類(lèi)抽象節(jié)點(diǎn)的空間關(guān)系圖(spatial relation,SR),這3類(lèi)抽象節(jié)點(diǎn)分別代表目標(biāo)(object)、屬性(feature)、目標(biāo)之間的關(guān)系(relationship),每個(gè)抽象節(jié)點(diǎn)在圖中有具體區(qū)域的定位(其中1、4為屬性節(jié)點(diǎn),2、3為目標(biāo)節(jié)點(diǎn),5為關(guān)系節(jié)點(diǎn));然后利用圖注意力機(jī)制來(lái)獲取用戶(hù)所希望描述的內(nèi)容和順序,并通過(guò)添加控制閥門(mén)來(lái)調(diào)節(jié)圖流動(dòng)的方向,再利用圖語(yǔ)義注意力機(jī)制結(jié)合上下文的關(guān)聯(lián)度使語(yǔ)句更為流暢;接著,加入動(dòng)態(tài)訪(fǎng)問(wèn)節(jié)點(diǎn)(dynamic access node),記錄所訪(fǎng)問(wèn)過(guò)的節(jié)點(diǎn),加入沒(méi)有訪(fǎng)問(wèn)過(guò)的節(jié)點(diǎn),并擦除一些廢詞,如介詞(with)、助詞(have)等,從而使描述更具多樣性且不遺漏或重復(fù)描述;最后,在解碼器中加入基于用戶(hù)畫(huà)像的字幕風(fēng)格因子,如專(zhuān)業(yè)型(professional)、浪漫型(romantic)或幽默型(humorous),從而輸出符合用戶(hù)期望的風(fēng)格化語(yǔ)句。
圖2 本文提出的個(gè)性化圖像描述模型
綜上所述,本文的主要貢獻(xiàn)如下:
1)構(gòu)建了基于細(xì)粒度的場(chǎng)景控制模型,以控制所希望描述的圖像內(nèi)容。如:描述幾個(gè)物體、是否描述背景、物體之間的關(guān)系、對(duì)物體進(jìn)行簡(jiǎn)要描述還是詳細(xì)描述,等等。
2)加入門(mén)控閥,將圖流動(dòng)注意力機(jī)制與圖內(nèi)容注意力機(jī)制相結(jié)合,使描述語(yǔ)句更貼合圖像且更流暢。
3)提出基于用戶(hù)畫(huà)像的風(fēng)格因子生成方法,并將風(fēng)格因子加入到語(yǔ)言解碼器中,使生成的描述具有特定風(fēng)格,從而實(shí)現(xiàn)生成結(jié)果的個(gè)性化和多樣性。
目前大多數(shù)圖像描述生成的模型都是基于傳統(tǒng)編解碼架構(gòu),此舉改善了最原始的RNN結(jié)構(gòu)中映射長(zhǎng)度不一致的問(wèn)題[16-17]。為了解決圖像輸入LSTM只傳輸全局特征的問(wèn)題,Wu等[18]提出att-LSTM通過(guò)圖像標(biāo)簽分類(lèi)提取圖像屬性,形成高頻詞。Xu等[19]引入視覺(jué)注意機(jī)制,強(qiáng)制每個(gè)單詞對(duì)應(yīng)于圖像的某個(gè)區(qū)域,使用深度網(wǎng)絡(luò)計(jì)算每個(gè)區(qū)域的對(duì)應(yīng)權(quán)重,然后將權(quán)重乘以對(duì)應(yīng)區(qū)域的特征。注意機(jī)制更符合生物視覺(jué)機(jī)制,但缺點(diǎn)是每個(gè)單詞都必須對(duì)應(yīng)一個(gè)區(qū)域。然而,一些介詞和動(dòng)詞不能在圖像中實(shí)際表達(dá),如“a”和“of”,它們?cè)趫D像中沒(méi)有特定意義,但仍然對(duì)應(yīng)于區(qū)域。為了解決這個(gè)問(wèn)題,Lu等[20]提出哨兵機(jī)制,在生成每個(gè)詞時(shí),首先計(jì)算該詞屬于視覺(jué)詞還是上下文詞的概率,然后根據(jù)權(quán)重計(jì)算整體特征。Chen等[21]利用CNN的空間、多通道和多層次特性,改進(jìn)了CNN的網(wǎng)絡(luò)結(jié)構(gòu),增加了空間注意、通道注意和特征圖。Rennie等[22]使用強(qiáng)化學(xué)習(xí)訓(xùn)練解碼器,將推理階段生成的描述句作為“基線(xiàn)”,刺激分?jǐn)?shù)高于基線(xiàn)的結(jié)果,抑制分?jǐn)?shù)低于基線(xiàn)的句子生成,并使用綠色編碼的方法取得了良好的效果。Anderson等[23]提出了自下而上和自上而下的注意機(jī)制,結(jié)合目標(biāo)檢測(cè),使目標(biāo)區(qū)域劃分更加合理,并使用多層LSTM使生成的描述和圖像更加相關(guān)和平滑。
場(chǎng)景圖包含圖像的結(jié)構(gòu)化語(yǔ)義信息,包括當(dāng)前物體的知識(shí)、屬性和成對(duì)關(guān)系。因此,場(chǎng)景圖可以為圖像檢索、VQA、圖像生成等其他視覺(jué)任務(wù)提供有利的優(yōu)先級(jí)。通過(guò)觀察在視覺(jué)任務(wù)中利用場(chǎng)景圖的潛力,Wang等[24]提出了多種方法來(lái)改進(jìn)從圖像生成場(chǎng)景圖的方法。另一方面,Zellers等[25]也嘗試從文本數(shù)據(jù)中提取場(chǎng)景圖。Yang等[26]以場(chǎng)景圖為橋梁,整合對(duì)象、屬性和關(guān)系知識(shí),發(fā)現(xiàn)更有意義的語(yǔ)義上下文,以便更好地生成描述。本文將動(dòng)態(tài)節(jié)點(diǎn)引入抽象場(chǎng)景圖中,作為控制信號(hào)來(lái)生成所需的和多樣的圖像描述,便于與人交互以達(dá)到更細(xì)粒度的控制。
盡管在描述語(yǔ)句生成的流暢性和準(zhǔn)確性方面取得了令人振奮的成果,但現(xiàn)有的主流圖像描述模型只能生成單調(diào)且風(fēng)格單一的描述語(yǔ)句,然而一些研究試圖引入更具吸引力的描述。其中,Park等[27]基于用戶(hù)先前的描述文本提取更活躍的詞匯,以模仿用戶(hù)個(gè)性化。Gan等[28]收集涵蓋2種風(fēng)格的數(shù)據(jù)集,并試圖通過(guò)無(wú)監(jiān)督學(xué)習(xí)來(lái)傳遞文字游戲(雙關(guān)語(yǔ)),訓(xùn)練制作有趣的字幕。Shuster等[29]完成了更多關(guān)于人類(lèi)性格風(fēng)格的描述模型。Chen等[30]通過(guò)ASG模型控制描述內(nèi)容,并在更精細(xì)的層次上完成圖像描述的生成。Liu等[31]將圖像描述應(yīng)用到藝術(shù)領(lǐng)域,使機(jī)器面對(duì)圖像,像詩(shī)人一樣寫(xiě)詩(shī)。本文利用用戶(hù)級(jí)特征,如性別、年齡和教育程度,完成用戶(hù)的個(gè)性化分類(lèi),以達(dá)到更加精準(zhǔn)的個(gè)性化圖像描述控制。
一個(gè)真正有用且能與人溝通的圖像描述模型,應(yīng)該是一個(gè)能體現(xiàn)用戶(hù)個(gè)性、可供用戶(hù)選擇的可控型圖像描述模型?;谶@一認(rèn)知,本文提出一種細(xì)粒度場(chǎng)景控制的個(gè)性化圖像描述(personalized image captioning with fine-grained control of scene, PICFCS)模型,如圖2所示。該模型由場(chǎng)景細(xì)粒度控制模塊和用語(yǔ)風(fēng)格控制模塊組成,其中,場(chǎng)景控制模塊通過(guò)圖結(jié)構(gòu)來(lái)控制用戶(hù)所希望表達(dá)的場(chǎng)景中的特定目標(biāo)、目標(biāo)屬性和各目標(biāo)間的關(guān)系,以反映用戶(hù)的描述意圖,從而生成更具多樣性的圖像描述。而用語(yǔ)風(fēng)格控制模塊則是通過(guò)由用戶(hù)畫(huà)像所控制的風(fēng)格因子來(lái)生成特定風(fēng)格的描述語(yǔ)句,以生成個(gè)性化的圖像描述。本文采用編碼器—解碼器框架來(lái)構(gòu)建模型,編碼器會(huì)根據(jù)用戶(hù)意圖和用戶(hù)畫(huà)像對(duì)給定圖像I和風(fēng)格因子進(jìn)行編碼,而解碼器則會(huì)生成符合用戶(hù)意圖和個(gè)性的描述語(yǔ)句Y={y1,y2,…,yT}(T為最大生成語(yǔ)句長(zhǎng)度)。
首先,以輸入圖片I為基礎(chǔ),通過(guò)在VisualGenome數(shù)據(jù)集上運(yùn)用圖像卷積和目標(biāo)檢測(cè)等一系列預(yù)處理,獲得場(chǎng)景圖像中的目標(biāo)、目標(biāo)屬性以及目標(biāo)之間的空間關(guān)系,以此來(lái)生成抽象空間關(guān)系圖。具體如下:添加用戶(hù)感興趣的目標(biāo)節(jié)點(diǎn)oi,構(gòu)建出目標(biāo)在圖中的位置,如果對(duì)多個(gè)目標(biāo)感興趣則添加多個(gè)目標(biāo)節(jié)點(diǎn),如果用戶(hù)希望具體了解目標(biāo)的信息則添加一個(gè)或多個(gè)屬性節(jié)點(diǎn)f,并建立目標(biāo)與屬性之間的有向邊。當(dāng)用戶(hù)希望描述目標(biāo)與目標(biāo)之間的關(guān)系時(shí),則生成目標(biāo)與目標(biāo)之間的關(guān)系節(jié)點(diǎn)r,并建立從主語(yǔ)目標(biāo)指向關(guān)系r和從關(guān)系r指向賓語(yǔ)目標(biāo)的2條邊。角色刻畫(huà)不僅需要描述節(jié)點(diǎn)在圖像中對(duì)應(yīng)的視覺(jué)特征,還要體現(xiàn)出它所代表的角色意圖。
由于PICFCS中的節(jié)點(diǎn)不是單獨(dú)的,結(jié)合相鄰節(jié)點(diǎn)的上下文信息有益于對(duì)節(jié)點(diǎn)的語(yǔ)義和角色信息的理解。盡管PICFCS中的邊是單向的,但節(jié)點(diǎn)之間的影響卻是相互的。此外,由于節(jié)點(diǎn)的類(lèi)型不同,信息從一種類(lèi)型節(jié)點(diǎn)傳遞到另一種類(lèi)型節(jié)點(diǎn)的傳遞方式與其反方向也是不同的。因此,本文將原始PICFCS的邊擴(kuò)展為不同的雙向邊,從而生成一個(gè)具有多關(guān)系的圖,利用多關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖中上下文編碼。以圖3為例,模型先檢測(cè)到目標(biāo)節(jié)點(diǎn)“horse”“man”“grass”,然后模型添加其屬性節(jié)點(diǎn)“a brown”“a young”“dry”,最后建立與“horse”相關(guān)的2個(gè)關(guān)系節(jié)點(diǎn)。
圖3 目標(biāo)空間位置關(guān)系
角色感知圖編碼器將基于圖像I的目標(biāo)空間關(guān)系圖編碼為節(jié)點(diǎn)嵌入的集合χ={x1,…,xi,…,x|v|},其中節(jié)點(diǎn)xi不僅要表現(xiàn)出其在圖像中對(duì)應(yīng)的視覺(jué)特征,而且要能反映出它的角色意圖,這對(duì)于區(qū)分具有相同圖像區(qū)域的目標(biāo)節(jié)點(diǎn)和屬性節(jié)點(diǎn)來(lái)說(shuō)至關(guān)重要。此外,因?yàn)槟繕?biāo)空間關(guān)系圖中的節(jié)點(diǎn)并不是單獨(dú)存在的,因此結(jié)合相鄰節(jié)點(diǎn)的上下文信息有利于節(jié)點(diǎn)的語(yǔ)義識(shí)別和角色理解?;谝陨显?,本文構(gòu)建一個(gè)角色感知圖編碼器,在該編碼器中嵌入一個(gè)角色感知節(jié)點(diǎn)來(lái)體現(xiàn)用戶(hù)意圖,還使用一個(gè)多關(guān)系圖卷積網(wǎng)絡(luò)來(lái)進(jìn)行上下文編碼。
(1)
式中:Wr∈R3×d為角色嵌入矩陣,d為特征維度;Wr[k]為Wr的第k行;而pos[i]是一種位置嵌入,用于區(qū)分同一目標(biāo)的同屬性節(jié)點(diǎn)。
雖然目標(biāo)空間關(guān)系圖中的邊是單向的,但相連節(jié)點(diǎn)之間的影響是相互的。而且,由于節(jié)點(diǎn)的類(lèi)型不一樣,要怎樣才能使信息從A節(jié)點(diǎn)傳遞到B節(jié)點(diǎn)不同于它從B節(jié)點(diǎn)傳到A節(jié)點(diǎn)呢?針對(duì)這一問(wèn)題,本文對(duì)原有的不具有雙向邊的目標(biāo)空間關(guān)系圖進(jìn)行擴(kuò)展,從而得到一個(gè)多關(guān)系圖Gm={V,ε,R}。R中有6種邊來(lái)捕捉相鄰節(jié)點(diǎn)之間的相互關(guān)系,分別是:目標(biāo)到目標(biāo)、目標(biāo)到屬性、目標(biāo)到關(guān)系及其反方向。本文使用多關(guān)系圖卷積神經(jīng)網(wǎng)絡(luò)在Gm中編碼圖的上下文信息,用式(2)來(lái)計(jì)算。
(2)
(3)
(4)
(5)
(6)
(7)
(8)
為了了解不同節(jié)點(diǎn)訪(fǎng)問(wèn)的情況,本文在每個(gè)解碼階段進(jìn)行了記錄,用αt表示每個(gè)節(jié)點(diǎn)的注意力得分。本文加入了視覺(jué)哨兵門(mén)來(lái)實(shí)現(xiàn)注意力強(qiáng)度的修改,使模型更專(zhuān)注于重點(diǎn)單詞而不是一些不可視的虛詞,用式(9)計(jì)算。
(9)
式中fvs是一個(gè)由θvs參數(shù)化的全連接網(wǎng)絡(luò),它生成一個(gè)標(biāo)量來(lái)表示是否生成節(jié)點(diǎn)相關(guān)的詞。為了保證圖中所有節(jié)點(diǎn)都應(yīng)被文本描述所表達(dá),不能出現(xiàn)缺失或者重復(fù)的現(xiàn)象,本文采用一種圖節(jié)點(diǎn)動(dòng)態(tài)更新機(jī)制。通過(guò)動(dòng)態(tài)增加和動(dòng)態(tài)擦除來(lái)實(shí)現(xiàn)動(dòng)態(tài)節(jié)點(diǎn)更新,對(duì)于已表達(dá)過(guò)的節(jié)點(diǎn)采用式(10)和式(11)進(jìn)行動(dòng)態(tài)擦除。對(duì)第i個(gè)節(jié)點(diǎn)表示為xt,i,根據(jù)其強(qiáng)度ut,i更新。
(10)
xt+1,i=xt,i(1-ut,iet,i)。
(11)
如果一個(gè)節(jié)點(diǎn)并不需要再表達(dá),則可置為0。采用式(12)和式(13)對(duì)新加入的節(jié)點(diǎn)進(jìn)行更新,包括節(jié)點(diǎn)的屬性。
(12)
(13)
式中fers、fadd為擦除和添加具有不同參數(shù)的全連接網(wǎng)絡(luò)。
要實(shí)現(xiàn)可控的個(gè)性化圖像描述,就必須知道用戶(hù)的特征,而用戶(hù)的特征可以通過(guò)用戶(hù)畫(huà)像來(lái)刻畫(huà)。本文所采用的數(shù)據(jù)來(lái)源于2016年CCF競(jìng)賽平臺(tái),由搜狗公司提供的用戶(hù)搜索數(shù)據(jù),其中每條數(shù)據(jù)包含用戶(hù)的搜索關(guān)鍵詞ID、Age(年齡)、Gender(性別)、Education(教育程度)。由于用戶(hù)在搜索數(shù)據(jù)的過(guò)程中,所使用的關(guān)鍵詞和用戶(hù)本身屬于從屬關(guān)系,對(duì)同一類(lèi)用戶(hù)而言,他們所使用的關(guān)鍵詞通常具有一定的相似性和相關(guān)性,即同類(lèi)用戶(hù)所用關(guān)鍵詞之間的相似度較高,因此我們對(duì)具有相似搜索關(guān)鍵詞的用戶(hù)聚為一類(lèi)。如:1)18 歲以下的人群搜索學(xué)業(yè)相關(guān)的數(shù)據(jù)會(huì)更多;2)女性一般會(huì)比男性在護(hù)膚、化妝品上進(jìn)行更多的搜索;3)受教育程度高的人會(huì)使用更專(zhuān)業(yè)的術(shù)語(yǔ)來(lái)搜索數(shù)據(jù)。因此,本文采用基于搜索關(guān)鍵詞的用戶(hù)畫(huà)像構(gòu)建方法。為了簡(jiǎn)單起見(jiàn),基于用戶(hù)畫(huà)像,本文將用戶(hù)的風(fēng)格簡(jiǎn)化成3類(lèi):專(zhuān)業(yè)型、幽默型和浪漫型。本文提出的用戶(hù)畫(huà)像的構(gòu)建及其風(fēng)格歸類(lèi)過(guò)程如下:
首先,采用句向量和詞向量混合訓(xùn)練的 Doc2vec 模型對(duì)關(guān)鍵詞進(jìn)行向量構(gòu)建。
其次,采用式(14)的S-TFIWF 權(quán)重計(jì)算方法對(duì)關(guān)鍵詞加權(quán),并基于K-means算法對(duì)加權(quán)后的數(shù)據(jù)進(jìn)行聚類(lèi)處理,通過(guò)計(jì)算關(guān)鍵詞之間的相似度建立用戶(hù)喜好詞庫(kù)。
(14)
最后,采用Stacking集成模型,融合SVM分類(lèi)算法對(duì)搜索關(guān)鍵詞進(jìn)行分類(lèi)和預(yù)測(cè),最終得到用戶(hù)的標(biāo)簽信息,即用戶(hù)的用語(yǔ)風(fēng)格。
對(duì)本文所用的用戶(hù)數(shù)據(jù)集進(jìn)行可視化處理,并根據(jù)用戶(hù)的一些特點(diǎn)做基本的風(fēng)格分類(lèi),結(jié)果如圖4所示。
圖4 用戶(hù)風(fēng)格聚類(lèi)
(15)
傳統(tǒng)的語(yǔ)言L(fǎng)STM網(wǎng)絡(luò)用于生成圖像描述時(shí),主要是捕捉句子中單詞之間的長(zhǎng)期順序依賴(lài)關(guān)系,而沒(méi)有考慮語(yǔ)言中其他語(yǔ)言模式的風(fēng)格。為了解決這個(gè)問(wèn)題,本文提出一個(gè)分解式語(yǔ)言L(fǎng)STM模塊,將傳統(tǒng)語(yǔ)言L(fǎng)STM模型中輸入xt的權(quán)重矩陣Wx分解為3個(gè)矩陣Ux、Sx、Vx的乘積,
Wx=UxSxVx。
(16)
在分解式LSTM模型中,矩陣集Ux、Vx在不同的樣式之間共享,這些樣式被設(shè)計(jì)用來(lái)對(duì)所有文本數(shù)據(jù)中的一般事實(shí)描述建模。矩陣Sx代表特定的用戶(hù)用語(yǔ)風(fēng)格,因此可以提取文本數(shù)據(jù)中的底層樣式因素。具體來(lái)說(shuō),本文用SP表示標(biāo)準(zhǔn)語(yǔ)言描述中的專(zhuān)業(yè)型文體的因子矩陣集,SR表示浪漫型文體的因子矩陣集,SH表示幽默型文體的因子矩陣集。最終,本文得到了分解式LSTM的計(jì)算過(guò)程用式(17)來(lái)表示。
(17)
本章用實(shí)驗(yàn)來(lái)評(píng)估所提出模型的有效性, 首先介紹實(shí)驗(yàn)用的基準(zhǔn)數(shù)據(jù)集和評(píng)估指標(biāo), 并給出實(shí)驗(yàn)的實(shí)現(xiàn)細(xì)節(jié), 然后將本文方法與最新的一些方法進(jìn)行比較, 并對(duì)生成描述語(yǔ)句的結(jié)果進(jìn)行定量和定性分析。
3.1.1 數(shù)據(jù)集
本文主要使用FlickrStyle 10K(1)https:∥zhegan27.github.io/Paper.html和MSCOCO 2014(2)http:∥cocodataset.org/數(shù)據(jù)集來(lái)驗(yàn)證模型的有效性。FlickrStyle 10K是在Flickr 30K數(shù)據(jù)集中創(chuàng)建的,該數(shù)據(jù)包含10 000張圖片,每張圖片至少標(biāo)注了1個(gè)幽默型語(yǔ)句、1個(gè)浪漫型語(yǔ)句和5個(gè)真實(shí)標(biāo)注語(yǔ)句,實(shí)驗(yàn)將7 000張圖像用于訓(xùn)練,2 000張圖像用于測(cè)試,1 000張圖像用于驗(yàn)證,測(cè)試集中收集了由5名不同工作人員撰寫(xiě)的5種浪漫和幽默型的評(píng)價(jià)說(shuō)明。MSCOCO 2014數(shù)據(jù)集包含123 287張圖像, 每張圖像至少有5個(gè)真實(shí)標(biāo)注語(yǔ)句用于圖像描述任務(wù),實(shí)驗(yàn)中將113 287幅圖像用于訓(xùn)練,5 000幅圖像用于驗(yàn)證,5 000幅圖像用于測(cè)試。
3.1.2 評(píng)價(jià)標(biāo)準(zhǔn)
實(shí)驗(yàn)中使用的評(píng)價(jià)指標(biāo)包括BLEU1—BLEU4、METEOR、CIDEr[32]、SPICE[33]和ROUGE-L[34]。對(duì)于多樣性測(cè)量,首先對(duì)每個(gè)模型的相同數(shù)量的圖像標(biāo)題進(jìn)行采樣,并使用2種類(lèi)型的度量來(lái)評(píng)估采樣標(biāo)題的多樣性:1)n-gram多樣性(Div-n),一種廣泛使用的度量[4,9],即距離圖與總字?jǐn)?shù)的比率;2)SelfCIDEr[35],一種評(píng)估語(yǔ)義多樣性的最新指標(biāo),源自潛在語(yǔ)義分析,分?jǐn)?shù)越高標(biāo)題就越多樣化。
本文實(shí)驗(yàn)在pytorch框架上實(shí)現(xiàn),使用python 3.6語(yǔ)言編程, 在NVIDIA GeForce RTX 3090 GPU上進(jìn)行實(shí)驗(yàn)。本文使用Faster R-CNN來(lái)檢測(cè)圖像中包含的目標(biāo), Faster R-CNN首先在Visual Genome數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練, 然后在MSCOCO數(shù)據(jù)集上進(jìn)行微調(diào)。因此, 對(duì)于每一幅經(jīng)過(guò)預(yù)處理得到的大小為256×256的圖像, 可以得到36個(gè)2 048維的圖像特征向量。在解碼階段,使用LSTM作為語(yǔ)言生成器, 其輸入層和隱藏層數(shù)量均設(shè)置為512,嵌入向量的維度設(shè)置為512。設(shè)置參數(shù)λ的值為0.2。整個(gè)訓(xùn)練過(guò)程分為以下2個(gè)階段: 在第一階段, 利用交叉熵?fù)p失函數(shù)訓(xùn)練模型, 訓(xùn)練的批量大小為64。設(shè)置動(dòng)量大小為0.9,學(xué)習(xí)率為1×10-4。在訓(xùn)練過(guò)程中, 每經(jīng)過(guò)5個(gè)epoch, 學(xué)習(xí)率衰減為原來(lái)的0.7倍。使用集束搜索技術(shù)從候選語(yǔ)句集中選擇最合適的描述語(yǔ)句, 集束的大小設(shè)置為3。
3.3.1 在FlickrStyle上生成描述示例
表1展示了所提出的模型在FlickrStyle上的實(shí)驗(yàn)結(jié)果,其中不同顏色代表描述對(duì)應(yīng)顏色的目標(biāo)。從表1的第2列不難看出,本文提出的方法可以有效地從位置、屬性、關(guān)系等方面按照用戶(hù)的意圖生成相應(yīng)的圖像描述,以圖(a)為例,“Two people”既可描述成“A man and a woman”,也可以更加細(xì)粒度地描述成“A group of skiers”。從第2列的描述語(yǔ)句對(duì)圖(c)中目標(biāo)與目標(biāo)之間的動(dòng)作關(guān)系“jumping to catch”的描述可知,模型可以通過(guò)有向節(jié)點(diǎn)的控制來(lái)表達(dá)用戶(hù)所希望描述的物體及物體之間的關(guān)系,更加細(xì)粒度地描述用戶(hù)所感興趣的內(nèi)容或要忽略的內(nèi)容,從而更高效地表達(dá)關(guān)鍵性的、用戶(hù)需要的細(xì)節(jié)信息。從圖(b)第4列可以看出,“Two horses graze in a field near trees”可以浪漫地表述成“Two horses graze in a field, as a landscape painting”,也可以幽默地表述成“A horse graze in a field near trees, wants go home”。本模型可以顯著提升句子的可讀性,豐富了圖像描述中文字的表現(xiàn)力。
表1 在數(shù)據(jù)集FlickrStyle上的實(shí)驗(yàn)結(jié)果
表2展示了本文方法與其他方法的性能對(duì)比,其中Ours_P、Ours_R和Ours_H分別代表本文的專(zhuān)業(yè)型、浪漫型以及幽默型字幕生成方法。與普通的圖像描述數(shù)據(jù)集相比,F(xiàn)lickrStyle數(shù)據(jù)集中的標(biāo)準(zhǔn)描述語(yǔ)句更具多樣性、表現(xiàn)力和吸引力。從表2中可見(jiàn)本文方法的各項(xiàng)評(píng)價(jià)指標(biāo)都要優(yōu)于對(duì)比方法,說(shuō)明本文方法所產(chǎn)生的描述更具多樣性、更受歡迎和易于記憶。這種帶有樣式的圖像字幕任務(wù)有望為許多現(xiàn)實(shí)世界的應(yīng)用程序提供便利。
表2 不同圖像描述生成方法在FlickrStyle上的性能比較
從圖5中可以看出,本文模型能夠生成更細(xì)粒度的描述,描述的表達(dá)方式也更具個(gè)性化,更接近真人的文字表達(dá)。
圖5 基于場(chǎng)景圖的模型對(duì)比實(shí)例
3.3.2 多樣性評(píng)估
本文模型圖像描述生成的一個(gè)好處是可以基于多樣化生成不同的圖像描述,以不同層次的細(xì)節(jié)描述不同方面的圖像內(nèi)容。如表3所示,本文模型生成的描述比競(jìng)爭(zhēng)者的模型更加多樣化,特別是在SelfCIDEr評(píng)分上,該評(píng)分側(cè)重于語(yǔ)義相似性。表1中演示了帶有不同用戶(hù)意圖的示例圖像,本文模型至少能生成3種不同用戶(hù)意圖的描述。
表3 與先進(jìn)模型的多樣性評(píng)估對(duì)比
3.3.3 用戶(hù)喜愛(ài)度評(píng)估
本文設(shè)計(jì)了一個(gè)網(wǎng)站,使用500張圖片,每10張圖片為一組,調(diào)查對(duì)比風(fēng)格化的圖像描述和傳統(tǒng)無(wú)風(fēng)格的圖像描述。使用同一張圖片,將NIC、Multi-task、風(fēng)格浪漫型模型和風(fēng)格幽默型模型生成的4個(gè)描述呈現(xiàn)給用戶(hù),讓他們選出更吸引他們的描述。表4的結(jié)果表明,88.5%的用戶(hù)認(rèn)為帶個(gè)性化的描述更具吸引力,也更適合放入社交媒體中。
表4 用戶(hù)喜愛(ài)度投票結(jié)果
3.3.4 消融實(shí)驗(yàn)結(jié)果分析
本文模型主要包含以下幾個(gè)模塊:空間關(guān)系圖(spatial relation,SR)、多關(guān)系卷積神經(jīng)網(wǎng)絡(luò)(MR-GCN,MG)、圖語(yǔ)義注意力(graph content attention,GCA)、圖流動(dòng)注意力(graph flow attention,GLA)、動(dòng)態(tài)訪(fǎng)問(wèn)節(jié)點(diǎn)(dynamic access node,DAN)、風(fēng)格因子(factored,F(xiàn)AT)和集束搜索(beam search,BS)。為了驗(yàn)證各模塊的貢獻(xiàn),進(jìn)行了消融實(shí)驗(yàn),結(jié)果如表5所示,其中“√”表示對(duì)應(yīng)的模塊被選中。由于MSCOCO數(shù)據(jù)集中的描述語(yǔ)句是不帶風(fēng)格化的,因此表5中最后一組在加入了風(fēng)格化模塊后就無(wú)法測(cè)試MSCOCO數(shù)據(jù)集了,對(duì)應(yīng)實(shí)驗(yàn)結(jié)果用“—”表示。第3組在編碼器中加入了空間關(guān)系圖,極大地提升了模型的性能,這說(shuō)明區(qū)分同一區(qū)域不同的節(jié)點(diǎn)至關(guān)重要;第4、5組中分別加入了圖語(yǔ)義注意力和圖流動(dòng)注意力,可以看出2個(gè)注意力之間有一定的互補(bǔ)性,使得描述語(yǔ)句更通順;第6、7組中的動(dòng)態(tài)訪(fǎng)問(wèn)節(jié)點(diǎn)以及集束搜索均在數(shù)據(jù)量更大的MSCOCO上表現(xiàn)更佳;最后一組加入風(fēng)格因子后,模型的性能得到進(jìn)一步提升,這主要得益于風(fēng)格因子的多樣性。
表5 消融實(shí)驗(yàn)結(jié)果
本文旨在探索一種可以同時(shí)實(shí)現(xiàn)對(duì)圖像描述內(nèi)容控制和描述語(yǔ)句風(fēng)格控制的方法。本文PICFCS模型不僅可以控制圖像描述生成中的不同細(xì)節(jié)(例如:描述什么物體,是否描述物體的屬性,以及物體之間的關(guān)系等),還通過(guò)用戶(hù)的年齡、性別以及受教育程度等標(biāo)簽構(gòu)建用戶(hù)畫(huà)像,并通過(guò)用戶(hù)畫(huà)像選擇更貼近用戶(hù)風(fēng)格的語(yǔ)句描述,從而提升描述模型與用戶(hù)之間的交互性。結(jié)合風(fēng)格化的圖像描述,使得描述語(yǔ)句更具可讀性,更接近真人的表達(dá),使機(jī)器與人類(lèi)之間的交流更自然、更順暢。