北卡教堂山分校 (UNC) 虞立成等人近日發(fā)表的 CVPR 2018 論文提出了模塊化注意力模型 MAttNet,將 Referring Expression(指示表達(dá))分解為三個(gè)模塊:主語、位置和關(guān)系,并基于句子和圖片的聯(lián)合注意力解析,解決基于指示表達(dá)的目標(biāo)定位問題。實(shí)驗(yàn)表明 MAttNet 在基于自然語句的目標(biāo)檢測(cè)和分割兩種任務(wù)上都大幅優(yōu)于前文的方法。該論文已被 CVPR 2018 錄取,并提供了代碼以及 demo。
代碼鏈接:https://github.com/lichengunc/MAttNet
Demo 鏈接:http://vision2.cs.unc.edu/refer/comprehension
任務(wù)
Referring Expression(指示表達(dá))指描述圖片中某一特定物體的一句自然語句。與 Image Captioning 任務(wù)不同的是 Referring Expression 具有唯一性和區(qū)域性,比如「穿紅色毛衣的女人」或「右邊的男孩」。在日常生活中,無論人與人之間的交流或是人機(jī)交互,都會(huì)涉及這種指示性的短語表達(dá)。所以理解它們并準(zhǔn)確定位所描述的物體成為自然交互的必要條件。
指示表達(dá)理解的問題可以被定義成:從圖片 I 里的各個(gè)物體〖O={o_i }〗_(i=1)^N 中選出那個(gè)「最」能被指示表達(dá) r 貼切描述的物體 o^*。過往在此問題上的研究可以分為兩類:基于 CNN-LSTM 的框架建模的 P(r|o),以及基于聯(lián)合概率框架建模的 P(r, o)。本文使用后者。
模型與方法
文章對(duì)數(shù)據(jù)集進(jìn)行統(tǒng)計(jì)后發(fā)現(xiàn)根據(jù)目標(biāo)物體和其他物體的差異性,對(duì)它的指示表達(dá)可以涉及不同類型的信息。例如,如果目標(biāo)物體為十個(gè)黑球中的一個(gè)紅球,那么對(duì)它的指示表達(dá)可以很簡(jiǎn)單得說「紅球」。如果相同的紅球被放在其他三個(gè)紅球中,那么基于位置的信息可能變得更加重要,例如「右邊的紅球」。或者,如果在場(chǎng)景中有 100 個(gè)紅球,那么球與其他物體之間的關(guān)系可能是最明顯的信息,例如「貓旁邊的紅球」。因此,將指示語句的理解模型進(jìn)行模塊化分析便顯得非常自然直觀。本文利用主語,位置和關(guān)系模塊來解析輸入的指示語句,然后觸發(fā)不同的視覺模塊進(jìn)行處理。
本文提出的模塊化注意力模型 (MAttNet) 如圖 1 所示。模型首先將輸入的指示表達(dá)分解成三個(gè)短語表征,作為三個(gè)視覺模塊的輸入,這些視覺模塊用不同的注意力模型分別計(jì)算與其對(duì)應(yīng)的短語的匹配分?jǐn)?shù)。最后,三個(gè)模塊的匹配分?jǐn)?shù)的加權(quán)總和成為整體匹配得分。整個(gè)模型可以無縫鏈接 Mask R-CNN 框架,因而可以做目標(biāo)定位和目標(biāo)分割兩個(gè)任務(wù)。
具體來分析模型的細(xì)節(jié)。首先是自然語言的分解模塊,作者提出的 Language Attention Network(語言注意力模型)對(duì)輸入的指示表達(dá)進(jìn)行主語,位置和關(guān)系的三個(gè)模塊的拆解。每個(gè)拆解后的成分會(huì)有兩個(gè)輸出,其一是該模塊的詞向量表征,其二是該模塊占整句句子的權(quán)重。然后是三個(gè)視覺模塊,給定某個(gè)備選物體 (candidate object),我們計(jì)算它與三個(gè)詞向量表征的匹配分?jǐn)?shù)。其中,主語的視覺模塊抽取物體的 R-CNN 特征,并使用該模塊內(nèi)部的軟注意力模型抽取與詞向量相關(guān)的區(qū)域,計(jì)算匹配分?jǐn)?shù);位置的視覺模塊抽取物體的位置特征,將其映射到高維空間后與位置詞向量進(jìn)行匹配;關(guān)系的視覺模塊抽取其周邊其他物體的特征,使用多示例學(xué)習(xí) (Multiple Instance Learning) 選取與關(guān)系詞向量最相關(guān)的周邊物體,計(jì)算得分。最后,三個(gè)匹配得分會(huì)和上述的三個(gè)權(quán)重進(jìn)行內(nèi)積,得到最終匹配得分。
圖 1:模塊化注意網(wǎng)絡(luò) (MAttNet)
實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)中,首先為了和前文進(jìn)行公平比較,使用了 VGG16 特征,在目標(biāo)定位上超過前文~2%。配合上 Mask R-CNN 的特征后,優(yōu)勢(shì)擴(kuò)展為~7%。在目標(biāo)分割上,基本達(dá)到前文最佳精度的兩倍。此外,模型具有很好的解釋性,作者展示了三個(gè)模塊各自注意到的相關(guān)單詞和視覺區(qū)域。如圖 2 所示。
結(jié)束語
指示表達(dá)的應(yīng)用很廣,人與人的對(duì)話系統(tǒng)和人機(jī)交互系統(tǒng)都經(jīng)常會(huì)涉及對(duì)圖片或場(chǎng)景里的某個(gè)目標(biāo)物體進(jìn)行自然語言的描述。從作者提供的 demo 來看,方向性的指示表達(dá)和對(duì)「人」這一類的指示表達(dá),理解得都還比較準(zhǔn)確;但對(duì)其他物體的指示理解還有進(jìn)一步的提升空間。作者在提供的代碼的最后寫了一些 Notes,可以作為后續(xù)工作的思考方向。
圖 2:MAttNet 在 RefCOCOg 上的結(jié)果:第一列為原圖,第二列為輸入的指示表達(dá)與其分解結(jié)果,第三列為主語模塊的注意區(qū)域;第四列為主語模塊的 attribute 輸出;第五列為目標(biāo)定位(藍(lán)筐);第六列為目標(biāo)分割。