Keras 3 API 文档 / KerasCV / 损失 / CIoU 损失

CIoU 损失

[来源]

CIoULoss

keras_cv.losses.CIoULoss(bounding_box_format, eps=1e-07, **kwargs)

实现完整的 IoU (CIoU) 损失

CIoU 损失是 GIoU 损失的扩展,它进一步改进了目标检测中 IoU 的优化。 CIoU 损失不仅惩罚边界框坐标,而且还考虑了框的长宽比和中心距离。最后一个维度的长度应该是 4,以表示边界框。

参数

  • bounding_box_format: 一个不区分大小写的字符串(例如,“xyxy”)。每个边界框由这 4 个值定义。有关支持格式的详细信息,请参阅 KerasCV 边界框文档.
  • eps: 添加的一个小值,以避免除以零并稳定计算。

参考资料

示例

y_true = np.random.uniform(
    size=(5, 10, 5),
    low=0,
    high=10)
y_pred = np.random.uniform(
    (5, 10, 4),
    low=0,
    high=10)
loss = keras_cv.losses.CIoULoss()
loss(y_true, y_pred).numpy()

compile() API 一起使用

model.compile(optimizer='adam', loss=CIoULoss())