顯著性目標檢測論文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