提出:边界引导分离注意网络BSA-Net
目前COD
面临的问题:伪装对象与背景边界模糊
BSA-Net
是一种由粗到精的学习模型,利用三个模块:
RMFE
:捕获上下文信息SEA
:处理敏感-不变性困境,建立正常注意力分支与反向注意力分支,关注前景与背景,相结合工作BG
:构建(突出)伪装对象的边界,增强了SEA
边缘检测的能力Res2Net
作为骨干网络Ground Truth
监督)BM
,应用于SEA
模块中shuffle attention
处理信息通道前提:由于ResNet
进行串行卷积运算,无法提取丰富的上下文信息;使用 3 × 3 3\times 3 3×3的卷积核难以在一个阶段获取多尺度特征,不利于图像的理解和分割
启发:Inception
模块和Res2Net
提出:残差多尺度特征提取器RMFE
细节:
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))
引入:Separated Attention
,其中包含MS-CAM
细节:
该模块中包含两个流。第一个流,擦除伪装对象的内部细节以聚焦背景;第二个流,恢复伪装对象中的内部信息以聚焦前景。通过背景与前景信息的协同作用,突出其分界线,即伪装对象的边界。
第 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前景流和背景流的输出结果。
前提:预测对象的边界是复杂的,造成这种情况的主要原因有两个:其一是边界周围的像素分布异常,其二是SOD
是高分辨率任务,需要像素级分类。因为使用很多卷积层和池化层提取特征,所以需要很多上采样和插值操作恢复分辨率,这在一定程度上造成空间信息的丢失。此问题在COD
中更加明显,因为伪装对象被隐藏合并在背景中,使得边界更加模糊。
提出:尝试将边界信息整合到特征空间中,以增强模型对边界的敏感性
边界检测网络将来自骨干网络的的四层特征连接起来,并利用卷积得到由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的卷积和批处理归一化。
二值交叉熵被广泛应用于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
标签。