繁体   English   中英

语义分割的自定义指标

[英]Custom metric for Semantic segmentation

我正在处理多类语义分割任务,并想定义一个自定义的加权指标来计算我的 NN 的表现。

我正在使用 U-net 将我的图像分割成 8 个类之一,其中 1-7 个是特定类,0 是背景。 如何使用在Keras 指标页面上定义的标准自定义指标模板,以便仅获得通道 1-7 的 IoU 乘以 (1,7) 权重数组? 我尝试使用以下方法删除自定义指标中的背景通道

y_true, y_pred = y_true[1:,:,:], y_pred[1:, :,:]

但看起来这不是我想要的。 任何帮助将不胜感激。

必要的改变

def dice_coef_multilabel(y_true, y_pred, numLabels=CLASSES):
    dice=0
    for index in range(numLabels):
        dice -= dice_coef(y_true[:,:,index], y_pred[:,:,index])
    return dice

如果需要,可以通过使用两个嵌套循环遍历所有通道组合来跨通道计算骰子系数。 我还包括骰子系数计算。

def dice_coef(y_true, y_pred):
    y_true_f = K.flatten(y_true)
    y_pred_f = K.flatten(y_pred)
    intersection = K.sum(y_true_f * y_pred_f)
    return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)

FWIW, 此 github 链接具有以通道方式实施的各种类型的指标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM