当前位置: 首页 > article >正文

视频理解开山之作 “双流网络”

1 论文核心信息

1.1核心问题

  • 任务:如何利用深度学习方法进行视频中的动作识别(Action Recognition)。
  • 挑战
    • 视频包含时空信息,既需要捕捉静态外观特征(Spatial Information),也需要建模运动信息(Temporal Information)。(空间以及时间)
    • 现有基于单帧输入的 CNN 模型在视频理解任务上的表现不如传统的手工特征(如 Dense Trajectories)。
  • 解决方案:提出双流卷积神经网络(Two-Stream ConvNets),分别建模静态和运动信息。

1.2 论文主要贡献 

  • 提出 Two-Stream ConvNet 架构:由空间流(Spatial Stream)时间流(Temporal Stream) 组成:

    • 空间流(Spatial Stream):基于单帧 RGB 图像进行分类。
    • 时间流(Temporal Stream):基于**多帧密集光流(Dense Optical Flow)**进行分类。
    • 两个流的 softmax 预测结果融合,提高识别性能。
  • 证明光流作为输入有助于学习时序信息:相比直接输入多帧 RGB 图像,基于光流的方法效果更好

  • 利用多任务学习(Multi-task Learning):在多个数据集上进行联合训练,提高泛化能力。

  • 在 UCF-101、HMDB-51 数据集上达到 SOTA:比之前 CNN 方法显著提升,并接近于基于手工特征的 SOTA 方法

2 深度技术细节

2.1 神经架构

(1) 输入数据

  • 输入视频(左侧):视频序列被送入两个不同的 CNN 流。

  • 空间流(Spatial Stream ConvNet)(上方绿色框):

    • 输入单帧 RGB 图像(single frame)。

    • 主要学习静态外观信息,如背景、物体形状等。

  • 时间流(Temporal Stream ConvNet)(下方紫色框):

    • 输入多帧光流(multi-frame optical flow)。

    • 主要学习运动信息,如物体的移动方向、速度等。

(2) CNN 结构

两个流的 CNN 结构基本相同:

  • conv1:7×7 卷积核,stride=2,norm,pooling 2×2
  • conv2:5×5 卷积核,stride=2,pooling 2×2
  • conv3, conv4, conv5:3×3 卷积核,stride=1,pooling 2×2
  • 全连接层(FC)
    • fc6:4096 维 + dropout(40%)
    • fc7:2048 维 + dropout(40%)
    • softmax 分类

(3) 结果融合

  • 两个 CNN 输出的 softmax 结果融合(右侧红色框)。

  • 融合方式

    • 平均融合(Averaging)

    • SVM 训练(支持向量机)

2.2 为什么使用光流? 

  • 光流(Optical Flow) 提供了显式的运动信息,使网络能够直接学习时序关系,而不需要 CNN 直接从 RGB 帧中推导运动。(de就是竖直和水平方向)
  • 试验表明,使用多帧 RGB 作为输入时,CNN 无法有效建模运动信息,而光流可以显著提升性能。

2.3   训练策略

  • 空间流 CNN 预训练于 ImageNet,然后迁移到 UCF-101 和 HMDB-51 进行微调。
  • 时间流 CNN 直接在视频数据集上训练,因没有类似 ImageNet 的大规模视频数据可供预训练。
  • 采用多任务学习(Multi-task Learning),在 UCF-101 和 HMDB-51 数据集上联合训练,以增强泛化能力。

3 优缺点分析(现在)

双流网络(Two-Stream Networks)是一种常见的深度学习架构,通常用于视频分析、动作识别等任务。它的基本思想是通过两个不同的网络流来处理不同类型的信息流。最典型的例子是视频分类任务中的两个流,一个处理静态图像信息(通常是视频的每一帧),另一个处理动态信息(通常是光流,描述了视频帧之间的运动)。下面是双流网络的优缺点分析:

