与faster R_CNN相比,mask R_CNN是用RoiAlign代替了Roi Pooling,在最后计算loss时增加了FCN(mask)层。
一、ROIAlign
ROI Pooling:
目的:
从RPN网络确定的ROI中导出较小的特征图,ROI的大小各不相同,但经过ROI Pooling后都编程了7x7大小。RPN网络提出若干ROI的坐标[x, y, w, h]表示,然后输入ROI Pooling,输出7x7大小的特征图供分类和定位使用。
存在的问题:
若ROI网络输出的ROI大小为8x8的,则无法保证输入像素和输出像素是一一对应。他们包含的信息量不同(有的是一对一,有的是一对二),再者他们的坐标无法和输入对应起来(一对二的那个ROI输出像素该对应哪个像素的坐标?)这对分类没什么影响,但是对分割却影响很大。ROIAlign的输出坐标使用插值算法得到,不再量化,每个grid中的值也不再使用max,同样使用插值算法。
操作:
为了得到固定大小(7x7)的feature map,需要做2次量化操作:
1、图像坐标–>feature map
2、feature map–>ROI feature坐标
输入一张800x800的图像,图像