文件最后提交记录最后更新时间
1 个月前
23 天前
5 天前
6 天前
1 个月前
1 个月前
README

BoundingBoxEncode

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:计算锚框(anchor box)与真实边界框(ground truth box)之间的编码偏移量,生成目标检测回归目标。

  • 计算公式:

    先将输入坐标 (x1,y1,x2,y2)(x_1, y_1, x_2, y_2) 转换为中心点+宽高格式:

    cx=(x1+x2)/2,cy=(y1+y2)/2,w=x2−x1+1,h=y2−y1+1cx = (x_1 + x_2) / 2, \quad cy = (y_1 + y_2) / 2, \quad w = x_2 - x_1 + 1, \quad h = y_2 - y_1 + 1

    再计算编码偏移量:

    dx=gcx−pcxpw,dy=gcy−pcyph,dw=ln⁡(gwpw),dh=ln⁡(ghph)dx = \frac{g_{cx} - p_{cx}}{p_w}, \quad dy = \frac{g_{cy} - p_{cy}}{p_h}, \quad dw = \ln\left(\frac{g_w}{p_w}\right), \quad dh = \ln\left(\frac{g_h}{p_h}\right)

    最后做均值标准化:

    δi=rawi−meansistdsi,i∈{0,1,2,3}\delta_i = \frac{raw_i - means_i}{stds_i}, \quad i \in \{0,1,2,3\}

    其中pp为anchor_box对应值,gg为ground_truth_box对应值。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
anchor_box 输入 锚框坐标张量,坐标格式为(x1, y1, x2, y2)。数据类型需与ground_truth_box一致。 FLOAT16、FLOAT ND
ground_truth_box 输入 真实边界框坐标张量,坐标格式为(x1, y1, x2, y2)。数据类型和shape需与anchor_box一致。 FLOAT16、FLOAT ND
means 属性 编码均值偏移量,长度为4。默认值为[0.0, 0.0, 0.0, 0.0]。 ListFloat -
stds 属性 编码标准差缩放量,长度为4,各元素不可为0。默认值为[1.0, 1.0, 1.0, 1.0]。 ListFloat -
delats 输出 编码偏移量输出张量。数据类型与anchor_box一致,shape与anchor_box相同。 FLOAT16、FLOAT ND

约束说明

  • anchor_box和ground_truth_box的数据类型必须相同,支持float16和float32。
  • anchor_box和ground_truth_box的shape必须完全一致,均为(N, 4)。
  • means和stds的长度必须为4,stds各元素不可为0。
  • 坐标格式为标准(x1, y1, x2, y2)格式,即左上角和右下角坐标。
  • 公式中宽高计算包含+1偏移(w = x2 - x1 + 1, h = y2 - y1 + 1),保证宽高至少为1,防止除零。
  • 支持空Tensor(N=0时返回空输出)。

调用说明

调用方式 样例代码 说明
图模式 test_geir_bounding_box_encode 通过算子IR构图方式调用BoundingBoxEncode算子。