【图像分割论文阅读】MNC:Instance-aware Semantic Segmentation via Multi-task Network Cascades


【图像分割论文阅读】MNC:Instance-aware Semantic Segmentation via Multi-task Network Cascades


本文出自微软研究院,由清华教授代季峰、何凯明、旷视孙剑三位前辈合力完成。收录于CVPR2016.
论文地址:MNC:Instance-aware Semantic Segmentation via Multi-task Network Cascades


背景

自从FCN提出后综合深度学习特征、大规模注解以及基于图像模型的高级推理,语义分割任务发展迅速。尽管如此,精确快速的实例级语义分割任务仍然是一个巨大的挑战。2014年MSRA发布COCO数据集以促进实例级语义分割热播我也的发展。
有一些方法利用卷积神经网络处理实例级语义分割任务,但这些方法都要求掩码建议mask proposak,而此方法推理速度慢。并且并不能利用大规模的训练数据提取深度特征。
本文基于CNN处理实例级的语义分割任务。作者将其分为三个部分:
1)区分实例:实例由不区分类的边界框表示。
2)掩码估计:对每一个实例预测像素级的掩码。
3)对象分类:为每一个掩码级别的实例预测类别标签。

【图像分割论文阅读】MNC:Instance-aware Semantic Segmentation via Multi-task Network Cascades
传统的多任务方法中,在共享特征的基础上,每个任务同时进行,各任务间互不干扰,独立完成。而在作者提出的多任务级联网络中上一个任务的输出将作为下一个任务的输入,在共享特征的前提下构成上图所示的级联网络

模型结构

【图像分割论文阅读】MNC:Instance-aware Semantic Segmentation via Multi-task Network Cascades
共享的特征图由VGG-16的前13层习得,上图中的每一横行代表一个任务,每个任务都包含一个损失,下一任务的损失也会受此影响。MNC训练过程是一个One-stage也即可以利用反向传播算法完成整个模型的训练。但是模型每一阶段的损失受到上一阶段的损失影响,并且在ROI过程有空间转化,作者设计了一个空间坐标可微的网络层,使得梯度可计算。

Regressing Boxlevel Instances

第一阶段,网络提出无类别的实例边框。RPN通过全卷积预测边界框的位置以及对象分数。利用3x3的卷积降维,使用两个1x1做分类和回归。这一阶段的损失如下:L1=L1(B(Θ))L_{1}=L_{1}(B(\Theta))
其中,θ\theta代表网络中需要被优化的参数,BB代表第一阶段的输出。其中B={Bi}Bi={xi,yi,wi,hi,pi}B=\left\{B_{i}\right\},B_{i}=\left\{x_{i}, y_{i}, w_{i}, h_{i}, p_{i}\right\}xi,yix_i,y_i代表边界框中心,宽为wiw_i,高为hih_i,得分用pip_i表示。

Regressing Mask-level Instances

对每一个边界框的proposal进行像素级的掩码mask分割。对第一阶段产生的box,利用ROI pooling提取特征。其中ROI pooling对任意大小的特征输入能产生固定长度的特征。在每一个边界框之后增加两个全连接层,第一个FC将维度降至256,第二个产生像素级的mask回归。这一阶段的损失如下:L2=L2(M(Θ)B(Θ))L_{2}=L_{2}(M(\Theta) | B(\Theta))
MM是这一阶段的输出,代表一系列的masks,M={Mi}M=\left\{M_{i}\right\},而MiM_i是m*m维的logistic回归的输出。前面说过,这一阶段受到第一阶段的影响。

Categorizing Instances

对第一阶段生成的边界框提取特征。利用第二阶段的mask进行二值化估计。第三阶段的损失为:L3=L3(C(Θ)B(Θ),M(Θ))L_{3}=L_{3}(C(\Theta) | B(\Theta), M(\Theta))

最后的到整个模型的损失为:L(Θ)=L1(B(Θ))+L2(M(Θ)B(Θ))+L3(C(Θ)B(Θ),M(Θ))\begin{aligned} L(\Theta)=& L_{1}(B(\Theta))+L_{2}(M(\Theta) | B(\Theta)) \\ &+L_{3}(C(\Theta) | B(\Theta), M(\Theta)) \end{aligned}