U-Net网络跑自己的数据集注意事项

1. 数据集图片大小问题

U-Net是经过几次下采样,再经过几次上采样恢复到原来的大小,因此需要数据集图片经过几次下采样后,不为奇数,否则可能会在网络结构那里报错,输入输出不对应。
解决办法:第一种方法是resize为特定大小,但这样图片改变了,可能效果不好;另一种方法是将图片进行裁剪,这样保留了IOU区域的原始大小。

2. 对于训练结果全黑或全白的情况

可能的原因有几个:

  1. 损失函数选择不对,交叉熵损失函数可能不适用于这种IOU区域和背景区域面积相差较大的情况,可以改用为focal loss、dice loss或Tversky loss等图像分割常用的loss。
  2. 训练集样本太少,之前仅采用40张图片进行训练,效果出不来;
  3. 训练迭代次数太少,之前仅训练10个epoch,也是没有效果,后来增加至30,50;
  4. 训练学习率太大了,之前是10e-4,后来改为了10e-6;
    另外,训练的batch_size越大越好,这样越具有代表性;卷积核大小也可以调整。

3. 对于数据集中图片读取时顺序为0,1,10,100…的情况

可以用下面的程序解决,按照0,1,2…顺序进行排列

imgs.sort(key=lambda x: int(x.replace("..\\test\\","").split('.')[0]))	# 按照数字进行排序后按顺序读取文件夹下的图片

其中,"…\test\"为图像文件夹的路径

4. 对于结果为灰色(不为黑白)

一般情况是因为还没有完全拟合,可以考虑将epoch增大

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值