實時性分割的ICNet模型如何同時確保分割速度與準確度?

實時性分割的ICNet模型如何同時確保分割速度與準確度?

追求分割準確率和實時性之間平衡的ICNet模型

論文:ICNet for Real-Time Semantic Segmentation on High-Resolution Images

會議:ECCV2018

研究任務:本文設計的實時性分割模型ICNet可以在確保分割準確度的情況下保證分割的速度

為何要注重模型的實時性?

設計算法的目標不僅希望模型準確率更高,效果更好,也是為了可以在實際生活中應用,而實時性分割能夠保證算法的應用落地,與準確度相比也一樣重要!

模型在Cityscapes數據集上測試速度和分割mIOU準確率的比較圖?

實時性分割的ICNet模型如何同時確保分割速度與準確度?

圖解

圖中縱軸表示分割準確率,越往上,分割準確率越高,橫軸表示分割的效率,越往右表示,分割效率越高,藍線右側表示模型已經達到實時性效果。由上圖可以看出,比較出名的分割模型PSPNet和ResNet38模型,分割準確率高,但是效率不高,像實時性比較好的ENet分割效率高但是分割準確度還沒有60%。

正是由於當前的模型沒有綜合考慮測試速度和分割準確率,本文希望設計ICNet解決這個問題,在保證分割準確率的同時提升分割速度。

分析影響模型速度的因素

定義卷積層中函數輸入為:V(c,h,w)輸出為:U(c',h',w'),其中c表示特徵channels數目,h和w表示特徵的尺寸。

則卷積操作複雜度為:

實時性分割的ICNet模型如何同時確保分割速度與準確度?

實時性分割的ICNet模型如何同時確保分割速度與準確度?

從公式中可以看出,模型中卷積層複雜度與模型輸入的尺寸,卷積核的大小(一般為3,不分析),和channels數目有關。

channels數目和圖片尺寸對模型速度的影響

分析下面這張圖,不同的分辨率圖片輸入PSPNet50網絡,觀察每一個階段的計算時間,由此,我們可以看出,模型中每層的複雜度同輸入圖像的分辨率和模型的channel數目有關,輸入圖片尺寸越大,卷積層channels數目越多,耗費時間越長。

實時性分割的ICNet模型如何同時確保分割速度與準確度?

ICNet模型

根據上面分析的影響模型複雜度的因素,我們設計了基於PSPNet模型的多分辨率輸入ICNet模型,將圖片按一定比例縮放為不同的尺寸,將最小尺度的圖片輸入複雜度最高的分割模型,將高分辨率圖片輸入低複雜度模型,通過特徵融合以及label指導訓練,得到比較好的分割結果。

ICNet網絡結構

實時性分割的ICNet模型如何同時確保分割速度與準確度?

模型包括

(1)Cascade Image Input : 模型的輸入數據,將原始圖片按1/2,1/4比例縮放,同原尺寸圖片一起輸入模型的不同分值

(2)Cascade Label Guidance: 模型的監督信息,按不同比例縮放的Label

(3)Cascade Feature Fusion(CFF):特徵融合模塊,融合不同分支,不同模塊的特徵

(4)上方:一個完整的PSPNet分割網絡,輸入尺寸最小的圖片 --> 複雜度比較高

(5)中間:一系列卷積層,與上方部分網絡共享網絡參數,輸入1/2的圖片 --> 複雜度較低

(6)下方:通過3個卷積層對原尺寸圖片進行下采樣,再通過特徵分類器對特徵中每個像素進行分類 --> 複雜度較低

CFF模塊

實時性分割的ICNet模型如何同時確保分割速度與準確度?

特徵融合模塊

輸入:F1(上一層的特徵)、F2(本層的特徵)以及Label(特定比例的Label)

操作:

①將F1上採樣2倍,通過1*1的卷積層更改channels數目,再與Label利用加權softmaxloss計算loss。

②將F1上採樣2倍利用3X3的Conv(dialted rate=2)更改channels數目,通過BatchNorm;將F2通過1X1的Conv更改channels數目,再通過BatchNorm;將上面得到的兩個特徵通過element-wise 相加,再通過ReLU,輸出F2'.

損失函數

從CFF模塊中看到Loss的計算方法,計算公式如下:

實時性分割的ICNet模型如何同時確保分割速度與準確度?

每個分支均有相應的Label計算loss訓練網絡

結果

Cityscapes數據集下的結果

實時性分割的ICNet模型如何同時確保分割速度與準確度?

由結果可知,ICNet在分割準確度和運行效率之間取得了很好的平衡,達到了預期目標

分析

分析ICNet三個分支的作用,從左到右分別對應網絡從上到下的分支

實時性分割的ICNet模型如何同時確保分割速度與準確度?

模型特點

(1)channels數目和輸入特徵的尺度影響卷積層的複雜度

(2)模型存在三個分支,對應不同複雜度的模型以及不同尺度的輸入圖片

(3)一個完整的PSPNet模型,和兩個分支優化分割結果

(4)低分辨率圖片輸入複雜度較高的模型,高分辨率的圖片輸入複雜度較低的模型,綜合減小模型複雜度

(5)相鄰的分支的特徵進行匹配融合

擴展:模型加速策略:

(1)Downsampling Input(下采樣輸入圖片)

實時性分割的ICNet模型如何同時確保分割速度與準確度?

下采樣圖片輸入尺寸,送入PSPNet50模型,直接上採樣至原始尺寸,結果粗糙,遺失了一些很小但是重要的細節。圖中scale為圖片下采樣比例,可以看出,輸入尺寸越小,模型準確度越低,但運行速度越快。

(2)Downsample Feature

按1:8、1:16、1:32的比例下采樣圖片特徵

實時性分割的ICNet模型如何同時確保分割速度與準確度?

(3)Model Compression

通過壓縮卷積核,從而壓縮模型

實時性分割的ICNet模型如何同時確保分割速度與準確度?

實時性分割的ICNet模型如何同時確保分割速度與準確度?


分享到:


相關文章: