(CVPR2022) E2EC: 基于轮廓的实例分割算法
-
(CVPR2022) E2EC: 基于轮廓的实例分割算法
与传统的像素级分割算法不同,本文是根据形状轮廓来进行实例分割的
论文:E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation
论文地址:https://arxiv.org/pdf/2203.04074.pdf
代码地址:https://github.com/zhang-tao-whu/e2ec
摘要
1.基于轮廓的实例分割方法近年来得到了快速发展
2.但是由于特征粗糙和手工制作的轮廓初始化,限制了模型的性能,而需要经验的以及固定的后续预测-标签点配对又增加了学习难度
3.论文提出了一种基于轮廓的高质量图像分割方法 E2EC
1)首先,E2EC 采用一种可学习的轮廓初始化体系来代替手工的轮廓初始化。
2)其次,我们提出了一种新的标签抽样方案,称为多方向配准,以减少学习困难。
3)第三,为了提高边界层的质量,我们动态匹配最合适的预测真值点对,并提出相应的损失函数,称为动态匹配损失。
4.实验结果表明,E2EC可以在KITTI实例数据集、Semantic边界数据集、Cityscapes数据集和COCO数据集上实现最先进的性能。E2EC在实时应用中也很有效算法
接下对E2EC模型中的三个主要模块进行分别讲述:
- 可学习轮廓初始化结构
- 多方向配准(MDA)
- 动态匹配损失函数(DML)
整个模型的示意图如下所示,大致流程如下:
- E2EC首先将图像通过backbone操作,生成一个热图来定位实例目标中心
- 然后通过基于中心点特征来回归初始偏置的方法学习初始化轮廓
- 初始化轮廓先通过一个全局变形模块来进行变形,进而得到一个粗轮廓
- 最后再进行两次变形得到最终的精轮廓
可学习轮廓初始化结构
该结构包括两个部分:
- 轮廓初始化模块
- 全局变形模块
轮廓初始化模块
基于中心点特征,直接反演出每个初始轮廓点相对于中心点的偏移量
初始轮廓点通过加上中心点坐标和偏移量来计算,表示为{(xiniti,yinitix^i_{init},y^i_{init}xiniti,yiniti)|i = 1,2,…,N},其中N是初始轮廓点的顶点数。
与其他人工设计的初始轮廓线(如椭圆或八角形)相比,可学习的初始轮廓线更接近真实轮廓线。此外,可学习的初始轮廓的变形路径方向是从中心点到轮廓顶点(如图1所示) ,保证了变形路径之间没有不利的交叉影响收敛。全局变形模块
提出了一种基于中心点特征和所有顶点轮廓特征的全局变形聚合机制。
如图3(b)所示,N 个初始顶点和中心点的特征首先连接成一个长度(N+1)×c的矢量(其中 c 是顶点特征的维度)。然后将矢量输入到MLP模块中来获取轮廓点偏置预测,结合初始轮廓和当前获取的偏置预测,就可以得到粗轮廓坐标{(xcoarsei,ycoarseix^i_{coarse},y^i_{coarse}xcoarsei,ycoarsei)|i = 1,2,…,N}
本文选择N=128, C=64多方向配准(MDA)
实际轮廓初始化和预测标签顶点配准过程中,会出现如下问题:
- 在实际的顶点变形路径和理想变形路径之间可以存在偏差,这导致一些顶点的调节朝向轮廓方向倾斜,移动缓慢,甚至是错误的预测。
MDA通过固定几个顶点的方向来解决此问题,不同数量的固定方向示意图如图4所示。
实验发现M=4时,能够获得最优性能。
动态匹配损失函数(DML)
DML能够动态调整顶点配对的关系,以监督最后一个变形模块的输出。
损失由两部分组成:- 预测顶点指向标签边界上最近的点,如图5(a)所示
- 关键标签顶点将最近的预测顶点拉向自己的位置,如图5(b)所示。
DML的全部细节如下所述:
对于每个预测顶点,动态地在标签轮廓线上找到最近的对应点是一个复杂的过程。- 首先,为了简化计算,将相邻的标签点之间分割成10个相等的子段。
- 然后将问题转化为查找最近的插值标签轮廓点gtiptgt_i^{pt}gtipt的发现。
- 方程(1)通过对预测顶点i和标签点x(0<x<N+1)的L2距离进行最小化,来匹配每个预测轮廓点和最近邻插值标签点。
- 方程(2)是DML的第一组成部分。
- 其次,反过来查找,根据关键标签轮廓点gtikeygt_i^{key}gtikey来动态匹配预测顶点。方程(3)描述了这一过程,以最好地保留边界的细节。
- 方程(4)是DML的对应的第二组成部分。
DML是上述两个部分的平均值,如方程式(5)所示。
DML算法可以大大提高预测边界的质量,解决Deep Snake和DANCE算法中存在的过平滑问题实验
消融实验
对比实验
-
Alice_恒源云
-
Alice_恒源云