优点

  1. 能够处理多模态信息

    双流网络能够同时处理不同类型的输入信息,例如静态图像流和动态光流流。通过结合这两种信息,可以更全面地理解视频内容,尤其在动作识别中,静态图像能够捕捉物体的外观信息,而动态流可以捕捉物体的运动信息。
  2. 增强表达能力

    每个流都专注于不同的特征提取任务,从而有助于模型提取更多的信息并增强分类的准确性。例如,光流流能够捕捉时间上的运动变化,静态图像流则可以捕捉空间上的细节。
  3. 提高鲁棒性

    由于网络通过不同流处理不同类型的信息,能够在某种信息缺失的情况下,仍然保持较强的鲁棒性。例如,如果一个流受到噪声影响,另一个流仍然能提供有用的信息。

缺点:

  1. 计算开销大

    • 双流网络需要两个独立的网络处理不同的流,这意味着需要更多的计算资源,尤其是在处理长视频或高分辨率图像时。两条流分别进行计算和特征提取,导致网络参数量和计算复杂度较高。

  2. 训练难度高

    • 双流网络需要同时训练两个流,这可能会增加训练过程的复杂性,并且两个流之间的学习过程可能不完全同步,导致训练过程不稳定或收敛速度较慢。

  3. 难以共享信息

    • 虽然两个流可以分别处理不同的信息,但它们并不总是能够很好地共享信息。这可能导致某些信息在流之间没有得到有效融合,降低模型的整体性能。

  4. 对数据质量要求高

    • 双流网络依赖于不同类型的数据(如图像和光流),如果数据不充分或质量不高,可能会导致信息缺失或冗余,影响最终的识别效果。

相关文章:

视频理解开山之作 “双流网络”

1 论文核心信息 1.1核心问题 任务:如何利用深度学习方法进行视频中的动作识别(Action Recognition)。挑战: 视频包含时空信息,既需要捕捉静态外观特征(Spatial Information),也需要…...

基于Matlab的人脸识别的二维PCA

一、基本原理 传统 PCA 在处理图像数据时,需将二维图像矩阵拉伸为一维向量,这使得数据维度剧增,引发高计算成本与存储压力。与之不同,2DPCA 直接基于二维图像矩阵展开运算。 它着眼于图像矩阵的列向量,构建协方差矩阵…...

Java直通车系列15【Spring MVC】(ModelAndView 使用)

目录 1. ModelAndView 概述 2. ModelAndView 的主要属性和方法 主要属性 主要方法 3. 场景示例 示例 1:简单的 ModelAndView 使用 示例 2:使用 ModelAndView 处理列表数据 示例 3:使用 ModelAndView 处理异常情况 1. ModelAndView 概…...

考研数一非数竞赛复习之Stolz定理求解数列极限

在非数类大学生数学竞赛中,Stolz定理作为一种强大的工具,经常被用来解决和式数列极限的问题,也被誉为离散版的’洛必达’方法,它提供了一种简洁而有效的方法,使得原本复杂繁琐的极限计算过程变得直观明了。本文&#x…...

Java在小米SU7 Ultra汽车中的技术赋能

目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…...

【简单的C++围棋游戏开发示例】

C围棋游戏开发简单示例&#xff08;控制台版&#xff09; ‌核心代码实现‌ #include <iostream> #include <vector> #include <queue> using namespace std;const int SIZE 9; // 简化棋盘为9x9‌:ml-citation{ref"1" data"citationList&…...

DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)

DeepSeek R1-7B 医疗大模型微调实战全流程指南 目录 环境配置与硬件优化医疗数据工程微调策略详解训练监控与评估模型部署与安全持续优化与迭代多模态扩展伦理与合规体系故障排除与调试行业应用案例进阶调优技巧版本管理与迭代法律风险规避成本控制方案文档与知识传承1. 环境配…...

HCIA-DHCP

1、定义&#xff1a;DHCP即动态主机配置协议&#xff0c;通过C/S模型架构&#xff0c;无需主机配置IP地址&#xff0c;自动分配网络配置参数的网络协议。 2、作用 对比项目无 DHCP有 DHCP配置难度配置多&#xff0c;容易出错自动为客户端分配 IP 地址及其他网络配置参数&…...

前端面试题 口语化复述解答(从2025.3.8 开始频繁更新中)

背景 看了很多面试题及其答案。但是过于标准化&#xff0c;一般不能直接用于回复面试官&#xff0c;这里我将总结一系列面试题&#xff0c;用于自我复习也乐于分享给大家&#xff0c;欢迎大家提供建议&#xff0c;我必不断完善之。 Javascript ES6 1. var let const 的区别…...

