Abstract
提出:边界引导分离注意网络BSA-Net
- 双分支:反向注意力分支,消除伪装对象的内部,关注背景;正向注意力分支,关注前景
- 边界引导模块
1. Introduction
目前COD
面临的问题:伪装对象与背景边界模糊
BSA-Net
是一种由粗到精的学习模型,利用三个模块:
- 残差多尺度特征提取器
RMFE
:捕获上下文信息 - 分离注意力机制
SEA
:处理敏感-不变性困境,建立正常注意力分支与反向注意力分支,关注前景与背景,相结合工作 - 边界引导器
BG
:构建(突出)伪装对象的边界,增强了SEA
边缘检测的能力
3. Methodology
3.1 Network Architecture
- 输入: I ∈ R W × H × 3 I\in R^{W\times H\times 3} I∈RW×H×3
- 获得多尺度特征
F
i
,
i
∈
{
1
,
2
,
3
,
4
,
5
}
F_i,i\in \{1,2,3,4,5\}
Fi,i∈{1,2,3,4,5}:使用
Res2Net
作为骨干网络 - 将 F 2 , F 3 , F 4 , F 5 F_2,F_3,F_4,F_5 F2,F3,F4,F5输入残差多尺度特征提取器中,获得不同感受野的特征
- 利用正向注意力流与反向注意力流的分离注意力模块对前景与背景进行聚焦。粗略图
C
i
,
i
∈
{
1
,
2
,
3
,
4
}
C_i,i\in \{1,2,3,4\}
Ci,i∈{1,2,3,4}由反向注意力流得到(由
Ground Truth
监督) - 利用边缘检测网络获取边界图
BM
,应用于SEA
模块中 - 利用
shuffle attention
处理信息通道 - 得到第一轮预测的4个精细化地图,标记为 R i , i ∈ { 1 , 2 , 3 , 4 } R_i,i\in \{1,2,3,4\} Ri,i∈{1,2,3,4},并选择 R 1 R_1 R1作为推理阶段的最终输出
3.2 Residual Multi-scale Feature Extractor
前提:由于ResNet
进行串行卷积运算,无法提取丰富的上下文信息;使用
3
×
3
3\times 3
3×3的卷积核难以在一个阶段获取多尺度特征,不利于图像的理解和分割
启发:Inception
模块和Res2Net
提出:残差多尺度特征提取器RMFE
![](https://img-blog.csdnimg.cn/7bba0982941a4b5d9eea7d8e9c1a76c8.png)
细节:
RMFE
采用并行的卷积(卷积核
3
×
3
3\times 3
3×3),利用残差块逐次放大感受野,其公式定义为:
B
o
u
t
k
i
=
{
C
o
n
v
r
(
F
i
)
,
k
=
1
C
o
n
v
r
(
F
i
⨁
B
o
u
t
k
−
1
)
,
k
=
2
,
3
,
4
Bout_k^i=\begin{cases} Conv_r(F_i),k=1 \\ Conv_r(F_i\bigoplus Bout_{k-1}),k=2,3,4 \end{cases}
Boutki={Convr(Fi),k=1Convr(Fi⨁Boutk−1),k=2,3,4
R
M
F
E
i
=
C
o
n
v
(
F
i
)
⨁
C
o
n
v
(
C
a
t
k
=
1
4
(
B
o
u
t
k
i
)
)
RMFE_i=Conv(F_i)\bigoplus Conv(Cat^4_{k=1}(Bout^i_k))
RMFEi=Conv(Fi)⨁Conv(Catk=14(Boutki))
3.3 Separated Attention
引入:Separated Attention
,其中包含MS-CAM
![](https://img-blog.csdnimg.cn/fa654ac70f9549a9b4c39e7a1b658679.png)
细节:
该模块中包含两个流。第一个流,擦除伪装对象的内部细节以聚焦背景;第二个流,恢复伪装对象中的内部信息以聚焦前景。通过背景与前景信息的协同作用,突出其分界线,即伪装对象的边界。
第
i
i
i层的前景注意力图是第
i
+
1
i+1
i+1层粗略图
C
i
+
1
C_{i+1}
Ci+1上采样的结果,记为
W
f
a
i
=
σ
(
C
i
+
1
)
W_{fai}=\sigma(C_{i+1})
Wfai=σ(Ci+1),其中
σ
\sigma
σ是
s
i
g
m
o
i
d
sigmoid
sigmoid函数。
第
i
i
i层的背景注意力图是
1
1
1减去前景注意力图,记为
W
b
a
i
=
1
−
σ
(
C
i
+
1
)
W_{bai}=1-\sigma(C_{i+1})
Wbai=1−σ(Ci+1)。
注意,在元素乘法前,将所有注意力图的通道扩张为
64
64
64,其公式定义为:
B
a
i
=
O
u
t
i
=
C
o
n
v
s
(
R
M
F
E
i
⨂
e
x
p
a
n
d
(
W
b
a
i
)
)
Ba_i=Out_i=Conv_s(RMFE_i\bigotimes expand(W_{bai}))
Bai=Outi=Convs(RMFEi⨂expand(Wbai))
F
a
i
=
C
o
n
v
s
(
R
M
F
E
i
⨂
e
x
p
a
n
d
(
W
f
a
i
)
)
Fa_i=Conv_s(RMFE_i\bigotimes expand(W_{fai}))
Fai=Convs(RMFEi⨂expand(Wfai))
其中,
C
o
n
v
s
Conv_s
Convs是
1
×
1
1\times 1
1×1的卷积,
O
u
t
i
Out_i
Outi是第
i
i
i层的粗略输出图
C
i
C_i
Ci,由Ground Truth
监督。
为挖掘每个流对SEA
的贡献,采用多尺度通道注意力模块MS-CAM
,一个双分支块来获得全局和局部尺度的特征映射的权重,其权重矩阵
W
W
W记为
W
(
X
)
=
G
(
σ
(
G
(
X
)
)
)
+
G
(
σ
(
L
(
X
)
)
)
W(X)=G(\sigma(G(X)))+G(\sigma(L(X)))
W(X)=G(σ(G(X)))+G(σ(L(X)))。
G
(
X
)
G(X)
G(X)采用全局平均池化层挖掘全局信息,
L
(
X
)
L(X)
L(X)采用逐点卷积挖掘局部信息。
采用
B
a
i
Ba_i
Bai和
F
a
i
Fa_i
Fai作为MS-CAM
的输入。在每个注意力模块之后,增加一个边界引导模块BG
,增强模型对边界的理解能力,突出边界。此处忽略BG
模块的实现方式,SEA
模块的公式定义为:
S
E
A
F
i
=
B
G
i
(
W
(
B
a
i
+
F
a
i
)
⨂
B
a
i
,
B
m
a
p
)
SEAF_i=BG_i(W(Ba_i+Fa_i)\bigotimes Ba_i,Bmap)
SEAFi=BGi(W(Bai+Fai)⨂Bai,Bmap)
S
E
A
B
i
=
B
G
i
(
1
−
W
(
B
a
i
+
F
a
i
)
⨂
f
a
i
,
B
m
a
p
)
SEAB_i=BG_i(1-W(Ba_i+Fa_i)\bigotimes fa_i,Bmap)
SEABi=BGi(1−W(Bai+Fai)⨂fai,Bmap)
S
E
A
i
=
S
E
A
F
i
⨁
S
E
A
B
i
,
i
=
2
,
3
,
4
SEA_i=SEAF_i\bigoplus SEAB_i,i=2,3,4
SEAi=SEAFi⨁SEABi,i=2,3,4
其中,
S
E
A
F
i
SEAF_i
SEAFi和
S
E
A
B
i
SEAB_i
SEABi前景流和背景流的输出结果。
3.4 Boundary Guider
前提:预测对象的边界是复杂的,造成这种情况的主要原因有两个:其一是边界周围的像素分布异常,其二是SOD
是高分辨率任务,需要像素级分类。因为使用很多卷积层和池化层提取特征,所以需要很多上采样和插值操作恢复分辨率,这在一定程度上造成空间信息的丢失。此问题在COD
中更加明显,因为伪装对象被隐藏合并在背景中,使得边界更加模糊。
提出:尝试将边界信息整合到特征空间中,以增强模型对边界的敏感性
![](https://img-blog.csdnimg.cn/a1b3532e178b4bd1bb172a2024baf619.png)
边界检测网络将来自骨干网络的的四层特征连接起来,并利用卷积得到由Ground Truth
边界图监督的边界图。
边缘预测图
B
M
BM
BM和SEA
模块生成的特征图
A
S
M
ASM
ASM一同传递给条件批归一化模块BG
。在一般的批归一化中,仿射参数
γ
\gamma
γ和
β
\beta
β在没有先验知识的情况下无法学习到足够的信息,为处理这个问题,采用边界图学习这些仿射参数。作者将边界预测作为条件,该模块将空间信息嵌入到特征映射中,使得原始特征映射能够更好地学习到边界特征,其公式定义为:
B
G
M
i
=
C
B
(
A
S
M
i
)
⨂
γ
(
B
M
)
⨁
β
(
B
M
)
BGM_i=CB(ASM_i)\bigotimes \gamma (BM) \bigoplus \beta(BM)
BGMi=CB(ASMi)⨂γ(BM)⨁β(BM)
其中,
C
B
CB
CB是
3
×
3
3\times 3
3×3的卷积和批处理归一化。
3.5 Loss Function
二值交叉熵被广泛应用于SOD
和COD
任务中,但二值交叉熵有明显的缺点,即当前景像素的数量远远少于背景像素的数量时模型会严重偏向背景,导致性能不佳。为解决此缺点,本文为每个像素分配一个权重因子,记为
ω
=
σ
∣
P
n
−
G
n
∣
\omega=\sigma|P_n-G_n|
ω=σ∣Pn−Gn∣。带权重的二值交叉熵BCE
定义为:
L
W
b
c
e
=
−
∑
n
=
1
N
ω
[
G
n
l
n
(
P
n
)
−
(
1
−
G
n
)
l
n
(
1
−
P
n
)
]
\mathcal{L}_{W_{bce}}=-\sum_{n=1}^N \omega[G_nln(P_n)-(1-G_n)ln(1-P_n)]
LWbce=−n=1∑Nω[Gnln(Pn)−(1−Gn)ln(1−Pn)]
其中,
P
n
P_n
Pn和
G
n
G_n
Gn是预测图和Ground Truth
的像素值。
除此之外,作者还使用IOU
损失,综合损失公式定义为:
L
t
=
L
W
b
c
e
+
L
I
O
U
\mathcal{L}_t=\mathcal{L}_{W_{bce}}+\mathcal{L}_{IOU}
Lt=LWbce+LIOU
模型包含9个监督输出,包括4张粗略图
(
C
1
,
C
2
,
C
3
,
C
4
)
(C_1,C_2,C_3,C_4)
(C1,C2,C3,C4)、4张精修图
(
R
1
,
R
2
,
R
3
,
R
4
)
(R_1,R_2,R_3,R_4)
(R1,R2,R3,R4)和1张边界图
B
B
B。最终损失函数表示为:
L
=
∑
i
=
1
4
[
L
t
(
C
i
,
G
)
+
L
t
(
R
i
,
G
)
]
+
L
b
c
e
(
B
,
B
G
)
\mathcal{L}=\sum_{i=1}^4[\mathcal{L}_t(C_i,G)+\mathcal{L}_t(R_i,G)]+\mathcal{L}_{bce}(B,BG)
L=i=1∑4[Lt(Ci,G)+Lt(Ri,G)]+Lbce(B,BG)
其中,
B
G
BG
BG是边界Ground Truth
标签。