Deep Watershed Transform for Instance Segmentation 2017
Boundary-aware Instance Segmentation 2017
Deep Watershed Transform for Instance Segmentation
- 作者的基本思路是利用网络来学习分水岭算法里的
energy map
,目的是希望学习得到的watershed line
就表示instance
的边界。这样直接应用分水岭算法就可以实现instance segmentation
了 - 这里我们希望使用 CNN网络来学习预测 一个
energy landscape
,其每个basin
对应一个物体,如上图的下半部分所示。但是从头开始学习这个energy landscape
很难。这里我们定义了一个中间任务,就是我们学习 分水岭能量图的下降方向direction of descent of the watershed energy
,然后将这个输入到另一个网络用于学习最终的能量图。我们可以将这个中间结果理解为 学习每个目标内的点到其边界的距离,learning to perform the distance transform of each point within an object instance to the instance’s boundary
- 网路框架
- Direction Network (DN)
这里的输入只关注物体区域the original RGB image gated by semantic segmentation(PSPNet [34])
,非物体区域清零input image is augmented by adding the semantic segmentation as a fourth channel
这一步主要用于estimate the direction of descent of the energy at each pixel
对应 Figure 4 中的 f
1 对于每一个pixel,作者用二维单位向量表示该下降方向的真值,如下作者方向的真值没有选取角度的原因是因为角度的数值和方向不具有连续等价的性质,比如0度和360度方向一致但是数值差太大。采用能量梯度方向还有一个好处是:如果两个instance之间存在相互遮挡,那么loss就会对边界处的能量梯度方向比较敏感,即如果一个pixel分错了instance,那么能量梯度方向肯定是和真值相反的,这样loss会变得很大。这种loss能强迫网络学习pixel级别的精确定位。Direction network输出的是一个2-channel的direction map,网络部分如上图所示,采用的是修改的vgg模型。这部分网络训练的loss如下所示!Direction network输出的是一个2-channel的direction map,网络部分如上图所示,采用的是修改的vgg模型。这部分网络训练的loss如下所示 - Watershed Transform Network (WTN)
基于分水岭能量图的下降方向图,我们来predict a modified watershed transform energy
对应 Figure 4 中的 g
通过前面的direction network得到每个像素点的能量梯度方向之后,wtn再根据这张二维的map学习每一个pixel对应的energy level。其中level 0表示背景以及和距离边界2个pixel以内的像素点。level越高,像素点越靠近物体的中心。作者一共手动选择了K = 16个level。
WTN模块的训练过程如上所示,输入为direction map,输出为energy map。其训练的loss为改动的交叉熵:
Boundary-aware Instance Segmentation
文章方法基于物体掩模的距离变换。
文章设计了一个具有残差反卷积结构的物体掩模网络(OMN),提取特征并将其解码成最终的二值物体掩模。
优点:这种方法能摆脱传统区域提议中提议框的范围局限,并且对于不够准确的区域提议具有鲁棒性。
文章将OMN整合到多任务网络级联框架中,称之为边界感知实例分割网络(BAIS),并实行端到端地学习。文章方法在Cityscapes和PASCAL VOC2012数据集上的实例分割性能都超过了当时的最佳方法。