ROI pooling
目标检测通常分为两个阶段:
(1)region proposal:给定一张图片,找出目标可能存在的位置。该阶段输出为一系列目标可能存在的位置的bounding box。这些bounding box通常被称为region proposals或者regions of interest (ROI)。
(2) final classification:确定上一阶段的每个region proposal是否属于目标一类或者背景。
该框架的问题:
(1)产生大量的region proposals会导致性能下降,实时性不高。
(2)无法做到end-to-end的训练。
ROI pooling层能提升训练和测试的速度,并提高准曲率。
ROI pooling层的输入:
(1)具有多个卷积核池化的深度网络中获得的固定大小的feature maps;
(2)一个表示所有ROI的N*5的矩阵,其中N表示ROI的个数,5=1+4,1表示图像的index,4表示左上角和右下角坐标。
ROI pooling具体操作如下:
(1)根据输入的图像,将ROI映射到feature map的对应位置;
(2)将映射好的区域分为相同大小的sections(sections的数量与输出维度相同);
(3)最每个sections进行max pooling操作。
这样可以从不同大小的方框中得到固定大小的对应的feature maps。注意的是输出的feature maps的大小不取决于ROI和卷积feature maps的大小。ROI pooling 最大的好处就在于极大地提高了处理速度。
ROI pooling example
(2)region proposal 投影之后位置(左上角,右下角坐标):(0,3),(7,8)。
(3)将其划分为(2*2)个sections(因为输出大小为2*2),我们可以得到:
(4)对每个section做max pooling,可以得到:
(2)region proposal 投影之后位置(左上角,右下角坐标):(0,3),(7,8)。
(3)将其划分为(2*2)个sections(因为输出大小为2*2),我们可以得到:
(4)对每个section做max pooling,可以得到:
参考:
[1] http://blog.****.net/auto1993/article/details/78514071