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>