日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【语义分割】ICCV21_Self-Regulation for Semantic Segmentation

發布時間:2023/12/15 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【语义分割】ICCV21_Self-Regulation for Semantic Segmentation 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


文章目錄

    • 一、背景
    • 二、動機
    • 三、方法
      • SR-F Loss:Shallow to Deep
      • SR-L Loss:Deep to Shallow
    • 四、效果

論文地址:https://arxiv.org/pdf/2108.09702.pdf
代碼地址:https://github.com/dongzhang89/SR-SS

一、背景

語義分割的目的是對圖中的每個像素進行分類,現有的效果較好的網絡基本可以解決 85% 的問題,然而其他15%的問題作者發現基本上是由于以下兩個原因:

  • Failure-1:缺失了小目標或目標的某一部分(該問題的原因在于未充分利用細節部分,如圖1d的“馬腿”)
  • Failure-2:錯誤預測大目標的某一部分的類別(該問題的原因在于未充分利用視覺上下文信息,如圖1h)

二、動機

緩解 Failure-1:

作者在圖 1 中表示了自己的觀點,作者發現如圖 1b 所示,在淺層的時候小目標的各個部分都可以很清楚的看到,所以,如果能較好的利用這些信息,則可以緩解 Failure-1,如圖1e所示。

現有的方法如 Hourglass、SegNet、U-Net、HRNet,基本上都通過reshape+combining feature 的方法來解決。共性實現方式大多是這樣的:pixel-wise addition, map-wise concatenation, pixel-wise transformation,但是這都會引入很多的參數量。

緩解 Failure-2:

作者發現如圖 1 中的“?!边@個目標,如果使用 image-level 的 classification loss 來訓練模型,則可以很好的緩解 Failure-2:即在 pixel-level 來混合 foreground objects (‘cow’) 和 local pixel cues (‘horse’)。直觀的原因在于 loss 會懲罰預測成沒有看到的 class-level 的上下文(如:牛不會有一個馬嘴)。

所以,本文中作者使用這樣的直觀想法并且提出了一個 loss function 來每個圖像提升上下文的編碼。

三、方法

作者提出了 Self-Regulation,其有三個不同種類的 loss 組成:

  • Multi-Exit Architecture loss(MEA):對每個block 應用 image-level multi-label classification loss+ pixel-level segmentation loss
  • Self-Regulation loss using Feature maps(SR-F):Teacher 和 Student block 輸出特征之間的蒸餾 loss
  • Self-Regulation loss using classification Logits(SR-L):Teacher 和 Student block 的分類得分之間的蒸餾 loss

MEA Loss: Multiple-Exit Architecture(MEA),首次提出是在 [23] 中,為了提升模型的推理速度,本文中,使用 MEA 是為了在一個模型中同時訓練分類和分割任務。

SR-F && SR-L Loss:圖3展示了 conv 結構和 U-shape 結構的 pipline

  • 在標準的 U-shape 結構中,Encoder 是由一系列卷積模塊組成,Decoder 是由相同數量的解卷積模塊組成。
  • 在 Encoder 中,最淺層 block 輸出的特征圖被作為深層 block 的真值(在計算 SR-F loss時)
  • 在 Decoder 中(或 conv 結構的Encoder),最深層輸出的 classification 概率被當做真值來指導淺層 block 的學習(在計算 SR-L loss時)
  • 在反向傳播 loss 時,模型在每個 layer 同時被指導學習 pixel-level(被最淺層指導)和 semantic-level(被最深層指導)的信息,所以能夠生成較好的特征表達。

SR-F Loss:Shallow to Deep

如圖3所示:

  • 每個卷積 block 或解卷積 block 可以被看做獨立的特征抽取器,ending block(最淺或最深block)可以在不同情況下被當做 teacher 或 student ,因為本文的self-regulation(自調節)是雙向的。
  • middle blocks 永遠都是 student
  • Teacher 和 Student 的轉換函數分別為:Tθ(x)T_{\theta}(x)Tθ?(x)S?(x)S_{\phi}(x)S??(x),其中 θ、?\theta、\phiθ? 分別為對應的網絡參數

