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

深度学习笔记(37周)

目录

摘要

Abstracts

1. 介绍

2. 相关工作

3. 模型

3.1 时序段网络TSN

3.2 学习时序段网络

4. 训练结果

5. 结论


摘要

本周阅读的论文是《Temporal Segment Networks: Towards Good Practices for Deep Action Recognition》。作者主要想通过较少的训练样本,高效的训练出用于动作识别的ConvNet,主要贡献有两点:

  • 提出temporal segment network(TSN)网络模型:TSN采样,具备稀疏性和全局性的特征,能够建模间隔更长帧之间时间依赖关系,确保获取视频级信息
  • TSN包含提取空间信息和提取时间信息两路模型,并基于后期融合方式来融合两路模型的结果。提出了一系列最佳实践方案,如数据增强、正则化、交叉模态预训练等。并取得了非常好的效果。

Abstracts

The paper I read this week is' Temporary Segment Networks: Towards Good Practices for Deep Action Recognition '. The author mainly aims to efficiently train ConvNet for action recognition with fewer training samples, with two main contributions:

Propose a Temporal Segment Network (TSN) network model: TSN sampling, with sparse and global features, can model temporal dependencies between frames with longer intervals, ensuring the acquisition of video level information
TSN includes two models for extracting spatial and temporal information, and fuses the results of the two models based on post fusion methods. A series of best practice solutions have been proposed, such as data augmentation, regularization, cross modal pre training, etc. And achieved very good results.

1. 介绍

在动作识别中,有两个关键和互补的方面:外观和动态。识别系统的性能在很大程度上取决于它是否能够从中提取和利用相关信息。然而,由于许多复杂因素,如比例变化、视点变化和相机运动,提取此类信息并非易事。
主流ConvNet框架通常侧重于外观和短期运动,因此缺乏整合长期时间结构的能力。

ConvNets在基于视频的动作识别中的应用受到两个主要障碍的阻碍。首先,长距离的时间结构在理解动作视频的动态方面起着重要作用。
然而,主流的ConvNet框架通常专注于表象和短期运动,因此缺乏纳入长程时间结构的能力。其次,在实践中,训练深度ConvNets需要大量的训练样本以达到最佳性能。但数据集有限。因此,卷积网络面临着过拟合的风险。
时空段网络(TSN),这个框架用稀疏的采样方案在一个长的视频序列上提取短的片段,其中的样本沿着时间维度均匀分布。在此基础上,采用分段式结构来汇总采样片段的信息。在这个意义上,时间段网络能够对整个视频的长距离时间结构进行建模。此外,这种稀疏的抽样策略以极低的成本保留了相关的信息,从而在合理的时间和计算资源预算下实现了长视频序列的端到端学习。

探索了一些好的做法来克服上述因训练样本数量有限而造成的困难,包括:1)跨模态预训练;2)正则化;3)增强数据增量。

作者认为,在训练视频分类模型时,连续的帧会造成冗余,所以密集采样的策略是没必要的,所以作者采用了稀疏采样的策略。

2. 相关工作

主要有两种做法:

  • 双流结构,一个模型学习图像层面的信息,一个模型学习时间层面的信息,最后融合两路模型的结果
  • 使用3D卷积核,同时抽取图像层面和时间层面的信息,这衍生出了不同3D卷积核的变种

3. 模型

3.1 时序段网络TSN

具体来说,我们提出的时间段网络框架,旨在利用整个视频的视觉信息来进行视频级预测,也是由空间流ConvNets和时间流ConvNets组成。
时间段网络不是在单帧或帧堆上工作,而是在整个视频中稀疏采样的短片段序列上工作。
在这里插入图片描述
一个输入视频被分成K个片段,并从每个片段中随机选择一个简短的片段。不同片段的等级分数通过片段共识函数进行融合,产生片段共识,这是一个视频级别的预测。然后,来自所有模式的预测被融合以产生最终的预测。所有片段的ConvNets共享参数。

