Mask RCNN个人理解

 

今天学yolov2,一看又提起来RPN了,突然把maskrcnn的细节给忘了,本子上记录一下,博客里记录一下,以后好翻看。下文几乎来自知乎文章:https://zhuanlan.zhihu.com/p/37998710

Mask RCNN个人理解

Mask RCNN个人理解

  1. 以ResNet-FPN提取图像信息,得到P2,P3,P4,P5这4张特征图像,另外一张P6是P5上采样的到,这5张大小不同,通道相同。
  2. 将上一步中P2,P3,P4,P5,P6特征图分别送入RPN,FasterRcnn的核心,用来找到最合适,最接近正确物体的框的4个坐标,和两个前景后景分数。但是这几张图生成那么多roi,选择哪些进行分类和回归呢?选择其中一张来选出真正的roi。这里有公式计算选择哪张特征图:其中224表示预训练的ImageNet图片的大小,k0表示面积为w*h=224*224的ROI所应该在的层级,作者将k设置为4,计算后,wh=224时,k=4,表示224的ROI应该从P4中切出来,这个方法可以根据roi大小选择在合适分辨率的特征图中切Mask RCNN个人理解
  3. 进行边框回归和框内物体分类
  4. ROI Align是为了弥补FasterRcnn中池化所有的roi为同一个尺寸后产生的细节问题,池化时,除不尽的时候会变为整数,造成池化后的roi所圈范围并不是真正的gt。roi Align采用了双线性插值,使roi更加精确。
  5. 损失函数L=Lcls+Lbox+Lmask  cls是分类状况,box是边框回归状况,mask是有了分类后的类别之后开始对标注的实例进行分割,这里的标注是逐像素的。