基于深度学习的图像阴影检测与去除算法:ST-CGAN
字数 948 2025-11-02 00:38:37
基于深度学习的图像阴影检测与去除算法:ST-CGAN
题目描述
图像阴影是光照被遮挡形成的暗区,影响视觉质量与后续分析。阴影检测与去除需两步:1)定位阴影区域;2)修复阴影区亮度与纹理,使其与无阴影区域一致。ST-CGAN(Spatio-Temporal Generative Adversarial Network)结合时空注意力机制,通过生成器与判别器的对抗学习,实现端到端的阴影处理。
解题过程
-
问题建模
- 输入阴影图像 \(I_s\),目标输出无阴影图像 \(I_{ns}\)。
- 生成器 \(G\) 学习映射 \(I_s \to I_{ns}\),判别器 \(D\) 区分生成图像与真实无阴影图像。
- 引入时空注意力模块,使模型关注阴影边界与时序一致性(视频场景)。
-
生成器设计
- 编码器-解码器结构:编码器用卷积层提取多尺度特征,解码器用反卷积上采样恢复分辨率。
- 注意力模块:在编码器输出加入空间注意力层,计算阴影区域的权重图,引导解码器聚焦阴影区。
- 跳跃连接:保留底层细节,避免纹理模糊。
-
判别器优化
- 使用PatchGAN结构,对图像局部块分类,提升细节真实性。
- 输入为生成图像与真实图像的拼接,输出概率图,每个像素表示局部真伪。
-
损失函数设计
- 对抗损失:鼓励生成分布接近真实分布:
\[ \mathcal{L}_{adv} = \mathbb{E}[\log D(I_s, I_{ns})] + \mathbb{E}[\log(1-D(I_s, G(I_s)))] \]
- 重建损失:L1损失保持内容一致性:
\[ \mathcal{L}_{rec} = \|G(I_s) - I_{ns}\|_1 \]
- 注意力约束损失:确保注意力图聚焦阴影区域,与阴影标注掩膜计算交叉熵。
-
训练策略
- 分阶段训练:先预训练生成器仅用重建损失,再联合训练对抗网络。
- 数据增强:随机旋转、缩放阴影图像对,提升泛化性。
-
阴影感知的后处理
- 对生成结果计算颜色一致性损失,调整阴影边缘的亮度过渡。
- 用时序约束(视频输入)相邻帧间光流对齐,避免闪烁。
关键点
- 时空注意力机制精准定位阴影,避免过度修改非阴影区。
- 多损失平衡细节生成与内容保真,PatchGAN提升局部真实性。