HED神經網

本篇論文提出了一種新的網絡結構進行邊緣檢測,論文這種網絡結構稱爲Holistically-nested network。HED能夠實現圖像到圖像的訓練,輸入一個圖像,輸出這個圖像的邊緣檢測圖。

 

1.現有的Multi-Scale和Multi-level學習的網絡結構

2. (e)圖是論文提出的HED網絡體系結構,它的主要思想是每一個卷積層後面增加了一個side output layer,每個side output layer輸出一個edge map,然後通過一個fusion layer將各個side output層輸出的edge map進行融合,得到最後的邊緣檢測結果。

3. 論文HED的結構是通過對16層的VGG-Net進行修改得到的,先是爲每個階段的最後一個卷積層增加一個side output layer,然後去除VGG最後一個階段部分(個人理解是去除第5個pooling層和所有的完全連接層),這樣就得到一個類似FCN又帶有side output的網絡結構,最後通過權值融合層將各個side output層的輸出結果進行融合。

4. 下圖顯示了使用HED的邊緣檢測輸出結果,以及各個side output的結果,圖中最後一行是使用Canny檢測算子的邊緣檢測效果:

 

同組小夥伴推薦的文章,一篇看似做邊緣檢測,實際做出了語義分割的文章,ICCV2015的文章。主要解決兩個問題:(1)基於整個圖像的訓練和預測;(2)多尺度和多水平的特徵學習。該算法通過深度學習模型,完成了從圖像到圖像的預測,並通過學習到的豐富的分級特徵,完成邊緣檢測中的細節問題。


基本想法

本文提出的end-to-end的邊緣檢測系統,稱爲holistically-nested edge detection (HED),使用holistically來表示邊緣預測的結果是基於圖像到圖像的,端到端的過程;而nested則強調了在生成的輸出過程中不斷地繼承和學習得到精確的邊緣預測圖的過程(具體算法後面再說明)。這裏使用多尺度的方法進行特徵的學習,多尺度下的該方法邊緣檢測結果示意圖如下圖,圖中的d,e,f分別爲卷積層2,3,4響應得到的邊緣檢測結果,HED方法的最後輸出是遠遠優於canny算子的。



算法結構

具體算法結構上,作者提出的holistically-nested方法,主要通過幾種不同的多尺度深度學習下的結構進行對比說明。在多尺度方面,有更加內部網絡形成的多尺度,和外部網絡形成的多尺度。前者是學習神經網絡裏不同層由於降採樣的不同得到的不同尺度特徵,結合形成多尺度,後者是通過對輸入圖像的尺度處理時的多尺度,獲得不同尺度信息。作者將具體多尺度下的深度學習分爲四種,如下圖。


(a)Multi-stream learning 示意圖,可以看到圖中的平行的網絡下,每個網絡通過不同參數與receptive field大小的不同,獲得多尺度的結果。輸入影像是同時進入多個網絡處理,得到的特徵結果直接反應多尺度。

(b)Skip-layer network learning 示意圖,該方法主要連接各個單的初始網絡流得到特徵響應,並將響應結合在一起輸出。

這裏(a)和(b)都是使用一個輸出的loss函數進行單一的迴歸預測,而邊緣檢測可能通過多個迴歸預測得到結合的邊緣圖效果更好。

(c)Single model on multiple inputs 示意圖,單一網絡,圖像resize方法得到多尺度進行輸入,該方法在訓練和test過程均可加入。同時在非深度學習中也有廣泛應用。

(d)Training independent networks ,從(a)演化來,通過多個獨立網絡分別對不同深度和輸出loss進行多尺度預測,該方法下訓練樣本量較大。

(e)Holistically-nested networks,本文提出的算法結構,從(d)演化來,類似地是一個相互獨立多網絡多尺度預測系統,但是將multiple side outputs組合成一個單一深度網絡。


網絡結構示意圖


這個圖非常形象,在卷積層後面側邊插入一個輸出層 side-output 層,在side-output層上進行deep supervision,使得結果向着邊緣檢測方向進行。同時隨着side-output層越向後大小的變小,將receptive field變大,最後通過一個weighted-fusion layer得到多尺度下的輸出。