prior_box
paddle.fluid.layers. prior_box ( input, image, min_sizes=None, max_sizes=None, aspect_ratios=[1.0], variance=[0.1, 0.1, 0.2, 0.2], flip=False, clip=False, steps=[0.0, 0.0], offset=0.5, name=None, min_max_aspect_ratios_order=False ) [源代码]
该OP为SSD(Single Shot MultiBox Detector)算法生成候选框。输入的每个位产生N个候选框,N由min_sizes,max_sizes和aspect_ratios的数目决定,候选框的尺寸在(min_size,max_size)之间,该尺寸根据aspect_ratios在序列中生成。
参数:
input (Variable) - 形状为NCHW的4-DTensor,数据类型为float32或float64。
image (Variable) - PriorBoxOp的输入图像数据,形状为NCHW的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。
step (list|tuple) - 候选框在width和height上的步长。如果step[0]等于0.0或者step[1]等于0.0,则自动计算候选框在宽度和高度上的步长。默认:[0.,0.]
offset (float) - 候选框中心位移。默认:0.5
name (str|None) - 该参数供开发人员打印调试信息时使用,具体用法请参见 Name 。默认值为None。
min_max_aspect_ratios_order (bool) - 若设为True,候选框的输出以[min, max, aspect_ratios]的顺序输出,和Caffe保持一致。请注意,该顺序会影响后面卷基层的权重顺序,但不影响最后的检测结果。默认:False。
返回:含有两个变量的元组,包括:
boxes: 候选框。形状为[H,W,num_priors,4]的4-D Tensor。其中,H是输入的高度,W是输入的宽度,num_priors是输入每位的总框数。 variances: 候选框的方差,形状为[H,W,num_priors,4]的4-D Tensor。其中,H是输入的高度,W是输入的宽度,num_priors是输入每位的总框数。
返回类型:元组
代码示例:
import paddle.fluid as fluid
input = fluid.layers.data(name="input", shape=[3,6,9])
images = fluid.layers.data(name="images", shape=[3,9,12])
box, var = fluid.layers.prior_box(
input=input,
image=images,
min_sizes=[100.],
flip=True,
clip=True)