ExperimentalDetectronPriorGridGenerator

Versioned name: ExperimentalDetectronPriorGridGenerator-6

Category: Object detection

Short description: The ExperimentalDetectronPriorGridGenerator operation generates prior grids of specified sizes.

Detailed description: The operation takes coordinates of centres of boxes and adds strides with offset 0.5 to them to calculate coordinates of prior grids.

Numbers of generated cells is featmap_height and featmap_width if h and w are zeroes; otherwise, h and w, respectively. Steps of generated grid are image_height / layer_height and image_width / layer_width if stride_h and stride_w are zeroes; otherwise, stride_h and stride_w, respectively.

featmap_height, featmap_width, image_height and image_width are spatial dimensions values from second and third inputs, respectively.

Attributes:

  • flatten
    • Description: The flatten attribute specifies whether the output tensor should be 2D or 4D.
    • Range of values:
      • true - the output tensor should be a 2D tensor
      • false - the output tensor should be a 4D tensor
    • Type: boolean
    • Default value: true
    • Required: no
  • h
    • Description: The h attribute specifies number of cells of the generated grid with respect to height.
    • Range of values: non-negative integer number less or equal than featmap_height
    • Type: int
    • Default value: 0
    • Required: no
  • w
    • Description: The w attribute specifies number of cells of the generated grid with respect to width.
    • Range of values: non-negative integer number less or equal than featmap_width
    • Type: int
    • Default value: 0
    • Required: no
  • stride_x
    • Description: The stride_x attribute specifies the step of generated grid with respect to x coordinate.
    • Range of values: non-negative float number
    • Type: float
    • Default value: 0.0
    • Required: no
  • stride_y
    • Description: The stride_y attribute specifies the step of generated grid with respect to y coordinate.
    • Range of values: non-negative float number
    • Type: float
    • Default value: 0.0
    • Required: no

Inputs

  • 1: A 2D tensor of type T with shape [number_of_priors, 4] contains priors. Required.
  • 2: A 4D tensor of type T with input feature map [1, number_of_channels, featmap_height, featmap_width]. This operation uses only sizes of this input tensor, not its data.**Required.**
  • 3: A 4D tensor of type T with input image [1, number_of_channels, image_height, image_width]. The number of channels of both feature map and input image tensors must match. This operation uses only sizes of this input tensor, not its data. Required.

Outputs

  • 1: A tensor of type T with priors grid with shape [featmap_height * featmap_width * number_of_priors, 4] if flatten is true or [featmap_height, featmap_width, number_of_priors, 4], otherwise. If 0 < h < featmap_height and/or 0 < w < featmap_width the output data size is less than featmap_height * featmap_width * number_of_priors * 4 and the output tensor is filled with undefined values for rest output tensor elements.

Types

  • T: any supported floating point type.

Example

<layer ... type="ExperimentalDetectronPriorGridGenerator" version="opset6">
<data flatten="true" h="0" stride_x="32.0" stride_y="32.0" w="0"/>
<input>
<port id="0">
<dim>3</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>1</dim>
<dim>256</dim>
<dim>25</dim>
<dim>42</dim>
</port>
<port id="2">
<dim>1</dim>
<dim>3</dim>
<dim>800</dim>
<dim>1344</dim>
</port>
</input>
<output>
<port id="3" precision="FP32">
<dim>3150</dim>
<dim>4</dim>
</port>
</output>
</layer>