Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow

基本信息

  • 2018 CVPR
  • http://openaccess.thecvf.com/content_cvpr_2018/html/Wang_Stacked_Conditional_Generative_CVPR_2018_paper.htm
  • https://github.com/Vivianyzw/DeshadowSTCGANs

Abstract

在以前的研究中,从单个图像中自动理解阴影可分为两种任务,即阴影检测和阴影去除。在本文中,我们提出了一个多任务的方法,这是现有工作所不具备的,目的是以端到端的方式共同学习检测和清除,以期彼此受益。我们的框架基于一个新颖的有条件条件生成对抗网络(ST-CGAN),该网络由两个堆叠的CGAN组成,每个CGAN都有一个生成器和一个鉴别器。具体地,阴影图像被馈送到产生阴影检测掩模的第一生成器中。该阴影图像与其预测的遮罩相连,经过第二个生成器,以恢复其无阴影图像。另外,两个相应的鉴别器很可能分别为检测到的阴影区域和通过去除阴影的重建建模更高级别的关系和全局场景特征。更重要的是,对于多任务学习,我们的堆叠范式设计提供了一种新颖的方法,该视图与常用的多分支版本明显不同。为了全面评估我们提出的框架的性能,我们在135个场景下构建了第一个大型基准,该基准具有1870个图像三元组(阴影图像,阴影蒙版图像和无阴影图像)。大量的实验结果一致地表明,在两个大规模的公共可用数据集以及我们最新发布的一个数据集上,ST-CGAN优于几种代表性的最新方法。

1. Introduction

阴影检测和阴影去除都展现了各自在场景理解方面的优势。 阴影区域的准确识别(即阴影检测)提供了有关光源照射条件[38、39、40],物体形状[37]和几何形状信息[19、20]的足够线索。 同时,对于下游计算机视觉任务(例如有效的对象检测和跟踪)[3,32],消除图像中阴影的存在(即,阴影去除)非常重要。 为此,现有研究基本上遵循以下管线之一来理解阴影:

仅检测。 在阴影检测的历史中,提出了一系列数据驱动的统计学习方法[15、26、49、56、22、48]。 他们的主要目的是以隔离阴影区域和非阴影区域的图像蒙版的形式找到阴影区域。

仅移除。 方法[7、5、55、10、46、1、52、29、43]只是跳过了从阴影区域的发现中获得的潜在信息,并直接对整个图像产生了照明衰减效果,这也是表示为阴影蒙版[43],以恢复自然去除阴影的图像。

分两阶段去除阴影。 许多阴影去除方法[11、12、23、8、50]通常包括两个单独的步骤:阴影定位和通过利用对阴影区域的感知的中间结果来实现无阴影重建。

两个目标:检测中的荫罩和去除阴影中的无阴影图像在本质上具有基本特征。 如图1所示,阴影蒙版是一个二元映射,将原始图像分为两种类型的区域,而阴影的去除主要集中在一种类型的区域上,并且需要发现这两个区域之间的语义关系, 这表明这两个任务之间具有很强的相关性并可能带来互利。

在这里插入图片描述

图1.我们提出了一项端到端的堆叠式联合学习体系结构,用于两项任务:阴影检测和阴影去除。

此外,大多数以前的方法,包括阴影检测[15、26、49、56、22、48]和去除[8、52、1]都很大程度上基于局部区域分类或低级特征表示,无法推理有关全局场景语义结构和照明条件的信息。 因此,最近在阴影检测中的研究[36]引入了条件生成对抗网络(CGAN)[33],事实证明,该网络对于全局一致性是有效的。 对于阴影去除,Qu等 [43]还提出了一种具有端到端方式的多上下文体系结构,该体系结构保留了特征提取的全局视图。

