论文 | 视频分类论文《Multi-Stream Multi-Class Fusion of Deep Networks for Video Classification》

写在前面

未经允许,不得转载,谢谢~~

  • 文章出处:ACM-MM 2016
  • 文章链接:https://dl.acm.org/citation.cfm?id=2964328

实验室前两年视频分类的作品,文章整个结构和idea都不是很难,做个简单记录分析,方便以后查阅;

一 文章简介

这篇文章主要做了以下两件事情:

  1. 用多个模型的框架,同时对空间信息(individual frames),时间信息(optical flow),语音信息(audio)都做了学习,形成一个mult-stream的网络模型架构;

  2. 在融合方式上,既不是简单的线性权重,又不是繁琐地再加一个卷积神经网络的方式,而是根据各个类来自适应的调整各个stream的方式来进行多个特征的融合。

最后文章在2个常用的数据集上进行了相关的实验工作并取得不错的结果。

二 网络结构

这个部分介绍一下整篇文章中比较重要的一些部分以及值得参考的idea.

2.1 multi-model模型构成

如下图所示为整个网络的模型结构图:

image.png

简单分析一下:

  • 从左边的网络模型上来看主要有ConvNet和LSTM两种网络结构;
  • 先不看LSTM,可以看到对于视频的三种输入individual frames , stacked optical flow, audio spectrogram都是直接输入到ConvNet中进行学习和特征的提取;
  • 再看中间的两个LSTM网络,是因为考虑到ConvNet本身只能学习到一个short-term的短时时间关系,所以对于长短时的特征学习的效果不好,因此在原来的结果的基础上将其中一个fc层的输出作为LSTM的输入再次进行学习。

整个网络结构用的都是state-of-art的结构,想法也比较简单直观。

2.2 multi-stream fusion 融合方式

以前出现过的融合方法不管是线性权重融合还是卷积神经网络融合,都是将每个类等同看待的。

但是每个类对于各个stream的依赖程度可能是不一样的,这点也很好理解。有些可能依靠spatio的图像物体识别就可以判断出到底是什么动作,而有些会更加依赖于帧与帧之间的时序信息。因此本文提出了一个简单有效的多流融合方法。

  • 假设每个stream学习到score值(属于C类)表示为如下所示:


  • 这样能得到n个训练样本在各个stream上的取值:


  • 最后可以用类似于logistic regression逻辑斯特回归的方式求一个最佳fusion的权重


  • 这样最终每个样本预测的类别值就不仅仅由它自己在各个stream上的值决定,而是与其他样本在这些stream上的分布都相关。

2.3 类间关系的利用

个人觉得这里有文章中比较惊艳的一个idea就是用confusion matrix矩阵来获取类间的关系。

来看一下这个图:


简单解释一下就是类与类之间的预测结果分布,其中一个轴表示ground-truth,另一个表示预测的结果,可以直观反映预测的情况,最完美的情况下所有的点都分布在对角线上。

这样就可以借助它获取到类i与类j之间的相似程度:


这个公式度量了ground-truth是Ci的情况下,被模型预测为Cj的概率,这样就可以作为Ci与Cj相似度之间的一种判断方法。

将各个stream得到的类间相似程度堆叠得到V:

最后将这个与之前的loss做一个结合(这部分具体的我也没有细看,感兴趣的可以自己去看原文哦)

你可能感兴趣的:(论文 | 视频分类论文《Multi-Stream Multi-Class Fusion of Deep Networks for Video Classification》)