众所周知,卷积神经网络的卷积层会产生一个三维的矩阵:W*H*K。如何将三维的转化为二维的,并加以利用呢?
R-MAC(Regional Maximum Activation of Convolutions)方法是一个十分常用的方法。
该方法在论文《PARTICULAR OBJECT RETRIEVAL WITH INTEGRAL MAX-POOLING OF CNN ACTIVATIONS》有详细介绍。
1.产生regions
首先,需要强调的一点,regions产生在feature maps上,而不是在原图上。
在L个不同的尺度上产生正方形regions。在最大的尺度(l=1)上,region的尺寸最大。如图所示,依次为l=1,2,3。
在某一个尺度 l 上,类似于滑动窗口,只需保证连续的两个region之间的重叠率接近于40%即可。
采样时,regions的宽=高=2min(W,H)/(l+1),共采样 l*(l+1)个regions。
假设卷积网络结构中,提取特征的layer产生的feature map大小为W*H*K。以产生的region R1为例,其中的每一层d(1<=d<=K)均会产生一个大小位置与R1相同的regions。
提取每个region的feature vector,依次进行L2-normalize,PCA-whitening,L2-normalize。
2.图像表示
以产生的region R1为例,从d层的每个region中找到其最大的激活值 f(R1,d),以该最大值代表这个region。
所以R1的feature vector可以表示为 f(R1)=[ f(R1,1),...,f(R1,d),...,f(R1,K)],是一个1*K的向量。再次进行L2-normalize。
公式表示为:
整张图像的描述记为:
该过程以图表示: