Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning

本文最后更新于:2024年9月5日 晚上

Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning

论文链接:ICCV 2021 Open Access Repository (thecvf.com)

代码链接:tianyu0207/RTFM

ICCV2021的一篇经典论文,提出了RTFM的WSVAD训练方法,并提供了一定的数学证明。

研究动机

传统的top-k MIL损失函数使用一个二元分类器,得到每一个片段(snippet)的分数,选择top-k作为视频级别的分数,并与视频级别的标签计算交叉熵损失。

作者认为这种方式有以下四个问题:

  1. top-k分数不一定表示了异常片段
  2. 正常视频中的top-k分数可能比较容易拟合
  3. 如果视频有多个异常片段,检测到多个片段的机会更小
  4. 使用弱监督训练来的分类分数不一定能够区分开正常和异常

总之为了解决上述问题,RTFM假设正常片段的magnitude(特征的L2范数,后面简称mag)比异常片段的mag更小

方法

RTFM损失函数

RTFM首先提出了下面这个RTFM-enabled MIL classifier training:

minθ,ϕi,j=1Ds(sθ(Fi),sθ(Fj),yi,yj)+f(fϕ(sθ(Fi)),yi)\min _{\theta, \phi} \sum_{i, j=1}^{|\mathcal{D}|} \ell_s \left( s_\theta\left(\mathbf{F}_i\right), s_\theta\left(\mathbf{F}_j\right), y_i, y_j\right) +\ell_f\left(f_\phi\left(s_\theta\left(\mathbf{F}_i\right)\right), y_i\right)

其中,sθs_\theta是特征提取器,fϕf_\phi是二元分类器,F\mathbf{F}是提取的I3D特征,yy是视频级别的标签。

loss由原本的MIL损失f\ell_f和新的RTFM损失s\ell_s组成。

RTFM损失本质上如下图所示,红色和蓝色表示正例和负例,越右则mag越大,RTFM选择top-k(k=3)的特征,取mag平均值作为视频的分数,并让正包和负包之间的分数差距拉大。

对于k的选择,作者从理论上进行了分析,如下面的Theorem 3.1和Figure1所示。μ\mu是异常视频中的异常snippet个数,当k取值接近μ\mu时,正负样本的可分离性更高,假如k取特别大,那么基本分不开。

作者天花乱坠般在3.1中写了许多,但基本和他引用的CVPR15的Multiple Instance Learning for Soft Bags via Top Instances的推理过程是一样的,只不过这里是更简化的版本。

这个分析并没有证明“异常mag大,正常mag小”这件事,只是证明用top-k的片段表示视频级别分数时,k和实际的异常片段数量越接近越好。

Multi-scale Temporal Feature Learning

这里是这篇文章另一个更弱的创新点,如下图所示,输入分为两路,左边经过不同stride的空洞卷积,右边经过一个超级简化的self-attention,然后残差连接。在2024的现在看上去是小儿科。

实验

与其他方法的比较就不看了,因为有些过时了。

下图是可视化,因为使用了mag的loss进行训练,所以异常部分的mag大,正常部分的mag小。

下表是消融实验,FM是mag的loss,PDC是多尺度,TSA是注意力。发现加了FM的效果还是不错的。

问题

缺少使用幅度的依据,完全只是凭借一个假设。我个人觉得这个loss的性能提升大概率来源于不同样本之间的“对比学习”。

常规MIL是不考虑batch内其它样本的,就是让正包的top-k趋近于1,负包的top-k趋近于0。但是RTFM增加了对比约束,即正包top-k的特征距离负包top-k的特征越远越好,只不过这里衡量两者距离使用的是L2范数的差值。

实际上,设计别的衡量特征距离方式应该也可以,不过这篇文章没有讨论罢了。

其次,我觉得这篇文章没有回答他提出的4个问题,至少没有直接回答。4个问题没有一个是使用mag就能解决的,但是要是说这篇文章的方式能学到更好的表征,那又瞬间4个问题都解决了。