对视频进行分类是一个活跃的研究领域,因为处理这种类型的问题需要大量的数据。内存需求经常达到现代GPU的极限,可能需要在多台机器上进行分布式的训练。

目前学者们正在探索复杂度不断增加的几个方向,来回顾一下:

  1. 第一种方法是通过将视频的每一帧视为一幅单独的图像,利用二维 CNN 进行处理。这种方法将视频分类问题简化为图像分类问题。每帧视频图像都有类别输出,并且根据各帧输出的类别,选择频率最高的类别作为视频的分类结果。
  2. 第二种方法是创建一个单一的网络,将二维 CNN 与一个 RNN 结合在一起。这个想法是,CNN 将考虑到图像分量,而 RNN 将考虑每个视频的序列信息。这种类型的网络可能非常难以训练,因为要优化的参数数量非常大。
  3. 第三种方法是使用三维卷积网络,其中三维卷积网络是二维 CNN 的在 3D 张量(时间,图像宽度,图像高度)上运行的扩展。这种方法是图像分类的另一个自然延伸,但三维卷积网络可能很难训练。
  4. 第四种方法基于智能方法的直觉。它们可以用于存储视频中每个帧的离线功能,而不是直接使用 CNN 进行分类。这个想法基于,特征提取可以非常有效地进行迁移学习,如前面章节所示。在提取所有的特征之后,可以将它们作为一组输入传递给RNN,其将在多个帧中学习序列并输出最终的分类。
  5. 第五种方法是第四种方法的简单变体,其中最后一层是 MLP 而不是 RNN。在某些情况下,就计算需求而言,这种方法可以更简单并且成本更低。
  6. 第六种方法也是第四种方法的变体,其中特征提取阶段采用三维 CNN 来提取空间和视觉特征,然后将这些特征传递给 RNN 或 MLP。

使用哪种方法取决于具体应用,并没有统一的答案。前三种方法通常计算量更大,而后三种方法计算成本更低,而且性能更好。

本节将展示如何利用论文“Temporal Activity Detection in Untrimmed Videos with Recurrent Neural Networks”(Montes,Alberto and Salvador,Amaia and Pascual,Santiago and Giro-i-Nieto,Xavier,2016)中的实验结果实现第六种方法。

