【CVPR2018】物體檢測中的結構推理網路

深度學習大講堂發表於2018-07-29

物體檢測,是計算機視覺任務的基礎,其精度將直接影響相關視覺任務的效果,在深度學習方法興起之前,開展了很多利用場景上下文來提高檢測精度的研究。近年來,隨著Faster RCNN等深度學習方法的興起,在日益強調資料和效能的背景下,對上下文關聯資訊的利用卻鮮有嘗試。本文將介紹一種結構推理網路(Structure Inference Net,簡稱SIN),將物體檢測問題形式化為圖結構推理,採用圖結構同時建模物體細節特徵、場景上下文、以及物體之間關係,採用門控迴圈單元(GRU)的訊息傳遞機制對影像中物體的類別和位置進行聯合推理。在基準資料集PASCAL VOC和MS COCO上的實驗,驗證了方法在精度提升方面的有效性,同時證實了上下文資訊對於輸出更為符合人類感知的檢測結果確有幫助。

1.問題&動機

【CVPR2018】物體檢測中的結構推理網路

圖1.Faster R-CNN檢測器典型錯誤樣例

目前的檢測器一般在分類和位置迴歸時,只利用了興趣區域內的視覺特徵,尤其是兩階段檢測器(將檢測視為對候選區域的分類問題)。所以檢測器就會出現圖1中典型的檢測錯誤(樣例來自於Faster R-CNN方法)。左圖將水中的船隻誤檢成了汽車,如果能夠利用全圖的場景上下文資訊,那可能檢測器就不會認為水中是汽車了。右圖漏檢了滑鼠,如果利用物體之間的關係,電腦和滑鼠經常一起相鄰出現,那麼可能就能夠推斷到滑鼠的存在了。

【CVPR2018】物體檢測中的結構推理網路

圖2.圖結構問題

自然而然,我們的動機就是不僅僅依賴物體視覺特徵,同時利用場景上下文和物體關係來聯合推理解決物體檢測問題。我們認為自然場景圖是一個有機的結構體,如圖2所示,包含三種視覺概念分別是場景、物體、物體間關係。在場景的指導下,物體之間通過關係程度相互互動。所以我們將問題形式化為一個圖結構G=(V,E,s),其中V是節點node代表ROI,E是邊edge代表ROI之間的關係程度打分,s是場景scene描述。通過圖結構中的元素聯合推理互動,物體狀態得到豐富的表示再用於分類和位置refine迴歸。下面首先需要對圖結構中的三元素進行建模,再設計相應的互動機制來相互傳遞資訊。

2.方法

理論上來說,我們的模組可以應用到各種框架上(單階段和兩階段檢測器)。這裡我們使用Faster R-CNN作為基本框架,設計我們的結構推理網路,整體框架如圖3所示。

2.1 圖結構建模

【CVPR2018】物體檢測中的結構推理網路

圖3.方法框架

其中,scene是場景,這裡沒有場景標籤,所以用全圖特徵來建模。node是ROI,也就是RPN的生成結果,選取固定數目128個ROIs。edge是物體間的關係,這裡是一個標量相當於一個打分,用ROI之間的視覺特徵和位置關係同時建模,表達關係的時候距離很重要,具體是什麼東西也很重要,例如對於鍵盤來說,同樣近的滑鼠比杯子更重要。

2.2 互動機制

【CVPR2018】物體檢測中的結構推理網路

圖4.訊息傳遞機制

在場景指導下,物體之間通過關係程度相互互動,其實就是物體接收場景的指導資訊,每個物體接收其他物體傳遞來的資訊,只不過關係不同,接收程度不同。所以互動機制也就是訊息傳遞,我們這裡採用GRU來實現,如圖4所示。例如當前物體需要接受場景的資訊,那麼將當前物體的狀態作為隱狀態,場景資訊作為輸入,輸出即接收資訊更新後的物體狀態;同理當物體需要接受其他物體的資訊,同樣將當前物體狀態作為隱狀態,其他物體傳遞來的資訊作為輸入,輸出即更新後的物體狀態。GRU的Gate結構可以使得隱狀態丟棄與輸入無關的部分,也可以選擇與輸入相關的部分根據輸入來更新隱狀態。所以GRU本身是一種很巧妙的實現訊息傳遞的方式。

2.3 結構推理

【CVPR2018】物體檢測中的結構推理網路

圖5.結構推理模組

對於當前node vi,左邊scene GRU接收場景資訊,將node特徵作為隱狀態,場景特徵作為資訊輸入。右邊edge GRU接收其他物體的資訊,通過關係程度計算每個物體傳遞的資訊,再pooling所有物體傳遞來的整合資訊,將整合後的資訊傳遞到當前node。兩種GRU的輸出融合為最終的狀態表達,作為物體狀態。當物體狀態更新後,物體之間的關係發生變化,更多次的資訊互動迭代可以更魯棒的表示物體狀態。

3.實驗結果

文章的實驗中詳細分析了單獨應用場景、單獨應用物體間關係各自所帶來的效果,以及二者結合的整體表現。在這裡,我們只簡單展示SIN的一些定量結果和定性的結果,更多的實驗分析與結果可以參考論文。

3.1 定量結果

【CVPR2018】物體檢測中的結構推理網路

表1.各資料集檢測結果

相比於基準模型Faster R-CNN,可以發現在多個基準資料集上均有較為明顯的效能提升,這裡使用的是VGG-16模型。

3.2 定性結果

【CVPR2018】物體檢測中的結構推理網路

圖6.定性結果對比(左:faster R-CNN baseline 右:SIN)

部分檢測結果如圖6。左上角樣例中,基準模型把石板誤檢為surfboard,儘管其表觀確實有點相似;而通過應用場景和關係,我們的方法避免了這樣的錯誤,而且能夠檢測到更多的鳥兒。右上角樣例中,我們的方法可以正確檢測水中的船隻。左下角樣例中,我們的方法能夠檢測到小孩手裡的手機,桌子上的勺子等。右下角樣例中,Faster R-CNN經常會對一個ROI預測出多個可能的類別,我們的方法則能夠很好的避免這個問題。

4.結論&展望

文章初步驗證了當前主流的檢測框架下,應用場景和物體之間關係能夠有效的幫助提高檢測效能。在未來更大規模的資料庫上,我們認為應用場景資訊和關係能夠對檢測發揮更大的作用,我們將進一步驗證嘗試。同時在更強的網路框架上,以及在單階段的檢測器上如何有機嵌入推理模組也將做出更進一步的嘗試與探索。

更多細節詳見程式碼&論文:

https://github.com/choasup/SIN 

http://vipl.ict.ac.cn/view_database.php?id=6

參考文獻:

Yong Liu, Ruiping Wang, Shiguang Shan, Xilin Chen, "Structure Inference Net: Object Detection Using Scene-Level Context and Instance-Level Relationships," IEEE Conference on Computer Vision and Pattern Recognition(CVPR2018), pp. 6985-6994, Salt Lake City, UT, June 18-22, 2018.

相關文章