鄒婷
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都611756)
圖像分類作問題是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)基礎(chǔ)性課題,該問題伴隨著深度學(xué)習(xí)技術(shù)的進(jìn)步已取得巨大進(jìn)展,包括目標(biāo)分類、動(dòng)作分類甚至場(chǎng)景分類等問題的研究都已經(jīng)進(jìn)行很長(zhǎng)一段時(shí)間,其中部分任務(wù)已經(jīng)接近人類的水準(zhǔn)。而在真實(shí)應(yīng)用場(chǎng)景下,如智能機(jī)器人,則需要對(duì)場(chǎng)景進(jìn)行更為詳細(xì)的理解,除了識(shí)別圖片顯然在發(fā)生的行為以外,我們還需要了解諸如“誰在進(jìn)行活動(dòng)”、“使用的工具”、“活動(dòng)發(fā)生的場(chǎng)所”等信息用于更高層次的場(chǎng)景理解。
靜態(tài)圖像中的行為以及人物交互識(shí)別任務(wù)在過去的很長(zhǎng)一段時(shí)間已經(jīng)成為計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)之一[4],早期的數(shù)據(jù)集和方法主要集中在識(shí)別較少數(shù)量的動(dòng)作[5],近年來的相關(guān)數(shù)據(jù)集則開始關(guān)注人與人、人與物之間的交互[6-7],而最新的研究已有更為詳細(xì)的、結(jié)構(gòu)化的數(shù)據(jù)集被提出,以便于解決更高層次的理解問題。Yatskar等人[8]利用自然語言資源提出的imSitu就是一個(gè)更大、信息更為全面的數(shù)據(jù)集,該數(shù)據(jù)集以一個(gè)三元組的形式描述靜態(tài)圖像的場(chǎng)景信息,與此同時(shí),他們使用了一個(gè)CRF模型用于建模動(dòng)作和交互角色-名詞實(shí)體之間的依賴關(guān)系。在本文的工作中,實(shí)驗(yàn)使用Transformer模型來解決本任務(wù),捕獲動(dòng)作-交互角色-名詞實(shí)體之間的相關(guān)性關(guān)系。
Transformer[12]在自然語言處理中受到廣泛的應(yīng)用,已經(jīng)證實(shí)其結(jié)構(gòu)可捕獲語法用于生成句子,近來也有部分工作將其用于圖像領(lǐng)域并取得較為不錯(cuò)的效果[13-14],受啟發(fā)于以上兩點(diǎn),本文將其運(yùn)用于場(chǎng)景預(yù)測(cè)任務(wù)。場(chǎng)景預(yù)測(cè)包括預(yù)測(cè)一個(gè)動(dòng)詞和一組與之相關(guān)聯(lián)的名詞實(shí)體,故可將其視為一個(gè)特定動(dòng)作擁有著固定語法框架的結(jié)構(gòu)化標(biāo)題生成任務(wù)。具體實(shí)現(xiàn)上參照一般的圖像處理任務(wù),首先通過CNN抽取圖像特征,進(jìn)一步將特征送入Transformer模型,在輸出結(jié)點(diǎn)生成動(dòng)作或名詞實(shí)體。與其他模型相比,本文提出的模型在公開的數(shù)據(jù)集imSitu上取得了更好的效果。
本文首先對(duì)當(dāng)前的場(chǎng)景識(shí)別研究以及視覺Trans?former的相關(guān)工作進(jìn)行簡(jiǎn)要介紹,隨后詳細(xì)描述本文所使用的網(wǎng)絡(luò)結(jié)構(gòu)和算法細(xì)節(jié),最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析。
Yatskar等人提出的imSitu數(shù)據(jù)集將場(chǎng)景識(shí)別的任務(wù)定義為預(yù)測(cè)一個(gè)結(jié)構(gòu)化的三元組,具體而言,對(duì)于特定的行為,會(huì)涉及到特定的參與角色,如“參與主體”、“工具”以及“地點(diǎn)”等,任務(wù)需要為主體發(fā)生的行為所涉及到的交互角色分配對(duì)應(yīng)的名詞實(shí)體。與前文對(duì)應(yīng),參與主體可能是人、狗等,工具則可能是刀、繩子等,地點(diǎn)則可能是森林、廚房等。對(duì)于同一個(gè)動(dòng)作,其參與的語義角色固定,但根據(jù)該動(dòng)作所表示的語義不同而對(duì)應(yīng)著不同的名詞實(shí)體。我們從數(shù)據(jù)集里選取一組圖片如圖1所示。
圖1 數(shù)據(jù)集示例
可以看到,同樣是拖拽的動(dòng)作,場(chǎng)景可被泛化的定義為“某人正在某個(gè)地方拖拽某物”,涉及到的角色(表格中藍(lán)色的一列)共有3個(gè),agent指發(fā)生當(dāng)前行為的主體,item則為被拖拽的物體,place即發(fā)生的地點(diǎn)。左右兩張圖像視覺上分別對(duì)應(yīng)著拔河與遛狗兩種場(chǎng)景,即使是相同的動(dòng)作拖拽,參與動(dòng)作的角色的取值(右側(cè)綠色這一列)也不同,文中我們將其這些值稱為名詞實(shí)體,其取值更多的與當(dāng)下的語義環(huán)境相關(guān)。我們的任務(wù)就是要在識(shí)別動(dòng)作的同時(shí),將參與的角色進(jìn)行識(shí)別,以便于更高層次的理解當(dāng)前畫面的信息。
Yatskar等人在提出數(shù)據(jù)集的同時(shí)也提出了利用神經(jīng)網(wǎng)絡(luò)建模的CRF模型,利用CNN分別得到動(dòng)詞和動(dòng)詞-角色-名詞實(shí)體組合輸出的勢(shì)函數(shù),聯(lián)合建模了動(dòng)詞以及動(dòng)詞-角色-名詞實(shí)體元組的預(yù)測(cè)。在他們接下來的工作中,考慮到了輸出空間的龐大(各種組合的可能性太多)以及訓(xùn)練數(shù)據(jù)中的稀疏性可能會(huì)帶來的問題,進(jìn)一步在其接下來的工作[9]中提出了一個(gè)張量合成函數(shù)來共享不同角色之間的名詞。同時(shí)作者還通過根據(jù)結(jié)構(gòu)化情景構(gòu)建的查詢短語搜索圖像來增強(qiáng)訓(xùn)練數(shù)據(jù)以應(yīng)對(duì)稀疏性問題。
不同于Yatskar等人的聯(lián)合預(yù)測(cè)verb-role-noun,Mallya A等人[10]考慮到對(duì)于特定的動(dòng)作,其所涉及的參與角色是隱含且固定的,在此基礎(chǔ)上他們假定每個(gè)動(dòng)作涉及到的角色有一個(gè)固定的順序,進(jìn)而將問題轉(zhuǎn)變?yōu)橄阮A(yù)測(cè)一個(gè)動(dòng)詞,在確定動(dòng)詞和角色之后,為每一個(gè)角色分配名詞實(shí)體。在這樣的定義下,考慮到大部分的行為都有人的參與,作者使用一個(gè)融合網(wǎng)絡(luò),將原畫面與提前檢測(cè)到的人物框進(jìn)行疊加來預(yù)測(cè)動(dòng)作,另外再使用RNN模型預(yù)測(cè)固定角色順序的名詞實(shí)體。具體而言,在RNN的每一個(gè)時(shí)間步輸出一個(gè)名詞實(shí)體分類的結(jié)果,這大大的減小了分類的域,減少了內(nèi)存消耗。
RNN的工作建模了同一個(gè)動(dòng)詞的不同角色對(duì)應(yīng)的名詞實(shí)體之間的關(guān)系,而忽略了角色與名詞實(shí)體以及動(dòng)詞之間的關(guān)系,Ruiyu Li等人[11]利用圖結(jié)構(gòu),通過把動(dòng)詞和參與角色定義為圖結(jié)構(gòu)的結(jié)點(diǎn),使用圖像特征和角色、動(dòng)詞的詞嵌入聯(lián)合初始化這些結(jié)點(diǎn),以圖的邊衡量其關(guān)系,利用圖網(wǎng)絡(luò)的結(jié)點(diǎn)聚合建模角色與角色,角色與動(dòng)詞之間的關(guān)系。在經(jīng)過有限次聚合迭代后,在每個(gè)結(jié)點(diǎn)處輸出名詞實(shí)體的分類結(jié)果。
Transformer是由Vaswani等人基于注意力機(jī)制提出來的一個(gè)序列模型[12],用于機(jī)器翻譯工作,注意力機(jī)制可選擇性的聚合來自整個(gè)輸入序列的信息,可捕獲到句子中的關(guān)鍵部分。Transformer引入了自注意力層,該結(jié)構(gòu)掃描整個(gè)序列的每一個(gè)元素,通過聚合整個(gè)序列的信息來更新當(dāng)前結(jié)點(diǎn)。目前Transformer在自然語言處理領(lǐng)域的許多問題上正在取代RNN,受啟發(fā)于此,已有許多工作將其結(jié)構(gòu)應(yīng)用到計(jì)算機(jī)視覺任務(wù)中[13-14],在不少視覺任務(wù)中,Transformer表現(xiàn)出比RNN甚至卷積神經(jīng)網(wǎng)絡(luò)更有力的性能[18]。
本文結(jié)合圖網(wǎng)絡(luò)建模結(jié)點(diǎn)的思路[11]和DETR[13]將Transformer用于目標(biāo)檢測(cè)的結(jié)構(gòu),通過CNN提取圖像特征,將其轉(zhuǎn)換為序列輸入Transformer中,建模verb與nouns的依賴關(guān)系,實(shí)驗(yàn)證明本方法取得較之此前的工作更好的效果。
對(duì)于任意一張靜態(tài)圖像,其場(chǎng)景所涉及到的動(dòng)詞和與參與動(dòng)作的角色之間存在著依賴關(guān)系[11],以前文“拖拽”這一動(dòng)作為例,參與行為的主體(agent)就與發(fā)生的地點(diǎn)(place)存在相關(guān)性,出現(xiàn)在運(yùn)動(dòng)場(chǎng)的實(shí)體更可能是人而非狗。而“攜帶”這一動(dòng)作,agent就與被拿的物體(item)相關(guān),小件的物體拿在手上,大件的物體更可能是在背上,那么根據(jù)場(chǎng)景的不同,行為對(duì)應(yīng)的agent取值則不同。前文提到的方法使用CRF、RNN及圖神經(jīng)網(wǎng)絡(luò)來模擬這些隱含的依賴關(guān)系,考慮到Trans?former的注意力機(jī)制在更新結(jié)點(diǎn)時(shí)會(huì)綜合考量當(dāng)前結(jié)點(diǎn)自身與其他結(jié)點(diǎn)的關(guān)系,本文使用Transformer結(jié)構(gòu)來解決場(chǎng)景識(shí)別任務(wù)。具體地,實(shí)驗(yàn)將Transformer結(jié)構(gòu)的encoder用于特征編碼,decoder部分用于模擬verb結(jié)點(diǎn)與role結(jié)點(diǎn),進(jìn)一步計(jì)算動(dòng)作與參與角色之間的重要程度。
Attention機(jī)制:Transformer的核心算法在于其自注意力機(jī)制,將輸入序列映射到三個(gè)分別稱為Q、K、V的矩陣,并進(jìn)行如下公式所示的運(yùn)算對(duì)結(jié)點(diǎn)與結(jié)點(diǎn)間的相關(guān)性建模,且這樣的方式是動(dòng)態(tài)衡量結(jié)點(diǎn)間信息相關(guān)性,符合本任務(wù)場(chǎng)景語義的不同會(huì)帶來角色間依賴不同的特點(diǎn)。多頭注意力則將序列拆分后運(yùn)算再進(jìn)行拼接,以便于以不同的維度觀測(cè)序列的重要部分。
參考DETR的工作,本文使用CNN作為back?bone,提取圖像特征后將其展開為序列,結(jié)合位置編碼后作為Transformer的encoder部分的輸入。而在Transformer的decoder部分,不同于DETR的設(shè)置,對(duì)于每一張圖片,本文使用固定數(shù)量為7個(gè)的輸出,對(duì)verb結(jié)點(diǎn)和noun結(jié)點(diǎn)進(jìn)行模擬,使用輸出序列的第一個(gè)結(jié)點(diǎn)作為動(dòng)詞結(jié)點(diǎn),而后6個(gè)結(jié)點(diǎn)作為角色結(jié)點(diǎn),將其稱為role query。通過這樣的方式,利用Transformer的attention機(jī)制來衡量結(jié)點(diǎn)間的相關(guān)性。模型的大致流程如圖2所示。
圖2 模型流程
在輸出時(shí),實(shí)驗(yàn)取消了DETR模型末端的MLP頭,分別使用兩個(gè)線性映射后接softmax用于動(dòng)詞和一組名詞實(shí)體的預(yù)測(cè)。
在訓(xùn)練時(shí),保留二分匹配的部分,用于名詞實(shí)體結(jié)點(diǎn)的匹配,實(shí)驗(yàn)使用匈牙利匹配算法。定義當(dāng)前圖像所涉及到的每一個(gè)角色對(duì)應(yīng)的名詞實(shí)體為e,其真值的索引σ(e)以及softmax后對(duì)應(yīng)的概率為pσ(e)(e),將這一組名詞實(shí)體的匹配cost矩陣設(shè)計(jì)為,經(jīng)過匹配后,使用動(dòng)詞verb和匹配后的noun聯(lián)合優(yōu)化模型,loss設(shè)計(jì)為:
其中yv和ye分別為動(dòng)詞和當(dāng)前圖片s對(duì)應(yīng)的一組角色的名詞實(shí)體的真實(shí)值(在數(shù)據(jù)集中的索引),Ef即當(dāng)前圖片的所有角色,此外,imSitu數(shù)據(jù)集給每一組角色都提供了三組名詞實(shí)體的標(biāo)注,我們對(duì)三組結(jié)果取均值,也就是loss公式的右半部分。
實(shí)驗(yàn)將基于公開數(shù)據(jù)集imSitu進(jìn)行,該數(shù)據(jù)集包含504個(gè)動(dòng)作,190種語義角色,取使用頻率最高的2000種名詞實(shí)體。數(shù)據(jù)集中的每一張圖片對(duì)應(yīng)著一個(gè)動(dòng)詞verb,三組角色-名詞實(shí)體標(biāo)注,這里的三組標(biāo)注是源于不同的人對(duì)于畫面的不同理解,其中的語義上的詞定義來自FrameNet和WordNet。數(shù)據(jù)集的劃分上,訓(xùn)練集、驗(yàn)證集和測(cè)試集大小分別為75k、25k和25k,在imSitu訓(xùn)練集的75k張圖片上進(jìn)行模型的訓(xùn)練,同時(shí)在驗(yàn)證集上進(jìn)行驗(yàn)證并以此調(diào)整模型的訓(xùn)練情況,以最好的模型在測(cè)試集進(jìn)行測(cè)試。
沿用先前工作的評(píng)估方式,本文評(píng)估以下三個(gè)指標(biāo):①verb:指動(dòng)詞識(shí)別正確的分類準(zhǔn)確率。②value:每一個(gè)單獨(dú)的名詞實(shí)體分配正確的準(zhǔn)確率。③valueall:當(dāng)前動(dòng)作所有名詞實(shí)體均分配正確的準(zhǔn)確率。
實(shí)現(xiàn)上,訓(xùn)練參數(shù)做如下設(shè)置,batchsize為取64,epoch為40,使用Adamw訓(xùn)練策略,Transformer的初始學(xué)習(xí)率為10-4,backbone選取ResNet[15],加載torchvision在ImageNet上預(yù)訓(xùn)練的模型參數(shù)進(jìn)行finetune,初始學(xué)習(xí)率為10-5,權(quán)重衰減為10-4,分別在25、30、36次ep?och時(shí)將學(xué)習(xí)率縮小1/10。DETR中將Transformer的layer norm去掉了,這里我們恢復(fù)encoder結(jié)尾的layer norm,采取gelu作為激活函數(shù)。
本文將實(shí)驗(yàn)結(jié)果與本任務(wù)的其他方法分別在驗(yàn)證集和測(cè)試集上進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示,其中第5行(已加粗)是本文采用的方法的實(shí)驗(yàn)結(jié)果,評(píng)價(jià)指標(biāo)如3.2所述,與其他工作類似,我們也選取了動(dòng)詞預(yù)測(cè)top-1和top-5的分類結(jié)果??梢钥闯?,本文提出的方法在imSitu數(shù)據(jù)集上與其他方法相比均有所提升。
表1 本文方法與其他方法的實(shí)驗(yàn)結(jié)果對(duì)比
受益于Transformer的self-attention機(jī)制,模型捕捉到名詞實(shí)體(即value/noun)之間的相關(guān)性,除此之外,相較圖網(wǎng)絡(luò)[11]和RNN[10]的方法都是基于角色建模依賴關(guān)系,我們?cè)赿ecoder處將動(dòng)詞和參與角色同時(shí)作為結(jié)點(diǎn),不僅考慮參與角色之間的關(guān)系,也考慮每一個(gè)參與角色與動(dòng)作之間的聯(lián)系,故可以看到本文方法在verb預(yù)測(cè)上表現(xiàn)優(yōu)越。同時(shí)attention機(jī)制使得模型更關(guān)注重要的角色,以及其重要程度,正如前文所討論的,特定行為的特定角色對(duì)區(qū)分畫面的貢獻(xiàn)度更高。role query的存在使得每一個(gè)參與的角色都會(huì)與verb進(jìn)行結(jié)點(diǎn)間的信息聚合,故在給角色分配對(duì)應(yīng)的名詞時(shí)也取得較好的效果。
此外,場(chǎng)景識(shí)別中,行為發(fā)生時(shí)的角色的相對(duì)位置理論上也對(duì)分類的結(jié)果有幫助,盡管此前的方法也用到了圖像特征,但并沒有顯式的將位置信息加入結(jié)點(diǎn)進(jìn)行編碼,Transformer在其encoder與decoder部分均在每個(gè)結(jié)點(diǎn)上疊加位置編碼,本文認(rèn)為這部分內(nèi)容也有助于結(jié)果的提升。
同時(shí)我們也看到,value-all這一指標(biāo)的準(zhǔn)確率盡管高于基準(zhǔn)方法,但相比其他方法而言效果不是很好,這里推測(cè)可能是由模型末端的二分匹配的不準(zhǔn)確性帶來的誤判。
本文提出了一種新的用于靜態(tài)圖像情景識(shí)別的方法,可同時(shí)預(yù)測(cè)正確的動(dòng)詞以及參與當(dāng)前行為的交互角色-名詞實(shí)體組合。本文使用的視覺Transformer方法明確地建模了行為和交互角色之間的依賴關(guān)系,使得動(dòng)作與角色之間、角色與角色之間可互相感知相關(guān)關(guān)系。在本問題的標(biāo)準(zhǔn)數(shù)據(jù)集imSitu上,我們?cè)谠u(píng)估的三個(gè)指標(biāo)上均取得了超出baseline方法的效果,在動(dòng)詞和value的識(shí)別上超出當(dāng)前所有的其他方法,通過分析,表明了該方法對(duì)捕獲動(dòng)詞與角色之間依賴關(guān)系的有效性。