由于没有现成的方法探讨这两个任务的联合学习,因此在这项工作中,我们提出了一个有条件的有条件生成对抗网络(ST-CGAN)框架,目的是在端到端的同时解决阴影检测和阴影去除问题。结束时尚。除了充分利用这两项任务之间潜在的相互促进作用外,通过堆叠的对抗性要素还可以很好地保留全局信息。此外,我们的堆叠模块设计不仅是为了实现多任务目的,而且还受到DenseNet [14]的连接模式的启发,该模式将所有先前任务的输出用作所有后续任务的输入。具体来说,我们通过堆叠两个生成器和两个鉴别器来构造ST-CGAN。在图2中,每个生成器都采用任务的每个先前目标(包括输入),并将其堆叠为输入。同样,鉴别器试图将所有先前任务的目标与实际对应的真值图像对或三元组进行区分。

在这里插入图片描述

图2.拟议的ST-CGAN的体系结构。 它由两个堆叠的CGAN组成:一个用于阴影检测,另一个用于阴影去除,它们用不同的颜色标记。 中间输出串联在一起,作为后续组件的输入

重要的是,所提出的堆叠组件的设计为文献中的多任务学习提供了新颖的视角。 与常用的多分支范例(例如Mask R-CNN [13]中为每个单独的任务分配一个分支)不同,我们堆叠了所有任务,这些任务不仅可以一次专注于不同阶段的一项任务, 但也可以通过向前/向后的信息流共享共同的进步。 相反,多分支版本旨在通过简单地汇总每个单独任务的监督来学习跨任务的共享特征。

为了验证所提出框架的有效性,我们进一步构建了一个新的大规模数据集,该图像集包含图像阴影三元组(ISTD),该图像组由阴影,阴影蒙版和无阴影图像组成,以满足多任务学习的需求。 它包含135个不同场景下的1870个图像三元组,其中1330个用于训练,而540个用于测试。

在两个大规模的公开基准测试以及我们最新发布的数据集上的大量实验表明,与几种最新方法相比,ST-CGAN在检测和去除方面均表现出色。 此外,我们从经验上证明了堆叠式联合公式相对于用于阴影理解的广泛使用的多分支版本的优势。 总而言之,这项工作的主要贡献如下:

  • 这是第一个端到端框架,在各种数据集和两项任务上共同学习阴影检测和阴影去除,并具有卓越的性能。
  • 提出了一种具有独特的堆叠式联合学习范式的新颖的有条件条件生成对抗网络(ST-CGAN),以利用多任务训练的优势进行阴影理解。
  • 公开发布了包含阴影,阴影蒙版和无阴影图像的图像三元组的第一个大规模阴影数据集。

2. Related Work

阴影检测。 为了提高对用户照片和Web图像进行阴影检测的鲁棒性,已采取了一系列数据驱动的方法[15、26、56],并被证明是有效的。 最近,汗等[22]首先引入了深度卷积神经网络(CNN)[45],以自动学习阴影区域/边界的功能,该功能明显优于以前的最新技术。 Vicente等人 [48]提出了一种用于阴影区域分类的多核模型。它基于最小二乘SVM留一法估计得到了有效的优化。 Vicente等人的最新工作[49]使用具有分离步骤的堆叠式CNN,包括首先生成图像级别的阴影优先级,并训练基于补丁的CNN,该补丁会生成局部补丁的阴影蒙版。 Nguyen等 [36]提出了对抗训练在阴影检测中的首次应用,并开发了具有可调灵敏度参数的新型条件GAN架构。

阴影去除。 早期作品的灵感来自于照明和色彩的物理模型。 例如,Finlayson等[5,7]提供了照度不变的解决方案,该解决方案仅适用于高质量图像。 许多现有的阴影去除方法通常包括两个步骤。 对于这两个阶段解决方案的去除部分,在渐变域[6、35、2]或图像强度域[1、11、12、8、23]中消除阴影。 相反,一些著作[46,53,42]通过固有图像分解来恢复无阴影图像,并以端到端的方式排除了阴影预测的需要。 然而,这些方法遭受改变非阴影区域的颜色的困扰。 Qu等 [43]进一步提出了一种多上下文架构,该架构由嵌入网络的三个层次(全局本地化,外观建模和语义建模)组成,以探索端到端的全自动框架中的阴影去除。

