目录
论文整体过程
Contextual Patch Matching Module上下文补丁匹配(CPM)
计算cpm模块的损失Loss。
Contextual Feature Transfer Mechanism上下文特征转移(CFT)
Shadow Removal with Two-stage Strategy
总损失Loss
Limitation
论文整体过程
在本文中,我们提出了一个新颖的两阶段语境感知网络CANet,以端到端的方式来消除阴影。如图1所示,我们的CANet在第一阶段集成了上下文补丁匹配(CPM)模块和上下文特征转移(CFT)机制,并将第二阶段作为阴影去除的细化步骤。特别是,CPM模块被设计用来搜索阴影和非阴影斑块之间相应的潜在关系,这表明了阴影和非阴影区域之间的上下文映射。根据CPM模块的输出补丁匹配对和提取的上下文特征,利用CFT机制将不同尺度的上下文特征从非阴影区域转移到阴影区域。与那些传统的补丁匹配方法不同,我们的CPM是基于学习的,通过数据驱动来自适应地处理复杂的场景,并且可以通过平均亮度来有效地避免由阴影影响造成的匹配错误。更重要的是,我们的类型分类头可以用来过滤掉大部分来自相同阴影或非阴影区域的补丁对,而只关注其他具有高相关分数的补丁对。
我们引入了上下文特征转移(CFT)机制,将不同尺度的上下文特征从非阴影斑块转移到阴影斑块,形成一系列无阴影信息的特征图。与现有的用于去除阴影任务的信息转移策略[38, 43, 41]不同,我们的CFT机制是根据两个斑块之间的相似性,对一个阴影斑块应用几个斑块匹配对来进行特征转移。
利用重建的无影子特征图,我们在第一阶段分别去除L和A/B通道的影子。最后,为了确保我们结果的稳健性,以恢复的L和A/B通道图像和阴影图像作为输入,我们在第二阶段使用编码器-解码器来预测最终的阴影去除图像。
综上所述,我们的主要贡献有以下三方面。- 我们提出了一个两阶段的上下文感知网络CANet,以端到端的方式进行阴影去除,其中非阴影区域的上下文信息在嵌入式特征空间被转移到阴影区域。
- 我们设计并训练了一个上下文斑块匹配(CPM)模块来获取图像中阴影和非阴影区域之间的潜在上下文关系,在匹配处理过程中自动区分阴影斑块和非阴影斑块。
Contextual Patch Matching Module上下文补丁匹配(CPM)
我们的双头语境补丁匹配模块的结构。我们首先通过亮度平均值和平均过滤操作计算出无影子图像(shadow-unaware image)。然后,我们从阴影图像和无阴影图像(shadow-unaware image)中提取32×32个补丁,并将其输入共享补丁描述器以提取深度学习特征。最后,将提取的特征送入两个头来预测输入补丁对的类型(表示为-1、0或1),并将相应的程度作为0到1范围内的连续值来衡量它们的相关性。
Especially, the shadow-unaware image is calculated as:
其中Ii,j表示像素(i,j)的亮度值,P表示像素(i,j)周围的3×3补丁,N是补丁中像素的总数,Iavg是图像的全局平均亮度值。我们根据经验观察到,无阴影图像是对输入阴影图像的补充,作为我们CPM模块的输入源,对消除阴影的影响和区分阴影斑块与非阴影斑块特别有价值。
然后,我们从输入的阴影图像和无阴影图像中提取32×32个斑块,并将其串联起来,送入我们的双头CPM模块,如图2所示。传统方法使用手工制作的局部描述符,如SIFT[26]来表示图像斑块,并应用欧氏距离来衡量它们之间的相似性,与此不同,我们的CPM是基于学习的,因此它可以通过数据驱动来自适应地处理复杂场景。
我们充分利用带有残差块的卷积层作为共享特征提取器,为双头提取深度学习特征,进行回归任务和分类任务。具体来说,一个头是相关回归器,输出0-1范围内的连续值作为相关程度,另一个头是类型分类器,预测对的类型为-1、0和1三种类型之一。
我们关心每个输出补丁匹配对之间的顺序,特别是当两个补丁不是来自相同的区域(阴影或非阴影)时。特别是,0表示两个补丁来自相同的阴影或非阴影区域,-1表示补丁对从非阴影补丁开始,然后是阴影补丁,而1表示补丁对从阴影补丁开始,然后是非阴影补丁。请注意,我们用-1和1来区分阴影补丁和非阴影补丁,因为我们只把上下文信息从非阴影区域转移到阴影区域。通过这样做,我们的类型分类器头可以用来过滤掉大部分来自同一阴影或非阴影区域的补丁对,而只关注其他具有高相关分数的补丁对。
为了学习一个扎实稳健的CPM模块,我们充分利用现有的阴影基准数据集来收集大量的训练数据集。我们从阴影图像中随机抽取32×32个斑块。请注意,我们使用余弦相似度作为相应的无影图像上的影子和非影子斑块之间的测量,以产生相关回归的基础事实。对于那些余弦相似度高于0.95的图像,我们将相关度sgt的ground-truth设置为1,小于0.6的设置为0。对于地面实况类型t,我们利用地面实况阴影掩码来确定任何补丁对的地面实况类型为-1、0或1。
计算cpm模块的损失Loss。
Contextual Feature Transfer Mechanism上下文特征转移(CFT)
我们的上下文特征转移模型的过程如图3所示。给定输入特征图中的阴影补丁,我们首先从生成的补丁匹配对中检索出匹配的非阴影补丁。
然后,对于每个阴影斑块,我们使用高斯抽样,利用匹配的非阴影斑块进行上下文特征转移。最后,我们根据每个匹配对之间的相关程度,整合出前k个转移的特征斑块。
设n为高斯采样的核大小,k为特征转移次数。高斯抽样可以写成公式5
上述原文翻译:
其中,F 0x,y和Fx,y分别是在位置(x,y)采样后和采样前的特征图。j(Δx, Δy)是位置(x+Δx, y+Δy)处的高斯权重,j(Δx, Δy)=exp ? - ∆x2+∆y2 2σ2 ? ,其中σ是高斯分布的方差。
为了更好地整合转移的特征,我们根据每个匹配对的相关程度,自适应地整合k个采样结果。重建的无影灯特征F可以写成:公式6
其中F 0i为第i次采样结果,wi为匹配对之间的相关度。由于高斯抽样具有较大的感受野,并且在抽样时考虑到周围的信息,因此在情境特征转移机制中采用高斯抽样可以帮助更好地转移情境信息,获得令人满意的结果。
Shadow Removal with Two-stage Strategy
在第一阶段,我们首先使用在ImageNet[4]上预训练的DenseNet[18]作为特征提取器来提取上下文特征。然后,以提取的上下文特征为输入,我们应用我们的上下文特征转移机制,将这些特征从非阴影区域转移到不同尺度的阴影区域。通过一系列的上采样和残留块,我们可以分别去除L和A/B通道的阴影。从图4的统计分析中我们可以看到,L通道比A/B通道更敏感,可以突出阴影和非阴影区域的差异。分离处理可以避免A和B通道的过度处理和L通道的不充分处理,使其在上下文特征转移模型中更有利于特征转移。
请注意,恢复的L和A/B通道是使用转移操作消除阴影的结果,由于CPM模块中不准确的匹配,可能包含不理想的区域。因此,我们转向第二阶段,以产生一个精细的阴影消除结果,它将恢复的L和A/B通道作为产生阴影消除结果的强大指导信息。在第二阶段,以恢复的L和A/B通道图像和阴影图像为输入,我们使用DenseUNet,一个编码器-解码器结构,来预测最终的阴影消除图像。
总损失Loss
Limitation
我们提出的CANet可以有效地消除图像中的阴影。然而,它仍然有一些局限性。(1) 对于一些阴影图像,如果阴影和非阴影区域之间没有很强的上下文关联,我们的CANet将无法恢复与周围环境一致的照度,如图8所示。 (2) 由于环境亮度和相机曝光在照片拍摄过程中可能有所不同,训练对可能具有不一致的颜色和亮度[15],导致我们的数据驱动的CANet产生颜色不一致的阴影去除结果。