3.2 学习时序段网络
  1. 模型架构:之前的two-stream模型采用的是相对浅的模型结构,作者选择BN-Inception这种比较深的模型结构来当做building block,因为该模型在速度和准确率上都不错。

  2. 模型输入:之前two-stream模型采用RGB作为spatial stream的输入,采用光流作为temporal stream的输入。作者研究了额外的两种模态,RGB difference和warped光流。

在这里插入图片描述

图2. 四种类型的输入模式的例子。RGB图像、RGB差分、光流场(x,y方向)和扭曲的光流场(x,y方向)

  1. 模型训练:由于视频样本较少,训练较深的ConvNet可能会过拟合。为了解决该问题,作者提出了如下的策略:
  • 跨模态预训练:RGB网络可以使用ImageNet预训练,但是光流网络没有预训练的数据集,所有作者采用ImageNet上预训练的参数来初始化光流模型参数。
  • 正则化:Batch Normalization用来解决协变量偏移的问题。在学习过程中,BN将估计每批中的激活均值和方差,并使用它们将这些激活值转换为标准高斯分布。该操作会使得模型收敛速度变快,但是同时会带来了过拟合的问题。因为,作者通过固定住除了第一层以外,其他层的BN参数,来解决该问题。而且,作者在BN-Inception模型后面加入了dropout层,来解决过拟合的问题。
  1. 数据增强:random cropping、horizontal flipping、corner cropping、scale jittering。

4. 训练结果

(1)跨模态预训练和partial BN with dropout实验:
在这里插入图片描述
(2)新模态特征:RGB Difference和warped optical flow fields实验
在这里插入图片描述

RGB Difference和RGB特征有一定的互补性
结合RGB和光流特征,能取得非常好的效果

在这里插入图片描述
所以在下面的实验中,我们选择平均池化作为默认的聚合函数。

在这里插入图片描述
"BN-Inception+TSN "指的是在性能最好的BN-Inception架构上应用时间段网络框架的设置。
在这里插入图片描述

UCF101数据集上的拟议方法的成分分析。从左到右,我们一个一个地添加组件。BN-Inception被用作ConvNet架构

在这里插入图片描述
基于时间段网络(TSN)的方法与其他最先进的方法的比较。分别介绍了使用两种输入模式(RGB+Flow)和三种输入模式(RGB+Flow+Warped Flow)的结果。

5. 结论

作者提出了Temporal Segment Network,用于建模视频级模型,捕获长时间的运动特征。通过稀疏采样的分段结构以及各种数据增强策略,该模型在HMDB51和UCF101上取得了非常好的效果

相关文章:

深度学习笔记(37周)

目录 摘要 Abstracts 1. 介绍 2. 相关工作 3. 模型 3.1 时序段网络TSN 3.2 学习时序段网络 4. 训练结果 5. 结论 摘要 本周阅读的论文是《Temporal Segment Networks: Towards Good Practices for Deep Action Recognition》。作者主要想通过较少的训练样本&#xff…...

Vue2+Vant2 项目初学

Vant 2 - Mobile UI Components built on Vue Vue.js 安装 | 菜鸟教程 // 通过脚手架安装 // 在新项目中使用 Vant 时,推荐使用 Vue 官方提供的脚手架 Vue Cli 创建项目并安装 Vant。 // # 安装 Vue Cli // npm install -g vue/cli // # 创建一个项目 // vue …...

ELK+Filebeat+Kafka+Zookeeper安装部署

1.安装zookeeper zookpeer下载地址:apache-zookeeper-3.7.1-bin.tar.gzhttps://link.csdn.net/?targethttps%3A%2F%2Fwww.apache.org%2Fdyn%2Fcloser.lua%2Fzookeeper%2Fzookeeper-3.7.1%2Fapache-zookeeper-3.7.1-bin.tar.gz%3Flogin%3Dfrom_csdn 1.1解压安装zookeeper软件…...

【接口封装】——21、解析Json对象数组的文本块