CGAN和Stacked GAN。 CGAN在各种图像到图像的转换问题中取得了令人印象深刻的结果,例如图像超分辨率[27],图像修复[41],风格转换[28]和域自适应/转换[18、57、30]。 CGAN的关键是引入对抗性损失和信息性条件变量,从而迫使生成的图像具有高质量,并且与真实图像没有区别。此外,最近的研究提出了GAN的一些变体,主要探讨了其用法的堆叠方案。张等 [54]首先提出了StackGAN以逐步产生具有相当高的分辨率的逼真的图像合成。黄等 [16]设计了一个自上而下的GAN堆栈,每个GAN学会了以更高级别的表示为条件来生成较低级别的表示,以便生成更多合格的图像。因此,我们提出的堆叠形式在本质上不同于所有上述相关版本。学习假设偏向于偏好跨多个任务学习的共享特征。广泛采用的多任务制定体系结构是具有多分支输出的共享组件,每个分支都用于单个任务。例如,在Mask R-CNN [13]和MultiNet [47]中,分别使用3个并行分支进行对象分类,边界框回归和语义分割。 Misra等[34]提出“crossstitch”单元,以从多个监督任务中学习共享表示。在多任务网络级联[4]中,所有任务共享卷积特征,而后面的任务也取决于前一个的输出。

3. A new Dataset with Image Shadow Triplets– ISTD

在多任务设置的方法中,现有的公共可用数据集都受到限制。 其中,SBU [51]和UCF [56]仅准备用于阴影检测,而SRD [43],UIUC [12]和LRSS [10]则相应地用于阴影去除。

为了便于评估阴影理解方法,我们使用称为ISTD的图像阴影三元组构造了一个大型数据集。 在135种不同场景下,它包含1870个三元组阴影,阴影蒙版和无阴影图像。 据我们所知,ISTD是第一个同时评估阴影检测和阴影去除的大型基准。 表1中列出了与以前流行的数据集的详细比较。

在这里插入图片描述

表1.与其他流行的阴影相关数据集的比较。 我们的内容和类型独特,而数量上与大多数大型数据集相同。

此外,我们提出的数据集还包含以下方面的各种属性:

  • 光照:使阴影图像和无阴影图像之间的照明差异最小。 在构造数据集时,我们摆放一个具有固定曝光参数的相机以捕获阴影图像,其中阴影由物体投射。 然后移开物体以获得相应的无阴影图像。 图3的第一行和第三行给出了更多证据。

  • 形状:阴影的形状是由不同的对象(例如伞,木板,人,树枝等)构建的。 参见图3的第二行。

  • 场景:利用135种不同类型的地面材料(例如,图3中的第6-8列)来覆盖尽可能多的复杂背景和不同的反射率。

在这里插入图片描述

图3. ISTD中的几个阴影,阴影蒙版和无阴影图像三元组的图示

4. Proposed Method

我们提出了有条件的条件生成对抗网络(ST-CGAN),这是一种新颖的堆叠体系结构,可以联合学习以进行阴影检测和阴影去除,如图2所示。在本节中,我们首先描述具有损失函数的公式,训练过程 ,然后介绍ST-CGAN的网络详细信息,然后进行后续讨论。

4.1. STacked Conditional Generative Adversarial Networks

生成对抗网络(GAN)[9]由两个参与者组成:生成器G和鉴别器D。这两个参与者在零和游戏中竞争,其中生成器G的目标是在输入z的情况下产生逼真的图像, 是从某个噪声分布中采样的。 判别器D被迫对G生成的给定图像进行分类,或者它确实是数据集中的真实图像。 因此,对抗性竞争逐步促进了彼此的发展,使D难以区分G的生成和真实数据。 条件生成对抗网络(CGAN)[33]通过将附加的观测信息(称为条件变量)引入生成器G和鉴别器D来扩展GAN。

