我尝试使用unet设计进行多级语义分割。与unet论文类似,我希望对超重边框做出损失功能(第5页)。
因此,我想为每个图像制作一个自定义丢失贴图,其中对象之间的边界超重。我使用分类交叉熵,我将损失函数前的图像展平为here。我会很好地制作像素丢失掩模,但我想知道如果可能的话,如何通过像素掩模多次丢失。
答案 0 :(得分:0)
如果您知道如何在二维地图上执行此操作,则可以始终使用多个输出,并使用自定义像素掩码以补充交叉熵损失。可以在此处找到u形网络的多个损失的示例实现:https://github.com/EdwardTyantov/ultrasound-nerve-segmentation
答案 1 :(得分:0)
以下是张量流http://tf-unet.readthedocs.io/en/latest/_modules/tf_unet/unet.html中的权重贴图的实现,您应该能够在自定义损失函数中对keras进行调整。我报告相关代码:
nb.brightColor(color)
答案 2 :(得分:0)
假设多类别预测,在您的数据生成器中,将您的权重图连接为批次中每个元素的三维通道。接下来,在损失函数中,提取每个批次元素的权重图,将其与预测值相乘(仅使用*),然后计算对数损失。