Pytorch實作系列 — PSPNet

mz bai
May 1, 2024

--

PSPNet是由Zhao et al.(2016, 香港中文大學)在 Pyramid Scene Parsing Network提出,屬於語意分割模型,特色在使用單一尺度的特徵圖抽取不同大小區域的上下文即可達到不錯的分類結果。

模型概念

作者提出三點常見的語意分割問題: 同一物件的像素預測混和多種類別、資料集有想近或混淆的類別標籤、過大或過小的物件導致判別困難。

總的來說是分類上的困惑點可能會影響到模型的判斷,因此提出pyramid pooling module,利用多個不同大小的子區域做判斷,使得模型可以整合不同的上下文訊息(不同大小的感受野),來提升判斷的準確性。

模型結構

Pyramid pooling module的結構類似TextCNN, Inception, Spatial pyramid pooling(SPP)等結構,都以多個分支和不同大小的卷積核進行取樣後整合,不過跟其他語意分割模型相比,沒有過多的skip connection,只有一個跟SPP一樣簡單的層,但效果不差。

model architecture from paper[1612.01105]

適合ResNet-FCN的損失函數同時訓練Pyramid pooling加強的像素辨識結果之外還加上直接以淺層特徵的分類辨識,同時加強主幹和淺層網路的能力。

Auxiliary loss for resnet-fcn like structure for semantic segmentation.

實作上會調整對應的resnet區塊為dilation convolution來提升感受野,但也會大量增加記憶體使用量(memory hungry!)。

資料集

PASCAL VOC 2012,著名的影像資料集,包含物件偵測和語意分割等任務。

評估

VOC 2007資料集的Jaccard index為0.79。

訓練模型大小達到187MiB、推論模型大小達到178MiB。

Jaccard index

VOC 驗證集結果感官感受不差,儘管許多邊界都糊成一塊,但不會有之前其他模型(FCN-VGG16、UNet)的破碎感。

VOC validation

使用在未見過的圖片上效果也不錯,如前所述邊界不漂亮但完整。

woman from https://www.pexels.com/photo/woman-holding-disposable-cup-712513/

實作

參考

--

--

mz bai
mz bai

Written by mz bai

Math is math, math is universal Code is code, code is horrifying unique.

No responses yet