我们的ST-CGAN由两个条件GAN组成,其中第二个条件GAN堆叠在第一个条件GAN上。 对于图2中的ST-CGAN的第一个CGAN,生成器G1和鉴别器D1都以输入RGB阴影图像 x x x为条件。 训练G1以输出相应的阴影蒙版 G 1 ( z , x ) G_1(z, x) G1(z,x),其中 z z z是随机采样的噪声矢量。 我们将 x x x的阴影蒙版的真值表示为 y y y,假设 G 1 ( z , x ) G_1(z, x) G1(z,x) y y y接近。 因此,G1需要对数据集的分布 p d a t a ( z , x ) p_{data}(z, x) pdata(z,x)进行建模。 第一个CGAN的目标函数是:

L C G A N 1 ( G 1 , D 1 ) = E x , y ∼ p d a t a ( x , y ) [ log ⁡ D 1 ( x , y ) ] + E x ∼ p d a t a ( x ) , z ∼ p z ( z ) [ log ⁡ ( 1 − D 1 ( x , G 1 ( z , x ) ) ) ] (1) L_{CGAN_{1}}(G_1, D_1) = E_{x,y \sim p_{data}(x, y)}[\log D_1(x, y)] + \\ E_{x \sim p_{data}(x),z \sim p_{z}(z)}[\log(1 - D_1(x, G_1(z, x)))] \tag 1 LCGAN1(G1,D1)=Ex,ypdata(x,y)[logD1(x,y)]+Expdata(x),zpz(z)[log(1D1(x,G1(z,x)))](1)

我们进一步消除了随机变量 z z z,使其具有确定性生成器 G 1 G_1 G1,因此将等式(1)简化为:

L C G A N 1 ( G 1 , D 1 ) = E x , y ∼ p d a t a ( x , y ) [ log ⁡ D 1 ( x , y ) ] + E x ∼ p d a t a ( x ) [ log ⁡ ( 1 − D 1 ( x , G 1 ( z , x ) ) ) ] (2) L_{CGAN_{1}}(G_1, D_1) = E_{x,y \sim p_{data}(x, y)}[\log D_1(x, y)] + \\ E_{x \sim p_{data}(x)}[\log(1 - D_1(x, G_1(z, x)))] \tag 2 LCGAN1(G1,D1)=Ex,ypdata(x,y)[logD1(x,y)]+Expdata(x)[log(1D1(x,G1(z,x)))](2)

除了对抗性损失外,还采用了经典的数据损失,可鼓励目标的直接准确的回归:

L d a t a 1 ( G 1 ) = E x , y ∼ p d a t a ( x , y ) ∣ ∣ y − G 1 ( x ) ∣ ∣ (3) L_{data_1}(G_1) = E_{x,y \sim p_{data}(x, y)} ||y - G_1(x) || \tag 3 Ldata1(G1)=Ex,ypdata(x,y)yG1(x)(3)

此外,在图2的第二个CGAN中,通过应用上述类似的公式,我们有:

L d a t a 2 ( G 2 ∣ G 1 ) = E x , r ∼ p d a t a ( x , r ) ∣ ∣ r − G 2 ( x , G 1 ( x ) ) ∣ ∣ (4) L_{data_2}(G_2|G_1) = E_{x, r \sim p_{data}(x, r)} || r - G_2(x, G_1(x)) || \tag 4 Ldata2(G2G1)=Ex,rpdata(x,r)rG2(x,G1(x))(4)

L C G A N 2 ( G 2 , D 2 ∣ D 1 ) = E x , y , r ∼ p d a t a ( x , y , r ) [ log ⁡ D 2 ( x , y , r ) ] + E x ∼ p d a t a ( x ) [ log ⁡ ( 1 − D 2 ( x , G 1 ( x ) , G 2 ( x , G 1 ( x ) ) ) ) ] (5) L_{CGAN_2}(G2, D_2|D_1) = E_{x,y,r \sim p_{data}(x,y,r)}[\log D_2(x, y, r)] \\ +E_{x \sim p_{data}(x)}[\log(1 - D_2(x, G_1(x), G_2(x, G_1(x))))] \tag5 LCGAN2(G2,D2D1)=Ex,y,rpdata(x,y,r)[logD2(x,y,r)]+Expdata(x)[log(1D2(x,G1(x),G2(x,G1(x))))](5)

