顯著性目標檢測論文U2Net閱讀筆記

U2Net論文筆記

這篇論文是一篇效果非常好的顯著性目標檢測的論文,效果非常好,這裡先放上實驗效果圖,體驗一下它的效果。

U2Net_1.png

1. 論文摘要

在這篇論文中,我們設計了一個簡單但是非常有用的深度學習顯著性目標檢測網絡U2Net。 U2Net是一個兩級的嵌套U型結構,這種設計和方式有一下幾個優點:

  1. 利用來自殘差U型模塊(RSU)的不同尺度不同感受野的混合,能夠捕捉來自更多的不同尺度的上下文信息(全局信息)
  2. 採用RSU中的池化操作,U2Net在不增加計算複雜度的基礎上,可以提升整個模型架構的深度。
  3. 使用這種結構可以從頭訓練網絡而不依賴於圖像分類的算法網絡

針對U2Net論文中提出了兩種架構,第一個是U2Net(網絡大小為176.3MB, 在GTX 1080Ti上推理速度為30FPS),第二個模型為U2Net^,網絡大小為4.7MB,推理速度為40FPS。利用這兩種模型來解決不同環境的使用,在6個顯著性目標檢測數據集上兩種模型均實現了競爭性的結果。代碼的開源地址為://github.com/NathanUA/U-2-Net

U2Net算法模型的總體架構:

u2net_2.png

2. 論文主要思想

文章的出發點主要針對以下幾個問題:

  1. 傳統的深度學習的基礎網絡採用VGG, ResNet, Inception,DensNet,這種結構經過一系列的下採樣提取了原始圖像的全局語義信息,然而對於局部的細節以及全局對比信息的關注度不夠(由於這些網絡結構主要針對圖像分類任務設計) , 而且使用這種模型一般需要採用ImagNet上的預訓練模型,如果目標數據的分佈與ImageNet的數據集分佈差距較大的話,效果相對較差。怎樣設計一種能夠從頭訓練的新顯著性目標檢測的網絡架構,並且算法效果與已經存在的效果相比更好,就是一個需要考慮的問題。
  2. 傳統的網絡架構採用一系列的下採樣(最大池化或者stride大於1的卷積)來減小feature map的分辨率,從而降低算大的計算複雜度。然而針對分割任務而言,高分辨率的feature map也是一個重要的因素,因此設計一個在較低的計算複雜度的情況下,隨着網絡的加深能夠維持較高的分辨率就是一個重要的問題。

一個非常簡單的架構U2Net很好的解決了上邊的問題,**U2Net是一個兩級的嵌入U型網絡結構,這是一種新型的網絡結構不需要進行預訓練,從頭訓練可以得到很好的結果。**而且,這種網絡結構實現了在網絡層數加深的 同時能夠保持較高的分辨率

3. 算法介紹

為了實現上邊的功能,算法引入了以下的幾個主要解決方案(創新點)。

兩級的U型嵌套結構:

  1. 底層是利用RSU在網絡層數加深的情況下依然維持較高的分辨率
  2. 高層,利用類似UNet的網絡結構

3.1 殘差U型單元(RSU)

幾種基本的卷積神經網絡的模塊結構圖對比

u2net_4.png

從左到有依次是,基本的卷積模塊,殘差模塊, Inception模塊,Dense模塊,殘差U型模塊。

看(e)的RSU模塊, 利用U型單元模塊,實現了低層高分辨率的局部信息與高層低分辨率全局信息的融合。

下邊是殘差模塊與殘差u型模塊的對比:

u2net_3.png

3.2 U2Net的架構

u2net_2.png

算法的整體是一個U型的網絡結構,其中每個模塊都採用的殘差U型模塊堆疊而成。

算法實驗結果

u2net_5.png