Abstract

最近看了点视频分析的论文,归纳总结一下,分别是如下4篇。

  1. 《Large-scale video classification with convolutional neural networks》Andrej Karpathy CVPR2014
  2. 《Two-stream convolutional networks for action recognition in videos》Karen Simonyan NIPS2014
  3. 《Learning spatiotemporal features with 3D convolutional networks》Du Tran ICCV2015
  4. 《Real-world Anomaly Detection in Surveillance Videos Waqas》Waqas Sultani CVPR2018

前三篇是视频分类领域,最后一篇属于监控视频异常检测领域。顺带一提,以前的论文笔记长篇大论,比较耗时耗精力,以后要转变一下风格,写简明论文笔记,把核心思想记录下来就可以了。

0. video classification

视频分析和图像最大的不同在于视频多了一个时间维度,如何利用时间维度提高性能降低复杂度是视频分析方法研究中关注比较多的点。很多相似任务,比如分类,检测,分割等,直接用图像的方法逐帧检测当然可行,比如SSD直接在视频上逐帧检测还是可以接受的,但是没有把时间信息利用起来。同时也会引入图像中本来没有的任务,比如temporal action detection要界定时间框,比如目标跟踪,除了检测之外,还要逐帧识别出检测的是同一个东西。

今天要讲的视频分类就是视频分析中最基础的任务,比较general的来看,现在的视频分类方法先从一个视频中采样出一堆clips,比如从一个5分钟的视频抽出不重叠的100个clips,每个clips是10帧,然后把每个clip当作输入,输出就是视频的类别标签。由此看出,这个任务并不需要处理长程依赖问题,但是除了clip-level的feature,有些研究者意识到video-level的feature也很重要,这就需要用RNN把local的clip-level represent 和global的video-level represent结合起来,这是后话了。

1. Slow-Fusion CNN

斯坦福李飞飞组的工作,可以把它当作入门video的第一篇paper,探索性很强的一篇paper,为以后的工作提供了很多参考。

Contribution

  • 首先是提供了一个数据集:Sports-1M,在youtube上面采集的一百万+视频,共有487个类别,在这个数据集之前,做视频分类研究用的数据集典型代表有UCF-101和HMDB-51,虽然UCF-101挺大了,有13k个视频,但是对于深度学习来说,样本还是太少,Sports-1M的出现缓解了这个问题。

  • 其次,探索了不同分辨率组成的CNN和不同的时间信息(motion信息)连接形式,横向比较网络的性能,找到最好的架构。最后发现,高低分辨率双流网络和slow-fusion的方式带来的效果是最好的。

    网络结构也比较简单,主要借鉴了AlexNet,如下:

    ​ Figure 1 Slow Fusion Network

    • fovea stream是原视频的center crop,context stream是原视频分辨率缩小两倍之后的低分辨率视频。这么做的原因是减小输入尺寸,加快训练速度。用fovea的另一个原因是直觉上,拍视频的时候会把拍摄物体放在画面中央,对画面做中心裁切能减少边角的干扰。这个操作有点像是给中心加权。

    ​ Figure 2 approaches for fusing information over temporal dimension

    • 此外,在获取时间维度信息上面,采用了slow fusion的操作,就是把10 frames的clips通过三层网络逐渐融合到一起,以此学习到运动信息。

Result

原文做了很多实验,这里讲一个,用Feature Histograms + Neural Net当作baseline,探索要不要学习时间信息和要如何融合时间信息这两个问题。

  1. 要不要时间信息,这个比较好理解,要时间信息就是用fusion的方法,不要时间信息就是用单帧作为输入。Figure 2 最左边就是单帧作为输入,直接丢弃时间维度信息。针对单帧得到context stream和fovea stream两个网络。
  2. 如何融合时间信息,可以看Figure 2 剩下的图,针对三种融合方式和平均三种融合方式分别做了实验。

从结果来看,单帧图片用上双流的方法(这里的双流指的是context stream和fovea stream)得到的效果已经足够好了,和slow fusion的效果只差了一点点,所以作者就说,视频分类中时间维度的fusion好像没啥用。

2. Two Stream

牛津大学在NIPs2014年的工作,双流法因为效果出众也成为现在视频分析领域的主流方法之一,缺点是要用brox的方法计算光流,即使用上opencv GPU版本,计算一个clips的光流仍然需要0.6s,效率不高。双流法包含空间流和时间流两个网络,下面做简单阐述。

Spatial Stream