其中 r r r表示 x x x的对应无阴影图像, G 2 G_2 G2将x和 G 1 ( x ) G1(x) G1(x)的组合作为输入,而 D 2 D_2 D2则将以 x x x为条件的 G 1 G_1 G1 G 2 G_2 G2的输出的级联与实数对区分开。 到此为止,我们最终可以结束联合学习任务的整个目标,从而解决了最小极大问题,其中优化旨在找到一个鞍点:

min ⁡ G 1 , G 2 max ⁡ D 1 , D 2 L d a t a 1 ( G 1 ) + λ 1 L d a t a 2 ( G 2 ∣ G 1 ) + λ 2 L C G A N 1 ( G 1 , D 1 ) + λ 3 L C G A N 2 ( G 2 , D 2 ∣ G 1 ) (5) \min _{G_{1}, G_{2}} \max _{D_{1}, D_{2}} \mathcal{L}_{data_{1}} (G_{1})+\lambda_{1} \mathcal{L}_{d a t a_{2}} (G_{2} | G_{1})+ \\ \lambda_{2} \mathcal{L}_{C G A N_{1}} (G_{1}, D_{1} )+\lambda_{3} \mathcal{L}_{C G A N_{2}} (G_{2}, D_{2} | G_{1} ) \tag 5 G1,G2minD1,D2maxLdata1(G1)+λ1Ldata2(G2G1)+λ2LCGAN1(G1,D1)+λ3LCGAN2(G2,D2G1)(5)

它被视为两人零和游戏。 第一个参与者是由两个生成器( G 1 , G 2 G_1,G_2 G1G2)组成的团队。 第二个玩家是一个包含两个鉴别器( D 1 , D 2 D_1,D_2 D1D2)的团队。 为了击败第二名玩家,鼓励第一小组的成员产生接近其真值的输出。

4.2. Network Architecture and Training Details

生成器。 生成器的灵感来自最初设计用于生物医学图像分割的U-Net体系结构[44]。 该体系结构包括捕获上下文的收缩路径和实现精确定位的对称扩展路径。 表2列出了与[18]类似的G1 / G2的详细结构。

在这里插入图片描述

表2. ST-CGAN的生成器G1 / G2的体系结构。 C v i C v_i Cvi示经典的卷积层,而 C v T i CvT_i CvTi表示对特征图进行上采样的转置卷积层。 C v 4 ( × 3 ) Cv_4(×3) Cv4×3表示将Cv4的块再复制两次,总共复制3次。 “ #C_in”和“ #C_out”分别表示输入通道和输出通道的数量。 “before”表示块之前的层,“after”直接给出块的后一层。 “link”解释了U-Net架构中的特定连接[44],其中→决定了连接的方向,即 C v 0 → C v T 11 Cv_0→CvT_{11} Cv0CvT11 C v 0 Cv_0 Cv0的输出桥接到 C v T 11 CvT_{11} CvT11的输入。 LReLU是泄Leaky ReLU激活的缩写[31],而BN是Batch Normalization [17]的缩写。

鉴别器。 对于D1,它接收一对图像作为输入,包括一对原始RGB场景图像和一个生成4通道特征图的阴影蒙版作为输入。 D2的通道维数增加到7,因为它可以接受其他无阴影图像。 表3给出了这两个鉴别器的更多细节。

在这里插入图片描述

表3. ST-CGAN鉴别器D1 / D2的体系结构。 注释与表2相同。

