训练时,将多帧之间的时序一致性作为额外约束,测试时,单独地处理各帧,保证不引入额外的计算负载;
1). 动作导向的时序损失(motion guided temporal loss):同一像素点在不同时间有相同的标签;
2).动作预测模块(motion estimation network):基于输入帧对,预测从当前帧到下一帧的动作(光流)。
设计新时序知识蒸馏方法,进一步提升推断速度;
通过光流网络预测两输入图像之间的动作,将时间步 t + k t+k t+k的预测结果转换到时间步 t t t,并与时间步 t t t的预测结果计算差异,作为时序一致性约束。同时, Q t + k Q_{t+k} Qt+k转换后部分像素点不能与 Q t Q_t Qt对应,因此通过掩码,将这些不能对应的噪点去除。
l t l ( I t , I t + k ) = 1 N ∑ i = 1 N V t = > t + k ( i ) ∥ q t i − q ^ t + k = > t i ∥ 2 2 (1) l_{tl}(I_t, I_{t+k})=\frac{1}{N}\sum_{i=1}^NV_{t=>t+k}^{(i)}\parallel q_t^i - \hat{q}_{t+k => t}^i\parallel_2^2 \tag{1} ltl(It,It+k)=N1i=1∑NVt=>t+k(i)∥qti−q^t+k=>ti∥22(1)
公式中:
1). I t , I t + k I_t, I_{t+k} It,It+k表示时间步 t , t + k t, t+k t,t+k的输入帧;
2). q t i q_t^i qti 表示时间步 t t t模型预测的分割结果 Q t Q_t Qt中位置 i i i处的类别概率;
3). q ^ t + k = > t i \hat{q}_{t+k=>t}^i q^t+k=>ti表示时间步 t + k t+k t+k模型预测结果 Q t + k Q_{t+k} Qt+k通过光流转换得到时间步 t t t预测结果 Q ^ t \hat{Q}_t Q^t中位置 i i i处的类别概率;
4). V t = > t + k = e x p ( − ∣ I t − I ^ t + k ∣ ) V_{t=>t+k} = exp(-\mid I_t - \hat{I}_{t+k}\mid) Vt=>t+k=exp(−∣It−I^t+k∣),其中 I ^ \hat{I} I^表示转换后的输入图像;
光流网络 f ( ⋅ ) f(\cdot) f(⋅)的输出为水平和垂直方向上像素点的偏移量;
f ( I t , I t + k ) = M t − > t + k f(I_{t}, I_{t+k}) = M_{t->t+k} f(It,It+k)=Mt−>t+k
先通过交叉熵损失函数和时序损失训练教师网络,使之具有更高的精度和更好的时序一致性。
通过注意力操作(AT)计算输入向量 X t , X 2 ∈ R N × C X_t, X_2 \in R^{N\times C} Xt,X2∈RN×C的相似度图谱 A X t , X 2 ∈ R N × N × 1 A_{X_t, X_2} \in R^{N\times N\times 1} AXt,X2∈RN×N×1,。
A A A中元素 a i j = x 1 i T ⋅ x 2 j ∥ x 1 i ∥ 2 ⋅ ∥ x 2 j ∥ 2 a_{ij}=\frac{{x_1^i}^T\cdot {x_2^j}}{\parallel x_1^i\parallel_2\cdot\parallel x_2^j\parallel_2} aij=∥x1i∥2⋅∥x2j∥2x1iT⋅x2j,其中 x 1 i , x 2 i x_1^i, x_2^i x1i,x2i是 X 1 , X 2 X_1,X_2 X1,X2中的值。
计算教师网络和学生网络之间的 pair-wise-frames dependency,步骤如下:
l P F ( Q t , Q t + k ) = 1 N 2 ∑ i = 1 N ∑ j = 1 N ( a i j S − a i j T ) 2 (2) l_{PF}(Q_t, Q_{t+k}) = \frac{1}{N^2}\sum_{i=1}^{N} \sum_{j=1}^{N}(a_{ij}^S - a_{ij}^T)^2 \tag{2} lPF(Qt,Qt+k)=N21i=1∑Nj=1∑N(aijS−aijT)2(2)
公式中, a i j S ∈ A Q t , Q t + k S a_{ij}^S\in A_{Q_t, Q_{t+k}}^S aijS∈AQt,Qt+kS, a i j T ∈ A Q t , Q t + k T a_{ij}^T\in A_{Q_t, Q_{t+k}}^T aijT∈AQt,Qt+kT。
通俗理解:让老师网络和学生网络对输入图像对中像素点对之间的余弦相似度一致;
自相似度图谱 A F t , F t A_{F_t, F_t} AFt,Ft,其中 F t F_t Ft是时间步 t t t的输入图像 I t I_t It在模型中提取到的特征(分类层前最后一个卷积层的输出);
通过ConvLSTM将子像素度图谱编码为 E ∈ R 1 × D e E\in R^{1\times D_e} E∈R1×De,其中 D e D_e De是编码空间的长度。
计算教师网络和学生网络在最后时间步的 E E E的二范数的平方;
l M F ( F ) = ∥ E T − E S ∥ 2 l_{MF}(F) = \parallel E^T - E^S \parallel^2 lMF(F)=∥ET−ES∥2
为防止ConvLSTM模型在训练过程中塌陷(权重和偏移全部等于0),剪切其权重到特定的范围内,放大 E T E^T ET作为一种正则化。
最终的函数:
l = ∑ t = 1 T ′ l c e ( t ) + λ ( ∑ t = 1 T l S F ( t ) + ∑ t = 1 T − 1 l t l ( Q t , Q t + 1 ) + ∑ t = 1 T − 1 l P F ( Q t , Q t + 1 ) + l M F ) l = \sum_{t=1}^{T'} l_{ce}^{(t)} + \lambda (\sum_{t=1}^T l_{SF}^{(t)} + \sum_{t=1}^{T-1}l_{tl}(Q_t, Q_{t+1}) + \sum_{t=1}^{T-1}l_{PF}(Q_t, Q_{t+1}) + l_{MF}) l=t=1∑T′lce(t)+λ(t=1∑TlSF(t)+t=1∑T−1ltl(Qt,Qt+1)+t=1∑T−1lPF(Qt,Qt+1)+lMF)
公式中, T , T ′ T, T' T,T′分别表示训练序列中帧总数和标签总数。(一段视频中可能只有几帧是有标签的)