Salient Object Detection with Pyramid Attention and Salient Edges
? ? ? ?
? ? ? ?論文下載(提取碼:3bp6)
?
? ? ? ? 該文章提出了PAGE-Net模型,該模型的創(chuàng)新之處主要包含了兩個模塊,分別是pyramid attention(即金字塔增強(qiáng)模塊)和salient edge detection(即顯著性邊緣檢測模塊),前者可以使得模型更加關(guān)注和顯著性有關(guān)的特征,作者將多尺度的顯著性信息利用到atte-ntion機(jī)制中去(通過疊加不同尺度的attention實(shí)現(xiàn)),這樣可使得attention模塊中選出的特征具有更加有效的表達(dá)能力,因?yàn)槎询B不同尺度的attention可以使得獲取的特征具有更大的感受野。后者可以利用顯著性物體的邊緣信息來細(xì)化最終分割的顯著性物體的邊緣,作者是通過監(jiān)督學(xué)習(xí)預(yù)測顯著性物體的邊緣來獲取邊緣信息。
? ? ? ? 首先,在深度學(xué)習(xí)中,獲取具有很好代表能力的特征是最關(guān)鍵最為基礎(chǔ)的,而具有多尺度空間的特征可以具有很好的代表能力,尤其是在顯著性檢測任務(wù)中,有很多工作可以表明多尺度特征具有很大的作用,因?yàn)楹芏喙ぷ髦械哪P投际峭ㄟ^組合各中間層的特征輸出而獲取較好的結(jié)果(不同中間層的特征的尺度是不一樣的)。再者,基于CNN的用來解決不同任務(wù)的模型都具有一個統(tǒng)一的骨干網(wǎng)絡(luò)(Vgg、Res-Net或者其他),骨干網(wǎng)絡(luò)主要負(fù)責(zé)提取統(tǒng)一的特征,后續(xù)根據(jù)不同任務(wù)而設(shè)計(jì)的網(wǎng)絡(luò)再利用這些統(tǒng)一提取到的特征進(jìn)行各自的任務(wù),所以骨干網(wǎng)絡(luò)提取到的特征具有廣泛性或者說是具有冗余性,而不同的任務(wù)可能只需要骨干網(wǎng)絡(luò)中提取到的特征的一部分,一般后續(xù)設(shè)計(jì)的特定網(wǎng)絡(luò)應(yīng)該會自適應(yīng)地選取自己所需的特征,但是最近的一些關(guān)于attention的工作的成功表明,我們獲取在接受骨干網(wǎng)絡(luò)提取到的特征時(shí)就可以先對其進(jìn)行篩選,這樣的篩選會取得更好的結(jié)果,這可能是由于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力還不夠強(qiáng),靠我們后續(xù)自己設(shè)計(jì)的網(wǎng)絡(luò)去學(xué)習(xí)需要的特征還是有困難的,因?yàn)槟切┤哂嗟奶卣骺赡苓€會造成干擾,其實(shí)從這個角度來看,attention就是將原始的特征進(jìn)行一些過濾,將那些響應(yīng)值不大的特征濾除,增強(qiáng)響應(yīng)值大的特征,將解空間減小,這樣有助于后續(xù)的神經(jīng)網(wǎng)絡(luò)通過學(xué)習(xí)選取適合自己任務(wù)的特征。在顯著性目標(biāo)檢測任務(wù)中,采用attention模塊可以使得模型更加關(guān)注于與顯著性相關(guān)的圖像中的區(qū)域,從而有效地濾除背景中的一些干擾區(qū)域,有效提高模型的性能。attention要濾除不相干的特征,如何判斷哪些特征是不相干的則變成一個有待解決的問題,最開始的方法便是直接對原始特征進(jìn)行softmax或者sigmoid后得到[0,1]的與原始特征同尺寸的權(quán)重矩陣,用該權(quán)重矩陣與原始特征進(jìn)行相應(yīng)像素相乘進(jìn)行篩選,這樣做的動機(jī)便是認(rèn)為響應(yīng)值大的特征便是重要的特征,那些響應(yīng)值小的特征應(yīng)該就是不相關(guān)的特征,這樣篩選方式還不夠具有任務(wù)導(dǎo)向性,后面就有人采用了門的結(jié)構(gòu),將原始特征與有關(guān)的特征進(jìn)行融合然后再進(jìn)行上述的attention,類似的操作還有很多,在本片論文中,作者將多尺度特征提取和attention相結(jié)合,提取后的特征既具有較大的感受野(多尺度),而且還更加關(guān)注顯著性區(qū)域(采用了attention),作者的做法就是對當(dāng)前層的原始特征進(jìn)行不同尺寸的下采樣,對原始特征以及下采樣后的特征再進(jìn)行attention操作,最后將這些過濾后的特征再融合起來,便得到了pyramid attention后的結(jié)果。
? ? ? ?顯著性目標(biāo)檢測的任務(wù)大多是通過語義分割的方式來進(jìn)行的,我們知道語義分割自從FCN以來就有一個缺點(diǎn),那就是空間信息的丟失問題,由于CNN中的池化和下采樣的存在,高層特征能夠獲取更大的感受野和更強(qiáng)的表示能力但是代價(jià)則是丟失了很多細(xì)節(jié)性的空間信息,而這些空間信息對于像素精細(xì)分類的任務(wù)來說是非常必要的,在顯著性目標(biāo)檢測領(lǐng)域中,盡管有skip connect或者編碼解碼結(jié)構(gòu)來解決這些問題,比如U-Net,通過逐步融合上一層的具有更多的空間信息的特征來一步步細(xì)化分割結(jié)果,很好地解決了空間信息缺失的問題,但是我覺得盡管融合了底層的特征可以很好地恢復(fù)丟失的空間信息,這種方法看似完美地同時(shí)解決了分類精度和空間信息恢復(fù)的問題,但是我覺得還是有不足的地方,因?yàn)楸M管底層的特征具有更多的空間信息,但它畢竟就是特征,他的表示性相較于高層特征還具有一定差距,也就是具有語義上的鴻溝,融合高層和底層的特征就需要網(wǎng)絡(luò)來縮小它們之間的語義鴻溝,這增加了網(wǎng)絡(luò)的負(fù)擔(dān),而且縮小語義鴻溝和恢復(fù)空間信息貌似是兩個具有矛盾性的問題,因?yàn)榫W(wǎng)絡(luò)在融合的過程中肯定會權(quán)衡某個像素的分類是根據(jù)高層特征來分類還是通過底層特征來分類,若是對顯著性目標(biāo)進(jìn)行定位肯定考慮高層特征多些,若是細(xì)化顯著性目標(biāo)的邊緣肯定是考慮底層特征多些,若網(wǎng)絡(luò)對于底層特征考慮過多,那么可能就會直接導(dǎo)致顯著性目標(biāo)檢測的錯誤,盡管邊緣可能會很好,若是網(wǎng)絡(luò)對于高層特征考慮過多,則得出的結(jié)果顯著性目標(biāo)會檢測到,但其邊緣可能會有模糊不清的表現(xiàn),所以我們可能會看到,U-Net可能對于那些較為容易檢測出來的顯著性物體有很準(zhǔn)確的定位以及邊緣分割效果,但是對于那些背景比較復(fù)雜的難以分類的顯著性物體來說,要么會檢測出背景中的物體,要么檢測出來的顯著性物體邊緣會有模糊的現(xiàn)象,這可能就是類似于U-Net方法對于特征的語義鴻溝處理不當(dāng)所造成的結(jié)果,雖然我并不知道如何解決這個問題,但是U-Net的缺點(diǎn)應(yīng)該就是這樣的。在本文中作者將顯著性物體的邊緣信息融入到提取到的特征中,作者是通過網(wǎng)絡(luò)預(yù)測顯著性物體邊緣來得到邊緣信息的,有了邊緣信息可以使得模型更好地定位顯著性物體以及細(xì)化分割結(jié)果。之前的方法中還有增加邊緣loss,可以使得模型更加注重于顯著性物體邊緣的像素的分類。
? ? ? ?本篇論文的模型如下圖所示,模型主要由三部分構(gòu)成,分別是用于提取特征的骨干網(wǎng)絡(luò)(最左邊的墨藍(lán)色表示),每一層out-side的pyramid attention模塊(中間灰色的虛線框所示),以及顯著性邊緣檢測模塊(最右邊黃色虛線框表示)。
圖一?? ? ? ? ? ?
? ? ? ?pyramid attention模塊如圖二所示,
圖二X表示為顯著性網(wǎng)絡(luò)的一個卷積層輸出的3D的特征張量(用表示),則,M代表特征張量的尺寸,C代表通道數(shù),我們的目的是學(xué)習(xí)系列和X尺寸相同的數(shù)值為[0,1]的attention mask,用以篩選原始特征X,獲取多尺度特征的方式是逐步對X進(jìn)行尺度為的下采樣,得到n個多尺度特征,即
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
對于每一個,我們進(jìn)行softmax操作得出attention mask,用表示,具體計(jì)算公式如下所示:
其中的是隱層的權(quán)重值,說明在softmax之前還對進(jìn)行一系列的卷積,將通道轉(zhuǎn)化成單通道,i的取值是1到,所有的加起來等于1。然后對進(jìn)行上采樣得到,即
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
最終attention后的特征Y由以下公式得到,可見此處的attention是spatial attention沒有考慮channel attention。
這樣計(jì)算的attention后的feature有很多接近于0的值,這樣不利于梯度的反向傳播,原因可能類似于梯度彌散,為了解決這個問題,增加了恒等映射,則最終的公式變成如下所示:
?
? ? ? ?若直接將得到的特征Y通過一小系列卷積以及最后的sigmoid激活函數(shù)便可進(jìn)行分割結(jié)果的預(yù)測,但是這樣做之后得到的結(jié)果并沒有很精細(xì)的邊界,通過添加顯著性邊緣預(yù)測模塊可以使得網(wǎng)絡(luò)更加注重于顯著性邊界像素的預(yù)測來學(xué)習(xí)如何細(xì)化分割邊界。salient edge detection模塊如圖三所示:
圖三? ? ? ? 用表示訓(xùn)練數(shù)據(jù),K便是batch_size的大小,?,和?分別是三通道的原始彩色圖,相應(yīng)的ground truth和由ground truth生成的顯著性邊緣gt。經(jīng)過pyramid attention后的特征Y先經(jīng)過顯著性邊緣檢測模塊(),該模塊由一系列卷積構(gòu)成,是經(jīng)過pyramid attention后的特征,所采用的損失函數(shù)是L2范數(shù),如下所示:
得到顯著性邊緣特征()后,將其和一起送入到saliency readout network R(, ())中得到最終的顯著圖的預(yù)測結(jié)果,整個模塊的總的損失函數(shù)如下所示:
saliency loss的損失是加權(quán)的交叉熵loss,公式如下所示:
i表示搜索完圖片中的所有像素點(diǎn),S是最終的顯著性預(yù)測,是顯著性像素占整個GT的比例,添加的目的就是解決顯著性像素和非顯著性像素?cái)?shù)目不均衡的問題。
為了進(jìn)一步提高模型的性能,作者也采用了密集連接,只不過他是將前面層的saliency map連接了過來,而不是feature map,如下所示:
是第層經(jīng)過pyramid attention后的特征,和分別是前面層預(yù)測的顯著性邊界和最終的顯著性預(yù)測結(jié)果,代表必要的采樣和串聯(lián)操作。
總結(jié)
以上是生活随笔為你收集整理的Salient Object Detection with Pyramid Attention and Salient Edges的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广州楼市:400W,高升值潜力的热门板块
- 下一篇: 「镁客·请讲」VR的拓荒者,幻境视界让V