论文地址:https://arxiv.org/abs/2104.14360

代码地址:https://github.com/piggy2021/ALGRF

介绍

显著性目标检测旨在找到一个图片或者一个视频中最引人注目的目标或者区域,并且从复杂的背景中以明确的界限突出他们。本文是一篇基于视频的显著性目标检测(VSOD),由于任务的特性,需要充分探索帧内空间特征和帧间的时间信息。

本文的主要贡献

  1. 设计一个局部-全局的优化网络以分层的方式来对简单融合的特征进行微调,从而充分利用局部和全局的多尺度特征的相关性。
  2. 通过一个基于GCN的自适应赋权策略进一步探索不同类型特征的相关性,通过强调有效特征抑制无效特征,从而学习更具辨别性的特征。

方法

主要网络模型框架如下所示:

可以发现LGRN是一个双流的编码解码结构,主要包括两个成分,一个编码器一个解码器。

编码器包括两个特征特征提取器,以便从RGB流和光流分别提取多尺度特征。主要贡献在于解码器的设计,以一种分层的结构,融合不同的特征,利用一个局部全局优化结构优化简单的特征融合,最终产生预测的显著性图。不同于已存在的方法采用一个简答的特征融合技术,如此更加能够探索特征的相关性。

生成和融合多尺度特征

编码器层,使用两个backbone用于特征提取,然后从RGB图像和相应的光流图像生成多尺度特征。使用 I s ∈ R w × h × 3 I^s\in R^{w\times h\times 3} IsRw×h×3表示相应的视频RGB帧,以及 I t I^t It表示光流。然后多尺度特征可以表示为:
{ I l s } l = 1 L s = B B N s ( I s ) , { I l t } l = 1 L t = B B N t ( I t ) (1) \left\{I_{l}^{s}\right\}_{l=1}^{L_{s}}=B B N_{s}\left(I^{s}\right), \quad\left\{I_{l}^{t}\right\}_{l=1}^{L_{t}}=B B N_{t}\left(I^{t}\right) \tag{1} { Ils}l=1Ls=BBNs(Is),{ Ilt}l=1Lt=BBNt(It)(1)
B B N s BBN_s BBNs B B N t BBN_t BBNt表示为时间域和空间域的backbone网络。

对于每个具体层,时间和空间流的通道数可以不同,即使相同流,不同层的通道也不同,为此采用一个通道对齐技术来调整通道大小: f l s = C A ( I l s ) , f l t = C A ( I l t ) (2) f_{l}^{s}=C A\left(I_{l}^{s}\right), \quad f_{l}^{t}=C A\left(I_{l}^{t}\right) \tag{2} fls=CA(Ils),flt=CA(Ilt)(2)

C A CA CA表示接着BN层和Relu激活的卷积层,如此所有特征通道数不同得以解决: f l t ∈ R w × h × c 0 f^t_l\in R^{w\times h\times c_0} fltRw×h×c0
如此最终可以获得一系列多尺度特征图: { f l s } l = 1 L s \{f^s_l\}^{L_s}_{l=1} { fls}l=1Ls { f l t } l = 1 L t \{f^t_l\}^{L_t}_{l=1} { flt}l=1Lt,特征图维度相同,都为 ( w × h × c 0 ) ({w\times h\times c_0}) (w×h×c0)

获取特征后,进行分层融合。对于 l l l层特征的融合,多尺度特征通过一个元素级乘法将不同域的特征整合,表示为: f l s = f l s + Conv ⁡ ( f l s ∗ f l − 1 s ∗ f l t ) f l − 1 s = f l − 1 s + Conv ⁡ ( f l s ∗ f l − 1 s ∗ f l t ) f l t = f l t + Conv ⁡ ( f l s ∗ f l − 1 s ∗ f l t ) (3) \begin{aligned} f_{l}^{s} &=f_{l}^{s}+\operatorname{Conv}\left(f_{l}^{s} * f_{l-1}^{s} * f_{l}^{t}\right) \\ f_{l-1}^{s} &=f_{l-1}^{s}+\operatorname{Conv}\left(f_{l}^{s} * f_{l-1}^{s} * f_{l}^{t}\right) \\ f_{l}^{t} &=f_{l}^{t}+\operatorname{Conv}\left(f_{l}^{s} * f_{l-1}^{s} * f_{l}^{t}\right) \end{aligned} \tag{3} flsfl1sflt=fls+Conv(flsfl1sflt)=fl1s+Conv(flsfl1sflt)=flt+Conv(flsfl1sflt)(3)
C o n v ( ⋅ ) Conv(·) Conv()表示带有BN和relu的卷积操作, f l s f^s_l fls f l t f^t_l flt是相应的时空特征。

由于RGB和光流图是高度相关的,简单的融合可以提取重叠显著性区域,有效抑制背景噪声(残差和concat操作),但这样就不能突出整个显著对象,严重影响显著性检测器的性能,作者提出的方法可以缓解这个问题。

