文章內容來自CCF-CV走進高校報告會中MSRA王井東老師的報告“Learning high-resolution and object-contextual representations for semantic representation”
報告中主要介紹了 HRNet 和 OCR 兩個方法。下面圖中展示的是 timeline for deep semantic segmentation,可以看到 OCR 和 HRNet 是 2019 年提出比較有影響力的方法。而且在 Cityscapes segmentation leaderboard 上排名第一。
首先介紹第一個工作:HRNet: Deep High-Resolution Representation Learning for Visual Recognition, CVPR 2019
當前的語義分割方法需要高分辨率特征,主流方法是通過一個網絡得到 低分辨 feature map,然后通過上采樣或反卷積 恢復 到高分辨率
下面列舉了一些經典方法,看起來不同,但本質核心思路是差不多的。這些方法存在一個缺點,分辨率由高到低會損失信息!
為了解決這個問題,團隊提出了一個方法,核心思路是 “不恢復 到高分辨率,而是保持分辨率” 。具體圖示如下,把不同分辨率的 feature map 並聯,各個分辨率分別一路,“保持”信息。但是,這樣仍有一個問題,就是 feature map 彼此之間沒有交互。
為此,團隊又給網絡添加了一些內容,如下圖紅線所示,各路之間不斷進行 repeated fusions。
交互的方式如下:上采樣時,先雙線性插值,然后用1x1的卷積處理;下采樣時,采用步長為2,尺寸為3x3的卷積處理
這就是HRNet 的全部內容,下圖是方法的總結:1)以往網絡是串聯,改為並聯;2)以前是降分辨率,改為保持高分辨率;3)通過加強交互,進一步提高性能
現在介紹第二個工作:Object-Contextual Representations for Semantic Segmentation
當前的FCN沒有解決好物體上下文信息。因為單獨看一個象素,很難知道這個象素是屬於某一個物體的,因為象素給我們的信息是RGB的信息,如果不給予足夠多的上下文信息是很難判斷的。下圖列舉了商湯的PSPNet和谷歌的ASPP。PSPNet通過給每個象素周圍建立多尺度的表征獲取上下文信息,當時這個方法取得了非常大的突破。同時谷歌的ASPP也用了類似於空洞卷積的方式來實現上下文信息獲取。
當前方法分析上下文信息如下圖所示,比如說紅色點是我們關注的點,周圍綠色幾個點是采樣出來的,可以看到,綠色點分為兩部分,一部分是屬於車的,還有一部分是屬於背景的。當前方法並沒有進行區分。
那我們該怎么辦?我們找這個物體,要通過周圍物體的象素表征來幫助。因此,我們需要把紅色像素周圍屬於 object 的pixel取出來做為上下文,如下圖所示:
具體如何做呢?首先用一個 baseline network 得到一個粗略的分割結果(黃色框中左半部分),同時,還會輸出全圖的 feature map。分割結果包括K類,我們把每個類別的特征提出來(黃色框中上半部分的特征),如下圖所示:
然后, 把紅色小方塊的的特征經過變換,右邊K個區域的特征也經過一個變換,然后計划一下相似度,如下圖所示。相似度計算以后,就可以得到紅色小方塊屬於各個類別的可能性。我們根據這個可能性把每個區域的表征進行加權,會得到當前像素增強的特征表示(object-contextual representation)。
這個方法非常容易解釋,看上去也比較有道理,最終在cityscapes上可以達到 82.5%,這是目前的SOTA。