CANN/ops-cv 边界框编码算子 BoundingBoxEncode【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品×Atlas 推理系列产品×Atlas 训练系列产品×功能说明算子功能计算锚框anchor box与真实边界框ground truth box之间的编码偏移量生成目标检测回归目标。计算公式先将输入坐标 $(x_1, y_1, x_2, y_2)$ 转换为中心点宽高格式$$ cx (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 \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) $$最后做均值标准化$$ \delta_i \frac{raw_i - means_i}{stds_i}, \quad i \in {0,1,2,3} $$其中$p$为anchor_box对应值$g$为ground_truth_box对应值。参数说明参数名输入/输出/属性描述数据类型数据格式anchor_box输入锚框坐标张量坐标格式为(x1, y1, x2, y2)。数据类型需与ground_truth_box一致。FLOAT16、FLOATNDground_truth_box输入真实边界框坐标张量坐标格式为(x1, y1, x2, y2)。数据类型和shape需与anchor_box一致。FLOAT16、FLOATNDmeans属性编码均值偏移量长度为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、FLOATND约束说明anchor_box和ground_truth_box的数据类型必须相同支持float16和float32。anchor_box和ground_truth_box的shape必须完全一致均为(N, 4)。means和stds的长度必须为4stds各元素不可为0。坐标格式为标准(x1, y1, x2, y2)格式即左上角和右下角坐标。公式中宽高计算包含1偏移w x2 - x1 1, h y2 - y1 1保证宽高至少为1防止除零。支持空TensorN0时返回空输出。调用说明调用方式样例代码说明图模式test_geir_bounding_box_encode通过算子IR构图方式调用BoundingBoxEncode算子。【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考