EfficientPS论文翻译-------第三部分:网络结构
在这一节中,我们首先对我们提出的EfficientPS体系网络结构做一个简要的概述,然后详细介绍它的每一个组成部分。我们的网络遵循自顶向下的布局,如图2所示。它由一个带有双向特征金字塔网络(FPN)的共享主干网络组成,然后是任务特定的语义分割和实例分割头。我们在EfficientNet (Tan和Le, 2019)架构的基础上构建了我们共享主干网络的编码器(用红色表示)。它由可移动的bottleneck (瓶颈)单元组成,采用复合缩放来均匀缩放编码器网络的所有维度。这使得我们的编码器具有丰富的表征能力,与其他编码器或类似鉴别能力的骨干相比,参数更少。
图2我们提出的EfficientPS体系结构的图示,该体系结构由一个共享主干和双向FPN,并行语义和实例分割头以及随后的全景融合模块组成。 共享主干网络建立在EfficientNet架构和我们新的双向FPN上,该双向FPN支持双向信息流。 实例分割头基于改进的Mask R-CNN拓扑,我们结合了我们提出的语义分割头。 最后,两个头部的输出在我们的全景融合模块中融合,以产生全景分割输出。
与采用在其他全景分割结构中常用的传统FPN不同,我们结合我们提出的双向FPN,融合多尺度特征比其相似算法更有效。这可以归因于这样一个事实,即在我们的双向FPN中的信息流并不是仅局限于一个方向,如图2中的紫色、蓝色和绿色块所示。在双向FPN之后,我们采用两个并行的头部分别进行语义分割(用黄色表示)和实例分割(用灰色和橙色表示)。我们使用了Mask R-CNN网络结构的变体作为实例头,并结合了由密集预测单元和残差金字塔组成的新的语义分割头。语义头由三个不同的模块组成,分别用于捕捉精细特征、远程上下文特征和关联明显捕获的特征,以改善对象边界的细化。最后,我们使用我们提出的全景融合模块融合语义头和实例头的输出,以产生全景分割输出。
3.1 网络主干
我们的网络的主干由一个编码器和我们提出的双向FPN组成。编码器是任何细分网络的基本组成部分,一个强大的编码器是必不可少的具有高代表性的能力。在这项工作中,我们试图在参数的数量和计算复杂度与网络的表示能力之间找到一个好的平衡。EfficientNets是一个最近出现的网络结构家族,它已经被证明在分类任务上显著优于其他网络,同时参数和失败更少。它采用复合缩放,有效地均匀缩放网络的宽度、深度和分辨率。因此,我们选择在这个系数为1.6、2.2和456的比例结构的基础上构建,通常称为EfficientNets-B5模型。这可以很容易地替换为任何基于可用资源的容量和计算预算的有效网络模型。
为了使EfficientNet适应我们的任务,我们首先移除网络中的分类头和Squeeze-and-Excitation(SE)(挤压-激励)连接。我们发现,卷积特征映射的通道之间的相互依赖的显式建模(由SE连接启动)倾向于抑制特征的局部化,而有利于上下文元素。这个属性在分类网络中是一个理想的属性,但是对于分割任务来说,这两个属性是同等重要的,因此我们没有在主干中添加任何SE连接。其次,我们将所有批标准化层替换为同步到位激活批标准化层。这使得跨不同GPU的同步成为可能,从而在执行多GPU训练和就地操作释放额外GPU内存时产生更好的梯度估计。我们在第4.4.2节介绍的消融研究中,分析了我们改进的EfficientNet在与其他最先进的架构中常用的编码器比较时的性能。
我们的EfficientNet编码器由9个块组成,如图2所示(红色部分)。我们以从左到右的方式将图中的每个块称为块1到块9。第2、3、5、9块的输出分别对应于下采样因子×4、×8、×16、×32。这些带有向下采样的块的输出也是我们的双向FPN的输入。传统的全景分割网络采用自顶向下的方法对不同分辨率的特征进行融合,解决了多尺度特征融合问题。这是通过首先使用1×1卷积来将不同编码器输出分辨率的通道数减少或增加到预定数量(通常为256)。然后,将较低分辨率的特征上采样到较高的分辨率,然后将它们加在一起。例如,将×32分辨率编码器输出特性调整为×16分辨率,并添加到×16分辨率编码器输出特性中。最后,在每个比例尺上使用3×3卷积来进一步学习融合功能,然后产生P4,P8,P16和P32输出。这种FPN拓扑具有有限的单向信息流,导致多尺度特征的无效融合。因此,我们建议通过添加第二个分支来缓解此问题,该分支以自下而上的方式聚合多尺度特征,以实现双向信息流。
我们提出的如图2所示的双向FPN由两个并行分支组成。每个分支由一个1×1的卷积组成,每个尺度上有256个输出滤波器,用于通道缩减。蓝色所示的自顶向下分支遵循从右到左的传统FPN聚合模式。而紫色所示的自底向上的分支,从左到右将高分辨率的特性采样到下一个分辨率较低的解决方案,然后将它们与下一个低分辨率编码器输出特性相加。例如,×4分辨率特性将被调整为×8分辨率,并添加到×8分辨率编码器输出特性中。然后下一阶段,将每个分辨率下自底向上和自顶向下分支的输出进行相应的求和,通过一个具有256个输出通道的3×3可分离卷积,分别得到P4、P8、P16和P32输出。相对于标准卷积,我们使用可分卷积来保持低参数消耗。在消融研究中,我们对我们提出的双向FPN与常规FPN的性能进行了评估。
3.2语义分割头
我们提出的语义分割头由三个组件组成,每个组件针对的是关键需求之一。 首先,在大规模情况下,网络应具有有效捕获精细特征的能力。 为了实现这一点,我们使用了大型特征提取器(LSFE)模块,该模块具有两个3×3可分离的卷积以及128个输出滤波器,每个滤波器都带有一个iABN同步和一个Leaky ReLU激活功能。 第一个3×3可分离卷积将滤波器的数量减少到128,第二个3×3可分离卷积进一步学习了更深的功能。
第二个要求是,在小规模的情况下,网络应该能够捕获远程上下文。Chen等人受到空间金字塔池(Atrous Spatial Pyramid Pooling, ASPP)的启发,广泛应用于最先进的语义分割架构的模块已被证明是有效的。密集预测单元(DPC) 和高效空间金字塔池(eASPP)是ASPP的两个变种,显著更高效,也产生更好的性能。我们发现,与eASPP相比,DPC在参数数量稍微增加的情况下表现出更好的性能。因此,我们在语义头中使用了一个修改过的DPC模块,如图2所示。我们通过用iABN同步替换批归一化层以及用Leaky ReLU替换ReLU来扩展原始DPC拓扑。DPC模块由一个3×3可分离卷积和256个输出通道组成,扩展速率为(1,6),并扩展到五个并行分支。三个分支中的每个分支由3×3扩张的可分离卷积组成,具有256个输出,其中扩展速率分别为(1,1),(6,21)和(18,15)。第四分支将扩张速度为(18,15)的扩张可分离卷积的输出作为输入,并将其通过另一个具有256个输出通道且扩张率为(6,3)的3×3扩张可分离卷积。然后将所有这些并行分支的输出连接起来,以产生具有1280个通道的张量。然后,该张量最终通过具有256个输出通道的1×1卷积,形成DPC模块的输出。请注意,DPC模块中的每个卷积后面都带有iABN同步和Leaky ReLU激活功能。
语义头的第三个也是最后一个要求是,它应该能够减轻大规模和小规模特征之间的不匹配,同时执行特征聚合。为此,我们使用了失配校正模块(MC),该模块将小尺度特征与大尺度特征相关联。 它由级联的3×3可分离卷积和128个输出通道组成,随后是iABN与Leaky ReLU同步,以及一个双线性上采样层,该上采样层对特征图进行了2倍的上采样。图3 (a)、3 ©和3 (d)展示了我们的语义头的这些主要组件的拓扑结构。
图3 我们的EfficientPS体系结构的建议语义头和实例头中的各种体系结构组件的拓扑。
我们的双向FPN的四个不同的缩放输出,即P4、P8、P16和P32是我们的语义头的输入。将采样因子为×32和×16的小尺度输入P32和P16分别输入到两个并行的DPC模块中。当大规模输入时,P8和P4分别通过两个并行的LSFE模块,采样因子分别为×8和×4。随后,每个并行DPC和LSFE模块的输出都使用特征对齐连接进行增强,每个模块的输出都向上采样4倍。然后将这些上采样的特征映射串联起来,生成一个具有512个通道的张量,然后将其输入到N ’ stuff ’ + ’ thing '输出滤波器的1×1卷积中。然后这个张量最终被向上采样2倍,并通过一个softmax层来产生与输入图像具有相同分辨率的语义逻辑。现在,来自DPC和LSFE模块的特性对齐连接通过按元素求和将每个输出连接起来,如图2所示。我们在第二个DPC和LSFE之间以及两个LSFE连接之间的互连中添加MC模块。这些关联连接聚合了来自小尺度特征和特征大尺度特征的上下文信息,以更好地细化对象边界。我们使用加权的每像素对数损失(Bulo et al, 2017)进行训练,由
L
p
p
(
Θ
)
=
−
∑
i
j
w
i
j
log
p
i
j
(
p
i
j
∗
)
(
1
)
\mathcal{L}_{p p}(\Theta)=-\sum_{i j} w_{i j} \log p_{i j}\left(p_{i j}^{*}\right) (1)
Lpp(Θ)=−ij∑wijlogpij(pij∗)(1)
其中
p
i
j
∗
p_{i j}^{*}
pij∗是给定图像的地面真实性,
p
i
j
p_{i j}
pij是将像素(i,j)分配给类别c∈p的预测概率,如果像素(i,j)属于最坏预测的25%,则
w
i
j
w_{i j}
wij = 4, 否则
w
i
j
w_{i j}
wij = 0。 W和H是给定输入图像的宽度和高度。 整体语义头损失由下式给出:
L
semantic
(
Θ
)
=
1
n
∑
L
p
p
\mathcal{L}_{\text {semantic}}(\Theta)=\frac{1}{n} \sum L_{p p}
Lsemantic(Θ)=n1∑Lpp
其中n为批大小。我们在第4.4.4节中对我们提出的语义头进行了深入分析,并与其他在最先进的架构中常用的语义头进行了比较。
3.3实例分割头
图2中所示的我们的EfficientPS网络的实例分割头具有类似于Mask R-CNN(He et al,2017)的拓扑,但有一些修改。 更具体地说,我们分别用可分离的卷积,iABN同步和Leaky ReLU替换了所有标准卷积,批归一化层和ReLU激活。 与我们架构的其余部分类似,我们使用可分卷积代替标准卷积以减少网络消耗的参数数量。 与传统的Mask R-CNN相比,这可以节省2.09 M的参数。
Mask R-CNN包含两个阶段。在第一阶段,图3(b)所示的区域提议网络(RPN)模块采用完全卷积网络来输出一组矩形目标提议和给定输入FPN级别的目标得分。该网络结构包含一个具有256个输出通道的3×3可分离卷积、一个iABN同步和一个Leaky ReLU激活,然后是两个并行的1×1卷积,分别具有4k和k个输出滤波器。这里,k是对象建议的最大数量。相对于k个参考边界框(称为锚点)对k个建议进行了参数化。比例和宽高比定义了一个特定的锚点,它取决于所使用的数据集。由于生成的建议可能会重叠,因此采用了非最大抑制(Non-Max Suppression, NMS)的附加过滤步骤。本质上,在出现重叠的情况下,具有最高客观分数的建议被保留,其余的建议被丢弃。RPN首先计算形式为(pu,pv,pw,ph)的目标提议和目标得分σ(ps),该目标得分将形式(u,v,w,h)的锚点a转换为(u + pu, v + pv)和(wepw,heph),其中(u,v)是锚点a在图像坐标系中的位置,(w,h)是尺寸,而σ(·)是S型函数。 NMS产生最终候选边界框建议,以供下一阶段使用。
随后,ROI align(He等人,2017)使用对象建议从FPN编码中提取特征,方法是将第n个通道中的特征以14×14的空间分辨率直接合并到边界框建议中。 这里
n
=
max
(
1
,
min
(
4
,
⌊
3
+
log
2
(
w
h
/
224
)
⌋
)
)
(
3
)
n=\max \left(1, \min \left(4,\left\lfloor 3+\log _{2}(\sqrt{w h} / 224)\right\rfloor\right)\right)(3)
n=max(1,min(4,⌊3+log2(wh/224)⌋))(3)
其中w和h为边界框提案的宽度和高度。所提取的特征作为边界框回归、对象分类和掩码分割网络的输入。RPN网络依次对FPN的每个输出尺度进行操作,从而从不同的尺度积累候选对象,ROI align使用所积累的列表从所有的尺度提取特征。边界盒回归和对象分类网络由两个具有1024通道的共享的连续全连通层组成,即iABN同步层和Leaky ReLU层。随后,每个任务的feature map在结束时经过一个全连接层,分别有4N ’ thing '输出和N ’ thing ’ +1输出。对象分类对数产生了来自softmax层的类和空隙上的概率分布,而边界框回归网络对类特定的校正因子进行编码。对于类别c的形式为(uc,vc,wc,hc)的给定对象建议,将以(u + cu,v + cv,wecw,hech)形式计算新的边界框,其中(cu,cv, cw,ch)是特定于类的校正因子,(u,v)和(w,h)分别是边界框建议的位置和尺寸。
Mask分割网络采用4个连续的3×3可分离卷积,256个输出通道,其次是iABN同步和Leaky ReLU。然后将得到的地形图通过256个输出通道的2×2转置卷积,输出步长为2,然后是iABN sync和Leaky ReLU激活函数。最后,使用与N ’ thing '输出通道的1×1卷积,每个类产生28×28 logits。 所得的logit使用sigmoid函数给出了候选边界框建议的Mask前景概率。 然后将其与我们在3.4节中介绍的我们建议的全景融合模块中的语义对数融合。
为了训练实例分割头,我们采用Mask R-CNN中提出的损失函数,即第一阶段有两个损失函数:对象分数损失和目标提议损失,第二阶段有三个损失函数:分类损失, 边界框损失和Mask分割损失。 我们采用一组随机采样的正匹配项和负匹配项,使得| Ns | ≤256。客观分数损失
L
o
s
\mathcal{L}_{o s}
Los定义为给定
N
s
N_{s}
Ns的对数损失,计算公式为
L
o
s
(
Θ
)
=
−
1
∣
N
s
∣
∑
(
p
o
s
∗
,
p
o
s
)
∈
N
s
p
o
s
∗
⋅
log
p
o
s
+
(
1
−
p
o
s
∗
)
⋅
log
(
1
−
p
o
s
)
(
4
)
\begin{aligned} \mathcal{L}_{o s}(\Theta)=&-\frac{1}{\left|N_{s}\right|} \sum_{\left(p_{o s}^{*}, p_{o s}\right) \in N_{s}} p_{o s}^{*} \cdot \log p_{o s} \\ &+\left(1-p_{o s}^{*}\right) \cdot \log \left(1-p_{o s}\right) \end{aligned}(4)
Los(Θ)=−∣Ns∣1(pos∗,pos)∈Ns∑pos∗⋅logpos+(1−pos∗)⋅log(1−pos)(4)
其中
p
o
s
p_{o s}
pos是RPN的对象得分分支的输出,
p
o
s
∗
p_{o s}^{*}
pos∗是groundtruth标签,如果锚点为正,则为1,如果锚点为负,则为0。我们使用与Mask R-CNN相同的策略来定义正匹配和负匹配。对于一个给定的锚点a,如果groundtruth框b∗具有最大的交并比(IoU)或IoU(b ∗,a)> TH,则对应的预测b为正匹配,而当IoU( b ∗,a)<TL,则对应的预测b为正匹配。TH和TL是预定义的阈值,TH > TL。
对象建议损失
L
o
p
\mathcal{L}_{o p}
Lop是仅在正匹配上定义的回归损失,由
L
o
p
(
Θ
)
=
1
∣
N
s
∣
∑
(
t
∗
,
t
)
∈
N
p
(
i
∗
,
i
)
∈
(
t
∗
,
t
)
L
1
(
i
∗
,
i
)
(
5
)
\mathcal{L}_{o p}(\Theta)=\frac{1}{\left|N_{s}\right|} \sum_{\left(t^{*}, t\right) \in N_{p}(i *, i) \in\left(t^{*}, t\right)} L_{1}(i *, i)(5)
Lop(Θ)=∣Ns∣1(t∗,t)∈Np(i∗,i)∈(t∗,t)∑L1(i∗,i)(5)
其中
L
1
L_{1}
L1是平滑
L
1
L_{1}
L1范数,
N
p
N_{p}
Np是
N
s
N_{s}
Ns个正匹配项的子集,
t
∗
=
(
t
x
∗
,
t
y
∗
,
t
w
∗
,
t
h
∗
)
t^{*}=\left(t_{x}^{*}, t_{y}^{*}, t_{w}^{*}, t_{h}^{*}\right)
t∗=(tx∗,ty∗,tw∗,th∗)和
t
=
(
t
x
,
t
y
,
t
w
,
t
h
)
t=\left(t_{x}, t_{y}, t_{w}, t_{h}\right)
t=(tx,ty,tw,th)是
b
∗
b^{*}
b∗和
b
b
b的参数化,
b
∗
=
(
x
∗
,
y
∗
,
w
∗
,
h
∗
)
b^{*}=\left(x^{*}, y^{*}, w^{*}, h^{*}\right)
b∗=(x∗,y∗,w∗,h∗)是groundtruth框,
b
∗
=
(
x
,
y
,
w
,
h
)
b^{*}=\left(x, y, w, h\right)
b∗=(x,y,w,h)是预测边界框,x, y, w和h分别表示groundtruth框的中心坐标,以及它的宽度和高度。参数化由
t
x
=
(
x
−
x
a
)
w
a
,
t
y
=
(
y
−
y
a
)
h
a
,
t
w
=
log
w
w
a
,
t
h
=
log
h
h
a
(
6
)
t
x
∗
=
(
x
∗
−
x
a
)
w
a
,
t
y
∗
=
(
y
∗
−
y
a
)
h
a
,
t
w
∗
=
log
w
∗
w
a
,
t
h
∗
=
log
h
∗
h
a
(
7
)
\begin{array}{l} t_{x}=\frac{\left(x-x_{a}\right)}{w_{a}}, t_{y}=\frac{\left(y-y_{a}\right)}{h_{a}}, t_{w}=\log \frac{w}{w_{a}}, t_{h}=\log \frac{h}{h_{a}} (6)\\ t_{x}^{*}=\frac{\left(x^{*}-x_{a}\right)}{w_{a}}, t_{y}^{*}=\frac{\left(y^{*}-y_{a}\right)}{h_{a}}, t_{w}^{*}=\log \frac{w^{*}}{w_{a}}, t_{h}^{*}=\log \frac{h^{*}}{h_{a}}(7) \end{array}
tx=wa(x−xa),ty=ha(y−ya),tw=logwaw,th=loghah(6)tx∗=wa(x∗−xa),ty∗=ha(y∗−ya),tw∗=logwaw∗,th∗=loghah∗(7)
其中
x
a
x_{a}
xa,
y
a
y_{a}
ya,
w
a
w_{a}
wa和
h
a
h_{a}
ha表示锚点a的中心坐标,宽度和高度。
与对象分数损失
L
o
s
\mathcal{L}_{o s}
Los相似,为一组随机采样的正负匹配
K
s
K_{s}
Ks 定义分类损失
L
c
l
s
\mathcal{L}_{c l s}
Lcls,使得
∣
K
s
∣
|K_{s}|
∣Ks∣ ≤512。分类损失
L
c
l
s
\mathcal{L}_{c l s}
Lcls由下式给出
L
c
l
s
(
Θ
)
=
−
1
∣
K
s
∣
∑
c
=
1
N
thing
′
+
1
Y
o
,
c
∗
⋅
log
Y
o
,
c
,
for
(
Y
∗
,
Y
)
∈
K
s
(
8
)
\mathcal{L}_{c l s}(\Theta)=-\frac{1}{\left|K_{s}\right|} \sum_{c=1}^{N_{\text {thing }^{\prime}+1}} Y_{o, c}^{*} \cdot \log Y_{o, c}, \quad \text { for }\left(Y^{*}, Y\right) \in K_{s}(8)
Lcls(Θ)=−∣Ks∣1c=1∑Nthing ′+1Yo,c∗⋅logYo,c, for (Y∗,Y)∈Ks(8)
其中Y是分类分支的输出,
Y
∗
Y^{*}
Y∗是一个hot编码的groundtruth标签,o是观察到的类,而c是对象o的正确分类。 对于给定的图像,如果IoU
(
b
∗
,
b
)
>
T
n
\left(b^{*}, b\right)>T_{n}
(b∗,b)>Tn为正匹配,否则为负匹配,其中
b
∗
b^{*}
b∗是groundtruth框,
b
b
b是第一阶段的对象建议。
边界框损失
L
b
b
x
\mathcal{L}_{b b x}
Lbbx是仅在正匹配项上定义的回归损失,表示为
L
b
b
x
(
Θ
)
=
1
∣
K
s
∣
∑
(
T
∗
,
T
)
∈
K
p
∑
(
i
∗
,
i
)
∈
(
T
∗
,
T
)
L
1
(
i
∗
,
i
)
(
9
)
\mathcal{L}_{b b x}(\Theta)=\frac{1}{\left|K_{s}\right|} \sum_{\left(T^{*}, T\right) \in K_{p}}\sum_{(i *, i) \in\left(T^{*}, T\right)} L_{1}(i *, i)(9)
Lbbx(Θ)=∣Ks∣1(T∗,T)∈Kp∑(i∗,i)∈(T∗,T)∑L1(i∗,i)(9)
其中
L
1
{L}_{1}
L1是平滑
L
1
{L}_{1}
L1范数(Girshick,2015年),
K
p
{K}_{p}
Kp是
K
s
{K}_{s}
Ks个正匹配的子集,
T
∗
T^{*}
T∗和
T
T
T分别是
B
∗
B^{*}
B∗和
B
B
B的参数,类似于方程式(4)和(5),其中
B
∗
B^{*}
B∗是groundtruth框,
T
T
T是相应的预测边界框。
最后,掩模分割损失也仅针对正样本进行定义,并由下式给出:
L
mask
(
Θ
)
=
−
1
∣
K
s
∣
∑
(
P
∗
,
P
)
∈
K
s
L
p
(
P
∗
,
P
)
(
10
)
\mathcal{L}_{\operatorname{mask}}(\Theta)=-\frac{1}{\left|K_{s}\right|} \sum_{\left(P^{*}, P\right) \in K_{s}} L_{p}\left(P^{*}, P\right)(10)
Lmask(Θ)=−∣Ks∣1(P∗,P)∈Ks∑Lp(P∗,P)(10)
其中,
L
p
(
P
∗
,
P
)
L_{p}\left(P^{*}, P\right)
Lp(P∗,P)公式如下:
L
p
(
P
∗
,
P
)
=
−
1
∣
T
p
∣
∑
(
i
,
j
)
∈
T
p
P
i
,
j
∗
⋅
log
P
i
,
j
+
(
1
−
P
i
,
j
∗
)
⋅
log
(
1
−
P
i
,
j
)
(
11
)
\begin{aligned} L_{p}\left(P^{*}, P\right)=&-\frac{1}{\left|T_{p}\right|} \sum_{(i, j) \in T_{p}} P_{i, j}^{*} \cdot \log P_{i, j} \\ &+\left(1-P_{i, j}^{*}\right) \cdot \log \left(1-P_{i, j}\right) \end{aligned} (11)
Lp(P∗,P)=−∣Tp∣1(i,j)∈Tp∑Pi,j∗⋅logPi,j+(1−Pi,j∗)⋅log(1−Pi,j)(11)
其中
P
P
P是一个类的预测的28×28二进制掩模,
P
i
,
j
P_{i, j}
Pi,j表示掩模像素(i, j)的概率,
P
i
,
j
∗
P_{i, j}^{*}
Pi,j∗是这个类的28×28的groundtruth二进制掩模,
T
p
T_{p}
Tp是
P
∗
P^{*}
P∗中的非空像素的集合。
所有这五种损失均等权衡,实例分割的总损失由下式给出:
L
instance
=
L
o
s
+
L
o
p
+
L
c
l
s
+
L
b
b
x
+
L
mask
\mathcal{L}_{\text {instance}}=\mathcal{L}_{o s}+\mathcal{L}_{o p}+\mathcal{L}_{c l s}+\mathcal{L}_{b b x}+\mathcal{L}_{\text {mask}}
Linstance=Los+Lop+Lcls+Lbbx+Lmask
与Mask R-CNN类似,针对损耗
L
c
l
s
\mathcal{L}_{c l s}
Lcls,
L
b
b
x
\mathcal{L}_{b b x}
Lbbx和
L
m
a
s
k
\mathcal{L}_{mask}
Lmask计算的梯度仅流经网络主干,而不流经区域提议网络。
3.4全景融合模块
为了获得全景分割输出,我们需要融合语义分割头和实例分割头的预测。然而,由于它们之间固有的重叠,融合这两种预测并不是一项简单的任务。因此,我们提出一种新的全景融合模块,以自适应的方式解决上述问题,以充分利用两个头的预测一致。图4显示了我们的全景融合模块的拓扑结构。我们从网络的实例分割头获得一组对象实例,其中对于每个实例,我们都有其对应的类预测,置信度得分,边界框和掩码logit。首先,我们分两个阶段减少预测对象实例的数量。我们首先丢弃置信值小于某个置信值阈值的所有对象实例。然后,我们将每个对象实例的28×28掩码模型调整为零填充并缩放为与输入图像相同的分辨率。随后,我们根据各自的置信度得分对类别预测,边界框和掩码模型进行排序。在第二阶段,我们检查每个排序后的实例掩码模型是否与其他对象实例重叠。如果重叠高于给定的重叠阈值,我们将丢弃其他对象实例。
图4 我们建议的全景融合模块的示意图。 此处,MLA和MLB掩码对数被融合为
(
σ
(
M
L
A
)
+
σ
(
M
L
B
)
)
⊙
(
M
L
A
+
M
L
A
)
\left(\sigma\left(M L_{A}\right)+\sigma\left(M L_{B}\right)\right) \odot\left(M L_{A}+M L_{A}\right)
(σ(MLA)+σ(MLB))⊙(MLA+MLA),其中
M
L
B
M L_{B}
MLB是函数
f
∗
f^{*}
f∗的输出,σ(·)是Ssigmoid函数,而
⊙
\odot
⊙是 Hadamard乘积。 在此,给定类别预测c(在此示例中为骑自行车的人)的
f
∗
f^{*}
f∗函数将语义对数的c通道的得分清零到相应边界框之外。
过滤对象实例之后,我们有了每个实例的类预测、边框预测和掩码logit MLA。我们同时从语义头中获得N个通道的语义对数,其中N为N 'stu f f t和N 'thingt的和。然后,我们为每个实例计算第二个掩码logit MLB,其中我们根据其类预测选择语义logits的通道。对于实例边框内的区域,我们只保留所选通道的logit分数,而将该区域外的分数归零。最后,每个实例有两个掩码日志,一个来自实例分割头,另一个来自语义分割头。通过计算MLA的sigmoid和MLB的sigmoid和MLA的sigmoid和MLB的Hadamard积,自适应地将这两个logit进行合并,得到实例的融合掩码logit FL表示为
F
L
=
(
σ
(
M
L
A
)
+
σ
(
M
L
B
)
)
⊙
(
M
L
A
+
M
L
A
)
F L=\left(\sigma\left(M L_{A}\right)+\sigma\left(M L_{B}\right)\right) \odot\left(M L_{A}+M L_{A}\right)
FL=(σ(MLA)+σ(MLB))⊙(MLA+MLA)
其中σ(·)是sigmoid函数,而
⊙
\odot
⊙是Hadamard乘积。然后,我们将对象实例的融合掩模logits与通道维度上的“stuff”logits连接起来,生成中间全景logits。随后,我们沿通道维度应用argmax操作以获得中间全景预测。 在最后一步,我们取一个零填充canvas(画布),首先从中间泛光预测复制特定实例的“stuff”预测。然后,我们通过从语义头的预测中复制“stuff”类预测来填充canvas的空白部分,同时忽略那些面积小于预定义阈值(称为最小stuff area)的类。这就给了我们最终的全景分割输出。
先从中间泛光预测复制特定实例的“stuff”预测。然后,我们通过从语义头的预测中复制“stuff”类预测来填充canvas的空白部分,同时忽略那些面积小于预定义阈值(称为最小stuff area)的类。这就给了我们最终的全景分割输出。
我们将上述方式融合MLA和MLB实例logits,因为如果两个实例对于给定像素的logits一致,则最终实例得分将根据它们的一致比例增加,反之亦然。如果一致,相应的对象实例将占主导地位或被其他实例以及“stuff”类的分数取代。同样,在出现分歧时,给定对象实例的分数将反映它们之间的差异程度。简单地说,根据共识,合并的logit分数要么是衰减的,要么是放大的。我们将我们提出的全景增强模块的性能与4.4.5节中介绍的消融研究中的其他现有方法进行比较。