IoULoss
类keras_cv.losses.IoULoss(bounding_box_format, mode="log", axis=-1, **kwargs)
实现 IoU 损失
IoU 损失常用于目标检测。此损失旨在直接优化真实框和预测框之间的 IoU 分数。最后一维的长度应为 4 以表示边界框。此损失根据框对使用 IoU,因此,y_true 和 y_pred 中的框数应相等,即批次中第 i 个 y_true 框将与第 i 个 y_pred 框进行比较。
参数
"linear"
. 损失将计算为 1 - iou"quadratic"
. 损失将计算为 1 - iou2"log"
. 损失将计算为 -ln(iou)。默认为“log”。参考文献
示例
y_true = np.random.uniform(size=(5, 10, 5), low=10, high=10)
y_pred = np.random.uniform(size=(5, 10, 5), low=10, high=10)
loss = IoULoss(bounding_box_format = "xyWH")
loss(y_true, y_pred)
与 compile()
API 一起使用
model.compile(optimizer='adam', loss=keras_cv.losses.IoULoss())