视频理解学习笔记(一):双流卷积神经网络

视频理解学习笔记(一):双流卷积神经网络

    • 两句话总结双流卷积神经网络
    • 论文概览
    • 方法详解
      • Spatial stream ConvNet
      • Temporal stream ConvNet
      • 测试方法
    • 光流
      • 什么是光流
      • 怎么预处理光流
    • 数据集
      • UCF101(已被刷爆)
      • HMDB51
    • Experiments
    • References

两句话总结双流卷积神经网络

  • 两个神经网络,一个学习空间信息,一个学习时序信息。
  • 在学习时序信息的网络中,传统方法提取运动特征(光流信息作为先验),其后接上CNN学习这些特征。

论文概览

论文标题Two-Stream Convolutional Networks for Action Recognition in Videos

论文地址:https://arxiv.org/abs/1406.2199

作者团队:Karen Simonyan and Andrew Zisserman from 牛津大学的VGG组,也是VGGNet的两个作者。

任务:视频动作识别

背景:在双流卷积之前,也有工作尝试将卷积神经网络应用到视频动作识别任务(DeepVideo_Large-scale Video Classification with Convolutional Neural Networks_CVPR’14),但是效果却没有之前那些手工设计浅层特征的方法好。

贡献:第一个将CNN在Video上的表现提升到和手工设计特征方法媲美的深度学习神经网络。神经网络在视频理解领域的开山之作。

  • 证明将深度学习应用于视频理解是可行的
  • 证明motion信息(可以理解成时序信息)对视频理解是至关重要的

双流:两个神经网络

  • 空间流神经网络(Spatial stream ConvNet)
    • 输入:单帧图片(single frame)
    • 输出:分类概率
  • 时间流神经网络(Temporal stream ConvNet)
    • 输入:多帧光流(multi-frame optical flow)
    • 输出:分类概率
  • 最终输出(late fusion):将两个CNN输出的概率取加权平均,得到最终的分类概率。

    Late fusion:在logits层面去做合并

值得一提的是,在人脑内,也有两条路来做视觉处理,一条路叫做ventral stream,用来做物体识别;一条路叫做dorsal stream,用来做运动识别。

问题:CNN擅长学习局部特征,而难以学习基于时序的移动规律(即motion information)。

解决:既然CNN难以学习motion information,那就教CNN学会motion information。

  • 首先将motion information提前抽取好,也就是得到光流信息(multi-frame optical flow),然后让CNN学习光流和label之间的映射关系。

    事实上,在时序流网络分支中,先抽取光流信息作为运动特征是inspired by传统方法,只是说双流卷积用CNN代替了传统卷积的特征学习。

  • 相当于并没有让CNN直接去学习运动特征,而是将运动特征,也就是光流信息抽取出来后,再去让CNN学习这个抽取好的运动特征。

方法详解

在这里插入图片描述

Spatial stream ConvNet

  • 网络结构:5 Convs + 2 FCs + softmax (其实就是AlexNet)
  • 输入:将视频一帧一帧的喂进去,相当于一个图像分类
  • 输出:分类概率

Temporal stream ConvNet

在这里插入图片描述

  • 网络结构:5 Convs + 2 FCs + softmax (其实就是AlexNet)
  • 输入:11帧,即10个光流图
    • 每两帧能得到一个光流
    • 可以得到很多光流图
      • 如何利用这些光流图:叠加
      • 怎么叠加:
        • stack(实验证明,该方法效果更好)
        • trajectory stack,根据光流的轨迹,在轨迹上去进行光流数值的叠加
          在这里插入图片描述

测试方法

  1. 不管视频有多长,只从里面等间隔取25帧,对这25帧采用10 crop(从原帧取4个corners + 1 center,翻转后再取4个corners + 1 center)的方法,可以得到总共250个crop,送到spatial网络。spaital最后的预测结果是这25帧的预测结果取平均。
  2. 对于光流,依旧是等间隔提取25帧,然后以取的每一帧为起点,取其后面的连续10帧,共11帧,得到10个光流图,送到temporal网络。temporal最后的预测结果是这10个光流图的预测结果取平均。
  3. 最终预测结果是两个网络的最终预测结果取加权平均(或者SVM)。