训练/实现配置。 我们的代码基于pytorch [21]。 我们用Adam求解器[24]训练ST-CGAN,并应用交替梯度更新方案。 具体来说,我们首先采用梯度上升步骤,以固定G1,G2的方式更新D1,D2。 然后,我们应用梯度下降步骤以固定D1,D2更新G1,G2。 我们通过从零均值正态分布(标准差为0.2)采样来初始化ST-CGAN的所有权重。 在训练期间,通过裁剪(图像尺寸286→256)和翻转(水平)操作来采用增强。 使用 λ λ λ的实际设置,其中 λ 1 = 5 , λ 2 = 0.1 , λ 3 = 0.1 λ_1= 5,λ_2= 0.1,λ_3= 0.1 λ1=5λ2=0.1λ3=0.1。 将二进制交叉熵(BCE)损失分配给图像掩模回归的目标,将L1损失分别用于无阴影图像重建。

4.3. Discussion

术语堆叠(stacked )。多任务学习的常用形式是多分支版本。它旨在学习共享表示,并将其进一步并行地用于每个任务。图4暗示我们的堆叠设计与它有很大的不同。我们进行多任务学习的方式是,每个任务可以专注于其单独的特征,而不是跨任务共享特征,同时它们仍通过堆叠连接以向前/向后信息的形式彼此增强流。与多分支分支相比,以下实验还证实了我们的体系结构在两项任务上的有效性,如表8所示。

在这里插入图片描述

图4.信息流示意图,该信息流指示了提议的堆叠方案的任务之间的相互促进。

术语对抗(adversarial )。此外,条件GAN(CGAN)能够有效地强制执行更高阶的一致性,以学习图像对或三元组的联合分布。与几乎以前的大多数方法相比,这将使我们的方法具有更多优势,因为我们将基本组件实现为CGAN并向对抗网络中执行堆叠输入。

5. Experiments

为了全面评估我们提出的方法的性能,我们对各种数据集进行了广泛的实验,并分别在检测和去除措施上评估了ST-CGAN。

5.1. Datasets

我们主要利用两个大规模的公共可用数据集,包括SBU [51]和UCF [56],以及我们新收集的数据集ISTD。

SBU [51]有4727对阴影和荫罩图像。 其中,有4089对用于训练,其余用于测试。

UCF [56]总共有245个阴影和阴影蒙版对,它们全部用于以下实验中的测试。

ISTD是我们新发布的数据集,包含1870个三元组,适用于多任务训练。 它被随机分为1330个训练和540个测试。

5.2. Compared Methods and Metrics

对于检测部分,我们将ST-CGAN与最新的Stacked-CNN [51],cGAN [36]和scGAN [36]进行比较。 为了定量评估阴影检测性能,我们遵循常用术语[36],将提供的地面掩膜和预测掩膜与主要评估指标(称为平衡误差率(BER))进行比较:

B E R = 1 − 1 2 ( T P T P + F N + T N T N + F P ) , (7) \mathrm{BER}=1-\frac{1}{2}\left(\frac{T P}{T P+F N}+\frac{T N}{T N+F P}\right), \tag 7 BER=121(TP+FNTP+TN+FPTN),(7)

以及每个类别的单独像素错误率(阴影和非阴影)。

对于移除部分,我们使用公开可用的源代码[12、53、8]作为基准。 为了进行定量比较,我们遵循[12,43],并使用地面真实无阴影图像和恢复的图像之间的LAB颜色空间中的均方根误差(RMSE)作为测量值,然后评估整个图像以及阴影和非阴影区域。

5.3. Detection Evaluation

为了进行检测,我们利用跨数据集阴影检测计划(类似于[36])来评估我们的方法。 我们首先在ISTD训练集上训练了我们提出的ST-CGAN。

因此,使用表4中的三种最新方法对三个数据集进行了评估。可以看出,ST-CGAN在很大程度上优于StackedCNN和cGAN。 就BER而言,与scGAN相比,我们在SBU和ISTD上分别显着降低了14.4%的错误率。

在这里插入图片描述

表4.使用BER进行定量结果检测,越小越好。 对于我们提出的体系结构,我们使用ISTD训练集的图像三元组。 这些模型在三个数据集上进行了测试。 最佳和次佳结果分别用红色和蓝色标记。

