Holistically-Nested Edge Detection 邊緣檢測論文筆記

摘要:這篇論文提出了一種基于FCNN和深度監(jiān)督網(wǎng)絡(luò)的新的邊緣檢測算法HED,它解決了兩個重要的問題,1)整體圖片的訓(xùn)練和預(yù)測,2)多尺度多層級的特征學(xué)習(xí)。HED能實現(xiàn)端到端的訓(xùn)練,輸入一個圖片,輸出對應(yīng)的邊緣圖片。

下圖中的圖c即為HED輸出的邊緣檢測結(jié)果,d-f是不同side layer(后面會具體提到)的輸出,g-i是Canny邊緣檢測器的輸出??梢钥吹紿ED效果明顯更好。


b47c51c8-7caf-4cbe-a67b-6a61babefb3c.png.png

算法總覽

3847bf0c-cd4b-41e4-8dd4-135248e31956.png.png

HED的思想來源于多尺度&多級別學(xué)習(xí)的概念,有的是通過內(nèi)在網(wǎng)絡(luò)結(jié)構(gòu)的多尺度學(xué)習(xí),有的是通過縮放扭曲圖片進行的,上圖的a-d就是作者列出的一些現(xiàn)有的多尺度&多級別學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)。前兩個網(wǎng)絡(luò)的問題是只有單一的輸出層,所以只有一個預(yù)測結(jié)果,而在邊緣檢測中獲得多個預(yù)測結(jié)果然后將所有的邊緣映射平均是更有利的。 而圖c中的方法一般更多用于不基于深度學(xué)習(xí)的方法,因為它會大大削減學(xué)習(xí)系統(tǒng)的預(yù)測效率。而作為圖a的變種,圖d中的方法分別訓(xùn)練多個不同層級的網(wǎng)絡(luò),但是這樣會導(dǎo)致需要數(shù)倍的訓(xùn)練數(shù)據(jù)。而本論文提出的HED方法就改進自圖d中的方法,如圖e所示,它將同一個深度學(xué)習(xí)網(wǎng)絡(luò)的不同層級側(cè)面輸出(side output)。

損失函數(shù)

首先,我們定義了針對側(cè)面輸出的圖片級別的邊緣損失函數(shù),其中G(m)是根據(jù)側(cè)面輸出層(side output layer)m上采樣到原始圖像尺寸得到的圖形,每一個側(cè)面輸出層都和一個分類器相連,我們將這些分類器的參數(shù)記為w,將其它網(wǎng)絡(luò)參數(shù)統(tǒng)統(tǒng)記為W,G是grondtruth,△是用來計算預(yù)測邊緣映射和ground truth之間差距的能量函數(shù),αm是用來控制每一個獨立的側(cè)面輸出層的損失函數(shù)占比的超參數(shù)。

f703bcab-69dd-4203-bd44-98e752ff8126.png.png

然而在一張圖片中,百分之九十的區(qū)域都是非邊緣,為了解決邊緣和非邊緣不平衡的問題,論文引入了一個類平衡圈子β,用它來定義我們在公式(1)中用到的類平衡交叉熵函數(shù)△:

6b3b50c8-7eaf-4e06-a3d2-52fa8455c1b5.png.png

其中I,I-和I+分別代表總像素,非邊緣像素和邊緣像素的個數(shù)。βj=I-/I(Ij是正樣本),1-βj=I+/I(Ij是負(fù)樣本)。

網(wǎng)絡(luò)結(jié)構(gòu)
在這篇論文中作者選擇了VGG16作為基礎(chǔ)網(wǎng)絡(luò),對它進行了修剪和更改。

文中提到做了以下更改:
a)連接側(cè)輸出層(side output layer)到每一個階段的最后一個卷積層在,分別為conv1 1,conv3 conv2 2,3,3 conv4,conv5 3。側(cè)輸出層被實現(xiàn)為具有內(nèi)核大小1和輸出數(shù)1的卷積層。因此每一個卷積層的感受野的大小是相同的相應(yīng)的對應(yīng)側(cè)輸出層。
B)去掉了VGG第五層的池化層和全連接層。
修剪完之后的網(wǎng)絡(luò)如下圖所示。

f00428d6-c6fd-4d73-b027-4d90045cc31c.png.png

權(quán)重混合數(shù)層
為了最好地利用本論文提出的結(jié)構(gòu)中的每個側(cè)輸出層的結(jié)果,我們增加了一個“權(quán)重混合層”用來將所有的側(cè)輸出層的預(yù)測結(jié)果連接到一起并且在訓(xùn)練的過程中學(xué)習(xí)混合權(quán)重。我們將混合權(quán)重記為h,混合權(quán)重層的損失函數(shù)如下:

2ad5a9b5-6939-4451-8181-2bf62c9f171c.png.png

所以總體的損失函數(shù)為:
8cd9b33f-de83-464d-9ab4-5a18e94a35ea.png.png

同時,論文還特別探討了隱藏監(jiān)督層的必要性,即之前在側(cè)輸出層進行的卷積操作;因為會有人覺得有了權(quán)重混合層之后之前的隱藏監(jiān)督層就沒有必要了。
但是實際上,隱藏輸出層是非常重要的,因為論文提出的網(wǎng)絡(luò)的主要特點是,每一個網(wǎng)絡(luò)層都應(yīng)該充當(dāng)一個單一的網(wǎng)絡(luò),負(fù)責(zé)在一定的范圍內(nèi)產(chǎn)生一個邊緣映射。論文也提供了一組對比圖,從圖中可以看出,在沒有隱藏監(jiān)督層的情況下,邊緣不連續(xù),并且丟失了很多重要邊緣。如下:

bf0ceac9-69c8-49f4-a1da-e1f8210e5e52.png.png

總結(jié):這篇論文提出的HED方法進行邊緣檢測還是很可靠的,它提出的這種從深度網(wǎng)絡(luò)的每一層引一個側(cè)面輸出出來再進行混合的思想也可以借鑒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容