这项工作旨在解决 ActivityNet 挑战赛中的问题(http://activity-net.org/challenges/2016/),重点是从用户生成的视频中识别高层次和目标导向的活动,类似于互联网门户中的活动。面临的挑战是如何在两个不同的任务中生成 200 个活动类别:

  • 分类挑战:给定一个长视频,预测视频中的活动标签。
  • 检测挑战:给定一个长视频,预测视频中活动的标签和时间范围。


图 1 C3D+RNN示例

提出的架构由两个阶段组成(如图 1 所示):

  1. 第一阶段将视频信息编码成小视频剪辑的单个矢量表示。为了达到这个目的,使用C3D网络。C3D网络使用3D卷积来从视频中提取时空特征,这些特征在前面已被分成16帧的剪辑。
  2. 第二阶段,一旦提取到视频特征,就要对每个片段上的活动进行分类。为了执行这种分类,使用RNN。具体来说,使用LSTM网络,它尝试利用长期相关性,并且执行视频序列的预测。这是一个训练阶段:

具体做法

本节简单总结了网站(https://github.com/imatge-upc/activitynet-2016-cvprw/blob/master/misc/nstep_by_step_guide.md)中的结果:

  1. 从 git 库中克隆压缩包:

  2. 下载 ActivityNet v1.3 数据集,大小为 600GB:

  3. 下载 CNN3d 和 RNN 的预训练权重:

  4. 进行视频分类:

如果你对在自己的机器上训练 CNN3D 和 RNN 网络感兴趣,那么可以在互联网上找到本机训练需要使用的特定命令。目的是提供可用于视频分类的不同方法的高级视图。同样,不是仅有一种方法,而是有多种选择,应该根据具体需求选择最佳方案。

CNN-LSTM 体系结构是一个新的 RNN 层,输入变换和循环变换的输入都是卷积的。尽管命名非常相似,但 CNN-LSTM 层不同于 CNN 和 LSTM 的组合。

链接:http://c.biancheng.net/view/1945.html

深度学习实现视频分类的6种方法相关推荐

  1. 深度学习模型部署的几种方法

    由于模型训练完之后需要上线部署,这个过程中需要将模型集成到当前的软件架构中,因此要根据软件架构考虑模型的实际部署方法.目前来看主流的部署方法有以下几种方案: 1.python服务接口 在python服 ...

  2. 深度学习到底有多难?掌握方法很重要!

    随着2020年的到来,人类进入了一个崭新的十年.回顾过去10年,深度学习领域取得了巨大进步,解决了许多以前难以解决的问题. 从自动驾驶到Deepfake,深度学习正在改变世界.随着深度学习在各个领域井 ...

  3. 3种基于深度学习的有监督关系抽取方法

    摘要:本文对几种基于深度学习的有监督关系抽取方法进行了介绍,包括CNN关系抽取.BiLSTM关系抽取以及BERT关系抽取. 本文分享自华为云社区<基于深度学习的有监督关系抽取方法简介>,作 ...

  4. DeepARG——一种基于深度学习更加准确预测ARG的方法

    DeepARG--一种基于深度学习更加准确预测ARG的方法 本文介绍的是发表于Microbiome名为DeepARG: a deep learning approach for predicting ...

  5. 【视频课】如何掌握好深度学习之视频分类与行为识别?这一门课足矣!

    前言 欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用. 第2层 ...

  6. 基于深度学习和支持向量机的4种苜蓿叶部病害图像识别

    基于深度学习和支持向量机的4种苜蓿叶部病害图像识别 1.研究思路 对 采 集 获 得 的899张苜蓿叶部病害图像,利 用 人工裁剪方法从每张原始图像中获得1张子图像,然后利用结合 K 中值聚类算法和线 ...

  7. 目标检测---以制作yolov5的数据集为例,利用labelimg制作自己的深度学习目标检测数据集(正确方法)

    以制作yolov5的数据集为例,利用labelimg制作自己的深度学习目标检测数据集的正确方法 文章目录 前言 一.labelimg简单介绍 1 VOC标签格式,保存为xml文件. 2 yolo标签格 ...

  8. 2020-10-18 从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程

    本文转自:https://blog.csdn.net/aBlueMouse/article/details/78710553 超分辨率技术(Super-Resolution, SR)是指从观测到的低分 ...

  9. 从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程(转)

    超分辨率技术(Super-Resolution, SR)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备.卫星图像和医学影像等领域都有重要的应用价值. 本文针对端到端的基于深度学习的单张 ...

  10. 【超分辨率】从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程

    此文转自 知乎专栏 棉花糖的工坊 作者 棉花糖 (侵删) 一直在学习图像超分辨率和深度学习,看到此文写得很好,故此转载分享.如有侵权,私信联系我,我将作删除. 超分辨率技术(Super-Resolut ...

最新文章

  1. sublime怎么编译java_文本编辑利器:Sublime Text3 编译运行Java程序
  2. 客户服务器结构的数据库系统,客户服务器结构的数据库的例子
  3. Linux下的XAMPP基本配置技巧(设置虚拟主机、添加FTP账户等)
  4. android ndk gcc,Android NDK GCC似乎是铿锵的 - 它应该是这样吗?
  5. Python学习笔记-猜数字游戏(学习语法)
  6. Dubbo场景场景配置用法详解
  7. knight tour java,Knight Tour Problem
  8. 脑图管理项目很方便清晰!
  9. uni-app请求后台接口方法封装
  10. 在VC2015里包含了lib库,但没有设置对路径的出错
  11. 计算机c类论文什么水平,国内B类论文一般是什么级别
  12. 计算机网络机房需要气体灭火吗,机房排烟和机房消防要求有哪些
  13. TMS320C6748的StarterSware软件包
  14. 电路:过零检测是什么意思?
  15. 【火炉炼AI】机器学习031-KNN回归器模型的构建
  16. 【R语言】常用基本函数
  17. Nutz cnd.wrap传参
  18. 电子计算机机房设备接地线,电子计算机机房的防雷接地措施
  19. Ansible 学习总结(3)—— Ansible 常用模块与 playbook 实例讲解
  20. STM32正交编码器接口

热门文章

  1. pci总线扫描及pci网卡驱动
  2. android 空气质量代码,Android-Json数据解析之空气质量检测
  3. 频谱分析仪的作用是什么?TFN FAT811手持式频谱分析仪
  4. Soap+xml实现webservice 调用
  5. 全国办公软件高级操作员证书是计算机水平,《办公软件应用高级操作员级课程标准》.doc...
  6. 社会工程学——基础认知(补充)
  7. Chrome OS上的Android系统
  8. FydeOS | ChromeOS配置Flutter开发环境
  9. EXCEL 中数据分析常用统计方法介绍(一)
  10. GitHub下载指定文件或文件夹