Keras 3 API 文档 / KerasCV / 边界框格式和实用程序 / 边界框实用程序 / 转换批处理的 Ragged 张量边界框字典

转换批处理的 Ragged 张量边界框字典

[源代码]

to_ragged 函数

keras_cv.bounding_box.to_ragged(bounding_boxes, sentinel=-1, dtype=tf.float32)

将密集填充的边界框 tf.Tensor 转换为 tf.RaggedTensor

在大多数用例中,边界框都是 Ragged 张量。将它们转换为密集张量可以更容易地与 TensorFlow 生态系统协同工作。此函数可用于通过检查 bounding_boxes 的 class_id 轴的填充哨兵值来过滤掉屏蔽的边界框。

示例

bounding_boxes = {
    "boxes": tf.constant([[2, 3, 4, 5], [0, 1, 2, 3]]),
    "classes": tf.constant([[-1, 1]]),
}
bounding_boxes = bounding_box.to_ragged(bounding_boxes)
print(bounding_boxes)
# {
#     "boxes": [[0, 1, 2, 3]],
#     "classes": [[1]]
# }

参数

  • bounding_boxes: 边界框的张量。可以是批处理的或非批处理的。
  • sentinel: 指示在当前索引处不存在边界框,并且相应的框为填充的值,默认为 -1。
  • dtype: 用于底层张量的的数据类型。

返回值

包含已过滤边界框的 tf.RaggedTensor 或 'tf.Tensor' 字典。