阅读笔记:Instance-aware semantic segmentation via Multi-task Network Cascades

论文阅读Instance-aware semantic segmentation via Multi-task Network Cascades

论文信息CVPR2016, PASCAL VOC in VGG 63.5% mAP. COCO2015 in resnet101 won first prize

整体框架对于传统的多任务方法,都是在共享特征的基础上每个任务同时进行各不干扰,互相独立文章在共享特征的基础上,上一个任务依赖于下一个任务如此形成级联的多任务结构(Multi-task Network Cascade,MNC) 

 阅读笔记:Instance-aware semantic segmentation via Multi-task Network Cascades_第1张图片

阅读笔记:Instance-aware semantic segmentation via Multi-task Network Cascades_第2张图片

三个任务1Differentiating instances;2Estimating masks;3Categorizing objects;

使用VGG1613卷积层特征作为共享特征。每个阶段包含一个loss一阶段的loss依赖于前一阶段loss,故三个阶段的loss都不是独立的。

任务一differentiating instance-->regressing box-level instances ,该阶段的主要任务找出所有可能的物体框,即使用Faster RCNN中的RPN网络,使用NMS得到 top-ranked 300box

这一阶段的主要实现就是在共享特征的基础上附加一个3*3的卷积层用于降维以及1*1的卷积用于目标框定位和目标分类。因此在这一阶段的loss,作者直接使用的是RPNloss,即:

                                                         

任务二estimating masks-->regressing mask-level instances,该阶段的主要任务是以共享特征和上一阶段的得到的bounding box作为输入,输出基于boxpixel-level mask,不过此时的maskclass-agnostic,即无法对mask进行类别区分。

这一阶段的主要实现是在task1 输出的不同大小的box上使用ROI warping Pooling产生固定大小的特征:14*14大小的feature map,在此基础上为每个box附加两个fc层:fc1(256)+fc2(m*m,28*28),这里的28*28是预先设定的mask的分辨率。因此这一阶段的task不仅是依赖于mask还依赖于box,所以这一阶段的loss,即:

                           

任务三categorizing objects-->categorizing instances,该阶段的主要任务是以共享特征,task1boxtask2mask作为输入,输出每个instancecategories scores

这一阶段的主要实现是,一方面,在ROI warping pooling 的基础上连接两个fc层:fc1(4096)+fc2(4096);另一方面对task2得到的mask 也连接两个fc层:fc1(4096)+fc2(4096);然后再对这两个通道进行concat,最后得到每个instance的得分。因此这一阶段的计算量比较大,也是导致整个MNC模型巨大的原因。这一阶段的loss,如下:

                                     

End-to-end training

整个MNC网络结构的loss function如下:

                         

MNC主要的技术挑战就是对上面的loss function 如何可以应用链式法则进行反向传播,实现end-to-end trainingfast R-CNN论文中使用的RoI pooling 的预测框是经过预训练的,是固定的,它的反向传播只考虑F(Θ) ,但我们现在必须同时考虑Bi(Θ),而在这里得到的预测框确实在不断变化。但是,实际上task2中的框是由task1给出的,那么task2loss就不只是依赖mask,还依赖框。这导致了无法对这部分以end to end的方式来训练,因为无法同时对这两部分求导。

为了解决上述问题,作者把ROI pooling分为了两部分:ROI warping  poolingROI warping的具体实现可以看原文。


你可能感兴趣的:(深度学习)