RoI概念来源于SPP Net网络,其主要用于改善在卷积神经网络一般都包含卷积部分和全连接部分两个部分,卷积神经网络部分输入不需要固定尺寸,而全连接层则需要固定输入尺寸,因此在卷积神经网络中由于卷积部分提取到到的特征向量要输入到全连接网络中,因此卷积网络部分的的输入也只能输入固定的尺寸,但是在一些环境中所能提供的输入并不是一定的,因此在SSP Net中提出了RoI结构用来解决这个问题。
作用
加在卷积层后用来将卷积层输出的不同尺寸的向量固定成一个尺寸,使其可以在模型原始输入向量大小不同时可将卷及部分输出的向量统一规格输入到后续的全连接部分。
具体结构
假设输入ROI Pooling层的feature map of conv5的shape是(h,w,c)
- 首先ROI Pooling层把feature map of conv5划分成4*4的小方块(对应图中蓝色矩形),每个小方块的宽高分别为w/4,h/4,通道数为c,不能整除时需要取整.针对feature map的每个通道,分别在这16个小方块进行最大池化(MaxPooling),也就是取出小方块里的最大值.每一个通道都能取出16个最大值,所以所有通道共有16c个值
- 然后ROI Pooling层把feature map of conv5划分成2*2的小方块(对应图中绿色矩形),使用同样的方法得到4c个值
- 接着ROI Pooling层把feature map of conv5划分成1*1的小方块(对应图中灰色矩形),得到c个值
- 最后将上面三个值串联起来得到长度为16c+4c+c=21c的特征表示