https://yq.aliyun.com/articles/558181
Mask R-CNN与Faster R-CNN相似,Faster R-CNN是two-stage的,其中第一个stage是RPN。添加一个预测分割mask的并行分支——这是一个FCN。
ROIlign Layer而不是ROIPool。这就不会像ROIPool那样将(x / spatial_scale)分数舍入为整数,相反,它执行双线性插值来找出那些浮点值处的像素。
它的主干是ResNet-FPN
例如:想象一下,ROI的高度和宽度分别为54,167。空间尺度基本上是图像大学/ FMap大学(H / h),在这种情况下它也被称为步幅(stride)。通常224/14 = 16(H = 224,h = 14)。
◦ ROIPool: 54/16, 167/16 = 3,10
◦ ROIAlign: 54/16, 167/16 = 3.375, 10.4375
◦ 现在我们可以使用双线性插值来进行上采样。
keras实现:
https://github.com/matterport/Mask_RCNN/
http://blog.leanote.com/post/afanti.deng@gmail.com/b5f4f526490b ROI Align\
ROI Align在VOC2007数据集上的提升效果并不如在COCO上明显。经过分析,造成这种区别的原因是COCO上小目标的数量更多,而小目标受misalignment问题的影响更大(比如,同样是0.5个像素点的偏差,对于较大的目标而言显得微不足道,但是对于小目标,误差的影响就要高很多)。
https://blog.csdn.net/yiyouxian/article/details/79221830 caffe实现ROI Align
https://blog.csdn.net/u013010889/article/details/79232740 c++
https://ptorch.com/news/103.html pytorch
---->
https://github.com/ppwwyyxx/tensorpack/blob/6d5ba6a970710eaaa14b89d24aace179eb8ee1af/examples/FasterRCNN/model.py#L301
中的
301行def crop_and_resize(image, boxes, box_ind, crop_size):
357行def roi_align(featuremap, boxes, output_shape):
RoIAlign是crop_and_resize
使用非标准化(x1, y1, x2, y2
)框作为输入(而crop_and_resize
使用规范化(y1, x1, y2, x2
)为输入)。想知道RoIAlign
和crop_and_resize
差异的细节可以查看tensorpack。