网络安全技术和协议(高软43)

系列文章目录 网络安全技术和协议 文章目录 系列文章目录前言一、网络安全技术1.防火墙2.入侵检测系统IDS3.入侵防御系统IPS 二、网络攻击和威胁三、网络安全协议四、真题在这里插入图片描述 总结 前言 本节讲明网络安全技术和协议方面的相关知识。 一、网络安全技术 1.防火…...

K8S学习之基础十七:k8s的蓝绿部署

蓝绿部署概述 ​ 蓝绿部署中&#xff0c;一共有两套系统&#xff0c;一套是正在提供服务的系统&#xff0c;一套是准备发布的系统。两套系统都是功能完善、正在运行的系统&#xff0c;只是版本和对外服务情况不同。 ​ 开发新版本&#xff0c;要用新版本替换线上的旧版本&…...

【统计至简】【古典概率模型】联合概率、边缘概率、条件概率、全概率

联合概率、边缘概率、条件概率 联合概率边缘概率条件概率全概率 一副标准扑克牌有 54 张&#xff0c;包括 52 张常规牌&#xff08;13 个点数&#xff0c;每个点数有 4 种花色&#xff09;和 2 张王&#xff08;大、小王&#xff09;。我们从中随机抽取一张牌&#xff0c;定义以…...

批量插入对比-mysql-oracle-sqlserver

单个插入mysql //单个 根据有值就插入&#xff0c;无值不改动 <insert id"insertOne" keyColumn"id" keyProperty"id"parameterType"com.test.log" useGeneratedKeys"true">insert into test_mysql_tab<trim p…...

saltstack通过master下发脚本批量修改minion_id,修改为IP

通过master下发脚本批量修改minion_id&#xff0c;以修改为IP为例 通过cmd.script远程执行shell脚本修改minion_id&#xff0c;步骤如下: # 下发脚本并执行 >> salt old_minion_id cmd.script salt://modify_minion_id.sh saltenvdev #输出结果 old_minion_id:Minion di…...

【网络】TCP常考知识点详解

TCP报文结构 TCP报文由**首部&#xff08;Header&#xff09;和数据&#xff08;Data&#xff09;**两部分组成。首部包括固定部分&#xff08;20字节&#xff09;和可选选项&#xff08;最多40字节&#xff09;&#xff0c;总长度最大为60字节。 1. 首部固定部分 源端口&…...

LeetCode1137 第N个泰波那契数

泰波那契数列求解&#xff1a;从递归到迭代的优化之路 在算法的世界里&#xff0c;数列问题常常是我们锻炼思维、提升编程能力的重要途径。今天&#xff0c;让我们一同深入探讨泰波那契数列这一有趣的话题。 泰波那契数列的定义 泰波那契序列 Tn 有着独特的定义方式&#xf…...

六十天前端强化训练之第十四天之深入理解JavaScript异步编程

欢迎来到编程星辰海的博客讲解 目录 一、异步编程的本质与必要性 1.1 单线程的JavaScript运行时 1.2 阻塞与非阻塞的微观区别 1.3 异步操作的性能代价 二、事件循环机制深度解析 2.1 浏览器环境的事件循环架构 核心组件详解&#xff1a; 2.2 执行顺序实战分析 2.3 Nod…...

利用EasyCVR平台打造化工园区视频+AI智能化监控管理系统

化工园区作为化工产业的重要聚集地&#xff0c;其安全问题一直是社会关注的焦点。传统的人工监控方式效率低下且容易出现疏漏&#xff0c;已经难以满足日益增长的安全管理需求。 基于EasyCVR视频汇聚平台构建的化工园区视频AI智能化应用方案&#xff0c;能够有效解决这些问题&…...

【VUE2】第三期——样式冲突、组件通信、异步更新

目录 1 scoped解决样式冲突 2 data写法 3 组件通信 3.1 父子关系 3.1.1 父向子传值 props 3.1.2 子向父传值 $emit 3.2 非父子关系 3.2.1 event bus 事件总线 3.2.2 跨层级共享数据 provide&inject 4 props 4.1 介绍 4.2 props校验完整写法 5 v-model原理 …...