接下来,我们将训练集切换为SBU的训练数据。考虑到我们的框架需要SBU无法提供的图像三元组,我们进行了额外的预处理步骤。 为了获得相应的无阴影图像,我们使用阴影去除代码[12]将其生成为粗略标签。 我们还在三个数据集上测试了这些训练好的模型。 尽管无阴影的地面真实性不准确,但我们提出的框架仍显着提高了整体性能。 具体而言,在SBU测试集上,ST-CGAN的错误率比scGAN之前的最佳记录降低了10.5%,从而实现了明显的改进。

在图5中,我们定性地证明了检测结果的比较。 如图5(a)和5(b)所示,与cGAN和scGAN相比,ST-CGAN不容易被场景的较低亮度区域所迷惑。 我们的方法还可以精确地检测投射在明亮区域(例如图5(c)和5(d)中的线条标记)上的阴影。 如图5(e)和5(f)所示,提出的ST-CGAN能够检测到比其他方法更多的细粒度阴影细节(例如,叶子的阴影)。

在这里插入图片描述

图5. ISTD数据集上不同方法的阴影检测和去除结果的比较。 请注意,我们提出的ST-CGAN同时产生检测和去除结果,而其他结果则用于阴影检测或阴影去除。

5.4. Removal Evaluation

阴影去除,我们将提出的ST-CGAN与ISTD数据集上的三种最新方法进行了比较,如表6所示。报告了RMSE值。 我们评估阴影区域,非阴影区域和整个图像上不同方法的性能。 所提出的ST-CGAN在所有比较方法中均获得了最佳性能。 值得注意的是,非阴影区域的误差与原始误差非常接近,这表明其区分图像非阴影部分的能力很强。 移除的优势也部分来自联合学习方案,其中训练有素的检测块可提供更清晰的阴影和无阴影区域线索。

在这里插入图片描述

表6.使用RMSE去除定量结果后,越小越好。 第三列报告了阴影图像和无阴影图像之间的原始差异。 我们在ISTD上执行多任务训练,并将其与三种最新方法进行比较。 最佳和次佳结果分别用红色和蓝色标记。

我们还演示了删除结果的比较。 如图5所示,尽管Yang [53]可以恢复无阴影的图像,但它可以改变阴影区域和非阴影区域的颜色。 Guo [11]和Gong [8]无法准确地检测阴影,因此他们的两个预测都是不完整的,尤其是在阴影区域。 此外,由于难以确定环境照度和整体一致性,所有比较的基线模型在语义区域上均产生不令人满意的结果。

5.5. Component Analysis of ST-CGAN

为了说明STCGAN不同组件的效果,我们通过逐步去除其中的不同部分进行了一系列的消融实验。 根据表7中的去除和检测性能,我们发现每个单独的组件对于最终的出色预测都是必要且必不可少的。 此外,表7的最后两列还表明,如果不进行堆叠式联合学习,则由一个生成器和一个鉴别器组成的单个模块的性能始终会较差。 它进一步暗示了我们的多任务体系结构在阴影检测和阴影去除方面的有效性。

在这里插入图片描述

表7.通过使用RMSE去除和使用BER进行检测,对ISTD上的ST-CGAN进行成分分析,越小越好。 还提供了与阴影和非阴影部分有关的度量。 最佳和次佳结果分别用红色和蓝色标记。

5.6. Stacked Joint vs. Multi-branch Learning

我们进一步将身体架构修改为多分支版本,其中每个分支分别设计用于一项任务。 因此,该框架旨在学习由两个任务监督的共享嵌入,如图6的底部所示。为清楚说明起见,还给出了我们与多分支之间的比较说明。 在固定所有其他训练设置的情况下,我们在ISTD数据集的检测和去除测量上,将拟议的ST-CGAN与多分支版本进行定量比较。 表8报告了我们的堆叠式联合学习范例在指标的每个方面都始终胜过多分支版本。

在这里插入图片描述

图6.堆叠式联合学习(顶部)和常见的多分支学习(底部)的图示

