阅读笔记:《Shadow Mask-Based Semantic-Aware Network for Single-Image Shadow Removal》
(T-CE: IEEE TRANSACTIONS ON CONSUMER ELECTRONICS)基于深度学习有先验:基于无阴影Ground Truth无先验:使用GAN等方法直接得到通过图像分解或曝光估计来去除阴影半监督学习,通过部分label data训练阴影分割网络然后对unlabel data获得shadow mask 再基于mask获得辅助信息,提高识别能力DHAN:端到端mask预测+
(T-CE: IEEE TRANSACTIONS ON CONSUMER ELECTRONICS)
S2^22Net: Shadow Mask-Based Semantic-Aware Network for Single-Image Shadow Removal
背景
本文贡献
网络结构
基于shadow-mask的语义感知网络
IsI_sIs:输入的阴影图像
ImI_mIm:实际的阴影mask
III:实际的无阴影图像
I^\widehat II :预测的去阴影图像
Backbone:11个堆叠的SDR
语义引导的扩展残差网络(SDR: Semantic-Guided Dilated Residual Block)
SDR的设计目的是为了保存和传播shadow-mask的先验知识。每个块由扩展卷积层->ReLu->扩展卷积层->SST->ReLu,最后送入SFF(Softmax feature fusion ),其分别收集11个SDR的输出,用来精细的融合重建。
扩展卷积用来增大感受野,提高表征能力,在网络中被设计为{1,1,2,2,4,8,4,2,2,1,1}
SST操作则用来合并shadow-mask的空间信息,公式如下:FFF表示输入特征图,MMM表示下采样mask,⊙\odot⊙表示矩阵Hadamard积运算
HSST(F,M)=F⊙(1−M)+C(F,M)⊙M \mathcal{H}_{\mathrm{SST}}(F, M)=F \odot(1-M)+\mathcal{C}(F, M) \odot M HSST(F,M)=F⊙(1−M)+C(F,M)⊙M
HSST\mathcal{H}_{\mathrm{SST}}HSST由两部分组成,第一部分保持非阴影区域特征不变,第二项则用来提取阴影区域,其中C(F,M)\mathcal{C}(F, M)C(F,M)表示为:
C(F,M)=(1−β)⊙FS+β⊙C∗(F,M) \mathcal{C}(F, M)=(1-\beta) \odot F_{S}+\beta \odot \mathcal{C}^{*}(F, M) C(F,M)=(1−β)⊙FS+β⊙C∗(F,M)
C(F,M)\mathcal{C}(F, M)C(F,M)设计的直观原因,是因为希望去阴影后的图片Mask区域应该与非阴影区域别无二致。这里β\betaβ表示的是可学习的空间注意力权重,FS=F⊙MF_S=F\odot MFS=F⊙M,C∗\mathcal{C}^*C∗表示为:
C∗(F,M)=μN+σNFS−μSσS \mathcal{C}^{*}(F, M)=\mu_{N}+\sigma_{N} \frac{F_{S}-\mu_{S}}{\sigma_{S}} C∗(F,M)=μN+σNσSFS−μS
为了达到两区域相同的效果,C∗(F,M)\mathcal{C}^{*}(F, M)C∗(F,M)确保两区域有相似的均值和方差。
μN\mu_{N}μN和σN\sigma_{N}σN分别表示为非阴影区域特征的加权均值和标准差;μS\mu_{S}μS和σS\sigma_{S}σS分别表示为阴影区域特征的加权均值和标准差,它们的权重分别为MMM和1−M1-M1−M。
最后的SFF空间注意力模块,通过对特征图应用GAP和MP,将结果串联并送入7×77 \times 77×7卷积网络,接sigmoid函数获得β\betaβ。
精炼模块(Refinement Block)
设计一个精炼模块用来进一步的消除特征提取阶段遗留的不一致性和伪影,其结构如上图所示。不使用同样的卷积核权值,而是根据Mask的信息学习调制两区域不同的权值。
FFF和MMM进行合并,提取Mask内的原图信息,然后经过3×33\times33×3卷积,再将生成的通道ccc分成ggg组,并应用核大小为kkk的组卷积。通过分组卷积操作用来建立空间像素信息与通道组间的关系,与直接使用不同通道的核方法对比,这样可以显著降低计算开销。这一部分过程如下:
最后依据公式将两者合并:
Zi,j,t=∑(u,v)∈ΩWi,j,tu,v⋅Fi+u,j+v,t, Z_{i, j, t}=\sum_{(u, v) \in \Omega} W_{i, j, t}^{u, v} \cdot F_{i+u, j+v, t}, Zi,j,t=(u,v)∈Ω∑Wi,j,tu,v⋅Fi+u,j+v,t,
损失函数
文章共使用了四种损失:像素损失、感知损失、颜色一致性损失、边界损失
像素损失(Pixel Loss):使用L1L_1L1距离来度量
Lpix=1N∑i=1N∥Ii−I^i∥1 \mathcal{L}_{\mathrm{pix}}=\frac{1}{N} \sum_{i=1}^{N}\left\|I^{i}-\hat{I}^{i}\right\|_{1} Lpix=N1i=1∑N∥
∥Ii−I^i∥
∥1
感知损失(Perceptual Loss):参照DHAN论文,现利用预训练网络VGG16提取III和I^\hat{I}I^的特征图,再计算其L2L_2L2距离
Lper=1N∑i=1N∥VGG(Ii),VGG(I^i)∥22 \mathcal{L}_{\mathrm{per}}=\frac{1}{N} \sum_{i=1}^{N}\left\|V G G\left(I^{i}\right), V G G\left(\hat{I}^{i}\right)\right\|_{2}^{2} Lper=N1i=1∑N∥
∥VGG(Ii),VGG(I^i)∥
∥22
颜色一致性损失(Color Consistency Loss):为了校正阴影去除图像中潜在的颜色偏差,表示如下,CRC_RCR、CGC_GCG、CBC_BCB分别表示三通道平均强度值
Lcol=1N∑i=1N[(CRi−CGi)2+(CRi−CBi)2+(CGi−CBi)2] \mathcal{L}_{\mathrm{col}}=\frac{1}{N} \sum_{i=1}^{N}\left[\left(C_{R}^{i}-C_{G}^{i}\right)^{2}+\left(C_{R}^{i}-C_{B}^{i}\right)^{2}+\left(C_{G}^{i}-C_{B}^{i}\right)^{2}\right] Lcol=N1i=1∑N[(CRi−CGi)2+(CRi−CBi)2+(CGi−CBi)2]
边界损失(Boundary Loss):使用K×KK\times KK×K均值滤波器和shadow-mask ImI^mIm卷积,得到平滑Mask M^\hat{M}M^。而由于边界部分混合了阴影和非阴影,对于边界像素使用如下函数表示,使其计算值处于M^min\hat{M}_{min}M^min和M^max\hat{M}_{max}M^max之间。
w(u,v)={M^max−M^(u,v),(M^(u,v)>M^max/2)M^(u,v),(M^(u,v)≤M^max/2) w(u, v)=\left\{\begin{array}{ll} \hat{M}_{\max }-\hat{M}(u, v), & \left(\hat{M}(u, v)>\hat{M}_{\max } / 2\right) \\ \hat{M}(u, v), & \left(\hat{M}(u, v) \leq \hat{M}_{\max } / 2\right) \end{array}\right. w(u,v)=⎩
⎨
⎧M^max−M^(u,v),M^(u,v),(M^(u,v)>M^max/2)(M^(u,v)≤M^max/2)
这样最终的边界损失定义为:
Lbd=1N∑i=1N∑p∈Im′,i∑q∈Ω(p)(∣Iqij−Ipij∣−∣I^qi−I^pi∣)2×wp′iIm′,i \mathcal{L}_{\mathrm{bd}}=\frac{1}{N} \sum_{i=1}^{N} \frac{\sum_{p \in I^{m^{\prime}, i}} \sum_{q \in \Omega(p)}\left(\left|I_{q}^{i j}-I_{p}^{i j}\right|-\left|\hat{I}_{q}^{i}-\hat{I}_{p}^{i}\right|\right)^{2} \times w_{p}^{\prime i}}{I^{m^{\prime}, i}} Lbd=N1i=1∑NIm′,i∑p∈Im′,i∑q∈Ω(p)(∣
∣Iqij−Ipij∣
∣−∣
∣I^qi−I^pi∣
∣)2×wp′i
全局损失的合成为:
Lall =λpix Lpix +λper Lper +λcolLcol+λbdLbd \mathcal{L}_{\text {all }}=\lambda_{\text {pix }} \mathcal{L}_{\text {pix }}+\lambda_{\text {per }} \mathcal{L}_{\text {per }}+\lambda_{\mathrm{col}} \mathcal{L}_{\mathrm{col}}+\lambda_{\mathrm{bd}} \mathcal{L}_{\mathrm{bd}} Lall =λpix Lpix +λper Lper +λcolLcol+λbdLbd
实验结果
数据集和评价标准
ISTD、ISTD+、SRD、SBU(无Ground truth,仅测试)
使用Lab颜色空间中的均方根误差(RMSE)来评估阴影去除性能,使用S、NS和ALL分别表示阴影区域、非阴影区域和整幅图像的RMSE值,越小去除效果越好。同时PSNR和SSIM也用来进行评价,它们是越大越好。
消融实验
分别验证SDR块的和精炼模块的效果:
精炼模块中核大小的实验结果:
边界损失核大小的实验结果:
边界损失中的局部变化区域调整实验结果:
损失函数效果展示:
和State-of-the-Art方法比较
ISTD数据集
ISTD+数据集
SRD数据集
SBU数据集
使用不同的shadow-mask
比较不同的获得shadow-mask的方法:
即使使用其它的生成方法作为shadow-mask的来源,与这些方法使用GT做shadow-mask进行比较,可以发现依然有明显的进步:
更多推荐
所有评论(0)