基于改进FFA-Net的雾天图像增强系统
针对户外监控设备在雾天环境下的图像退化问题,本文基于SOTA的FFA-Net去雾模型进行二次开发,创新性地提出半监督混合损失函数,有效解决合成数据训练的模型在真实场景泛化不足的痛点。经真实道路场景测试,车牌识别准确率提升21%(68%→89%)。
1. 问题背景:雾天监控的致命缺陷
在智慧交通系统中,雾天环境导致监控图像存在三大问题:
对比度衰减:大气粒子散射导致图像灰白化
色彩失真:物体表面颜色被大气光淹没
细节丢失:关键信息(如车牌)被浓雾掩盖
传统方案:暗通道先验(DCP)、导向滤波等方法在浓雾场景下易产生光晕伪影,且实时性差(处理单帧>1s)
2. 基础模型:FFA-Net原理解析
原论文《FFA-Net: Feature Fusion Attention Network for Single Image Dehazing》核心创新:
2.1 三重关键技术
2.2 性能优势(RESIDE数据集)

局限性:在合成数据(RESIDE)上表现优异,但真实雾天场景仍存在色彩过饱和、局部伪影问题
3. 改进方案:半监督混合损失函数
3.1 核心问题定位
原始FFA-Net的L1损失函数
loss = torch.nn.L1Loss()(output, ground_truth)
该损失函数完全依赖合成数据标签,导致:
- 真实雾图与合成数据分布差异大
- 过度依赖清晰图像监督信号
3.2 创新损失函数设计
结合暗通道先验物理规律与无监督约束:
def hybrid_loss(output, gt, real_hazy):
# 监督损失(合成数据)
supervised_loss = F.l1_loss(output, gt)
# 无监督损失(真实数据)
dark_channel = DarkChannelPrior(output) # 暗通道计算
guided_loss = torch.mean(dark_channel) * 0.6 # 暗通道稀疏性约束
# 感知损失(VGG特征匹配)
percep_loss = PerceptualLoss(VGG19(output), VGG19(gt)) * 0.4
return supervised_loss + guided_loss + percep_loss
3.3 训练策略优化
1. 两阶段训练:
- Stage1:RESIDE数据集预训练(500k steps)
- Stage2:真实雾图微调(20k steps)
2. 数据混合策略:

4. 实战效果对比:真实雾天图像去雾效果

参考文献:
1. Qin et al. "FFA-Net: Feature Fusion Attention Network for Single Image Dehazing" arXiv:1911.07559
2. He et al. "Single Image Haze Removal Using Dark Channel Prior" TPAMI 2010
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)