prior_box¶
- paddle.vision.ops. prior_box ( input, image, min_sizes, max_sizes=None, aspect_ratios=[1.], variance=[0.1, 0.1, 0.2, 0.2], flip=False, clip=False, steps=[0.0, 0.0], offset=0.5, min_max_aspect_ratios_order=False, name=None ) [源代码] ¶
为 SSD(Single Shot MultiBox Detector) 系列目标检测算法生成候选框,是在输入的每个位置生成 N 个候选框, N 由 min_sizes, max_sizes 和 aspect_ratios 的数目决定,候选框的尺寸在 (min_size, max_size) 之间,该尺寸根据 aspect_ratios 在序列中生成。
参数¶
input (Tensor) - 形状为 [N, C, H, W] 的 4-D Tensor ,数据类型为 float32 或 float64 。
image (Tensor) - 输入图像数据,形状为 [N, C, H, W] 的 4-D Tensor ,数据类型为 float32 或 float64 。
min_sizes (list|tuple|float) - 生成的候选框的最小尺寸。
max_sizes (list|tuple|None,可选) - 生成的候选框的最大尺寸。默认值为 None 。
aspect_ratios (list|tuple|float,可选) - 生成的候选框的长宽比。默认值为 [1.] 。
variance (list|tuple,可选) - 在候选框中解码的方差。默认值为 [0.1, 0.1, 0.2, 0.2] 。
flip (bool,可选) - 是否翻转。默认值为 False 。
clip (bool,可选) - 是否裁剪。默认值为 False 。
steps (list|tuple,可选) - 候选框在 width 和 height 上的步长。如果 steps[0] 等于 0.0 或者 steps[1] 等于 0.0 ,则自动计算候选框在宽度和高度上的步长。默认值为 [0., 0.] 。
offset (float,可选) - 候选框中心位移。默认值为 0.5 。
min_max_aspect_ratios_order (bool) - 若设为 True ,候选框的输出以 [min, max, aspect_ratios] 的顺序输出,和 Caffe 保持一致。请注意,该顺序会影响后面卷基层的权重顺序,但不影响最后的检测结果。默认值为 False 。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None 。
返回¶
box (Tensor) - 候选框,形状为 [H, W, num_priors, 4] 的 4-D Tensor。其中 H 是输入的高度, W 是输入的宽度, num_priors 是输入每个位置的总框数。
var (Tensor) - 候选框的方差,形状为 [H, W, num_priors, 4] 的 4-D Tensor。其中 H 是输入的高度, W 是输入的宽度, num_priors 是输入每个位置的总框数。
代码示例¶
>>> 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)
...