【问题标题】:UNET : DSC and IOU for segmentationUNET:用于分割的 DSC 和 IOU
【发布时间】:2021-08-17 19:46:15
【问题描述】:

我一直在尝试使用 二元交叉熵 作为损失来训练 UNET,并在训练和验证期间读取 dice_coeffiou 作为指标。 5个epoch后的结果是

Epoch 5/5 2373/2373 [==============================] - 84s 35ms/step - loss: 0.0260 - dice_coef: 0.9864 - iou: 0.9734 - val_loss: 0.0579 - val_dice_coef: 0.9583 - val_iou: 0.9216

我使用的指标在这里:

def iou(y_true, y_pred):
  def f(y_true, y_pred):
    intersection = (y_true * y_pred).sum()
    union = y_true.sum() + y_pred.sum() - intersection
    x = (intersection + 1e-15) / (union + 1e-15)
    x = x.astype(np.float32)
    return x
return tf.numpy_function(f, [y_true, y_pred], tf.float32)

smooth = 1e-15
def dice_coef(y_true, y_pred):
    y_true = tf.keras.layers.Flatten()(y_true)
    y_pred = tf.keras.layers.Flatten()(y_pred)
    intersection = tf.reduce_sum(y_true * y_pred)
    return (2. * intersection + smooth) / (tf.reduce_sum(y_true) + tf.reduce_sum(y_pred) + smooth)

def dice_loss(y_true, y_pred):
    return 1.0 - dice_coef(y_true, y_pred)

评测结果在这里

46/46 [==============================] - 12s 259ms/step - loss: 0.0557 - dice_coef: 0.9567 - iou: 0.9181

我的疑惑是

  1. 即使我得到了 95% 的 dice 和 91% 的 iou,但预测的掩码并不像预期的那样。他们为大多数图像预测了很多区域。我想知道这 95% 是如何获得的。有许多图像的预测不合理。
  2. 据我所知,训练和验证结果给出了一个平均骰子分数。预测的掩码将具有 [0,1] 之间的值。论文中通常会报道什么?是在应用阈值> 0.5 之后还是在阈值之前?我们不能用一个也需要阈值的指标来训练网络吗?如果是,请帮助我提供代码。 评估模型后的测试图像结果如下:

【问题讨论】:

  • 你能计算出你展示的例子的 IoU 和 Dice 分数吗?它是否有很高的分数,而您期望它们会更低?还是该实例的得分低于预期?
  • 如果我在阈值处理后的预测掩码和基本事实之间计算骰子,它大约在 50% 左右,这是相当不错的。但是阈值化后从预测中获得的所有骰子分数的平均值约为 30%。在阈值化之前,平均骰子得分仅为 2%。无论如何,从评估结果中得出的结果不可能是 95%。
  • 尝试计算阈值和非阈值预测的骰子分数/IoU 并查看差异。您可能希望在损失中添加一个项,以鼓励预测更接近 {0,1} 而不是介于两者之间的中间值。我的猜测是你的预测非常接近 0.5,只有很小的波动。

标签: python tensorflow keras deep-learning image-segmentation


【解决方案1】:

如果要考虑阈值,则需要绘制ROC curve。对于二元分类(每像素),ROC 曲线显示准确度和特异性如何随阈值而变化。
获得 ROC 曲线后,您可以测量 "area under the curve" 以获得评估分类器的单个数字。

您可以使用sklearn.metrics.roc_curve 实现来计算它。

【讨论】:

    猜你喜欢
    • 2020-05-03
    • 2022-11-11
    • 2020-04-08
    • 2020-06-01
    • 2018-05-18
    • 2019-10-31
    • 2017-10-17
    • 2019-01-31
    • 2019-12-01
    相关资源
    最近更新 更多