代码之家  ›  专栏  ›  技术社区  ›  MenorcanOrange

分割问题的加权二元交叉熵骰子损失

  •  1
  • MenorcanOrange  · 技术社区  · 6 年前

    我使用加权二元交叉熵骰子损失来解决类不平衡的分割问题(黑色像素比白色像素多80倍)。

    def weighted_bce_dice_loss(y_true, y_pred):
        y_true = K.cast(y_true, 'float32')
        y_pred = K.cast(y_pred, 'float32')
        averaged_mask = K.pool2d(
            y_true, pool_size=(50, 50), strides=(1, 1), padding='same', pool_mode='avg')
        weight = K.ones_like(averaged_mask)
        w0 = K.sum(weight)
        weight = 5. * K.exp(-5. * K.abs(averaged_mask - 0.5))
        w1 = K.sum(weight)
        weight *= (w0 / w1)
        loss = weighted_bce_loss(y_true, y_pred, weight) + dice_loss(y_true, y_pred)
        return loss
    

    骰子系数增加,损失减少,但在每一个时代,我得到一个黑色图像作为输出(所有像素都标为黑色)

    enter image description here

    你知道为什么会这样吗?

    0 回复  |  直到 6 年前
    推荐文章