赞
踩
论文:https://arxiv.org/pdf/1703.06870.pdf
视频:https://www.bilibili.com/video/BV1ZY411774T?spm_id_from=333.999.0.0
Mask-RCNN模型论文第一张图:
Mask-RCNN模型= Faster RCNN模型(RoI pooling 更换为 RoIAligh) + Mask分支
提供了两种head结构,最常用的还是右边的FPN结构的:
在消融实验中:
(1)a图是backbone区别;
(2)b图是每个像素点在类别间不存在竞争关系,是解耦的,不使用softmax效果更好;
(3)c图表明ROI Align 很厉害;
(4)d图比较了ROI Align 和 ROI pooling, 在实例分割里ROI Align 表现很好,在目标检测里ROI Align 也更好;
(5)e图展示FCN全卷积网络比MLP更好。
两个分支的 ROI Align 不一样,mask分支的ROI Align 输出是14x14,因为分割想要获取更多信息,所以pool不能过猛。
每个类别都有一个28x28的mask蒙版,彼此之间不耦合。
Mask-RCNN与FCN区别:
(1)FCN最后的分割特征,会沿channel方向对每个像素做softmax,也就是类别之间存在竞争关系,某个像素点属于类别1的概率增加的话,那么这个像素点属于别的类别的概率就会减少,这是耦合的。
(2)Mask-RCNN对于每个类别都有一个mask蒙版,而且不会沿channel方向对每个像素做softmax,不存在竞争关系。
训练Mask-RCNN的时候,传入mask分支的是RPN网络提供的,而且只需要正样本proposals;
Mask-RCNN在推理的时候,传入mask分支的是由Faster RCNN网络提供的。
训练的时候,正样本proposals提供的框可能如下所示,这些bbox不是gt bbox,不是准确的,但是是必然符合与gt bbox有iou交集的,这些bbox中肯定是有目标的,将这种特征图传入mask分支训练,有一定数据增广(随机裁剪)的作用。
推理的时候,Faster RCNN网络已经nms掉多余的框,只留下Faster RCNN网络认为最准的目标框,这个时候把这个目标框传入mask分支,就能得到mask结果。
前两项是Faster RCNN的损失,最后一项是mask分支损失。
下图显示了训练过程中的mask分支损失计算:
推理的时候:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。