论文标题:Depth Information Assisted Collaborative Mutual Promotion Network for Single Image Dehazing
论文原文 (Paper) :https://arxiv.org/pdf/2403.01105
代码 (code) :https://github.com/zhoushen1/DCMPNet
GitHub 仓库链接(包含论文解读及即插即用代码) :https://github.com/AITricks/AITricks
哔哩哔哩视频讲解 :https://space.bilibili.com/57394501?spm_id_from=333.337.0.0
目录
-
-
- [1. 核心思想](#1. 核心思想)
- [2. 背景与动机](#2. 背景与动机)
-
- [2.1 文本背景总结](#2.1 文本背景总结)
- [2.2 动机图解分析](#2.2 动机图解分析)
- [3. 主要创新点](#3. 主要创新点)
- [4. 方法细节](#4. 方法细节)
-
- [4.1 整体网络架构](#4.1 整体网络架构)
- [4.2 核心创新模块详解:双任务交互模块 (DTI)](#4.2 核心创新模块详解:双任务交互模块 (DTI))
- [4.3 理念与机制总结](#4.3 理念与机制总结)
- [4.4 图解总结](#4.4 图解总结)
- [5. 即插即用模块的作用](#5. 即插即用模块的作用)
- [6. 实验部分简单分析](#6. 实验部分简单分析)
- [7. 获取即插即用代码关注 【AI即插即用】](#7. 获取即插即用代码关注 【AI即插即用】)
-
1. 核心思想
本文提出了一种名为 DICMP (Depth Information Assisted Collaborative Mutual Promotion) 的双任务框架,旨在解决单幅图像去雾中结构信息丢失和深度感知不足的问题。其核心思想是构建一个去雾与深度估计的闭环系统 :一方面,利用双任务交互模块(DTI)将深度特征注入去雾网络以辅助物理模型建模;另一方面,提出差异感知机制(Difference Perception),利用"去雾后图像的预测深度"与"真实深度"之间的差异,反向监督去雾网络,迫使其重点关注那些深度估计不准(通常也是雾最浓、最难恢复)的区域。
2. 背景与动机
2.1 文本背景总结
单幅图像去雾是一个典型的不适定(Ill-posed)问题。
- 物理基础 :根据大气散射模型 I ( x ) = J ( x ) t ( x ) + A ( 1 − t ( x ) ) I(x) = J(x)t(x) + A(1-t(x)) I(x)=J(x)t(x)+A(1−t(x)),其中透射率 t ( x ) = e − β d ( x ) t(x) = e^{-\beta d(x)} t(x)=e−βd(x) 直接取决于场景深度 d ( x ) d(x) d(x)。
- 现有问题 :
- 单向依赖:现有方法大多只把深度估计作为去雾的前处理,忽略了去雾后的清晰图像反过来能显著提升深度估计的精度。
- 缺乏物理约束:纯 End-to-End 的去雾网络往往容易丢失几何结构信息,导致去雾后物体边缘模糊或景深关系错乱。
- 难点区域忽视:浓雾区域(通常是远处)既难去雾也难估计深度,传统 Loss 容易在这些区域"躺平"。
2.2 动机图解分析

看图说话与痛点分析:
- 物理联系:如图所示,雾的分布与深度图(Depth Map)高度相关。近处(蓝色/黑色)雾淡,远处(红色/白色)雾浓。
- 闭环逻辑 :
- 如果去雾做得好(恢复了清晰纹理),那么从这张图估计出的深度应该非常准确(接近 GT)。
- 反之,如果某块区域去雾失败(还有残留雾),那么深度估计网络会误以为这里很远或很平滑,导致深度预测误差大。
- 本文核心突破 :利用这个逻辑,作者设计了一个"差异感知器",计算 D e p t h ( D e h a z e d _ I m g ) Depth(Dehazed\_Img) Depth(Dehazed_Img) 与 D e p t h ( G T ) Depth(GT) Depth(GT) 的差值。这个差值就像一个注意力图(Attention Map),告诉去雾网络:"看,这块区域的深度估计错了,说明你雾没去干净,重做!"从而解决了复杂区域的去雾难题。
3. 主要创新点
- 差异感知机制 (Difference Perception):这是最大亮点。构建了一种基于下游任务(深度估计)反馈的损失函数,利用深度差异显式地指导去雾网络关注非理想区域。
- 双任务交互模块 (Dual-task Interaction, DTI):设计了一种特征级的融合模块,实现了去雾分支与深度估计分支之间的双向信息流动,而非简单的拼接。
- 交替实施机制 (Alternative Implementation) :为了稳定训练,采用了交替优化的策略,协同提升两个任务的性能,实现了 1 + 1 > 2 1+1>2 1+1>2 的效果。
4. 方法细节
4.1 整体网络架构

数据流详解 :
网络包含两条并行的主线:去雾分支 (Dehazing Branch) 和 深度估计分支 (Depth Estimation Branch)。
- 输入 (Input) :有雾图像 I I I。
- 特征提取与交互 :
- I I I 分别送入去雾编码器和深度编码器。
- 在编码器的不同层级,通过 DTI 模块 交换特征。去雾特征帮助深度网络看清结构,深度特征帮助去雾网络理解景深。
- 初步输出 :
- 去雾分支输出初步去雾图像 J c o a r s e J_{coarse} Jcoarse。
- 深度分支输出初步深度图 D c o a r s e D_{coarse} Dcoarse。
- 核心闭环:差异感知 (Difference Perception) :
- 将初步去雾图像 J c o a r s e J_{coarse} Jcoarse 再次 送入一个(预训练或共享权重的)深度估计网络,得到预测深度 D p r e d _ J D_{pred\_J} Dpred_J。
- 计算 D p r e d _ J D_{pred\J} Dpred_J 与真实深度 D g t D{gt} Dgt 之间的差异图(Diff Map)。
- 精炼与输出 (Output) :
- 这个差异图被用作权重或 Loss 的一部分,回传给去雾网络,优化生成最终的 J f i n a l J_{final} Jfinal。
- 同理,去雾后的清晰特征也反馈给深度网络,输出最终的 D f i n a l D_{final} Dfinal。
4.2 核心创新模块详解:双任务交互模块 (DTI)

这是一个即插即用的特征融合组件。
- 内部结构 :
- 输入 :去雾特征 F d e h a z e F_{dehaze} Fdehaze 和深度特征 F d e p t h F_{depth} Fdepth。
- 处理流 :
- 通道注意力 (Channel Attention):先对各自的特征进行加权,强调重要通道。
- 交叉融合 :将 F d e p t h F_{depth} Fdepth 经过变换后加到 F d e h a z e F_{dehaze} Fdehaze 上,反之亦然。这里通常使用 1 × 1 1 \times 1 1×1 卷积来对齐通道数。
- 自适应门控:可能包含一个门控机制(Sigmoid),学习"传多少信息给对方"。
- 设计目的 :
让两个网络不再是孤岛。在浅层,深度网络分享边缘信息给去雾;在深层,深度网络分享全局距离信息给去雾,帮助去雾网络区分"白色的墙"和"白色的雾"。
4.3 理念与机制总结
DICMP 的核心理念是 "任务协同与反馈 (Collaboration & Feedback)"。
- 机制:它模拟了人类的认知过程------我们看清楚了物体(去雾),才能判断得准距离(深度);如果我们发现距离判断错了(撞到了东西),我们会意识到刚才没看清楚(去雾修正)。
- 公式解读 :
L o s s t o t a l = L d e h a z e ( J , J g t ) + L d e p t h ( D , D g t ) + λ L d i f f ( N e t d e p t h ( J ) , D g t ) Loss_{total} = L_{dehaze}(J, J_{gt}) + L_{depth}(D, D_{gt}) + \lambda L_{diff}(Net_{depth}(J), D_{gt}) Losstotal=Ldehaze(J,Jgt)+Ldepth(D,Dgt)+λLdiff(Netdepth(J),Dgt)
其中第三项 L d i f f L_{diff} Ldiff 就是差异感知损失,它是连接两个任务的桥梁。
4.4 图解总结
回到动机图解:
- DTI 模块 解决了"物理联系"利用不足的问题,让深度图直接参与去雾计算。
- 差异感知机制 解决了"难点区域忽视"的问题。在图 1 中,如果远处的树去雾不干净,深度估计就会出错,产生的 L d i f f L_{diff} Ldiff 就会变大,强制网络在下一轮训练中"盯着"远处的树优化。
5. 即插即用模块的作用
本文提出的思想和模块具有很好的扩展性:
- 差异感知机制 (Difference Perception) 的应用 :
- 适用场景 :任何存在上下游关系 的任务对。例如:
- 去雨 + 语义分割:用分割网络的预测误差来指导去雨网络(雨没去干净会导致分割边缘错误)。
- 超分 + 目标检测:用检测器的 Confidence Loss 来指导超分网络恢复物体纹理。
- 适用场景 :任何存在上下游关系 的任务对。例如:
- 双任务交互模块 (DTI) 的应用 :
- 多模态融合:RGB-D 显著性检测、RGB-T(红外)目标跟踪。
- 联合任务:同时做分割和深度估计(如 UberNet 风格的架构)。
6. 实验部分简单分析
论文在 SOTS 和 NYU Depth v2 数据集上进行了验证。


-
去雾性能 (Dehazing Performance):
- 在 SOTS 测试集上,DICMP 取得了 SOTA 的 PSNR/SSIM 指标。
- 定性对比:视觉效果上,DICMP 在天空区域(高亮、远距离)和物体遮挡边缘处的去雾效果明显更自然,伪影更少。这得益于深度信息的约束,避免了颜色失真。
-
深度估计性能 (Depth Estimation):
- 不仅去雾好了,深度估计的 RMSE 也降低了。证明了清晰的图像确实能反哺深度估计任务。
-
消融实验 (Ablation Study):
- 去掉 Difference Perception 后,去雾指标下降明显,证明了"反馈机制"是提升性能的关键,而不仅仅是多任务学习带来的增益。
- 去掉 DTI,两边性能都下降,证明了特征交互的必要性。
总结 :DICMP 是一篇非常优秀的 Multi-task Learning for Restoration 论文。它没有堆砌复杂的 Transformer 模块,而是通过巧妙的任务设计(差异感知反馈),利用物理规律(雾与深度的对偶性)解决了实际问题。对于做 Low-level Vision 结合 High-level/Mid-level Vision 的同学,这篇论文提供了非常棒的"闭环反馈"设计思路。
到此,所有的内容就基本讲完了。如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。