0
本文介紹的是CVPR 2020上錄用為Oral的論文《?Say As You Wish: Fine-grained Control of Image Caption Generation with Abstract Scene Graph》(已開源),文章作者是中國人民大學博士生陳師哲同學,這項工作是陳師哲同學在澳大利亞阿德萊德大學吳琦老師組訪問時所完成。
論文鏈接:https://arxiv.org/abs/2003.00387
代碼鏈接:https://github.com/cshizhe/asg2cap
?圖像描述生成(Image Captioning)是一個復雜的問題,需要機器掌握多種計算機視覺語義識別技術,例如物體識別、場景識別、屬性和關系檢測等等,同時還需要將所有檢測的結果總結為一個自然語言表述的句子。隨著深度學習技術的迅速發(fā)展,近期圖像描述生成模型取得了相當大的進展,甚至在某些準確度相關指標上超過了人類撰寫的文本描述。
盡管現(xiàn)有模型可以生成較為流利和視覺相關的圖像描述,但卻存在著與用戶交互性差、多樣性低等問題。一方面,大多數(shù)圖像描述模型僅被動地生成句子,并不考慮用戶感興趣的內(nèi)容或者期望描述的詳細程度。例如,在圖1中,如果用戶希望了解關于花朵的詳細信息,我們可以很快地為其說出花的顏色、數(shù)量等,但是現(xiàn)有系統(tǒng)卻無法滿足用戶這一簡單需求。另一方面,這種被動生成模式容易造成句子缺乏多樣性,傾向于使用常見的高頻表達生成較為“安全”的句子,較為簡單空洞,且缺乏關鍵性的、用戶所需的細節(jié)信息。
圖1:意圖無關與細粒度可控的圖像描述對比。意圖無關的圖像描述不能生成用戶想要描述的內(nèi)容且缺乏多樣性,而所提出的細粒度可控圖像描述模型可根據(jù)用戶意圖生成可控的、多樣化的圖像內(nèi)容描述。
為了解決上述問題,少數(shù)工作提出了主動控制圖像描述生成,主要可以分為風格控制和內(nèi)容控制兩類。風格控制是指生成不同風格的圖像文本描述,例如幽默、浪漫等等,而內(nèi)容控制則旨在控制描述的圖像內(nèi)容,例如指定圖片的不同區(qū)域、不同物體,從而使得模型能夠描述用戶感興趣的圖片內(nèi)容。但是,現(xiàn)有工作都僅提供非常粗粒度的控制信號,例如一個類別標簽或者圖像區(qū)域。這些控制信號無法在更細粒度的級別上控制圖像描述的生成,例如,是否需要生成物體的屬性,要生成多少屬性標簽;是否需要描述與目標物體相關的物體,以及物體之間的關系是什么;句子的描述順序應該如何等等。
我們認為,一個真正有用以及好用的圖像描述生成模型,應該是可控的,因此,我們提出了一種更加細粒度的控制信號,稱為抽象場景圖(Abstract Scene Graph, ASG),可以通過圖結構同時控制所希望表達的物體、屬性和關系,不僅能反映用戶細粒度的描述意圖,也能生成更具有多樣性的圖像描述。如圖1所示,ASG是一個包含三類抽象節(jié)點的有向圖,這三類抽象節(jié)點分別代表用戶希望描述的物體(object)、屬性(attribute)和關系(relationship),每個抽象節(jié)點在圖中有具體區(qū)域的定位,但卻不需要任何具體語義標簽。因為ASG不需要任何語義識別,它可以方便地由用戶限定或自動生成。
為了基于指定ASG生成圖像描述,我們提出了ASG2Caption模型,和普通用于圖像描述生成的編碼器-解碼器框架相比,能夠解決ASG控制圖像描述生成中的三個主要挑戰(zhàn)。
第一,因ASG僅包含抽象的場景框架,無任何語義標簽,所以進行編碼時既要考慮圖中所表達的用戶意圖,又要識別圖中節(jié)點的語義。因此,我們提出角色感知的圖編碼器,以區(qū)分不同節(jié)點的細粒度意圖,并利用圖中上下文信息增加每個節(jié)點的語義識別能力。
第二,ASG不僅可以通過節(jié)點控制需要描述的圖片內(nèi)容,同時也通過節(jié)點之間連接的方式隱含地控制了描述的結構順序。因此,我們提出的解碼器使用基于圖注意力機制分別考慮節(jié)點的語義內(nèi)容和連接結構,使得模型可以基于圖流動順序描述指定的節(jié)點內(nèi)容。
最后,生成的圖像描述需要完全覆蓋ASG中指定節(jié)點,不能有節(jié)點內(nèi)容的缺失或重復。為此,我們在解碼過程中逐漸更新編碼的圖表示,以記錄跟蹤圖中不同節(jié)點的訪問狀態(tài)。
本文的主要貢獻包括以下三點:
1. 本文首次提出ASG抽象場景圖以細粒度地控制圖像描述生成。ASG可以控制圖像描述生成中的不同細節(jié),例如描述什么物體,是否描述物體的屬性,以及物體之間的關系等。
2. 所提出的ASG2Caption模型由角色感知圖編碼器和基于圖的語言解碼器構成,能夠自動識別ASG中的抽象節(jié)點,并根據(jù)圖中指定的語義內(nèi)容和描述順序生成所需的圖像描述。
3. 由于缺乏具有ASG標注的數(shù)據(jù)集,我們基于已有圖像描述數(shù)據(jù)集VisualGenome 和 MSCOCO自動構建ASG標簽進行訓練和測試。我們的模型在這兩個數(shù)據(jù)集上都取得了更好的控制性。此外,模型可基于多樣化的ASG生成更具有多樣性的圖像描述。
圖2. 細粒度可控圖像描述ASG2Caption模型框架圖。
1. 抽象場景圖 (Abstract Scene Graph, ASG)
為了細粒度地表達用戶意圖,我們提出抽象場景圖概念(Abstract Scene Graph, ASG)作為控制信號,以生成自定義的圖像描述。
如圖2左上方所示,ASG中的節(jié)點根據(jù)意圖角色可分為三類:物體節(jié)點(object node),屬性節(jié)點(attribute node)和關系節(jié)點 (relationship node)。
如果用戶對物體o感興趣,則可將o在圖像的區(qū)域添加到ASG中作為物體節(jié)點;如果用戶希望了解關于物體o的更多細節(jié)信息,可以為其添加不同數(shù)目的屬性節(jié)點a,并建立a與o之間的有向邊;如果用戶希望描述兩個物體之間的關系,可在物體間添加一個關系節(jié)點r,并建立從關系的主語物體指向r和r指向關系的賓語物體的兩條邊。
由于ASG不需要任何語義標簽,我們僅需要使用預訓練的object proposal generator,以及一個簡單的判斷物體間是否存在關系的二分類器, 就可自動地生成不同的ASG。同時,用戶也可以方便地構建抽象場景圖ASG,用戶不需要繁瑣地構建完整的ASG,僅需像前人工作一樣指定關注的物體或者想描述的詳細程度等,我們可通過算法根據(jù)用戶需求自動生成完整的ASG用于控制,從而具有良好的用戶交互性。
2. ASG2Caption模型
給定圖像和指定的ASG,模型目標是生成流利的文本描述,使其嚴格按照ASG的控制以滿足用戶的意圖。該模型整體框架如圖 2所示,包括角色感知圖編碼器和基于圖的語言解碼器。
2.1角色感知圖編碼器:用于對圖像和場景抽象圖ASG 編碼。
(1) 角色感知向量。
由于節(jié)點除需要刻畫其在圖像中對應的視覺特征外,還應反映出它的意圖角色。這由于對于區(qū)分具有相同圖像區(qū)域的節(jié)點來說至關重要,例如對應于同一區(qū)域的物體節(jié)點和屬性節(jié)點。因此,我們提出使用角色感知向量增強節(jié)點表征,得到意圖角色相關的節(jié)點表示。
(2) 多關系圖卷積神經(jīng)網(wǎng)絡。
由于ASG中的節(jié)點不是孤立的,相鄰節(jié)點的上下文信息有益于理解節(jié)點的語義和角色信息。盡管ASG中的邊是單向的,但節(jié)點之間的影響卻是相互的。此外,由于節(jié)點的類型不同,信息從一種類型節(jié)點傳遞到另一種類型節(jié)點的傳遞方式與其反方向也是不同的。因此,我們將原始ASG的邊擴展為不同的雙向邊,從而生成一個具有多關系的圖,利用多關系圖卷積神經(jīng)網(wǎng)絡(MR-GCN)進行圖中上下文編碼。。
2.2 基于圖的語言解碼器: 旨在將編碼的圖轉(zhuǎn)換為圖像文本描述。
(1) 圖注意力機制。
與之前基于獨立的圖像向量集合進行解碼不同,編碼的圖不僅包括節(jié)點特征表示,還具有圖中結構化的連接關系。其中,節(jié)點的連接方式反映了用戶所希望的描述順序,不能夠被解碼器所忽略。例如,如果當前關注的節(jié)點為關系節(jié)點,那么根據(jù)圖的流向,下一個需要訪問的節(jié)點很可能是連接該關系節(jié)點的賓語物體節(jié)點。
為了同時考慮圖中語義內(nèi)容和圖結構信息,我們結合了兩種不同的注意力機制,分別稱為圖語義注意力和圖流向注意力。圖語義注意力考慮查詢向量與圖編碼向量之間的語義相關性;圖流向注意力用于刻畫圖中的結構流向信息,如圖3所示。最后,圖注意力機制動態(tài)地融合了圖語義注意力和圖流向注意力。
圖3. 圖流向注意力機制考慮圖結構信息對圖像描述生成的影響。
(2) 圖更新機制。
為滿足用戶的意圖需求,ASG中所有節(jié)點都應被文本描述所表達,不能出現(xiàn)缺失或者重復的現(xiàn)象。因此,為了提高從編碼圖到句子描述的質(zhì)量,我們提出了一個動態(tài)記錄圖節(jié)點訪問狀態(tài)的圖更新機制。在每個解碼步,我們先將已表達過的ASG中的節(jié)點進行動態(tài)擦除,如果一個節(jié)點并不需要再表達,則可置為0;然后動態(tài)寫入新的節(jié)點信息,更新圖中節(jié)點的特征表示,以記錄不同節(jié)點的訪問狀態(tài)。
我們基于兩個廣泛使用的圖像描述數(shù)據(jù)集VisualGenome和 MSCOCO的標注,自動構建細粒度可控模型所需的訓練數(shù)據(jù)。其中, MSCOCO數(shù)據(jù)集的ASG比VisualGenome數(shù)據(jù)集更為復雜,包含更多的關系節(jié)點和更長的文本描述。
我們分別從可控性(Controllability)和多樣性(Diversity)兩個方面評測生成的圖像描述質(zhì)量。
1. 可控性評估。
由于細粒度可控圖像描述生成是一個新的任務,我們基于現(xiàn)有模型精心設計了以下兩類基線模型進行比較。第一類為傳統(tǒng)意圖無關的圖像描述生成模型,第二類模型將上述模型擴展為基于ASG控制的圖像描述生成模型。表1比較了不同模型的結果。由于控制信號ASG與標注的文本描述對應,可控類模型性能明顯由于意圖無關的無控制模型。所提出的ASG2Caption模型在所有的評價指標上都顯著地超過了基線模型性能,包括整體圖像描述質(zhì)量和ASG結構對齊性能。尤其對于細粒度的屬性控制,我們將屬性對齊誤差減少了將近一半。圖4為基于用戶生成的ASG控制圖像描述生成的例子。
表1:不同模型基于ASG的可控圖像描述生成性能對比。
圖4. 模型根據(jù)用戶指定的不同ASG生成的可控圖像文本描述。ASG中細微的差別(例如邊的方向)也代表了用戶的不同意圖,將使得模型生成不同的圖像描述。
2. 多樣性評估。
基于ASG控制的圖像描述生成的一個好處是可以基于多樣化的ASG生成不同的圖像描述,以不同層次的細節(jié)描述不同方面的圖像內(nèi)容。我們與現(xiàn)有多樣性評測最佳的方法進行比較,結果見表2,我們模型生成的圖像描述具有更高的多樣性。
圖5展示了為示例圖像自動采樣生成的不同ASG及其對應生成的可控圖像描述。
生成的描述有效地按照給定ASG進行句子生成,由于ASGs的多樣性使得我們的模型能產(chǎn)生顯著多樣化的圖像文本描述。
表2. 和現(xiàn)有最佳模型比較多樣化的圖像文本描述生成。
圖5. 基于自動采樣的ASG生成多樣化圖像描述示例
3. 消融實驗。
為驗證ASG2Caption模型中不同部件的貢獻,我們在表3中提供了大量的消融實驗結果。所提出的不同模塊均對性能具有幫助。
表3. ASG2Caption模型各組件貢獻的消融實驗。
現(xiàn)有大部分圖像描述工作都是被動地生成句子,完全由訓練集中數(shù)據(jù)的樣式來決定可能生成的句子的樣式,不能與用戶交互自由控制,而且往往多樣性也很低。因此,在這篇論文中,我們探索了一種細粒度的控制信號ASG,用于控制生成的圖像描述應該關注圖像中的哪些物體、關系、描述的詳細程度等,并提出ASG2Caption模型基于圖控制生成圖像描述。通過這種細粒度控制,我們不僅可以實現(xiàn)更好的交互性、可解釋性,同時也使得生成的描述更具有多樣性。
文章代碼已開源:https://github.com/cshizhe/asg2cap
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。