美文网首页
论文学习9“Instance-aware Semantic Se

论文学习9“Instance-aware Semantic Se

作者: Carrie_Hou | 来源:发表于2018-01-13 21:39 被阅读0次

    论文:https://arxiv.org/abs/1512.04412

    代码: https://github.com/daijifeng001/MNC

    本文是何凯明发表于16年CVPR的文章,文章主要讲的是多任务学习在实例感知分割上的应用。文章提出了多任务网络Cascades,由实例区分、掩膜估计、分类目标三个任务级联而成,在MS COCO 2015分割比赛中拿到了冠军,结果优于Faster RCNN,下面对本文进行分析。

    本文的创新点在于双线性插值实现ROI层,作者将ROI  POOLING层分解成ROI和max pooling两层,使得整个网络的loss函数可微,实现端对端的训练。

    首先多任务学习,多任务学习是一种归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力,多任务学习通过使用共享表示并行训练多个任务来完成这一目标,可以减少模型过拟合的可能,基于深度神经网络的多任务学习中常用两种方法:隐层参数的硬共享与软共享。(1)参数的硬共享机制:可以应用到所有任务的所有隐层上,而保留任务相关的输出层。(2)参数的软共享机制:每个任务都由自己的模型,自己的参数。本文所采取的是硬共享机制。

    本文的整体框架如下图所示,由实例区分、掩膜估计、分类目标级联而成,每一个任务都依赖于前一个任务的输出。

    分别从三个阶段进行介绍,第一个阶段实例区分,此阶段的输入是卷积层产生的共享feature map,在此之前经过一个3*3的卷积层用于降维,之后在RPN里经过两个1*1的卷积层用于生产推荐box。整体思想和Faster RCNN的RPN(Region Proposal Networks)一致,此阶段的损失函数定义为L1,则

    B是该阶段的网络输出,B = {Bi},Bi = {xi,yi,wi,hi,pi},其中{x,y}是box的中心,{w,h}是box的宽和高,p是目标概率。

    第二个阶段掩膜估计,此阶段输入是第一阶段的box和共享卷积特征,如上图,输出是像素级别的分割掩膜。文章用ROI pooling提取box中的特征,同时将特征图转化到特定大小,然后是两个全连接层,第一个全连接层将特征维度降低到256,第二个全连接层回归像素级的mask,由m2维矢量参数化,此层有m2个输出,每个输出执行对掩模的二进制logistic回归。因为此阶段输入有第一阶段的box,所以loss函数也会受第一阶段限制,此阶段loss函数为:

    M ={Mi} 是本阶段输出,[0,1]之内。此阶段的ROI pooling扮演着max pooling等角色,所以使得L2不可微,后文会介绍解决方法。

    第三阶段分类目标,此阶段输入是共享特征,第一阶段产生的bouding box 和第二阶段产生的mask,输出为每个实例的分类得分。由模型图可知,此阶段的输入是经过ROI pooling处理过的特征,所以掩膜的特征可由如下线性函数表示:

    其中FRoI(Θ) 表示经过RoI pooling 提取的box的特征。然后作者考虑同时使用masked feature 和 box-based feature。通过两个4096*的全连接层通过softmax分类器预测N+1(1为背景)种类。定义此阶段的loss函数为:

    C为此阶段的输出,代表所有实例的类别预测列表,此阶段的loss受限于前两个阶段的结果。

    根据以上各个阶段的loss函数,最终模型的loss函数定义为:

    对于上述函数,想要使用链式法则进行反向传播,需要每一部分都是可微的,而前文我已提到,RoI pooling的变化是不可微的,所以作者将ROI pooling分成一个可微的RoI Warping层和pooling层,在这之间完成特定的映射。

    RoI Warping层,针对上文所提到的映射,文章采用双线性插值的方法,将给定的宽度wi(Θ)和高度hi(Θ)为中心在(xi(Θ),yi(Θ))处的预测框Bi(Θ)的特征映射成:

    这里就将n(n=W*H)维向量转化为

    维,FRoI为RoI Warping层维的向量输出。针对每个独立通道,上式可以转化为:

    是指在目标特征图里的位置,即映射之后的结果,而u, v要遍历原特征图。G函数是使用双线性插值法将Bi从

    变化成

    尺寸大小,G可以拆分为:

    其中,

    将uo映射到全局图像,高类似:

    现在对于L2,进行BP算法就可以转化为:

    即可运用之前的公式求得。

    在 RoI Warping层之后添加一个max pooling层,那么 RoI Warping层的输出设置为28*28,则max pooling层就可以输出7*7的特征图喂给VGG网络。自此,网络就可以完成 End-to-End的训练。

    改进:作者在三层网络的基础上进行改进为5个阶段,其中4、5阶段内容与2、3阶段类似,结构如下图。

    实验:

    细节:1)第一阶段采用非最大值抑制的方法生成300个box用于第二阶段,非最大值抑制的IOU阈值设置为0.7。2)在ImageNet上进行预训练3)第二、三阶段的IOU设置为0.5。

    PASCAL VOC 2012:作者在ImageNet上预训练之后,针对是否共享特征,是否端对端的训练和阶段数的问题在两个模型上进行实验,结果如下表所示:

    下表是本文方法与其他方法的对比,可以看出本文所提出的级联网络不仅性能提升,而且时间大大减小。

    针对训练时间,作者对每一个阶段所花费的时间进行计算,结果如下表所示:

    针对目标检测问题,作者将本文方法与Faster RCNN系列方法进行对比,结果如下表,表明本文的级联结构优于Faster RCNN系列方法。

    MS COCO:在该数据集上作者用VGG-16和ResNet-101进行实验,评估标准的COCO指标(mAPr @ IoU = [0.5:0.95])和PASCAL指标(mAPr @ IoU = 0.5),结果如下表:

    下图是一些结果图。

    相关文章

      网友评论

          本文标题:论文学习9“Instance-aware Semantic Se

          本文链接:https://www.haomeiwen.com/subject/xhrhoxtx.html