影像分割

DeepLab

DeepLab 是 Google 推出的一系列語意分割模型,圍繞一個核心想法打造:用空洞(擴張)卷積(atrous / dilated convolution)取代更多下採樣,以便在保持特徵圖高解析度的同時,仍能看見大範圍脈絡。標準 CNN 必須激進地池化才能擴大感受野(receptive field),但這會破壞分割所需的空間細節。DeepLab 改而把卷積核拉開、中間留空隙,在不縮小特徵圖、也不增加參數的情況下放大每個濾波器所見的範圍。如此便能直接產出稠密、細緻的輸出圖。

這個家族歷經四個里程碑版本演進。DeepLabv1 把空洞卷積與全連接條件隨機場(conditional random field,CRF)結合,後者作為銳化的後處理。DeepLabv2 加入空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)——以數種擴張率並行的擴張卷積來擷取多尺度物體——並保留 CRF。DeepLabv3 以批次正規化(batch normalization)與一個全域影像層級的池化分支改良 ASPP,且已強到能完全捨棄 CRF。DeepLabv3+ 加入一個簡單的解碼器模組以精修邊界,並採用深度可分離(depthwise-separable)的空洞 Xception 骨幹以提升效率。

空洞卷積背後的取捨值得明說:它以計算量與記憶體為代價,換來感受野與解析度,因為特徵圖一直到網路深處都維持很大。DeepLab 以「輸出步幅」(output stride)旋鈕來控制——即輸入解析度對最終特徵圖解析度的比值(常見為 16 或 8)。輸出步幅越小,細節越多,但計算量呈平方增長。