PointRend: Image Segmentation as Rendering (CVPR 2020)



Original Source Here

PointRend: Image Segmentation as Rendering (CVPR 2020)

前言

  • 透過選定區塊的方式解決 CNN 網路在高解析度 segmentation 需要龐大計算量和記憶體的問題,像下面紅色區塊就只需要 coarse resolution 即可,且任何 pixel-level 的任務都可以用類似的概念去實作
  • 像是這種 high frequency region 就無法從 lower resolution 的 output 得到,因此需要更高 resolution 的 output。

方法

  • 重點大概就如下面紅色標駐所說,會透過 high-resolution 的 output 去補強原始的 low-resolution output。
  • 作法如下,將原本的邊緣 upsample 後取一些邊緣點去 recover,反覆直到指定的 resolution。
  • 其架構及步驟如下
  • (i) A point selection strategy chooses a small number of real-value points to make predictions on, avoiding excessive computation for all pixels in the high-resolution output grid.
  • (ii) For each selected point, a point-wise feature representation is extracted. Features for a real-value point are computed by bilinear interpolation off, using the point’s 4 nearest neighbors that are on the regular grid off. As a result, it is able to utilize sub-pixel information encoded in the channel dimension off to predict a segmentation that has higher resolution than f.
  • (iii) A point head: a small neural network trained to predict a label from this point-wise feature representation, independently for each point.

Point Selection for Inference and Training

  • 計算高機率是邊緣地方的 location,也就是跟附近 pixel 的值相差很多的地方,至於其他地方就直接 interpolating 即可。
  • 當透過 CNN based 的 segmentation model 輸出一個低解析度的 mask,對其做 bilinear interpolation 的 upsample 之後取 N 個 most uncertain points (e.g., those with probabilities closest to 0.5 for a binary mask)

Point-wise Representation and Point Head

  • Fine-grained: 不同 channel 的位置,因此需要 Coarse prediction 的 global context 和 Label,不然不知道物件重疊區域是屬於誰的,不能有效判斷誰前誰後。
  • Coarse prediction: K channel 的 Instance Label。
  • Point head: MLP shares weights across all points Since the MLP predicts a segmentation label for each point, it can be trained by standard task-specific segmentation losses。

Experiments

  • Dataset: COCO and Cityscape

Instance segmentation

  • Architecture: Mask R-CNN with a ResNet-50 + FPN backbone.
  • 可以看到在 AP* 和 Cityscapes 這種有比較高解析度的 mask ground truth 的資料集上表現更好。
  • 但其實 AP 是在算 IOU 所以這個 metric 不能很好的詮釋在邊緣上面的處理,可以看到下圖的表現其實差了不少。

Semantic segmentation

  • Architecture: DeepLab3 with ResNet-103、SemanticFPN with ResNet-101
  • 這張圖是表示在 instance segmentation 的部分越大的物件效果越好,而在 semantic segmentation 的部分 PointRend recovers 小物件和 details 的部分做得很好。

Ablation Study

  • 針對不同的 subdivision step 做比較,飽和的很快,或許要比較複雜的邊界才會有比較明顯的變化,且以這種小範圍的邊緣反鋸齒的修正來講,AP 本身就不算是很好的一個衡量依據。
  • 比較不同的數量和比例對訓練結果的影響,取的點為 k*N 且值 >= β,而值在 2<k<5 and 0.75<β<1.0 有差不多的結果。
  • 用比較大的 model 和比較長的時間去訓練也可以讓結果變好

參考連結

[arxiv]

[影片]

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: