VL_NNBILIEARSAMPLER - CNN空间双线性重采样
Y = VL_NNBILINEARSAMPLER(X,GRID)使用双线性内插在由GRID指定的空间位置处重新采样图像X.
X是维度H×W×C×N的阵列,其中(H,W)是图像的高度和宽度,C是特征通道的数量,N是批次中的图像的数量。
GRID是尺寸为2×Ho×Wo×No的数组,其中(Ho,Wo)是输出图像的高度和宽度,No是输出批次Y中的输出图像的数量。输出数组Y具有尺寸Ho x Wo x C x No.对所有输入要素通道使用相同的重采样网格,但是batchY中的每个输出图像都使用自己的网格。
对于输出图像n,GRID(1,:,:,n)指定输入图像X中的样本的垂直位置v和水平位置u的GRID(2,:,:,n)。 惯例遵循文献中的这个运算符的标准偏差。 即:
1.网格坐标在范围[-1,1]中被归一化。 这个意味着(-1,-1)是输入图像中的左上像素的中心,并且(+ 1,+ 1)是右下像素的中心。
2.V,U坐标平面在GRID的第一维而不是第三维中堆叠,因为它在MatConvNet中更自然(因为这些可以在GRID中被解释为“通道”)。
此外,N 0可以是N的倍数; 在这种情况下,假设每个输入图像有No / N个变换,因此,将变换[1 … No / N]应用于第一图像,[No / N + 1 … 2 * No / N]应用于第二图像等。
[DX,DGRID] = VL_NNBILINEARSAMPLER(X,GRID,DY)计算投影到DY上的块的导数。 DX,DGRID,DY分别具有与X,GRID和Y相同的尺寸。
CUDNN SUPPORT
如果编译,函数将使用cuDNN的实现。 注意,需要cuDNN v5或更高版本。 您可以使用“NoCudnn”选项禁用cuDNN或“CuDNN”再次激活它(选择坚持,直到MATLAB为任何原因清除MEX文件)。