prior_box

paddle.vision.ops. prior_box ( input: Tensor, image: Tensor, min_sizes: Sequence[float] | float, max_sizes: Sequence[float] | float | None = None, aspect_ratios: Sequence[float] | float = [1.0], variance: Sequence[float] | float = [0.1, 0.1, 0.2, 0.2], flip: bool = False, clip: bool = False, steps: Sequence[float] | float = [0.0, 0.0], offset: float = 0.5, min_max_aspect_ratios_order: bool = False, name: str | None = None ) tuple[Tensor, Tensor] [source]

This op generates prior boxes for SSD(Single Shot MultiBox Detector) algorithm.

Each position of the input produce N prior boxes, N is determined by the count of min_sizes, max_sizes and aspect_ratios, The size of the box is in range(min_size, max_size) interval, which is generated in sequence according to the aspect_ratios.

Parameters
  • input (Tensor) – 4-D tensor(NCHW), the data type should be float32 or float64.

  • image (Tensor) – 4-D tensor(NCHW), the input image data of PriorBoxOp, the data type should be float32 or float64.

  • min_sizes (list|tuple|float) – the min sizes of generated prior boxes.

  • max_sizes (list|tuple|float|None, optional) – the max sizes of generated prior boxes. Default: None, means [] and will not be used.

  • aspect_ratios (list|tuple|float, optional) – the aspect ratios of generated prior boxes. Default: [1.0].

  • variance (list|tuple|float, optional) – the variances to be encoded in prior boxes. Default:[0.1, 0.1, 0.2, 0.2].

  • flip (bool) – Whether to flip aspect ratios. Default:False.

  • clip (bool) – Whether to clip out-of-boundary boxes. Default: False.

  • steps (list|tuple|float, optional) – Prior boxes steps across width and height, If steps[0] equals to 0.0 or steps[1] equals to 0.0, the prior boxes steps across height or weight of the input will be automatically calculated. Default: [0., 0.]

  • offset (float, optional)) – Prior boxes center offset. Default: 0.5

  • min_max_aspect_ratios_order (bool, optional) – If set True, the output prior box is in order of [min, max, aspect_ratios], which is consistent with Caffe. Please note, this order affects the weights order of convolution layer followed by and does not affect the final detection results. Default: False.

  • name (str, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to api_guide_Name

Returns

the output prior boxes and the expanded variances of PriorBox.

The prior boxes is a 4-D tensor, the layout is [H, W, num_priors, 4], num_priors is the total box count of each position of input. The expanded variances is a 4-D tensor, same shape as the prior boxes.

Return type

Tensor

Examples

>>> import paddle

>>> input = paddle.rand((1, 3, 6, 9), dtype=paddle.float32)
>>> image = paddle.rand((1, 3, 9, 12), dtype=paddle.float32)
>>> box, var = paddle.vision.ops.prior_box(
...     input=input,
...     image=image,
...     min_sizes=[2.0, 4.0],
...     clip=True,
...     flip=True)
...