《visual relationship detection with language priors》,這也是李飛飛在CNCC上提到的一片重要論文侄柔,發(fā)表于ECCV共啃。
此論文用來進(jìn)行關(guān)系檢測的主要方法是:分別訓(xùn)練兩種視覺模型占调,一種來識別物體,一種來識別關(guān)系移剪。
關(guān)系識別的一個(gè)挑戰(zhàn)在于沒有足夠的關(guān)系訓(xùn)練樣本究珊。比如說騎行這個(gè)動作,圖片可能是人騎馬纵苛、人騎車剿涮、人騎駱駝等等,想要將這些樣本統(tǒng)統(tǒng)搜集起來是高耗能的攻人。本論文在進(jìn)行關(guān)系檢測的同時(shí)取试,也證實(shí)了這種方法用于zero-shot detection的可能性。
由圖可見此方法的大體流程是:輸入圖片怀吻,經(jīng)過RCNN產(chǎn)生多個(gè)物體檢測框瞬浓,每個(gè)物體檢測框分別經(jīng)過視覺模型和語言模型進(jìn)行打分,給定閾值將得分高于閾值的輸出得到關(guān)系標(biāo)簽(person - riding - horse)
Training Approach
Visual Appearance Module
訓(xùn)練了一個(gè)CNN來對100個(gè)物體進(jìn)行分類蓬坡,同時(shí)訓(xùn)練了另一個(gè)CNN來對70個(gè)predicates進(jìn)行分類猿棉。這里有實(shí)驗(yàn)表明,將每個(gè)objects predicates對分開進(jìn)行訓(xùn)練得到的效果要比visual phrases’ detectors(將所有對一起訓(xùn)練)好屑咳。則視覺模型V如下:
R《i,k,j》 i,j是對象的類別萨赁,k是謂詞(where i and j are the object classes (with bounding boxes O1 and O2) and k is the predicate class)
0-是{zk, sk}的參數(shù)集合,zk和sk是將CNN特征轉(zhuǎn)換到關(guān)系可能性得到的參數(shù)乔宿。P(O)是物體CNN得到的objects likelihoods位迂,CNN(O1,O2)是O1,O2的聯(lián)合特征
Language Module
由于關(guān)系之間存在著語義關(guān)聯(lián)性详瑞,比如person-ride-horse 和 person-ride-elephant是很相近的掂林,即使沒見過person-ride-elephant,也應(yīng)該能從大量出現(xiàn)的相近的樣本中推理出來(e.g. person-ride-horse)
所以說我們的語言模型要做的就是將關(guān)系映射到一個(gè)嵌入空間中坝橡,類似的關(guān)系被優(yōu)化為相互靠近泻帮。
首先,我們使用word2vec將兩個(gè)對象映射到詞嵌入空間计寇,然后锣杂,我們將得到的這兩個(gè)向量聚集起來利用映射參數(shù)W映射到關(guān)系向量空間。這個(gè)映射說明了物體之間的交互行為番宁。
The relationship projection function
tj是第j個(gè)對象的類別(tj is the word (in text) of the jth object category. )
wk是一個(gè)600緯的向量元莫,bk是偏移量。
其中W是一個(gè)集合:{{w1, b1},…{wk,bk}}蝶押,其中每一行代表著K個(gè)predicates踱蠢。
Training Projection Function
我們想要得到映射函數(shù)能使關(guān)系越相似的越接近,所以我們啟發(fā)式來建立這種關(guān)系棋电,其中兩個(gè)關(guān)系之間的距離與其組件對象和謂詞之間的word2vec距離成正比:
Likelihood of a Relationship
如果一個(gè)relationship在訓(xùn)練數(shù)據(jù)中出現(xiàn)的頻率高于另一個(gè)Relationship我們考慮這個(gè)relationship有更高的再發(fā)生可能性茎截,所以我們的排名損失函數(shù)為:
Objective function
我們將視覺外觀模型和語言模型結(jié)合起來通過排名損失函數(shù)來最大化真實(shí)relationship的得分:
最終損失函數(shù)
Testing
使用RCNN提取一組對象苇侵,之后使用視覺模型和語言模型對每一個(gè)對象對預(yù)測視覺關(guān)系。
訓(xùn)練算法
總結(jié)
這篇文章最大的亮點(diǎn)是引入了Language Module企锌。
從文章來看榆浓,視覺模型其實(shí)就已經(jīng)可以把視覺關(guān)系推理做完了,引入語言模型撕攒,使得在關(guān)系空間中相似的關(guān)系聚集在一起陡鹃,使得可以預(yù)測未見過的樣本(zero-shot)。
可以簡單的理解為見過的樣本主要是視覺模型起作用來進(jìn)行預(yù)測打却,未見過的樣本主要是語言模型起作用來進(jìn)行預(yù)測杉适。