Richer Convolutional Features for Edge Detection(RCF論文學習筆記)

介紹:

  • 做邊緣檢測(edge detection)的網絡,實質上來講,應該算是HED網絡的改進
  • 作者提出RCF,將所有卷積特徵封裝成更具鑑別性的表示,很好地利用了豐富的特徵層次結構,並且可以通過反向傳播進行訓練
  • 在BSDS500上實現SOTA結果,0.811的ODS F-measure和8fps,快速版的可以實現0.806和30fps
  • 邊緣檢測是計算機視覺中的一個核心低級問題
  • 傳統的邊緣檢測方法先是提取圖像的顏色、紋理、亮度或梯度等,然後使用複雜的學習範式對邊緣和非邊緣的像素進行分類
  • 低級信息在語義上具有重要作用,但很難表示高級信息(表示用於語義有意義的邊緣檢測的高級信息),CNNs,就正好有自動學習自然圖像高級信息表示的能力,用它來進行邊緣檢測,是一種趨勢
  • 然而,以前的CNN體系結構只使用最終的Conv層或神經網絡池層之前的層,而忽略中間層
  • RCF的提出,是基於,以上兩點和,深度網絡容易導致梯度爆炸和梯度消失問題【可以繼續考慮】,提出可以充分利用CNN所有層的特徵,來進行像素級預測

相關工作:

  • 傳統方法有Pb,gPb,SE等,CNN方法有N4-Fields、DeepContour、HED、HED的改進等
  • 這些都缺乏CNN的充分利用,只在最後一個階段進行

RCF:

  • VGG作爲主幹網絡,每個卷積層捕獲的有用信息隨着感受野大小的增加而變得更粗糙(以下5條是論文中對網絡架構的介紹
  • 提出RCF,切斷了所有全連接層、池化層第5層,切除全連接層是爲了使用全卷積層,實現image-to-image的預測,加入pool5層會使步幅增加兩倍,這通常會導致邊緣定位的退化
  • VGG16中每個階段中的每個卷積層都連接到核大小爲1×1和通道深度爲21的卷積層。每個階段的特徵映射都是用一個eltwise層(相加)來積累的,以獲得混合特徵。
  • 一個1×1個卷積層跟隨每個eltwise層。然後,使用一個反捲積層對這個特徵映射進行上採樣。
  • 在每個階段,交叉熵損失/Sigmoid連接到上採樣層。
  • 所有上採樣層都是級聯的。 然後使用1×1卷積從每個階段融合特徵映射。 最後,採用交叉熵損失/Sigmoid得到融合損失/輸出
    在這裏插入圖片描述
  • RCF提供了一種比現有機制更好的機制來學習來自各級卷積特徵的多尺度信息,作者認爲這些特徵都與邊緣檢測有關
  • 在RCF中,高級特徵較粗,可以在較大的對象或對象部分邊界處獲得強響應。
  • 提出的新的損失函數是這個
    在這裏插入圖片描述
  • 相比HED,RCF一是捕捉了所有conv的特徵進行融合得到最終的結果,二是提出新的損失函數,三是提出多尺度測試

實驗

  • 評價方法。得到一個邊緣可能性圖(edge probability map),需要一個閾值來得到二值邊緣圖(binary edge map),有兩種方式來設置這個閾值,一種ODS(optimal dataset scale)即固定的閾值,使得整個數據集的F-score最大,另一種是OIS(optimal image scale),每一張圖片,選取不同的閾值,使得F-score最大。作者採用的就是ODS和OIS兩種方法進行評價的

接下來是實驗得到的一些結果圖
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

相關資料

1.BSDS500數據集
2.代碼實現
3.pytorch版本的代碼實現
4.論文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章