光流

上面提到了光流和提取光流信息,那么什么是光流?该篇论文是怎么预处理和提取光流信息的?

  • 主要挑战:expensive time and space

什么是光流

光流是一种能够有效描述物体运动特征的物理表示。
在这里插入图片描述

怎么预处理光流

将光流scale到[0, 255]之间的整数,将其存储为JPEG格式。(但仍然expensive)

数据集

论文中在两个数据集上进行了实验,它们是UCF101和HMDB-51。

补充:其他视频理解数据集 and
Sports-1M
Something Something
Kinetic

UCF101(已被刷爆)

Paper: UCF101: A Dataset of 101 Human Action Classes From Videos in The Wild_ICCV’13
Website: UCF101 - Action Recognition Data Set

UCF是University of Central Florida的缩写,101意味该数据集里面共有101个类。

UCF101是中佛罗里达大学在2012年11月推出的一个真实动作视频的人类动作识别数据集,收集自YouTube,有101个类,共包括13320个视频,是UCF50的扩展。
该数据集包含的动作可以分为五大类:

  • Human-Object Interaction
  • Body-Motion Only
  • Human-Human Interaction
  • Playing Musical Instruments
  • Sports

分辨率:320 * 240 (width * height)

HMDB51

Paper: HMDB: A large video database for human motion recognition
Website: HMDB

HMDB是Human Motion DataBase的缩写,51意味着该数据集共包含51个动作类。

HMDB51是一个2011年11月推出的人类动作识别数据集,收集自电影和网络视频等。它包含6766个视频,共有51个动作分类,其中每个动作分类至少包含101个片段。

Experiments

在这里插入图片描述
在这里插入图片描述

References

Bilibili-双流网络论文逐段精读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/22796.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 中如何计算代码段运行时间

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是全栈 …

为什么C++这么复杂还不被淘汰?

C是一门广泛使用的编程语言,主要用于系统和应用程序的开发。尽管C具有一些复杂的语法和概念,但它仍然是编程界的重量级选手,在编程语言排行榜中一直位居前列。为什么C这么复杂还不被淘汰呢? C有以下优势 1、C具有高性能 C是一门编…

【多线程】线程的可见性

目录 一、什么是线程的可见性二、可见性问题示例2.1 代码2.2 截图 三、解决可见性问题3.1 volatile关键字3.2 synchronized关键字 四、用volatile关键字解决可见性问题示例4.1 代码4.2 截图 五、用synchronized关键字解决可见性问题示例5.1 代码5.2 截图 六、可见性与原子性 一…

iTOP-RK3568开发板编译瑞芯微原厂源码

1 输入以下命令设置 java 版本为 1.8 版本,确认 java 版本是 1.8 版本之后,才可以进行下一步编译,如下图所示: source javaenv.sh java -version 2 输入命令配置 Android 分支 source build/envsetup.sh lunch rk3568_r-user…

Ansys Speos 2023 R1新功能 | Texture可视化纹理提升视觉感知

Ansys Speos 2023 R1 新功能介绍 Ansys Speos 持续推动创新,为光学设计人员提供精确、高性能的仿真功能。2023 R1 新版本提供强大的功能,可加快结果生成速度、提高仿真精度并扩展与其他 Ansys 产品的互操作性。 更新Texture映射预览,为textur…

