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):

RoIAligncrop_and_resize使用非标准化(x1, y1, x2, y2)框作为输入(而crop_and_resize使用规范化(y1, x1, y2, x2)为输入)。想知道RoIAligncrop_and_resize差异的细节可以查看tensorpack