深度学习分类回归(衣帽数据集)

一、步骤 1 加载数据集fashion_minst 2 搭建class NeuralNetwork模型 3 设置损失函数&#xff0c;优化器 4 编写评估函数 5 编写训练函数 6 开始训练 7 绘制损失&#xff0c;准确率曲线 二、代码 导包&#xff0c;打印版本号&#xff1a; import matplotlib as mpl im…...

深入解析ECDSA与RSA公钥算法:原理、对比及AWS最佳实践

一、公钥加密算法概述 在HTTPS通信和数字证书领域,ECDSA(椭圆曲线数字签名算法)和RSA(Rivest-Shamir-Adleman)是最主流的两种非对称加密算法。它们共同构成了现代网络安全的基础,但设计理念和技术实现存在显著差异。 © ivwdcwso (ID: u012172506) 二、RSA算法详解…...

preloaded-classes裁剪

系统预加载了哪些class类&#xff1f;system/etc/preloaded-classes 修改源代码&#xff1f; frameworks\base\config\preloaded-classes 默认位置&#xff0c;如果改了不生效&#xff0c;可能有其它模块的mk文件指定了preloaded-classes覆盖了framework模块&#xff0c;例如…...

在Linux中开发OpenGL——检查开发环境对OpenGL ES的支持

由于移动端GPU规模有限&#xff0c;厂商并没有实现完整的OpenGL特性&#xff0c;而是实现了它的子集——OpenGL ES。因此如果需要开发的程序要支持移动端平台&#xff0c;最好使用OpenGL ES开发。 1、 下载支持库、OpenGL ES Demo 1.1、下载PowerVRSDK支持库作为准备&#xff…...

HJ C++11 Day2

Initializer Lists 对于一个类P class P{P(int a, int b){cout << "P(int, int), a" << a << ", b " << b << endl;}P(initializer_list<int> initlist){cout << "P(initializer_list<int>), val…...

基于Spring Boot的学院商铺管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

os-copilot安装和使用体验测评

简介&#xff1a; OS Copilot是阿里云基于大模型构建的Linux系统智能助手&#xff0c;支持自然语言问答、命令执行和系统运维调优。本文介绍其产品优势、功能及使用方法&#xff0c;并分享个人开发者在云服务器资源管理中的实际应用体验。通过-t/-f/管道功能&#xff0c;OS Cop…...

Geo3D建筑材质切换+屋顶纹理

一、简介 基于Threejs开发封装建筑渲染管线&#xff0c;利用简单二维建筑矢量面轮廓程序化生成3D建筑&#xff0c;支持材质一键切换&#xff0c;支持多样化建筑墙面材质和屋顶材质&#xff0c;支持建筑透明&#xff0c;支持地形高程适配&#xff0c;支持按空间范围裁剪挖洞等。…...

工程化与框架系列(24)--跨平台解决方案

跨平台解决方案 &#x1f310; 引言 随着移动互联网的发展&#xff0c;跨平台开发已成为前端开发的重要趋势。本文将深入探讨前端跨平台开发的各种解决方案&#xff0c;包括响应式设计、混合开发、原生开发等方案&#xff0c;帮助开发者选择合适的跨平台策略。 跨平台开发概…...

快手,得物,三七互娱,科锐国际,作业帮等25春招内推

得物&#xff0c;三七互娱&#xff0c;快手&#xff0c;作业帮&#xff0c;科锐国际26届实习内推 ①快手 【在招岗位】运营、市场、产品、战略分析、职能、工程、设计、算法、项目管理、销售、游戏等类 【一键内推】https://sourl.cn/Qi5pm2 【内推码】campuswQrLOMvHE ②得物 …...

【GPT入门】第9课 思维树概念与原理

【GPT入门】第9课 思维树概念与原理 1.思维树概念与原理2. 算24游戏的方法 1.思维树概念与原理 思维树&#xff08;Tree of Thought&#xff0c;ToT &#xff09;是一种大模型推理框架&#xff0c;旨在解决更加复杂的多步骤推理任务&#xff0c;让大模型能够探索多种可能的解决…...