U-net低对比度测试图像,预测输出为灰色框

问题描述 投票:1回答:1

我正在从https://github.com/zhixuhao/unet运行unet但是当我运行unet时,预测的图像都是灰色的。我得到一个错误,说我的测试数据的低对比度图像,任何人有或解决了这个问题?

我正在训练50张超声图像并在增强后获得2000/3000左右,在5个时期,每个时期300步,批量大小为2。

非常感谢海伦娜

python tensorflow keras conv-neural-network image-segmentation
1个回答
0
投票

确保数据管道正确无误后。这里有一些事情需要考虑,我希望其中一个提到帮助:

1.选择正确的丢失功能二进制交叉熵可能会使您的网络朝着优化所有标签的方向发展,现在,如果您的图像中标签数量不均衡,它可能会将您的网络绘制成只返回白色,灰色或黑色图像预测。尝试使用骰子系数损失

2.更改testGenerator中的一行在data.pytestGenerator方法中似乎存在问题的事情如下:

img = img / 255

将其更改为:

img /=255. 

3.如果你的学习率太高你会降低学习率,你可能会收敛到不充分的最佳状态,这也只会优化灰色,黑色或白色的预测。尝试围绕Adam(lr = 3e-5)的学习率和训练足够数量的时期,你应该打印骰子损失而不是准确性来检查你的收敛。

4.不要对最后一组卷积使用激活函数对于最后一组卷积,即128-> 64 - > 64 - > 1,不应使用激活函数!激活功能导致值消失!

5.您的保存方法可能有“错误”,请确保在保存之前将图像缩放到0到25​​5之间的值。 Skimage通常会以低对比度图像警告警告您。

from skimage import img_as_uint

io.imsave(os.path.join(save_path,"%d_predict.tif"%(i)),img_as_uint(img))
© www.soinside.com 2019 - 2024. All rights reserved.