6. Conclusion

在本文中,我们提出了分层条件生成对抗网络(ST-CGAN),以共同学习阴影检测和阴影去除。 我们的框架至少具有以下四个独特优势:1)这是第一种同时解决阴影检测和阴影去除的端到端方法; 2)我们设计了一种新颖的堆叠模式,该模式将所有任务紧密地连接在一起,以实现多任务学习的目的,证明了它的有效性,并提出了将来在其他类型的多任务上的扩展; 3)堆叠的对抗组件能够按层次保留全局场景特征,从而实现无阴影图像的细粒度和自然恢复; 4)ST-CGAN在检测和去除阴影方面始终提高整体性能。 此外,作为额外的贡献,我们公开发布了第一个大规模数据集,其中包含阴影,阴影蒙版和无阴影的图像三元组。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 堆叠沙漏网络(Stacked Hourglass Networks)是一种用于人体姿态估计的深度学习模型。它由多个沙漏模块(Hourglass Module)堆叠而成,每个沙漏模块都包含了卷积神经网络和池化层,用于提取特征。堆叠沙漏网络的优点是可以对不同尺度的特征进行处理,从而提高了姿态估计的准确性。 ### 回答2: Stacked Hourglass Networks (SHN)是一种用于图像分割和人体姿势估计的神经网络结构,由卡内基梅隆大学和康奈尔大学的研究人员于2016年提出。SHN通过多层级的堆叠半监督网络,在对输入图像进行多尺度特征提取的同时实现了高分辨率的姿态估计。 SHN主要由两部分构成:堆叠的小型Hourglass网络和批量标准化(BN)。Hourglass网络是指由多层卷积层和上采样层、下采样层构成的一个可编程的Block,用于具体化姿态估计的操作。堆叠在一起的小型Hourglass网络在不同的分辨率和空间上进行特征提取,以共同实现最终的分割和姿态估计结果。批量标准化是一种用于规范化网络输入和加速网络收敛的技术。 SHN对于图像分割和人体姿势估计具有较高的准确率和鲁棒性。采用上述网络结构进行人体姿势估计,可优化难度较大的人体部位之间的相互作用和相互影响,使得姿态估计的精度和稳定性得到了显著提高,在肢体遮挡、图像噪声和背景复杂等困难情况下也可以取得良好的表现。 总之,作为一种多层级、半监督的神经网络结构,SHN在图像分割和人体姿势估计中发挥着越来越重要的作用,也为相关领域的研究和应用提供了一个重要的思路和工具。 ### 回答3: Stacked Hourglass Networks是一个先进的计算视觉网络,用于实现人类关键点检测和姿势估计。与其他现有的方法相比,它具有更准确,更可重复和更快速的输出。该模型通过串联8个Hourglass模块构建,Hourglass模块是特殊的卷积神经网络,可以对图像进行多次分辨率下采样和上采样以提高输出精度。这些模块也具有回归和分类头,能够同时预测关键点的位置和姿势。Stacked Hourglass Networks 模型已经在许多场景中取得成功,如动态手势识别、行人关键点检测和3D姿态估计等。 Stacked Hourglass Networks的核心思想基于卷积神经网络和图像金字塔技术。在处理人体关键点检测时,由于人的姿势会因为动态变化和视角变换而导致关键点位置的不稳定性。因此,处理这个任务的模型需要在不同的尺度下检测关键点和姿势。Stacked Hourglass Networks通过多个Hourglass模块的串联,每个模块将输入图像分别经过多次下采样和上采样,产生一系列不同尺度的特征图。这些特征图经过回归和分类头进行训练和预测,最后合成出整个图像输入的关键点和姿势输出。 Stacked Hourglass Networks模型具有许多优点,如精度高,稳健,具有可解释性等。在实际应用中已经取得了很好的效果。未来,Stacked Hourglass Networks模型仍然有很大的研究空间,可以通过各种改进和方法来提高性能,同时可以将其用于更多的视觉任务中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值