Versioned name: GridSample-9
Category: Image processing
Short description: GridSample performs interpolated sampling of pixels from the input image, using normalized, non-integer coordinates passed in as one of its inputs.
Detailed description: GridSample operates on a 4D input tensor representing an image. It calculates the output by selecting a location in the input image based on the values of the
grid input. The latter contains a pair of float numbers for each output element that the operator is supposed to produce. Conceptually the operator behaves like Gather or GatherND but the difference is that the pixels to be selected are denoted by pairs of floats which belong to the range
[-1, 1]. Those values have to be denormalized first (mapped to the integer coordinates of the input tensor) and then the output value is calculated according to the interpolation
Description: controls how the extrema values in the
gridinput tensor map to the border pixels of the input image. The value of -1 for both width and height can map either to the center of the border pixels or their left/top border. Similarly, the value of 1 can also map to the center of the border pixels or their right/bottom border. Inherently this means that the
GridSampleoperation treats pixels as squares rather than infinitely small points.
Range of values:
false- map extrema values to the center of pixels
true- map extrema values to the borders of pixels
Default value: false
Description: specifies the interpolation type used to calculate the output elements
Range of values: one of:
Default value: bilinear
Description: controls the handling of out-of-bounds coordinates. The denormalized coordinates might fall outside of the input tensor’s area(values outside the grid).
Range of values:
zeros- consider values in the padding to be zeros
border- the operator is supposed to select the nearest in-bounds pixel
reflection- repeatedly reflect the out-of bounds value until it points to a pixel that belongs to the image
Default value: zeros
data- Input tensor of type
Twith data to be sampled. This input is expected to be a 4-dimensional tensor with NCHW layout. Required.
grid- A 4-dimensional tensor containing normalized sampling coordinates(pairs of floats). The shape of this tensor is
[N, H_out, W_out, 2]and the data type is
1: A 4-dimensional tensor of type
[N, C, H_out, W_out]shape. It contains the interpolated values calculated by this operator.
T: any type supported by OpenVINO.
T1: any supported floating-point type.
<layer ... type="GridSample" ...> <data align_corners="true" mode="nearest" padding_mode="border"/> <input> <port id="0"> <dim>1</dim> <dim>3</dim> <dim>100</dim> <dim>100</dim> </port> <port id="1"> <dim>1</dim> <dim>10</dim> <dim>10</dim> <dim>2</dim> </port> </input> <output> <port id="0"> <dim>1</dim> <dim>3</dim> <dim>10</dim> <dim>10</dim> </port> </output> </layer>