【语义分割】CVPR2021_Rethinking BiSeNet For Real-time Semantic Segmentation
文章目錄
- 一、背景
- 二、動(dòng)機(jī)
- 三、方法
- 3.1 Design of Encoding Network
- 3.2 Decoder
- 四、實(shí)驗(yàn)
- 4.1 消融實(shí)驗(yàn)
- 4.2 和 SOTA 方法對(duì)比
Paper: https://arxiv.org/abs/2104.13188
Code: https://github.com/MichaelFan01/STDC-Seg
一、背景
現(xiàn)有的語(yǔ)義分割方法,如 Deeplabv3、psp、Segnet等,雖然都取得了較好的效果,但都需要很大的計(jì)算開銷。
在輕量化語(yǔ)義分割方面,有兩個(gè)主要方向:
-
lightweight backbone
DFANet,DFNet等
-
multi-branch architecture
ICNet、BiSeNetv1、BiSeNetv2
二、動(dòng)機(jī)
BiSeNet V1 雖然使用multi-path的結(jié)構(gòu),將低層的detail和高層的semantic進(jìn)行了組合,但獲得低層信息的分支非常耗時(shí),輔助path經(jīng)常缺乏低層信息的指導(dǎo)。
三、方法
本文作者提出了一個(gè)手工網(wǎng)絡(luò)來(lái)提升推理速度、提升網(wǎng)絡(luò)可解釋性。
STDC module(Fig3(b)):首先提出了一個(gè) STDC 模塊,來(lái)使用很少的參數(shù)獲取多尺度和感受野信息
STDC networks:將 STDC module 嵌入U(xiǎn)-net里邊來(lái)得到
3.1 Design of Encoding Network
3.1.1 STDC module
特點(diǎn):
-
只有第一個(gè)block的卷積核大小為1x1,其余都為3x3
-
淺層通道多,深層通道少
原因:
- 分類任務(wù)中,深層的通道比淺層多,深層的高級(jí)語(yǔ)義信息對(duì)分類任務(wù)更加重要;
- 分割任務(wù)中,需要同時(shí)關(guān)注深層和淺層信息。淺層(小感受野)需要足夠多的通道來(lái)提取更多精細(xì)的信息,高層(大感受野)通道如果和淺層一樣多的話,會(huì)造成冗余,所以高層通道越來(lái)越少。
-
只有 Block2 進(jìn)行了下采樣
-
為了豐富特征,作者使用了跳連(skip-path)將 x1 到 xn 的特征進(jìn)行了concat,concat之前會(huì)使用 3x3 的average pooling 將特征圖下采樣到相同大小。
STDC module 的兩個(gè)優(yōu)勢(shì):
- 作者以幾何級(jí)數(shù)的方式來(lái)降低濾波器的大小,顯著降低了計(jì)算復(fù)雜度
- 最后使用concat的方式融合了所有block的輸出,保留了多尺度感受野和多尺度信息。
3.1.2 Network Architecture:
network 結(jié)構(gòu)圖如圖 3(a) 所示,由 6 個(gè) stage 組成,stage1~stage5 都進(jìn)行了下采樣,stage6進(jìn)行全連接。每個(gè)stage里邊的第一個(gè)STDC會(huì)進(jìn)行二倍下采樣,其他STDC將會(huì)保持分辨率不變。
STDC network 如表2所示:
3.2 Decoder
3.2.1 Segmentation Architecture
如圖4(a)所示,作者使用stage 3、4、5來(lái)生成下采樣比率分別為 1/8、1/16、1/32的特征圖。然后使用全局平均池化來(lái)得到語(yǔ)義信息。之后,使用U-shape結(jié)構(gòu)來(lái)對(duì)全局特征進(jìn)行上采樣,并且和stage4、stage5的進(jìn)行結(jié)合(在encoder階段)。
context info 和 spatial info 的結(jié)合使用:
在最后的語(yǔ)義分割預(yù)測(cè)階段,作者使用了 Feature Fusion Module (bisenetv1),來(lái)融合來(lái)自encoder 的 stage3 (1/8大小) 和 decoder 的stage3的特征,作者認(rèn)為來(lái)自這兩個(gè) stage 的特征其實(shí)是代表了不同尺度的特征。encoding 的特征有更多的細(xì)節(jié)信息,decoding的特征有更多的語(yǔ)義信息(由于其來(lái)自于 global average pooling)。
Seg Head 的構(gòu)成:一個(gè) 3x3 conv+bn+relu,再跟一個(gè) 1x1 卷積,輸出維度為類別數(shù)量
Loss:cross entropy loss
4、Detail Guidance of Low-level Features
BiSeNet 的spatial path 的特征如圖5(b)所示,對(duì)比 backbone 的低層特征(如 stage3),spatial path包含了更多細(xì)節(jié)信息,如邊緣、角點(diǎn)。
因?yàn)楸疚氖?single-stream 的,所以作者提出了一個(gè) Detail Guidance Module 來(lái)引導(dǎo)低層學(xué)習(xí)空間信息。
方法:將細(xì)節(jié)預(yù)測(cè)建模為一個(gè)二值分割任務(wù)
- 使用 Laplacian operator 從 segmentation gt 生成 detail gt(Fig4?)
- 在 stage3 中插入 Detail Head,來(lái)生成 detail feature map(Fig4(a))
- 將detail gt 作為真值,指導(dǎo)低層來(lái)學(xué)習(xí)空間細(xì)節(jié)信息,學(xué)習(xí)后的可視化效果圖如 Fig5(d),可以看出其已經(jīng)學(xué)到了很多類似于Fig5(b) 的細(xì)節(jié)
- 最后,將學(xué)習(xí)到了detail features 和來(lái)自于 decoder 的 deep block 的context 特征進(jìn)行融合。
Detail gt generation: 如 Fig4? 所示,作者使用 Detail Aggregation module 生成細(xì)節(jié)真值圖:
- 首先使用不同stride的2D卷積(named laplacian kernel,Fig4(e)),產(chǎn)生不同尺度的soft thin detail 特征圖
- 然后將這三個(gè)特征圖上采樣到原始尺寸,并使用一個(gè) 1x1 卷積來(lái)進(jìn)行動(dòng)態(tài)融合
- 最后,使用閾值0.1來(lái)將預(yù)測(cè)結(jié)果轉(zhuǎn)化為二值gt圖
Detail loss:
已知細(xì)節(jié)圖像中,detail pixel 遠(yuǎn)遠(yuǎn)少于 non-detail pixel,所以 detail 的預(yù)測(cè)是一個(gè)類別不均衡問(wèn)題,由于weighted cross-entropy loss 是比較粗糙的,所以我們使用binary cross-entropy & dice loss聯(lián)合學(xué)習(xí)。
Dice loss 度量預(yù)測(cè)和真值的重合率,且該 loss 對(duì)前景/背景的個(gè)數(shù)不敏感,可以緩解類別不均衡問(wèn)題
Detail Head:如 Fig4(b) 所示,Detail Head 產(chǎn)生 detail map,detail map 可以指導(dǎo)淺層對(duì)空間信息編碼
- 組成:一個(gè) 3x3 conv-BN-Relu,后接一個(gè)1x1cov
- 使用:只在 train 階段使用,test 階段不使用,所以測(cè)試階段不會(huì)帶來(lái)另外的耗時(shí)
四、實(shí)驗(yàn)
4.1 消融實(shí)驗(yàn)
1、Effectiveness of STDC module
作者通過(guò)實(shí)驗(yàn)驗(yàn)證了在 STDC 中使用4個(gè) block 是最優(yōu)的,多的話 FPS 會(huì)急劇下降。
2、Effectiveness of backbone
3、Effectiveness of Detail Guidance
stage 3 的 heatmap feature map 如 Fig6 所示,可以明顯的看出有 Detail guidance 的(c)列,比(b)列包含了更多的空間細(xì)節(jié)信息,定量的分析如 Table 4 所示。
4.2 和 SOTA 方法對(duì)比
總結(jié)
以上是生活随笔為你收集整理的【语义分割】CVPR2021_Rethinking BiSeNet For Real-time Semantic Segmentation的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 塞尔达传说荒野之息自宅获取方法有哪些
- 下一篇: 【git】git 入门使用手册