空间流用了从视频中随机采样单一帧作为输入得到softmax分类,卷积网络用的也类似于AlexNet,由于UCF-101和HMDB-51的数据集太少,对于训练图像分类器不够,因此作者采用了ImageNet ILSVRC-2012的预训练网络,然后再fine-tune,单一图片分类器就能再UCF-101上得到**73.0%**的效果。

Temporal Stream

时间流把224*224*2L作为输入,L就是clips大小,2L是光流的x和y轴方向上的位移量,经过实验最终L=10。由于brox方法很慢,所以论文作者先用opencv把光流跑出来保存下来,用int8类型保存能减少存储量,再把跑好的光流作为输入传给卷积网络,最后得到softmax值,两个softmax值用SVM方法融合起来,得到最后的输出。

另外,作者还探索了保存同样像素点的光流和保存轨迹光流的区别,最后发现保存轨迹没什么效果提升,具体可以去看论文。

Results

效果还是很出色的,已经超过IDT了,视频分析中用上光流的效果都挺好的,因为这样能够很好handle住运动信息,最终报告平均accu是88%,具体指标如下图。

3. C3D

Facebook在CVPR2015的工作,也算是视频分析3D卷积网络的开端,想法非常简单,用3D卷积代替2D卷积,网络架构还是和AlexNet类似,这里感叹一句,几年前的神经网络都是AlexNet风格啊。

contributions

C3D做了一些超参数的探索,最终确定用3x3x3的卷积核,stride是1x1x1,max pooling用2x2x2。

输入是先把视频缩放到UCF-101一半的大小:128x171,然后再抽出不重叠的16-帧clips,得到3x16x128x171,最后进行random crop得到3x16x112x112的输入。

在Sports-1M上训练,因为Sports-1M的视频很长,作者对每个视频随机抽取5个2秒的clips,然后对每个clip用上面的方法得到3x16x112x112作为输入。同时也用了I380K的预训练模型在Sports-1M做fine-tune。在Sports-1M的Clip hit@1是46.1%,Video hit@1是61.1%。

最后3个C3D网络测试UCF-101上的准确度,分别是在I380K上训练的网络,用Sports-1M上训练的网络,I380K训练然后用Sports-1Mfine-tune的网络,需要注意的是,没有在UCF-101上做fine-tune,直接用fc6的特征加上一个简单的线性SVM,结果依然很好。

Results

可以看出C3D相对于two-stream的优势在于效率高,而且结果也不差。

另外,作者还做了紧凑性研究,用PCA对fc6的特征进行将为,并配合一个简单的线性SVM,效果比IDT好了一大截。

最后,用t-SNE算法对特征进行降维可视化,很酷炫。

4. Real-word Anomaly Detection in Surveillance Videos

这篇论文和前三篇没什么关系,CVPR2018上面的工作,做的是监控视频异常检测领域,用了弱监督学习的思想,简单的说,就是只有视频级别的二分类标签(异常OR正常),然后能够学习到异常发生在哪个segment。

contributions

首先,论文提出了一个异常监控视频的数据集,从youtube上面采集的,共13种真实异常事件,并给了异常事件时间上的标注。共1900个视频,平均每个视频有7247帧,大概5分钟,共128小时。

核心思想也比较简单,把视频切分成32个segments放入bag中,定义bag中没有一个是异常segments视频就算是正常,bag中有一个是异常segment视频就算异常。

网络的输入如下:先把一个视频resize到240x320,固定帧率为30fps,切分出不重复的32个segments,然后对于单个segment的每16-frames clip用C3D提取特征,平均所有的clips的features得到单个segment的feature,最后用1个神经元做2分类。object function是SVM的改进版,适应弱监督学习,叫做MIL Ranking Loss with sparsity and smoothness constraints。

MIL Ranking Loss with sparsity and smoothness constraints

SVM是关键,可以从上式看出用了一个max自动选择出影响最大的segments。

总目标函数如上,其中f就上面的线性函数,正则化项1代表时间平滑度,代表相邻的segments应该有相近的score,正则化项2代表稀疏性,真实世界中的异常事件应该很少且很短,每个视频只有1个或少数的异常。

result

正确率达到了75.41%,效果还挺好的,在弱监督下面已经很不错了。误判率也只有1.9%

从跟groud-truth的对比也可以看出,随着迭代次数增多,网络确实学习到了异常事件发生的时间。其实这个操作在泛化到图像领域能够得到一些启发。

最后,由于数据集包含13个异常动作的标注,也可以拿来尝试动作分类任务,作者用C3D和TCNN在整个视频上针对每个16-frames跑,提出的特征用近邻分类器分类,效果非常差,C3D只有23%,TCNN只有28.4%。原因是这个数据集是未裁剪的原始数据集,并且类内差异非常大。