局部优化

局部优化模块(LRM)的目的是为了分层优化融合特征,主要有一系列的局部优化块(LRB)组成,每个模块探索相邻层的相关性。

为了充分利用检测结果,这里采用回馈机制向前传播特征(蓝色线)。使用提出的基于GCN的自适应赋权机制充分探索输入特征的相关性,该赋权方法可以增强有用特制,抑制无效特征,驱动网络学习更具辨别性特征。

LRB框架为下图(a),将高级别空间特征 f l s f^s_l fls,低级别特征 f l − 1 s f^s_{l-1} fl1s和时间特征 f l t f^t_l flt以及回馈特征 f b f_b fb作为输入,具体使用 F l = { f 1 , f 2 , f 3 , f b } F_l = \{f_1,f_2,f_3,f_b\} Fl={ f1,f2,f3,fb}表示四种输入特征,为充分探索四种特征相关性,将他们构成一个图,表示为 G l = { V l , E l } G_l = \{V_l,E_l\} Gl={ Vl,El} V l = { v 1 , v 2 , v 3 , v b } V_l = \{v_1,v_2,v_3,v_b\} Vl={ v1,v2,v3,vb}表示四个顶点, E l E_l El表示所有的边。 v i v_i vi为一个向量,通过对输入特征 f i f_i fi进行一系列 3 × 3 3\times 3 3×3卷积核全局池化GAP 1 × 1 1\times 1 1×1获得。

通过余弦相似度构建一个我们建立了加权邻接矩阵 A l A_l Al,定义特征之间的相关性: a i , j = cos ⁡ ( v i , v j ) , v i , v j ∈ V l (4) a_{i, j}=\cos \left(v_{i}, v_{j}\right), v_{i}, v_{j} \in V_{l} \tag{4} ai,j=cos(vi,vj),vi,vjVl(4)

如此通过信息之间的传播,让GCN网络学会自适应赋权。使用 X ( m ) X^{(m)} X(m)表示节点 v i v_i vi在GCN m m m层的状态, X ( 0 ) = V l X^{(0)} = V_l X(0)=Vl,定义GCN为: X ( m ) = σ ( D l − 1 2 A l D l − 1 2 X ( m − 1 ) W l ( m ) ) (5) X^{(m)}=\sigma\left(D_{l}^{-\frac{1}{2}} A_{l} D_{l}^{-\frac{1}{2}} X^{(m-1)} W_{l}^{(m)}\right) \tag{5} X(m)=σ(Dl21AlDl21X(m1)Wl(m))(5)
σ σ σ为一个确定的激活函数, D l D_l Dl A l A_l Al的对角度矩阵, W L ( M ) W^{(M)}_L WL(M)表示第 m m m层的相关可学习参数。

对于每个LRB,包含 M l M_l Ml个GCN层,其权重代表输入特征的重要性,然后聚合特征 r = R ( X ( M ) ) r = R(X^{(M)}) r=R(X(M)) R ( ⋅ ) R(·) R()为一系列全连接层和Relu激活函数组成。最终通过如下三个操作优化最终特征: f ~ i = r i ∗ f i , f i ∈ F l F ~ = Cat ⁡ ( f ~ 1 , f ~ 2 , … , f ~ i ) F ^ l = G l ( F ~ , W l ) (6) \begin{array}{l} \tilde{f}_{i}=r_{i} * f_{i}, f_{i} \in F_{l} \\ \tilde{F}=\operatorname{Cat}\left(\tilde{f}_{1}, \tilde{f}_{2}, \ldots, \tilde{f}_{i}\right) \\ \hat{F}_{l}=G_{l}\left(\tilde{F}, W_{l}\right) \end{array}\tag{6} f~i=rifi,fiFlF~=Cat(f~1,f~2,,f~i)F^l=Gl(F~,Wl)(6)

F ^ l \hat F_l F^l表示优化后的特征图, G l ( ⋅ ) G_l(·) Gl()表示 1 × 1 1\times 1 1×1卷积操作,参数为 W l W_l Wl。最终如此操作后优化了所有相邻特征。

全局优化

局部优化只能够优化相邻特征图,无法探索全局范围的特征图相关性,为此,提出了全局优化模块(GRM)进行进一步优化(上图(b))。

GRM的输入为LRMs产生的多尺度特征集合和一个回馈特征,表示为 F g = { f ^ 1 , … , f ^ n , f ^ b } F_g = \{\hat f_1,\dots,\hat f_n,\hat f_b\} Fg={ f^1,,f^n,f^b},和LRB类似的方法探索全局范围内特征的相关性。构建 G g = { V g , E g } G_g = \{V_g,E_g\} Gg={ Vg,Eg}表示相互关系,节点 V g = { v ^ 1 , … ,   v ^ n , v ^ b } V_g = \{\hat v_1,\dots,\ \hat v_n,\hat v_b\} Vg={ v^1,, v^n,v^b} E g E_g Eg表示所有 G g G_g Gg的边。 v i v_i vi通过一个卷积操作集合和一个GAP操作获得。

