最近在做多模态视频分类,本文整理了一下视频分类的技术,分享给大家。

传统的图像分类任务中,一般输入的为一幅HxWxC的二维图像,经过卷积等操作后输出类别概率。

对于视频任务,输入是由连续的二维图像帧组成的一个存在时序关系的二维图像序列,或是视为一个TxHxWxC的四维张量。

这样的数据具有以下特点:

1. 帧之间的变化信息往往能反映视频的内容;

2. 相邻帧之间变化一般较小,存在大量的冗余。

最直观和最简单的做法是沿用静态图像分类的方法,直接将每个视频帧视为独立的二维图像看待,利用神经网络提取每个视频帧的特征,将这个视频所有帧的特征向量取平均得到整个视频的特征向量,然后进行分类识别,或是直接每个帧得到一个预测结果,最后在所有帧结果中取共识。

这种做法的好处是计算量很小,计算开销与一般的二维图像分类相近,并且实现非常简单。但是这种做法不会考虑帧之间的相互关系,平均池化或是取共识的方法都比较简单,会损失大量信息。在视频时长很短,帧间变化相对较小的时候不失为一种好的方法。

另一种方案同样是沿用静态图像分类的方法,直接将每个视频帧视为独立的二维图像看待,但是在融合时使用VLAD的方式。VLAD是2010年提出的一种大规模图像库中进行图像检索的算法,它可以将一个NxD的特征矩阵转换成KxD(K<d)。在这种方法下,我们对一个视频的各个帧特征进行聚类得到多个聚类中心,将所有的特征分配到指定的聚类中心中,对于每个聚类区域中的特征向量分别计算,最终concat或加权求和所有的聚类区域的特征向量作为整个视频的特征向量。

在原始的VLAD中ak项是一个不可导的项,同时聚类也是不可导的操作,我们使用NetVLAD的改进,将每个特征向量与所有聚类中心求距离的softmax获得该特征向量最近的聚类中心的概率,聚类中心用可学习的参数确定。

相比平均池化,NetVLAD可以通过聚类中心将视频序列特征转化为多个视频镜头特征,然后通过可以学习的权重对多个视频镜头加权求和获得全局特征向量。但是这种做法每一帧的特征向量仍是独立计算的,无法考虑帧之间的时序关系和变化信息。

对于存在时序关系的序列,使用RNN是一种通用的做法。具体做法为使用网络(一般为CNN)将每个视频帧序列提取为特征序列,再将特征序列按时序顺序输入到如LSTM的RNN中,以RNN的最终输出作为分类输出。

这种做法可以考虑帧之间的时序关系,理论上具有更好的效果。但是在实际实验中,这种方案相比第一种解决方案并没有明显优势,这可能是因为RNN对于长序列存在遗忘问题,而短序列视频使用简单的静态方法效果就已经足够好。

双流法是一种比较好的做法。这种方法使用两个网络分支一个为图像分支提取视频帧的特征向量,另一个为光流分支,利用多帧之间的光流图提取光流特征,利用图像分支与光流分支特征向量的融合进行分类预测。

这种做法由于是静态方法,计算量相对较小,从光流中也能提取到帧之间的变化信息。但是光流的计算会引入额外的开销。

我们也可以直接将传统的二维卷积核改造为三维卷积核,将输入的图像序列作为一个四维张量整体来对待。

代表做法有C3D,I3D,Slow-Fast等。

这种方法实验效果比较好,但是由于三维卷积复杂度提高了一个数量级,往往需要大量的数据才能取得不错的效果,在数据不够时可能使效果很差甚至训练失败。

基于此,也提出了一系列方法简化三维卷积的计算量,如基于低秩近似的P3D等。

Vision Transformer在视觉领域取得了很大成功,我们也可以直接将ViT迁移到三维图像上。我们可以直接将Attention的计算从一个图像内的所有patch扩展到整个序列所有图像的所有patch。这种做法使计算复杂度提升了一个数量级,计算开销很大。

TimeSformer在ViT的基础上,提出了五种不同的注意力计算方式,实现计算复杂度和Attention视野的trade-off:

1. 空间注意力机制(S):只取同一帧内的图像块进行自注意力机制;

2. 时空共同注意力机制(ST):取所有帧中的所有图像块进行注意力机制;

3. 分开的时空注意力机制(T+S):先对同一帧中的所有图像块进行自注意力机制,然后对不同帧中对应位置的图像块进行注意力机制;

4. 稀疏局部全局注意力机制(L+G):先利用所有帧中,相邻的 H/2 和 W/2 的图像块计算局部的注意力,然后在空间上,使用2个图像块的步长,在整个序列中计算自注意力机制,这个可以看做全局的时空注意力更快的近似;

5. 轴向的注意力机制(T+W+H):先在时间维度上进行自注意力机制,然后在纵坐标相同的图像块上进行自注意力机制,最后在横坐标相同的图像块上进行自注意力机制。

经过实验,作者发现T+S注意力方式的效果是最好的,在大大减少了Attention的计算开销的同时,效果甚至优于计算全部patch的ST注意力。