解释: 1、封装内容:Json数组的数据处理 Json 数组:[[ {"txt" : "你好"}, { "img", "1"} , {"txt" : "世界"} ], [ {"txt" : "你好"} ]] 数组内的文本块&am…...

【软考-架构】3.3、模式分解-事务并发-封锁协议

✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 模式分解(难点)无损分解💯考试真题并发控制封锁协议💯考试真题第一题第二题 模式分解(难点) 保持函…...

审批工作流系统xFlow

WorkFlow-审批流程系统 该项目为完全开源免费项目 可用于学习或搭建初始化审批流程系统 希望有用的小伙伴记得点个免费的star gitee仓库地址 仿钉钉飞书工作审批流系统 介绍 前端技术栈: vue3 ts vite arcodesign eslint 后端技术栈:springbootspring mvc mybatis mavenmysq…...

【数据结构初阶第十九节】八大排序系列(下篇)—[详细动态图解+代码解析]

hello,好久不见! 云边有个稻草人-CSDN博客 上篇内容,回顾一下吧【数据结构初阶第十八节】八大排序系列(上篇)—[详细动态图解代码解析]-CSDN博客 今天我们来学习下篇 目录 (2)快速排序 【挖坑法】 —思路 —思路…...

定制开发开源 AI 智能名片 S2B2C 商城小程序源码在小程序直播营销中的应用与价值

摘要: 本文主要探讨了定制开发开源 AI 智能名片 S2B2C 商城小程序源码在小程序直播营销中的应用与价值。首先详细阐述了小程序直播的基本概念、特点、发展历程及营销意义,包括其便捷性、广泛的受众连接能力以及对企业推广的重要作用。接着深入剖析了定制…...

蓝桥杯Python赛道备赛——Day3:排序算法(二)(归并排序、堆排序、桶排序)

本博客是蓝桥杯备赛系列中排序算法的第二期,包括:归并排序、堆排序和桶排序。每一个算法都在给出概念解释的同时,给出了示例代码,以供低年级师弟师妹们学习和练习。 由于本期的三个算法的复杂度相对来说要高于上一期的三个算法&am…...

Type-C:智能家居的电力革命与空间美学重构

在万物互联的时代浪潮中,家居空间正经历着从功能容器到智慧终端的蜕变。当意大利设计师安东尼奥奇特里奥提出"消失的设计"理念二十年后,Type-C充电技术正以润物无声的方式重塑着现代家居的形态与内核,开启了一场静默的居住革命。 【…...

第十五届蓝桥杯C/C++组:宝石组合题目(从小学奥数到编程题详解)