然后通过GCN进行消息传播和学习自适应权重:
X ^ ( m ) = σ ( D g − 1 2 A g D g − 1 2 X ( m − 1 ) W g ( m ) ) , m = 1 , . . , M r ^ = R ( X ^ ( M ) ) (7) \begin{aligned} \hat{X}^{(m)} &=\sigma\left(D_{g}^{-\frac{1}{2}} A_{g} D_{g}^{-\frac{1}{2}} X^{(m-1)} W_{g}^{(m)}\right), m=1, . ., M \\ \hat{r} &=R\left(\hat{X}^{(M)}\right) \end{aligned} \tag{7} X^(m)r^=σ(Dg21AgDg21X(m1)Wg(m)),m=1,..,M=R(X^(M))(7)

A g A_g Ag G g G_g Gg的相邻权重矩阵,用于编码特征相关性的强度,如Eq.4相同。 D g D_g Dg A g A_g Ag的度矩阵, W g W_g Wg包含相关参数。最终GRM使用全局信息优化所有多级特征: f ~ i = r ^ i ∗ Cat ⁡ ( f ^ i , f ^ b ) , g i = G i ( f ~ i , W i ) , i ∈ 1 , … , n , (8) \begin{aligned} \tilde{f}_{i} &=\hat{r}_{i} * \operatorname{Cat}\left(\hat{f}_{i}, \hat{f}_{b}\right), \\ g_{i} &=G_{i}\left(\tilde{f}_{i}, W_{i}\right), i \in 1, \ldots, n, \end{aligned} \tag{8} f~igi=r^iCat(f^i,f^b),=Gi(f~i,Wi),i1,,n,(8)

G i ( ⋅ ) G_i(·) Gi() 1 × 1 1\times 1 1×1卷积, g i g_i gi表示 f ^ i \hat f_i f^i优化后的版本。 f ^ i \hat f_i f^i只利用局部信息进行优化,而 g i g_i gi还可以获得更加全局的信息。

如图1所示,LRMs可以重利用GRM传播的全局信息,从而更有效的整合局部和全局信息,为最终的显著性预测发现更加有效的信息和关联。

损失函数

首先考虑使用二分交叉熵(BCE)损失函数,用于测量预测的显著性图和GT的距离: L b c e ( S , G T ) = − ∑ i = 1 w ∗ h [ g i log ⁡ P ( s i ) + ( 1 − g i ) log ⁡ ( 1 − s i ) ] (9) L_{b c e}(S, G T)=-\sum_{i=1}^{w * h}\left[g_{i} \log P\left(s_{i}\right)+\left(1-g_{i}\right) \log \left(1-s_{i}\right)\right] \tag{9} Lbce(S,GT)=i=1wh[gilogP(si)+(1gi)log(1si)](9)

s i ∈ S s_i\in S siS g i ∈ G T g_i\in GT giGT分别代表在 i i i位置的显著性预测图 S S S的概率和 G T GT GT标签。

出去BCE loss,还采用一个组合损失来训练网络,包括BCE,IoU loss和 Focal loss,IoU loss L I o U L_{IoU} LIoU在语言任务中常用,用于计算GT和显著性区域的相似度,定义为: L I o U ( S , G T ) = 1 − ∑ i = 1 w ∗ h s i ∗ g i ∑ i = 1 w ∗ h ( s i + g i − s i ∗ g i ) (10) L_{I o U}(S, G T)=1-\frac{\sum_{i=1}^{w * h} s_{i} * g_{i}}{\sum_{i=1}^{w * h}\left(s_{i}+g_{i}-s_{i} * g_{i}\right)}\tag{10} LIoU(S,GT)=1i=1wh(si+gisigi)i=1whsigi(10)

focal loss L f o c L_{foc} Lfoc用于整合类不平衡问题: L f o c ( S , G T ) = { − α ( 1 − s i ) γ log ⁡ s i g i = 0 − ( 1 − α ) s i γ log ⁡ ( 1 − s i ) g i ≠ 0 (11) L_{f o c}(S, G T)=\left\{\begin{array}{ll} -\alpha\left(1-s_{i}\right)^{\gamma} \log s_{i} & g_{i}=0 \\ -(1-\alpha) s_{i}^{\gamma} \log \left(1-s_{i}\right) & g_{i} \neq 0 \end{array}\right. \tag{11} Lfoc(S,GT)={ α(1si)γlogsi(1α)siγlog(1si)gi=0gi=0(11)
α α α是平衡因子, γ γ γ用于减少易分类采样的损失,加强难样本的参数。

最终组合损失定义为:
L = L b c e + L I o U + L f o c (12) L=L_{b c e}+L_{I o U}+L_{f o c} \tag{12} L=Lbce+LIoU+Lfoc(12)

实验