Video Swin Transformer是Swin Transformer的三维拓展版本,这种方法简单的将计算注意力的窗口从二维拓展至三维,在实验中就取得了相当不错的效果。

在我们的实验中,Video Swin Transformer是目前比较好的视频理解backbone,实验结果显著优于上面的方法。

完整版的源文件可以点击阅读原文获取。

往期精彩回顾适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码

【深度学习】视频分类技术整理相关推荐

  1. 深度学习课程资源整理

    转自:http://blog.coursegraph.com/tag/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86 这里整理一批深度学习 ...

  2. (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用

    126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网  作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66 如果你有非常大的决心从事深度学习,又不想在这一行 ...

  3. 【深度学习】老师木讲架构:深度学习平台技术演进

    新智元推荐   来源:OneFlow [新智元导读]近日,袁进辉(老师木)代表OneFlow团队在全球互联网架构大会上海站做了<深度学习平台技术演进>的报告.报告包括深度学习的计算力问题. ...

  4. 首次解密小红书“种草”机制:大规模深度学习系统技术是如何应用的

    AI 引领的新一代信息技术,正驱动新一轮科技浪潮席卷而来.作为近年来国内发展最为迅速的移动互联网平台之一,小红书乘势而上,目前已经形成了以图文和短视频内容为主的超大型 UGC 社区.在这个独特而活跃的 ...

  5. 深度学习Dropout技术分析

    深度学习Dropout技术分析 什么是Dropout? dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃.注意是暂时,对于随机梯度下降来说,由于是随机 ...

  6. 陈天奇:深度学习编译技术的现状和未来

    https://www.toutiao.com/a6690418726631637512/ 2019-05-13 16:03:04 传统的深度学习框架采用人工优化算子,然后建立运行时图解释器来解决内存 ...

  7. 训练深度学习_深度学习训练tricks整理1

    深度学习训练tricks整理1 环境:pytorch1.4.0 + Ubuntu16.04 参考: 数据增强策略(一)​mp.weixin.qq.com https://zhuanlan.zhihu. ...

  8. 保健中的深度学习nlp技术用于决策

    介绍 (Introduction) The ubiquitous adoption of electronic health records in hospitals and other health ...

  9. 流体力学深度学习建模技术研究进展

    流体力学深度学习建模技术研究进展 王怡星.韩仁坤.刘子扬.张扬.陈刚 摘要: 深度学习技术在图像处理.语言翻译.疾病诊断.游戏竞赛等领域已带来了颠覆性的变化.流体力学问题由于维度高.非线性强.数据量大 ...

  10. 陈天奇高赞文章:新一代深度学习编译技术变革和展望

    ©作者 | 陈天奇 来源 | 机器之心 陈天奇是机器学习领域著名的青年华人学者之一,本科毕业于上海交通大学ACM班,博士毕业于华盛顿大学计算机系,研究方向为大规模机器学习.在本文中,陈天奇回答了目前深 ...

最新文章

  1. asp.net开发中自定义网站的目录
  2. cookie和session的那些事儿
  3. spring与springMVC配置扫描的问题
  4. 最短Hamilton路径-状压dp解法
  5. Spring Boot AutoConfiguration注解@ConditionalXXXX之前生今世
  6. vuejs滚动条_vuescroll-一款基于vuejs2.x的虚拟滚动条
  7. 上学的你,是不是最怕老师给家长打电话……
  8. intellij idea jdk language level
  9. 抓取epsg.io的内容
  10. 矩阵微分(matrix derivatives)
  11. Latex——伪代码算法
  12. 利用DroidCam将手机摄像头打造成电脑摄像头
  13. c#(webapi)获取当前项目路径
  14. wps底板颜色怎么去掉_wps怎么把复制网页的灰色阴影去掉 底纹去掉方法
  15. 跨国面板数据(1960-2020)十三:GDP、人均GDP、国民收入、储蓄(excel、stata版)
  16. python爬虫爬取糗百成人图片单线程版本
  17. Bluemix开发作品——魔芋相机、小沃、Etrans-Bluemix-专题视频课程
  18. 魔方(10)金字塔魔方、金字塔二重奏魔方
  19. 【Git\GitHub\GitLab学习笔记】版本控制 Git 视频教程全集(62P)| 6 小时从入门到精通(P27-P41)
  20. 【转】Mp4 Faq

热门文章

  1. GreenPlum常用数值计算函数
  2. 叮当管家显示服务器错误,叮当管家【制卡器故障】
  3. 修改CSDN博文中默认的图片水印
  4. 如何用wps画三线图(最方便最快的方法)
  5. Excel数据分析系列之用好底层分析工具统计分析功能
  6. Linux技术简历项目经验示例(二)
  7. 08CMS小说搜索型注入 - 漏洞发布 京华志
  8. 十进制度分秒lisp函数_十进制度批量转换度分秒
  9. hprose-php教程,hprose php用户手册
  10. linux 版的 wps 缺少字体的解决办法