摘要
这是CVPR2022的一篇论文,E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation,也是一篇基于轮廓做分割的论文。
提出了三个创新点:
第一,提出了一个可学习的轮廓初始化的方法,初始轮廓不再需要手工设计,这有利于轮廓上的节点快速回归到gt点。
第二,提出了一个MDA(Multi-direction alignment)模块,可以显著的减少学习的难度。
第三,提出了一个DML(Dynamic matching loss),可以让边界的分割更加精细。
目前该模型在多个数据集上取得了SOTA,包括了KITTI INStance (KINS) dataset, the Semantic Boundaries Dataset (SBD), the Cityscapes and the COCO dataset。
网络整体架构
可学习轮廓初始化方法
初始轮廓生成
不同于其他的基于轮廓的方法的初始轮廓是手工设计的,该算法的初始轮廓是自动学习出来的。
学习的方法是首先通过DLA-Seg网络得到图像的特征图,之后根据图像的特征图得到heatmap,然后根据根据轮廓的中心点在heatmap上的特征直接回归出初始轮廓点相对于轮廓中心点的偏移量,从而得到初始轮廓的坐标。到这里为止就生成了Initial contour。
全局轮廓变形模块
这里不同于DeepSnake的circular convolution,这里使用的是Mlp。
MDA模块
这个模块全名叫Multi-direction alignment,由于在轮廓的变形期间,有可能理想变形路径和实际变形路径会出现偏差,从而导致一些顶点的调整趋向于along-contour方向收敛速度慢,甚至错误的预测。所以这里的做法时固定几个选定顶点相对于中心点的方向,然后在固定顶点之间均匀采样地面真值。
MDA可以有效地降低轮廓调整的学习难度,而不降低性能的上限。
DML模块
即Dynamic matching loss模块
这个模块可以让边界的分割更加精细,它可以动态的去调整轮廓的顶点之间的配对关系。
这个损失分为两个部分:
第一,让预测出来的顶点和最近的gt顶点进行配对,计算损失。
首先将相邻的gt顶点分割成相邻的十个相等的子段,然后通过计算预测点和插值出来的gt顶点的L2损失(如等式1所示),
找出L2损失最小的gt顶点和该预测点配对。然后计算对应的损失(如等式2所示),即计算平均L1损失,其中N为预测的顶点个数。
第二,让gt顶点的key vertex和最近的预测出来的顶点进行配对,计算损失。
让gt顶点的key vertex(作者没有细说什么是key vertex,这里猜测就是原本的gt顶点)和最近的预测出来的顶点进行
配对,计算L2损失(如等式3所示),找出L2损失最小的预测顶点和该gt点配对。然后计算对应的损失(如等式4所示),即计算平均L1损失,
其中N为预测的顶点个数。
predin表示的是变形之前的预测点,predout表示的是变形之后的预测点,这里使用predin进行配对,是为了找到预测点到gt点的最优的变形路径。