mindspore.ops.BoundingBoxEncode

查看源文件
class mindspore.ops.BoundingBoxEncode(means=(0.0, 0.0, 0.0, 0.0), stds=(1.0, 1.0, 1.0, 1.0))[源代码]

编码边界框位置信息。

算子的功能是计算预测边界框和真实边界框之间的偏移,并将此偏移作为损失变量。

参数:
  • means (tuple) - 计算编码边界框的均值。默认值: (0.0, 0.0, 0.0, 0.0)

  • stds (tuple) - 计算增量的标准偏差。默认值: (1.0, 1.0, 1.0, 1.0)

输入:
  • anchor_box (Tensor) - 锚框。锚框的shape必须为 \((n, 4)\)

  • groundtruth_box (Tensor) - 真实边界框。它的shape与锚框相同。

输出:

Tensor,编码边界框。数据类型和shape与输入 anchor_box 相同。

异常:
  • TypeError - 如果 meansstds 不是tuple。

  • TypeError - 如果 anchor_boxgroundtruth_box 不是Tensor。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import Tensor, ops
>>> anchor_box = Tensor([[2, 2, 2, 3], [2, 2, 2, 3]], mindspore.float32)
>>> groundtruth_box = Tensor([[1, 2, 1, 4], [1, 2, 1, 4]], mindspore.float32)
>>> boundingbox_encode = ops.BoundingBoxEncode(means=(0.0, 0.0, 0.0, 0.0), stds=(1.0, 1.0, 1.0, 1.0))
>>> output = boundingbox_encode(anchor_box, groundtruth_box)
>>> print(output)
[[ -1.  0.25  0.  0.40551758]
 [ -1.  0.25  0.  0.40551758]]