PointRend
Bamboo Lv3

PointRend: Image Segmentation as Rendering

现有方法:一般会输出一个原图1/8或1/16大小的预测图,然后通过双线性插值来补齐最后的8x/16x分辨率

现有方法存在的问题

过采样:对于图片中低频区域,没必要用太多的采样点,却使用太多采样点造成过采样;
欠采样 :对于图片中高频区域( 靠近物体边界 ),这些区域的采样过于稀疏,导致分割出的边界过于平滑。

PointRend

提出的 PointRend 是一个通用的模块,它允许许多可能的实现:输入一个或多个 feature map(通常比原图分辨率低 4x 或 16x),输出高分辨率的预测结果.

  • PointRend 只对选择的点进行预测,而不是对所有输入点都进行预测.

  • 对选择的点先通过插值的方式提取点特征,然后用 point head subnetwork 来预测点标签

image-20240322121912139

Inference

每个迭代循环中:
① 用双线性插值对上次预测出的 seg mask 进行上采样;
② 然后在上采样后的 mask 中找出 N 个最不确定的点(比如 binary mask 中 pribabilities 接近 0.5 的点);
③ 用 pointrend 提取这些点的 feature 并预测它们的 label.

image-20240322121856009

采样的三个原则

过生成: 从均匀分布中随机抽取 KN(K>1)个点作为候选点。

重要性抽样: 插值得到所有 KN 点处的的粗预测,然后计算这些点的不确定性,选择其中最不确定的 βN ( β∈[0,1] ) 个点。

广域覆盖: 剩下的 (1−β)N 个点从均匀分布中随机采样得到

image-20240322122545106

Coarse prediction features

必要性:只有点特征是不够的,因为 ① 对实例分割而言,一个点可能在两个实例的交叠处,需要区域信息来辅助判断;② 对实例分割和语义分割两项任务而言,点特征所使用的 feature map 可能只包含 low-level 的信息,因此还需要包含进去一些上下文和语义信息.

因此使用粗分割结果作为辅助信息,被涵盖在点特征表示向量中:一个点处表示 K 分类结果的 K 维向量.

Point Head

2 个 1024-wide hidden layers 的 MLP

类似于图卷积或 PointNet,这个 MLP 对所有的点共享参数.

Powered by Hexo & Theme Keep
Total words 28.5k Unique Visitor Page View