iou_similarity
paddle.fluid.layers. iou_similarity ( x, y, box_normalized=True, name=None ) [源代码]
IOU Similarity Operator
计算两个框列表的intersection-over-union(IOU)。框列表
应为LoDTensor,
是普通张量,
成批输入的所有实例共享
中的框。给定框A和框B,IOU的运算如下:
参数:
x (Variable) - 框列表
是二维LoDTensor,维度为
,存有
个框,每个框表示为
,
的维度为
。如果输入是图像特征图,[xmin,ymin][xmin,ymin] 表示框的左上角坐标,接近坐标轴的原点。[xmax,ymax][xmax,ymax] 表示框的右下角坐标。该张量包含批次输入的LoD信息。该批次输入的一个实例能容纳不同的项数。数据类型为float32或float64。
y (Variable) - 框列表 YY 是二维张量,存有 MM 个框,每个框表示为 [xmin,ymin,xmax,ymax][xmin,ymin,xmax,ymax] ,YY 的维度为 [M,4][M,4]。如果输入是图像特征图,[xmin,ymin][xmin,ymin] 表示框的左上角坐标,接近坐标轴的原点。[xmax,ymax][xmax,ymax] 表示框的右下角坐标。数据类型为float32或float64。
box_normalized (bool) - 先验框坐标是否正则化,即是否在[0, 1]区间内。默认值为true
返回:维度为 [N,M][N,M] 的LoDTensor,代表每一对iou分数,数据类型与 XX 相同
返回类型:Variable
代码示例
import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[4], dtype='float32')
y = fluid.layers.data(name='y', shape=[4], dtype='float32')
iou = fluid.layers.iou_similarity(x=x, y=y)