PointRend 是通用模块,允许多种可能实现。抽象来看,PointRend 模块接受一或多个典型 CNN 特征图 f 作为输入,这些特征图基于规则网格定义,输出基于更细粒度网格的高分辨率预测结果 p。PointRend 不对输出网格上的所有点执行过度预测,而是仅对精心选择的点执行预测。为此,PointRend 对 f 执行内插,提取所选点的逐点特征表示,使用一个小型 point head 子网络基于这些逐点特征预测输出标签。本文将展示一种简单高效的 PointRend 实现。
研究人员在COCO和Cityscapes基准数据集上评估了PointRend在实例分割和语义分割方面的性能。定性地说,PointRend可以高效地计算对象之间的清晰边界,如图2和图8所示。
图2:掩码r-CNN+标准掩码头的结果示例与掩码r-CNN+点渲染的结果示例。该模型使用ResNet-50和FPN。
图8:模型在Cityscapes样本上的实例分割和语义分割结果。
研究者还观察到定量级别的性能提升,尽管这些任务基于的标准 IoU 度量指标会偏向于对象内部像素,对边界改进相对不那么敏感。但是 PointRend 依然显着提升了 Mask RCNN 和 DeepLabV3 的性能。
方法
研究者将计算机视觉中的图像分割类比为计算机图形学中的图像渲染。所谓渲染,即是将模型显示为像素的规则网格,即图像。尽管输出表示为规则网格,但其底层物理实体是连续的,使用物理和几何推理可在图像平面的任意真值点查询其物理占用等属性。
同样,在计算机视觉中,我们可以把图像分割看作底层连续实体的占领图,基于其“渲染”得到分割输出。实体被编码为网络要素图,可以通过插值在任意点进行评估。训练参数化函数,并基于这些插值点的特征表示来预测占用。这些参数化函数相当于计算机图形学中的物理和几何推理。
基于这种类比,研究者提出 PointRend,用点的表征来解决图像分割问题。PointRend 模块接受一或多个包含 C 个通道的典型 CNN 特征图 f ∈ R^,每一个特征图都基于规则网格定义,输出预测结果共有 K 个类别标签 p ∈ R^,输出基于不同分辨率的规则网格。
点渲染模块包含三个主要组件:
1. 点选择策略:选择少量真值点执行预测,避免对高分辨率输出网格中的所有像素进行过度计算;
2.为每个选定点提取逐点特征表示:利用F正则网格上每个选定点的四个最近邻,通过F的双线性插值计算真点的特征,因此,该方法可以利用F的通道维度中编码的亚像素信息来预测比F分辨率更高的分割;
3. point head:一个小型神经网络,用于基于逐点特征表示预测标签,它独立于每个点。
PointRend架构可以应用于实例分割和语义分割任务。在实例分割任务中,点渲染应用于每个区域,通过对一组选定的点执行预测,从粗到细计算遮罩。在语义分割任务中,整个图像被视为一个区域,因此我们可以在实例分割的背景下描述点渲染而不失一般性。
下面我们来看 PointRend 三个主要组件的细节。
图3:应用于实例分割任务的点渲染。
选择点来执行推断和训练
该方法的核心思想是灵活自适应地选择图像平面上的点,然后预测分割标签。直观地说,这些点的位置应该密集地邻近高频区域,比如物体边界,这类似于光线追踪中的反走样问题。研究人员将这一思想应用于推理和训练。
推断:用于推断的点选择策略受到计算机图形学中自适应细分这一经典技术的启发。该技术通过计算与其近邻的值显着不同的位置,来高效渲染高分辨率图像;其他位置的值则通过内插已经计算好的输出值来获得。
训练:在训练过程中,PointRend还需要选择点来构造训练点头所需的逐点特征。原则上,点选择策略类似于推理过程中使用的细分策略。然而,细分策略中使用的顺序步骤对于使用反向传播来训练神经网络不是那么友好。因此,训练过程使用基于随机采样的非迭代策略。
推荐阅读
- 冰法天赋 魔兽世界:9.0冰法的7个天赋选择思路
- 英雄联盟:wbg教练的bp思路有问题?
- 明日方舟:棘刺开局灾厄大锁50局(目前9/10)附打法思路
- 《哈利波特:魔法觉醒》各个热门卡牌解牌思路助你快乐上大分
- 新版本艾希的运营思路是怎样的?
- 《梦幻新诛仙》pvp神兽的打造思路
- 哈利波特手游多比游走球卡组西客讲解多比游走球组建思路
- 酒馆战棋:斯尼德的六本亡语打法,选6本的思路很简单
- 《帝王之焰》牛头帝卡组构筑思路最牛的当属牛头帝
- dnf:国服搬砖“新思路”,风暴航路成过去,新副本千万选对!