Keras 3 API 文件 / KerasCV / 邊界框格式和工具 / 邊界框工具 / 計算邊界框的交集超過聯集

計算邊界框的交集超過聯集

[來源]

compute_iou 函數

keras_cv.bounding_box.compute_iou(
    boxes1,
    boxes2,
    bounding_box_format,
    use_masking=False,
    mask_val=-1,
    images=None,
    image_shape=None,
)

計算一個查找表向量,其中包含給定邊界框集合的 IoU。

如果邊界框未批次處理,則查找向量應由 [boxes1_index,boxes2_index] 索引;如果邊界框已批次處理,則應由 [batch, boxes1_index,boxes2_index] 索引。

使用者可以傳遞不同秩的 boxes1boxes2。例如:1) boxes1: [batch_size, M, 4], boxes2: [batch_size, N, 4] -> 返回 [batch_size, M, N]。 2) boxes1: [batch_size, M, 4], boxes2: [N, 4] -> 返回 [batch_size, M, N] 3) boxes1: [M, 4], boxes2: [batch_size, N, 4] -> 返回 [batch_size, M, N] 4) boxes1: [M, 4], boxes2: [N, 4] -> 返回 [M, N]

參數

  • boxes1:一個以「角落」格式表示的邊界框清單。可以批次處理或不批次處理。
  • boxes2:一個以「角落」格式表示的邊界框清單。可以批次處理或不批次處理。
  • bounding_box_format:一個不區分大小寫的字串,可以是 "xyxy""rel_xyxy""xyWH""center_xyWH""yxyx""rel_yxyx" 其中之一。有關支援格式的詳細資訊,請參閱KerasCV 邊界框文件
  • use_masking:是否套用遮罩。這將遮罩其 4 個維度中所有值都小於 0 的 boxes1boxes2。預設值為 False
  • mask_val:如果套用遮罩,則使用此整數遮罩返回的 IoU,預設值為 -1。

傳回值

  • iou_lookup_table:一個包含 boxes1 和 boxes2 兩兩之間 IoU 的向量。