【paper-note7】Several Papers About Video Classification相关推荐

  1. 【Paper Quickthrough】October Papers

    Paper to quickthrough All-but-the-Top: Simple and Effective Postprocessing for Word Representations ...

  2. 【论文笔记】SlowFast Networks for Video Recognition

    目录 1,摘要 2,介绍 3. SlowFast 网络 3.1 Slow路径 3.2 Fast 路径 3.3 横向连接 3.4 网络实现 参考文献 参考 1,摘要 本论文提出了用于视频识别的SlowF ...

  3. 【Paper Reading】

    Levers are simple too, but they can move the world1. 文章目录 1 Categories Classification Compression Da ...

  4. 【paper reading】Uncalibrated Photometric Stereo under Natural Illumination

    [paper reading]Uncalibrated Photometric Stereo under Natural Illumination 1.简介 2.等效方向光模型 3. 法向估计 3.1 ...

  5. 【综述翻译】Deep Learning for Video Game Playing

    深度强化学习实验室 原文来源:https://arxiv.org/pdf/1708.07902.pdf 翻译作者:梁天新博士 编辑:DeepRL 在本文中,我们将回顾最近的Deep Learning在 ...

  6. 【paper 1】2022 一种用于脑内出血血肿体积检测的鲁棒性深度学习分割方法-英文

    A Robust Deep Learning Segmentation Method for Hematoma Volumetric Detection in Intracerebral Hemorr ...

  7. 【推荐工具】connected papers:文献知识图谱神器

    应用背景 在阅读文献.写综述.写论文的related works的时候,总会苦恼如何查阅该领域的论文呢?怎么才能尽可能的查找齐全? 以前在看论文的时候,我都是先用谷歌学术搜索,然后看到优秀的相关文文献 ...

  8. 【paper 2】Learning from Simulated and Unsupervised Images through Adversarial Training

    GAN对抗学习 单词 refiner 修正器 tractable 容易处理的 annotations 注释 plethora 过多 penalize 惩罚 holistically 整体论地 dive ...

  9. 【Paper Reading】二值化网络——BNN

    Binarized Neural Networks: Training Neural Networks withWeights and Activations Constrained to +1 or ...

  10. 【论文翻译】SlowFast Networks for Video Recognition

    目录 其它参考资料 Abstract 1,Introduction 2,Related Work 3. SlowFast Networks 3.1. Slow pathway 3.2. Fast pa ...

最新文章

  1. 【全网最精简】一行代码解决千万位以上的数字格式化为银行金额数字格式(如:¥1,000,000,000.00)
  2. 报名 | 清华大学海外学者短期讲学:创新创业发展课程
  3. 大型网站系统架构演化之路
  4. 嵌入式Linux中I2C设备驱动程序的研究与实现
  5. mysql视频教程siki_siki老师MySQL数据库从零到精通,资源教程下载
  6. C++用new和不用new创建类对象区别
  7. 北师大网络教育计算机试题一的答案,北师大网络教育《专科英语一》作业3部分答案...
  8. “删库跑路”这件事情真的发生了 ,还是技术总监干的!
  9. jdk环境配置-windows 10
  10. 谈谈文吹与武吹的差异
  11. 惠普服务器bios启用备份系统,HP服务器怎么进入BIos
  12. linux下卸载grads,linux下安装grads
  13. golang源码解析之chan
  14. Unity MMO游戏架构设计之角色设计二
  15. 计算机体系结构-第五章-指令级并行
  16. 两层板(双面板)如何控制50欧特性阻抗
  17. python中反斜线是什么意思_Python中正反斜杠(‘/’和‘’)的意义与用法
  18. java导出功能(多级表头,复杂表头)
  19. Vue:el-dialog可拖拽
  20. log4cpp-【写日志】:使用log4cpp的基本步骤

热门文章

  1. Python求指定范围内质数与合数-详解
  2. ASP.NET Web Pages - 教程
  3. CoinCola研究院 | 从技术的角度解读BCH分叉升级
  4. 那些创造外汇神话的交易员们
  5. Total Control的深入用法,如何使用脚本实现启动或重启指定App
  6. html5如何引用百度地图api,WebApp如何调用百度地图API
  7. MapStruct一个代码的装潢师
  8. 博客在六个方面降低网络营销费用
  9. 网站被攻击了,怎么办?
  10. win7计算机隐藏文件,Win7怎么设置隐藏文件夹和取消隐藏?-win7显示隐藏文件