可能原因
- 特征融合方式不平滑
- 如果用的是简单的 add 或 cat → conv,不同来源的特征分布差别很大,容易在局部出现爆点。
- 特别是人脸区域,分布差异会被放大,导致 decoder 输出异常颜色。 (如图鼻子处的橙色 spot)[lq, gt, decoder1, fuse, decoder2]

- 特征未完全对齐
- 特征不严格对齐,就会在融合时留下边界/点状伪影。
- 简单的 bilinear 插值可能不足以保证平滑过渡。
- 数值范围不匹配
- 不同的 feature 可能处于不同的数值范围。
- 如果没有做 归一化 (LayerNorm/InstanceNorm),直接相加/拼接就会出现色彩点。
- 过度依赖外部特征 (shortcut)
- Decoder 可能在某些 spatial 位置几乎完全依赖外部特征,导致颜色直接来自教师分布 → 出现随机偏色点。
✅ 改进建议(减少颜色点伪影)
- 融合前加归一化
- 做
LayerNorm 或 InstanceNorm。
- 保证不同来源特征在数值范围和统计量上一致。
- 改进融合模块
- 用 CrossAttention 替代简单的 cat/add:
- Query = 学生 decoder 当前特征
- Key/Value = 对齐后的外部特征
- 好处:decoder 自己“选择”要不要用外部特征,而不是被硬注入。
- 或者轻量化尝试 LoRA CrossAttn(只训练小参数),避免大模型过拟合。
- 特征 Dropout
- 训练时随机丢掉一部分外部特征通道或 spatial patch。
- 防止 decoder 过度依赖外部特征,减少 shortcut 伪影。
- 损失函数中加 smooth/TV loss