Emacs之高效切换窗口(九十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

AI数字人盛行,如何选择合适的AI数字人制作平台?

2023万象大会已然开启了直播,当AI照进生活、照亮你我,为我们的想象力插上翅膀,世界变得更加便捷、更加智能。可以说近年来,AI帮助人们解决了各种问题,在提高生产效率、改善生活质量等方面做出来很大的贡献,…

代码随想录训练营Day48|● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

目录 学习目标 学习内容 198.打家劫舍 213.打家劫舍II 337.打家劫舍III 学习目标 198.打家劫舍 213.打家劫舍II 337.打家劫舍III 学习内容 198.打家劫舍 198. 打家劫舍 - 力扣(LeetCode)https://leetcode.cn/problems/house-robber/ class Soluti…

为了流量,何同学做了个“假B站”?

何同学是B站知名数码博主,凭借优秀的视频制作能力,内容创新获得广大年轻用户的喜欢。 2021年的时候,UP主老师好我叫何同学就发布了一条制作AirDesk的视频,随后迅速在社交媒体中引发了大量关注。 当时,该视频为B站全站…

【c++】类和对象(中)

【c】类和对象(中) 默认成员函数初始化和清理构造函数重载分类使用场景 析构函数使用场景 拷贝赋值拷贝构造函数使用场景浅拷贝与深拷贝 赋值重载赋值重载和拷贝构造函数的区别使用场景 取地址重载 本篇博客主要讲:六个默认成员函数 默认成员…

SpringBoot配置文件 | 多环境配置 | 读取配置的4种方式

文章目录 一、写配置文件的位置读取的优先级:1.文件位置:2.文件名和文件后缀:3.配置文件中的profile-specific文件:4.命令行参数 二、多环境配置1. properties:2. yaml 三、yaml配置文件yaml、properties、xml对比&…

Gateway服务网关入门

Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。…

OpenAI ChatGPT Unity接入

OpenAI ChatGPT Unity接入 OpenAI ChatGPT Unity接入OpenAi-API-Unity 方法OpenAi-API-Unity 下载本地配置Unity 模块URL接入gz 接入json 接入Open AIOpenAi-Api-Unity 插件文档 OpenAi 本地化接入 Unity 方法Unity 关键字识别语音合成 & 文字转语音音频记录 & 实时音频…

C语言_数据类型[详细分析]

接上一篇:C语言_关键字_标识符简介 本次来分享C语言的数据类型,是博主的一些学习笔记的和心得的总结,话不多说,开始上菜: 此博主在CSDN发布的文章目录:我的CSDN目录,作为博主在CSDN上发布的文章…

四个PCB工程师最头痛的Allegro问题及解答,你一定要看

Allegro是一款功能强大的PCB设计软件,广泛应用在电子设计行业,在使用Allegro过程中,工程师会遇见到多种复杂的技术问题,本文将针对工程师最头痛的Allegro问题进行回答,希望对小伙伴们有所帮助。 1、如何创建新的Allegr…

线上问题处理案例:出乎意料的数据库连接池 | 京东云技术团队

导读 本文是线上问题处理案例系列之一,旨在通过真实案例向读者介绍发现问题、定位问题、解决问题的方法。本文讲述了从垃圾回收耗时过长的表象,逐步定位到数据库连接池保活问题的全过程,并对其中用到的一些知识点进行了总结。 一、问题描述…

高丰度铈磁体

随着烧结钕铁硼应用领域的不断拓展和产量的快速增长,相应的稀土资源也被大量开采。稀土矿中各种稀土元素是共生的,但在钕铁硼的制备过程中,利用的主要是在轻稀土中质量分数为25%的镨Pr和钕Nd元素,这样对轻稀土中占比为质量分数49%…

AIGC周报|让AI来画《海贼王》;苹果限制员工使用ChatGPT;李彦宏:不担心大模型会让工作消失

AIGC(AI Generated Content)即人工智能生成内容。近期爆火的 AI 聊天机器人 ChatGPT,以及 DallE 2、Stable Diffusion 等文生图模型,都属于 AIGC 的典型案例,它们通过借鉴现有的、人类创造的内容来快速完成内容创作。 …

MySQL备份

MySQL的备份方式有哪几种?分别如何实现? 目录 一、数据的备份类型 1、数据的备份类型根据其自身的特性主要分为以下几组: 二、MySQL备份数据的方式 三、常见的备份工具 1、一般情况下, 我们需要备份的数据分为以下几种 2、备份工具 3…

SpringBoot—常用注解

目录 一、注解(annotations)列表 二、注解(annotations)详解 三、JPA注解 四、springMVC相关注解 五、全局异常处理 一、注解(annotations)列表 SpringBootApplication: 包含了ComponentScan、Configuration和EnableAutoConfiguration注解。其中ComponentScan…
最新文章