You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

U-Net训练验证集IOU恒定极低 图像掩码缩放预处理问题排查

问题根因

1. 掩码增强逻辑错误

当前你将包含像素值变换的增强策略同时应用于图像和掩码,掩码作为标注数据仅可使用几何变换(翻转、旋转等),你用到的高斯模糊、对比度调整、锐化、边缘检测等操作会破坏二值掩码的标签正确性,导致模型无法学习到正确的映射关系。

2. 掩码数值范围错误

你的掩码被转换为uint8类型,通常这类掩码的正样本像素值为255,未归一化到0-1区间,而模型sigmoid层输出范围为0-1,计算二元交叉熵损失时标签和预测值范围不匹配,导致损失计算失效,模型收敛到输出全背景的局部最优解,刚好匹配你观察到的79%左右固定准确率(对应数据集背景占比约79%)。

3. 路径拼写错误

掩码加载代码y_train = np.load('/y_train.npy')开头多了斜杠,若本地文件路径不对也会导致加载错误。


修复方案

  • 拆分图像和掩码的增强逻辑:图像保留原有增强策略,掩码单独编写增强函数,仅保留水平翻转、垂直翻转两类几何变换,且保证图像和掩码增强时使用相同随机种子,确保变换后二者对齐。
  • 修正掩码数值范围:加载掩码后添加归一化逻辑:
y_train = (y_train > 127).astype('float32')

将二值掩码统一转换为0、1取值,适配损失计算要求。

  • 统一输入缩放逻辑:当前生成器已为图像配置rescale=1.0/255,保持Lambda缩放层注释即可,不要同时开启两处缩放。
  • 训练前做数据校验:从生成器中取出一组图像和对应掩码可视化,确认图像取值范围为0-1、掩码仅含0/1两个值、掩码和图像目标位置对齐。
  • (可选)优化损失函数:分割任务推荐使用二元交叉熵+Dice损失的组合损失,缓解类别不平衡问题,提升IOU指标表现。

内容的提问来源于stack exchange,提问作者George

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:54:01