这道题目真的一看就不好做,如果直接暴力去做百分之90必挂掉,那么这道题目到底应该怎么去做呢?这我们就得从小学奥数开始聊了。(闲话:自从开始蓝桥杯备赛后,每天都在被小学奥数震惊,为什么我小的…...

@RequestParam、@RequestBody、@PathVariable

1. RequestParam RequestParam:重要的是它的属性,如果它的属性用不到,这个注解可以不用 要点: 可用于任何类型的请求(get请求数据在请求行中, post请求数据在请求体中)无论时在请求行还是请求体…...

ECharts中Map(地图)样式配置、渐变色生成

前言 ECharts是我们常用的图表控件,功能特别强大,每次使用都要查API比较繁琐,这里就记录开发中常用的配置。 官网:https://echarts.apache.org/handbook/zh/get-started 配置项:https://echarts.apache.org/zh/opti…...

什么是 slot-scope?怎么理解。

1. 什么是 slot-scope? slot-scope 是 Vue 2 中用于作用域插槽的语法。它的作用是让子组件可以把一些数据传递给父组件,父组件可以根据这些数据自定义渲染内容。 简单来说: 子组件:负责提供数据。 父组件:负责根据数…...

MySQL | MySQL表的增删改查(CRUD)

目录 前言:什么是 CRUD ?一、Creat 新增1.1 语法1.2 示例1.2.1 单行数据全列插入1.2.2 单行数据指定列插入1.2.3 多行数据指定列插入 二、Retrieve 检索2.1 语法2.2 示例2.2.1 全列查询2.2.2 指定列查询2.2.3 查询字段为表达式2.2.4 结果去重查询2.2.5 where条件查…...

电子电气架构 --- 分布到集中的动カ系统及基于域控制器的架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…...

Docker系列——从零开始打包FunASR的Http服务

一、项目结构准备 funasr-docker/ ├── Dockerfile ├── requirements.txt ├── models/ # 预下载模型目录(可选) ├── config/ # 自定义配置文件 │ └── server_config.py └── run.sh # 服务…...

基于微信小程序开发的宠物领养平台——代码解读

项目前端 一、项目的技术架构概况 一句话概括:该项目是基于微信小程序开发的宠物领养平台,采用原生小程序框架进行用户界面的构建,使用 wx.request 进行 API 请求,并通过 getApp() 和本地存储来管理全局状态和用户信息。 一&am…...

基于SpringBoot的“考研互助平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“考研互助平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 局部E-R图 系统首页界面 系统注册…...

基于javaweb的SpringBoot足球俱乐部管理系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

DQN 玩 2048 实战|第一期!搭建游戏环境(附 PyGame 可视化源码)

视频讲解: DQN 玩 2048 实战|第一期!搭建游戏环境(附 PyGame 可视化源码) 代码仓库:GitHub - LitchiCheng/DRL-learning: 深度强化学习 2048游戏介绍,引用维基百科 《2048》在44的网格上进行。…...

高频面试题(含笔试高频算法整理)基本总结回顾24

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…...

大模型token和字符串的关系

一 主要区别 token 是使用分词器拆分后的最小单位,不同的分词方式会导致同样的字符具有不同的token数量。如你好,可以拆分为【你、好】两个token, 【你好】一个token。 同一个文本的 Token 数量可能远少于字符数(英文&#xff09…...

第八节:红黑树(初阶)

【本节要点】 红黑树概念红黑树性质红黑树结点定义红黑树结构红黑树插入操作的分析 一、红黑树的概念与性质 1.1 红黑树的概念 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red和 Black 。 通过对 任何…...

【动态规划】- 线性dp

目录 第 N 个泰波那契数 三步问题 使用最小花费爬楼梯 解码方法 第 N 个泰波那契数 1137. 第 N 个泰波那契数 - 力扣(LeetCode) 状态表示 是什么?dp表里面的值所表示的含义怎么来?①题目要求->dp[ i ]表示第 i 个泰波那契…...

Python Cookbook-4.3 若列表中某元素存在则返回之

任务 你有一个列表L,还有一个索引号i,你希望当i是L,的有效索引时获取L[i],若不是有效索引,则返回一个默认值v。如果L是字典,可以使用L.get(i,v)来满足需求,可是列表并没有 get这个方法。 解决方案 很明显…...

Webpack vs Rollup vs Parcel:构建工具深度对比

文章目录 1. 核心特性对比1.1 功能定位1.2 技术架构对比 2. 配置与使用2.1 Webpack 配置示例2.2 Rollup 配置示例2.3 Parcel 使用示例 3. 性能对比3.1 构建速度3.2 输出质量 4. 生态系统4.1 插件生态4.2 学习曲线 5. 适用场景分析5.1 Webpack 适用场景5.2 Rollup 适用场景5.3 P…...

Centos7使用docker搭建redis集群

前置准备: Centos7安装docker就不多说了… 本次目的是搭建3主3从(当然你也可以按需扩展)准备三台服务器,假定IP分别为:192.168.75.128、192.168.75.129、192.168.75.130安装 redis: #拉取redis docker p…...

蓝桥杯备赛-二分-跳石头

问题描述 一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石&a…...

【09】单片机编程核心技巧:变量赋值,从定义到存储的底层逻辑

【09】单片机编程核心技巧:变量赋值,从定义到存储的底层逻辑 🌟 核心概念 单片机变量的定义与赋值是程序设计的基础,其本质是通过 RAM(随机存储器) 和 ROM(只读存储器) 的协作实现…...