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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【语义分割】CVPR2021_Rethinking BiSeNet For Real-time Semantic Segmentation

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

文章目錄

    • 一、背景
    • 二、動機
    • 三、方法
      • 3.1 Design of Encoding Network
      • 3.2 Decoder
    • 四、實驗
      • 4.1 消融實驗
      • 4.2 和 SOTA 方法對比

Paper: https://arxiv.org/abs/2104.13188

Code: https://github.com/MichaelFan01/STDC-Seg

一、背景

現有的語義分割方法,如 Deeplabv3、psp、Segnet等,雖然都取得了較好的效果,但都需要很大的計算開銷。

在輕量化語義分割方面,有兩個主要方向:

  • lightweight backbone

    DFANet,DFNet等

  • multi-branch architecture

    ICNet、BiSeNetv1、BiSeNetv2

二、動機

BiSeNet V1 雖然使用multi-path的結構,將低層的detail和高層的semantic進行了組合,但獲得低層信息的分支非常耗時,輔助path經常缺乏低層信息的指導。

三、方法

本文作者提出了一個手工網絡來提升推理速度、提升網絡可解釋性。

STDC module(Fig3(b)):首先提出了一個 STDC 模塊,來使用很少的參數獲取多尺度和感受野信息

STDC networks:將 STDC module 嵌入U-net里邊來得到

3.1 Design of Encoding Network

3.1.1 STDC module

特點:

  • 只有第一個block的卷積核大小為1x1,其余都為3x3

  • 淺層通道多,深層通道少

    原因:

    • 分類任務中,深層的通道比淺層多,深層的高級語義信息對分類任務更加重要;
    • 分割任務中,需要同時關注深層和淺層信息。淺層(小感受野)需要足夠多的通道來提取更多精細的信息,高層(大感受野)通道如果和淺層一樣多的話,會造成冗余,所以高層通道越來越少。
  • 只有 Block2 進行了下采樣

  • 為了豐富特征,作者使用了跳連(skip-path)將 x1 到 xn 的特征進行了concat,concat之前會使用 3x3 的average pooling 將特征圖下采樣到相同大小。

STDC module 的兩個優勢:

  • 作者以幾何級數的方式來降低濾波器的大小,顯著降低了計算復雜度
  • 最后使用concat的方式融合了所有block的輸出,保留了多尺度感受野和多尺度信息。

3.1.2 Network Architecture:

network 結構圖如圖 3(a) 所示,由 6 個 stage 組成,stage1~stage5 都進行了下采樣,stage6進行全連接。每個stage里邊的第一個STDC會進行二倍下采樣,其他STDC將會保持分辨率不變。

STDC network 如表2所示:

3.2 Decoder

3.2.1 Segmentation Architecture


如圖4(a)所示,作者使用stage 3、4、5來生成下采樣比率分別為 1/8、1/16、1/32的特征圖。然后使用全局平均池化來得到語義信息。之后,使用U-shape結構來對全局特征進行上采樣,并且和stage4、stage5的進行結合(在encoder階段)。

context info 和 spatial info 的結合使用:

在最后的語義分割預測階段,作者使用了 Feature Fusion Module (bisenetv1),來融合來自encoder 的 stage3 (1/8大小) 和 decoder 的stage3的特征,作者認為來自這兩個 stage 的特征其實是代表了不同尺度的特征。encoding 的特征有更多的細節信息,decoding的特征有更多的語義信息(由于其來自于 global average pooling)。

Seg Head 的構成:一個 3x3 conv+bn+relu,再跟一個 1x1 卷積,輸出維度為類別數量

Loss:cross entropy loss

4、Detail Guidance of Low-level Features

BiSeNet 的spatial path 的特征如圖5(b)所示,對比 backbone 的低層特征(如 stage3),spatial path包含了更多細節信息,如邊緣、角點。

因為本文是 single-stream 的,所以作者提出了一個 Detail Guidance Module 來引導低層學習空間信息。

方法:將細節預測建模為一個二值分割任務

  • 使用 Laplacian operator 從 segmentation gt 生成 detail gt(Fig4?)
  • 在 stage3 中插入 Detail Head,來生成 detail feature map(Fig4(a))
  • 將detail gt 作為真值,指導低層來學習空間細節信息,學習后的可視化效果圖如 Fig5(d),可以看出其已經學到了很多類似于Fig5(b) 的細節
  • 最后,將學習到了detail features 和來自于 decoder 的 deep block 的context 特征進行融合。

Detail gt generation: 如 Fig4? 所示,作者使用 Detail Aggregation module 生成細節真值圖:

  • 首先使用不同stride的2D卷積(named laplacian kernel,Fig4(e)),產生不同尺度的soft thin detail 特征圖
  • 然后將這三個特征圖上采樣到原始尺寸,并使用一個 1x1 卷積來進行動態融合
  • 最后,使用閾值0.1來將預測結果轉化為二值gt圖

Detail loss:

已知細節圖像中,detail pixel 遠遠少于 non-detail pixel,所以 detail 的預測是一個類別不均衡問題,由于weighted cross-entropy loss 是比較粗糙的,所以我們使用binary cross-entropy & dice loss聯合學習。

Dice loss 度量預測和真值的重合率,且該 loss 對前景/背景的個數不敏感,可以緩解類別不均衡問題

Detail Head:如 Fig4(b) 所示,Detail Head 產生 detail map,detail map 可以指導淺層對空間信息編碼

  • 組成:一個 3x3 conv-BN-Relu,后接一個1x1cov
  • 使用:只在 train 階段使用,test 階段不使用,所以測試階段不會帶來另外的耗時

四、實驗

4.1 消融實驗

1、Effectiveness of STDC module

作者通過實驗驗證了在 STDC 中使用4個 block 是最優的,多的話 FPS 會急劇下降。

2、Effectiveness of backbone

3、Effectiveness of Detail Guidance

stage 3 的 heatmap feature map 如 Fig6 所示,可以明顯的看出有 Detail guidance 的(c)列,比(b)列包含了更多的空間細節信息,定量的分析如 Table 4 所示。

4.2 和 SOTA 方法對比

總結

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

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