SR-F Loss 的目標:讓網絡更多的保留淺層blocks保留下來的細節信息

實現方法: 使用最淺 block (即第一個)作為 Teacher(Shallow Teacher)來控制深層 blocks (Deep Students)

Loss 第一步: 交叉熵損失

使用 cross-entropy 來衡量 Shallow Teacher 的特征圖 Tθ[1]T_{\theta}^{[1]}Tθ[1]? 和第 i 個 Deep Student 特征圖 S?[i]S_{\phi}^{[i]}S?[i]? 之間的距離,得到如下 SR-F Loss:

  • i∈[2,N]i\in[2,N]i[2,N]NNN 為 conv block 的個數
  • tjt_jtj?Tθ[1]T_{\theta}^{[1]}Tθ[1]? 的第 j 個位置的向量
  • sjs_jsj?S?[i]S_{\phi}^{[i]}S?[i]? 的第 j 個位置的向量
  • MMM:特征圖大小

Loss 第二步: 使用知識蒸餾(KD)

為了提高效率,作者使用了知識蒸餾的溫度控制方法[17],Loss 如下:

  • 每個特征圖的 tj1/τt_j^{1/ \tau}tj1/τ?sj1/τs_j^{1/ \tau}sj1/τ? 都被歸一化了
  • τ\tauτ 是溫度參數,能起到平滑空間的效果,值越大,對特征圖中的最大值和最小值的差距抑制越大

Loss 第三步: 對所有 Deep Students 求和

SR-L Loss:Deep to Shallow

SR-L 的目標:讓網絡的淺層 block 能夠捕捉更多的全局上下文信息,來更好的應對背景的噪聲

實現方法:

  • 將最深層作為 Teacher(Deep Teacher),來指導所有的淺層(Shallow Students)

  • 作者認為,最深層輸出的 classification 概率得分包含了高層的語義信息,所以將 Deep Teacher 的類別得分作為指導

  • 給定 Deep Teacher 的類別得分 Tθ[N]T_{\theta}^{[N]}Tθ[N]?,和 Shallow Students 的得分概率 {S?[k]}k=1N?1\{S_{\phi}^{[k]}\}_{k=1}^{N-1}{S?[k]?}k=1N?1?,作者同樣使用公式1-3的方法,不同的是計算兩者的概率 cross-entropy 損失,所以 SR-L loss公式如下:

Overall Loss Function:

下面用 layer-wise 的形式展示了 SR Loss,該 loss 能同時進行分類和分割,如圖2所示,由多個分類器和分割器組成:

  • LSR?segL_{SR-seg}LSR?seg?LSR?clsL_{SR-cls}LSR?cls? 都是使用 one-hot 編碼為真值的 cross-entropy loss,這一對組成的 loss 叫做 MEA loss
  • LSR?FL_{SR-F}LSR?F?LSR?LL_{SR-L}LSR?L? 通過學習由其他層產生的 “soft knowledge” 來進一步提升網絡的效果
  • λ1=0.2\lambda_1=0.2λ1?=0.2λ2=0.8\lambda_2=0.8λ2?=0.8λ3=1\lambda_3=1λ3?=1

四、效果

1、消融實驗:


2、weakly-supervised 方法的對比

3、fully-supervised 方法對比


4、可視化

  • 上半部分為在 pascal voc 上的效果,可以看出在baseline中預測有誤的像素,在使用了 MEA loss 后都有所改善,這得益于模型中每層都學習了更多的語義和細節信息。
  • 在使用 SR loss后可以看出,模型對一些小的目標部分的效果更好了(如 horse legs 和 horse tail)
  • Pascal 中失敗的部分:所有方法都對顯示器的 neck 部分分割失敗了(綠色虛線框),也可能是因為分類器在訓練顯示器這個類的時候,很少關注 neck 部分
  • Cityscapes 中失敗的部分:小的目標如遠處的交通信號沒有被分割出來

總結

以上是生活随笔為你收集整理的【语义分割】ICCV21_Self-Regulation for Semantic Segmentation的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。