CVPR2018 | CMU&谷歌Spotlight論文:超越卷積的視覺推理框架
文章選自arXiv,作者:陳鑫磊等,機器之心編譯
人類在看到圖像時可以進行合理的推理與預測,而目前的神經網路系統卻還難以做到。近日,來自卡耐基梅隆大學(CMU)的陳鑫磊(現 Facbook 研究科學家)、Abhinav Gupta,谷歌的李佳、李飛飛等人提出了一種新型推理框架,其探索空間和語義關係的推理性能大大超過了普通卷積神經網路。目前該工作已被評為 CVPR 2018 大會 Spotlight 論文。
近年來,我們在圖像分類 [ 16 ]、檢測 [ 37 ] 或分割 [ 3 ] 等標準識別任務方面取得了顯著進展,前饋端到端學習的 ConvNet 模型的使用在其中發揮了很大作用。空間和語義上的視覺推理對人類至關重要 [ 1 ],但我們目前的視覺系統與之不同,除了具有較大接受域的卷積之外,它們都缺乏語境推理。因此,當我們著眼於構建下一代視覺系統時,如何結合空間推理和語義推理就成為一個關鍵問題。
我們的目標是建立一個系統,該系統不僅可以提取、利用卷積特徵的層次結構,還可以通過空間和語義關係來改進其判斷。但什麼是空間和語義關係?如何使用它們來提高識別能力?請看圖 1。圖 1 左上角是一個空間推理的實例:如果一行中四分之三的區域是「窗戶」,那麼第四個區域也可能是「窗戶」。語義推理的一個實例(右下圖)是識別「校車」,即使圖中可見的校車很少或基本看不見——僅僅給出了「公交車」的實例及公交車與校車之間的聯繫。最後,空間-語義推理可以解釋為:識別道路上的「汽車」應有助於識別「汽車」內的「人」。
圖 1. 除了具有較大接受域的卷積之外,當前的識別系統缺乏推理能力,而人類可以通過探索空間、語義關係的豐富空間進行推理:例如,即使在有遮擋的情況下,人類也能推斷出第四個「窗戶」,或者駕駛「汽車」的「人」。為了彌補這一差距,我們提出了一個通用框架,該框架也使用上述關係進行迭代推理及預測。
利用關係進行推理的一個關鍵方法是迭代地進行預測。最近,已經有人嘗試通過自頂向下的模塊 [ 38,48 ] 或使用外顯記憶 [ 51,32 ] 來整合這種推理。在使用自頂向下的模塊時,具有基於類的信息的高層次特徵可以與低層次特徵結合使用,以提高識別性能。另一種架構是使用外顯記憶。例如,Chen 和 Gupta [ 4 ] 展示了序貫對象檢測,其中空間存儲器用於存儲先前檢測到的對象,利用 ConvNets 的能力來提取有利於後續檢測的密集語境模式。
然而,這些方法存在兩個問題: a ) 兩種方法都使用卷積堆棧來執行局部像素級推理 [ 11 ],該方式可能不具備允許更遠區域直接傳遞信息的全局推理能力;b ) 更重要的是,這兩種方法都假定訓練數據中有足夠的關係實例供模型從頭開始學習,但是隨著類數量的增加,關係呈指數級增長,數據可能出現短缺。許多語義推理需要從很少或近乎為零的實例中學習 [ 14 ]。因此,我們需要設法利用額外的結構化信息進行視覺推理。
本研究提出了一個空間推理和語義推理的通用框架。與目前僅依賴卷積的方法不同,我們的框架還可以從知識庫 [ 5,56 ] 形式的結構化信息中學習視覺識別。我們演算法的核心由兩個模塊組成,一個是基於空間記憶 [ 4 ] 的局部模塊,利用 ConvNets 進行像素級推理。我們藉助並行內存更新來大幅度提高效率。另一個是基於圖結構的全局模塊,用於在局部區域之外進行推理。
該模塊由三個部分組成:
- 知識圖,在該圖中,我們將類表示為節點並建立邊來編碼它們之間不同類型的語義關係;
- 當前圖像的區域圖,在該圖中,節點代表圖像中的區域,邊代表這些區域之間的空間關係;
- 將區域分配給類的分配圖。
利用這種結構,我們開發了一個推理模塊,專門用來傳遞該圖中的信息。局部模塊和全局模塊兩者迭代地轉出並相互交叉饋送預測,以便細化預測。注意,局部推理和全局推理不是孤立的:良好的圖像理解通常需要平衡先驗學習的背景知識和圖像特定觀察之間的關係。因此,我們的完整管道通過「關注」[3] 機制連接了兩個模塊的力量,從而使模型在進行最終預測時能夠依賴最相關的特徵。
我們的框架展示了大大超越普通 ConvNets 的性能。例如,我們可以在 ADE [ 55 ] 上實現 8.4 % 的絕對提升,這是按每級平均精度衡量的,而通過加深網路僅可以提高約 1 %。
除了用於提供預測的普通 ConvNet 之外,該框架還有兩個模塊來執行推理:一個是使用空間存儲器 Si 的局部模塊 ( Sec. 3.1 ),該模塊使用另一個 ConvNet C 進行推理;另一個是全局模塊 (Sec. 3.2),該模塊將區域和類視為圖中的節點,通過在它們之間傳遞信息進行推理。這兩個模塊都接收組合的高級和中級特徵,在交叉饋送信念的同時迭代地轉出 ( Sec. 3.3 )。結合所有預測 fi 與注意 ai 產生最終預測 f(Sec. 3.4)。
圖 3. 在具有多種類型的邊的圖形上直接傳遞信息的圖示。圖中的四個節點由兩種類型的邊進行連接。每個節點表示輸入特徵向量 mi (合稱 M )。為邊類型 j 學習加權矩陣 Wj 以變換輸入。然後應用鄰接矩陣 Aj 將信息傳遞給連接的節點。最後,通過累加所有邊類型並應用激活函數來生成輸出 G。
圖 4. 在全局推理模塊 R 中使用了兩種推理路徑。獲得區域和類輸入 M_r 和 M_c 之後,空間路徑在區域圖中直接傳遞信息,區域圖含有區域到區域的邊 E_r→r,而語義路徑首先將區域分配給含有 E_r→c 的類,然後將信息傳遞給具有類到類邊 E_c→c 的其他類,再傳播回去。組合最終輸出以生成輸出區域特徵 G_r。
表 1. 在 ADE test-1k 和 VG 測試中的主要結果。AP 是平均精度,AC 是分類精度。上標顯示了高於基線的值。
圖 5. 來自 ADE test-1k 的定性示例(最好放大來看)。
在突出顯示的藍色區域可以看出基線預測和我們的模型預測比較的結果。此外還列出了其他區域以提供語境。例如,經過推理後,「右腿」與「左腿」的混淆程度降低(左上圖);儘管解析度很低,但「桌面」上的「滑鼠」被成功判斷出來 (上面一行第三張圖);「洗滌劑分配器」在「洗衣機」(右上圖) 的語境中被識別出來。在右下角的圖中,我們展示了一個失敗案例,在該圖中,語境沒有幫助我們識別出「遙控器」,失敗的原因可能是它以前從未出現在「床頭櫃」上,也沒有語義關係可以提供幫助。
論文:Iterative Visual Reasoning Beyond Convolutions
論文鏈接:https://arxiv.org/abs/1803.11189
摘要:我們提出了一種新的迭代視覺推理框架。該框架超越了目前只具備卷積堆棧推理能力的識別系統。該框架由兩個核心模塊組成:一個是局部模塊,使用空間記憶以並行更新的方式存儲以前的信念;另一個是全局圖形推理模塊。我們的圖模塊由三個部分組成: a ) 知識圖,在該圖中,我們將類表示為節點並建立邊來編碼它們之間不同類型的語義關係;b ) 當前圖像的區域圖,在該圖中,節點代表圖像中的區域,邊代表這些區域之間的空間關係;c ) 將區域分配給類的分配圖。局部模塊和全局模塊迭代地轉出並相互交叉饋送預測,以便細化預測。通過將兩個模塊中的最佳部分與注意機制相結合來進行最終預測。與普通 ConvNets 相比,我們的框架性能顯著增強,例如,按每級平均精度衡量,我們可以在 ADE 上實現 8.4 % 的絕對改進。分析還表明,該框架對缺失區域具有較強的推理能力。
推薦閱讀:
※GAIR大講堂CVPR清華大學專場回顧,4位CVPR論文講者乾貨大爆料
※CVPR—II | 經典網路再現,全內容跟蹤
※從CVPR2017 看多樣目標檢測
※Action Reconition CVPR 2017
※SCNN-用於時序動作定位的多階段3D卷積網路