【行为识别】TSN/TRN/TSM/SlowFast/Non-local

2023-11-12

前言

记录视频理解领域的几篇文章吧,由于每篇值得记录的东西不多,所以合在一起。

关于开源框架,有港中文多媒体实验室的MMAction。有设备的就尽量多跑跑模型吧

视频相对于静态图像多了时间维度。静态图像的分类、检测、分割做得相对完善了,视频方面的工作想有创新必须在时间这个维度上钻研。

注意 Action Recognition和Spatio-temporal Action Recognition(又称action localization)的区别。前者只需判断视频的类别,后者要在视频中确定动作从第几帧开始第几帧结束,并在出现的帧上确定包含动作的bounding box。本文介绍的是前者。

预备知识

时空卷积

文章标题:A Closer Look at Spatiotemporal Convolutions for Action Recognition

首先探讨一下几种形式的时空卷积。

  • f-R2D: 帧上的2D卷积。对每一帧图像做2D卷积,最后将结果融合起来。
  • R2D:视频段上的2D卷积。将帧的维度并入输入通道。假设有l帧,则网络的输入为3lxhxw。
  • 3D卷积:输入c×l×h×w(输入通道×帧数×高×宽),卷积核大小 CxKxKxZ(输出通道x宽x高x处理帧数),假设步长都为1,则输出Cx(l-Z+1)x(h-K+1)x(h-K+1). 以上都暂不考虑batchsize这个维度。3D卷积是2D卷积在时间维度上的拓展。
  • MC卷积: 3D卷积和2D卷积的混合。MC卷积假设对时间处理越早越好,所以在前面的层用3D卷积,在后面的层用2D卷积。
  • rMC卷积:与MC卷积结构相反,其在后面层采用3D卷积。
  • 2+1D卷积:把3D卷积分解为连续的空间上的2D卷积和时间上的1D卷积。优点是增加非线性且更易优化(3D卷积难优化). 设原3D卷积核大小 KxKxZ,可拆成KxKx1(空间卷积)和1x1xZ(时间卷积)

模型

TSN

文章标题: Temporal Segment Networks: Towards Good
Practices for Deep Action Recognition
pytorch 实现: https://github.com/yjxiong/tsn-pytorch

Motivation :1,连续的帧信息往往高度相关,所以对帧作密集采样是不必要的 2,之前的方法都要求输入视频为64~120帧,不能广泛地应用
网络结构
在这里插入图片描述
由上图所示,一个输入视频被分为 K 段(segment),一个片段(snippet,几帧图像叠加在一起)从它对应的段中随机采样得到。不同片段的类别得分融合,这是一个视频级的预测。然后对所有模式的预测融合产生最终的预测结果。
文中设置K=3,融合用的是平均函数,分类用的是softmax

TRN

文章标题 Temporal Relational Reasoning in Videos

本文是对TSN最后融合方式做一个改进。TSN每个snippet独立地预测,而TRN在预测前先进行snippet间的特征融合。另外TRN的输入用的是不同帧数的snippet(different scale)。
下图的框架图一目了然,算法实现流程就是先均匀地采样出不同scale的Segment 来对应 2-frame, 3-frame, …, N-frame relation;然后对每个Segment里小片提取 Spatial feature,进行 MLP 的 temporal fusion,送进分类器;最后将不同scale的分类score叠加来作最后预测值。
图中g是两层MLP。h是一层MLP,其输出维度是类别数。
在这里插入图片描述

TSM

文章来源: https://arxiv.org/abs/1811.08383

Motivation:3D网络的计算量大,而2D网络没有利用时序信息。提出了时间移位(temporal shift)模块,能够用2D网络对时间建模。即将当前帧的特征图部分通道替换为前一帧或后一帧的通道。
在这里插入图片描述
图(a)是原始的特征图(省略了batchsize,w,h这三个与讨论无关的维度),图(b)包括将前一帧和后一帧的通道替换当前帧的通道,适用于离线的方式。视频首尾帧对应位置用零填充。图©仅有前一帧的通道,适用于在线的方式。
temporal shift 模块应该作为原来2D网络的补充(即放在残差分支上,如下图(b)),而不能放在主干网络(如下图(a)),否则会破坏当前帧的空间语义。
在这里插入图片描述
下图显示了in-place和residual两种不同方式,以及其他帧特征的不同占比带来的效果。
在这里插入图片描述

SlowFast

文章来源:https://arxiv.org/pdf/1812.03982.pdf

Motivation:1,在视频动作识别中,类别语义一般变化得较慢,而动作语义变化得较快 2,人眼有20%的m细胞和80%的p细胞。m细胞在高时间频率下工作,对快速的时间变化有反应,但对空间细节或颜色不敏感。p细胞相反。
所以设计了两路卷积神经网络,一路用来捕获不变或变化较慢的语义信息,称为Slow pathway,一路用来捕获快速变化的语义信息,称为Fast pathway。

网络结构
在这里插入图片描述
Slow分支的帧采样更稀疏,因此会更侧重不变的语义(空间信息),而Fast 分支的帧采样更密集且通道数更少(限制了表达能力),因此会更侧重变化(语义)的语义。
如果想要Fast分支更少关注空间信息,可以对Fast分支的输入作以下尝试:将帧宽高分别减半; 将帧灰度化;换成光流; 换成前后帧之差
为了维持时间维度上的高分辨率,Fast分支没有时间维度的下采样操作(池化或带孔卷积)
Fast分支有侧向连接到Slow分支。这是一个在目标检测和视频理解很常用的手段。可供选择的方法如下:
在这里插入图片描述
下面是以resnet50为backbone的SlowFast
在这里插入图片描述

Tips

  • Slow分支前面的层不宜用时间维度步长大于1的卷积核(称为非退化(non-degenerate)核,即非退化到2D卷积核),否则准确率会下降。可能原因是浅层网络空间感受野不大,如果目标运动速度快的话相邻帧的同一位置上的语义可能没什么联系。
  • 为了捕获时间上的联系,Fast分支宜用非退化核
Non-local

Motivation
之前的方法捕获长范围特征需要累积很多层网络,导致学习效率太低,所有提出一种全局操作模块
网络结构
在这里插入图片描述
1,首先对输入的特征图X分别进行 1 × 1 × 1 1\times 1\times1 1×1×1卷积压缩通道数得到 θ , ϕ , g \theta, \phi,g θ,ϕ,g特征
2,reshape θ , ϕ \theta, \phi θ,ϕ,合并上述三个特征除通道数意外的维度,作矩阵相乘,再归一化系数0~1之间。这一步就是计算X的自相关系数,即所有像素对其他像素的关系。
3,将自相关矩阵和g相乘,然后恢复原来的通道数,做残差。

non-local是Attention机制的应用。其实融合全局信息可以直接用全连接层。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【行为识别】TSN/TRN/TSM/SlowFast/Non-local 的相关文章

  • 【计算机视觉】消融实验(Ablation Study)是什么?

    文章目录 一 前言 二 定义 三 来历 四 举例说明 一 前言 我第一次见到消融实验 Ablation Study 这个概念是在论文 Faster R CNN 中 消融实验类似于我们熟悉的 控制变量法 假设在某目标检测系统中 使用了A B
  • pyopencv基础操作指南

    个人学习整理 欢迎指正 实验版本 python版本 3 6 13 opencv版本 2 4 9 1 opencv简介 官网 http docs opencv org 3 0 beta doc py tutorials py tutorial
  • 【图像压缩】QOI图像格式详解

    最近听说一种图像格式比较流行 想起我曾经是做图像压缩的emmmm 就来研究一下 QOI Quite OK Image Format 很好的图像格式 git链接 能快速地无损压缩图像 原理也非常简单 没有各种变换 直接空域处理 而无损压缩 自
  • CVPR2017-如何在无标签数据集上训练模型

    论文 Fine tuning Convolutional Neural Networks for Biomedical Image Analysis Actively and Incrementally 论文链接 http openacce
  • 计算机图形学---常用颜色模型汇总(RGB,CMY,HSV)

    本文整理自西安交通大学软件学院祝继华老师的计算机图形学课件 请勿转载 文章目录 常用颜色模型 RGB颜色模型 CMY颜色模型 HSV颜色模型 常用颜色模型 颜色模型 某个三维颜色空间中的一个可见光子集 包含某个颜色域的所有颜色 用途 在某个
  • 目标检测中的损失函数:IOU_Loss、GIOU_Loss、DIOU_Loss和CIOU_Loss

    文章目录 前言 1 IOU Loss Intersection over Union Loss 2 GIOU Loss Generalized Intersection over Union Loss 3 DIOU Loss Distanc
  • 工业相机与镜头选型方法(含实例)

    一 相机介绍及选型方法 1 工业相机介绍 工业相机与我们手机上面的相机或者我们单反相机不同 工业相机它能够使用各种恶劣的工作环境 比如说高温 高压 高尘等 工业相机主要有面阵相机和线阵相机 线阵相机主要用于检测精度要求很高 运动速度很快的场
  • 张正友相机标定法原理与实现

    张正友相机标定法是张正友教授1998年提出的单平面棋盘格的相机标定方法 传统标定法的标定板是需要三维的 需要非常精确 这很难制作 而张正友教授提出的方法介于传统标定法和自标定法之间 但克服了传统标定法需要的高精度标定物的缺点 而仅需使用一个
  • 软件测试/人工智能丨计算机视觉场景中,如何处理视频/图片数据并进行测试

    在计算机视觉中 处理视频和图片数据并进行测试是一个关键的任务 以下是一些常见的步骤和方法 处理图片数据 数据加载 使用图像处理库 例如OpenCV PIL 加载图像数据 将图像转换为模型所需的格式 通常是矩阵 预处理 标准化图像 将图像像素
  • 大语言模型:开启自然语言处理新纪元

    导言 大语言模型 如GPT 3 Generative Pre trained Transformer 3 标志着自然语言处理领域取得的一项重大突破 本文将深入研究大语言模型的基本原理 应用领域以及对未来的影响 1 简介 大语言模型是基于深度
  • 第二部分相移干涉术

    典型干涉图 相移干涉术 相移干涉术的优点 1 测量精度高 gt 1 1000 条纹 边缘跟踪仅为 1 10 边缘 2 快速测量 3 低对比度条纹测量结果良好 4 测量结果不受瞳孔间强度变化的影响 独立于整个瞳孔的强度变化 5 在固定网格点获
  • 讲解光流估计 liteflownet3

    目录 讲解光流估计 LiteFlowNet3 什么是 LiteFlowNet3 模型架构 训练与优化 应用与展望 结论 讲解光流估计 LiteFlowNet3 光流估计是计算机视觉领域的重要任务 其可以估计图像序列中每个像素的运动矢量 光流
  • 什么是“人机协同”机器学习?

    人机协同 HITL 是人工智能的一个分支 它同时利用人类智能和机器智能来创建机器学习模型 在传统的 人机协同 方法中 人们会参与一个良性循环 在其中训练 调整和测试特定算法 通常 它的工作方式如下 首先 对数据进行人工标注 这就为模型提供了
  • 友思特分享 | CamSim相机模拟器:极大加速图像处理开发与验证过程

    来源 友思特 机器视觉与光电 友思特分享 CamSim相机模拟器 极大加速图像处理开发与验证过程 原文链接 https mp weixin qq com s IED7Y6R8WE4HmnTiRY8lvg 欢迎关注虹科 为您提供最新资讯 随着
  • 图像分割-Grabcut法(C#)

    版权声明 本文为博主原创文章 转载请在显著位置标明本文出处以及作者网名 未经作者允许不得用于商业目的 本文的VB版本请访问 图像分割 Grabcut法 CSDN博客 GrabCut是一种基于图像分割的技术 它可以用于将图像中的前景和背景分离
  • 【OCR】实战使用 - 如何提高识别文字的精准度?

    实战使用 如何提高文字识别的精准度 我们在平常使用OCR的时候 经常会出现文字识别不精准的情况 我们改如何提高文字识别的精度呢 以下是一些提高OCR Optical Character Recognition 光学字符识别 文字识别精准度的
  • 文档扫描与矫正-仿射变换

    图像变换是计算机视觉和图像处理中的关键技术之一 它允许我们对图像进行各种形式的变形 调整和校正 其中 仿射变换是一种常见的变换方式 在文档扫描过程中 由于拍摄角度和畸变等原因 文档图像可能存在一定程度的形变 仿射变换可以用于校正文档图像 使
  • 作物叶片病害识别系统

    介绍 由于植物疾病的检测在农业领域中起着重要作用 因为植物疾病是相当自然的现象 如果在这个领域不采取适当的护理措施 就会对植物产生严重影响 进而影响相关产品的质量 数量或产量 植物疾病会引起疾病的周期性爆发 导致大规模死亡 这些问题需要在初
  • 回望计算机视觉会议ICCV的31年

    作者 原野寻踪 编辑 汽车人 原文链接 https zhuanlan zhihu com p 670393313 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 本文只做
  • 3D点云检测神技 | UFO来了!让PointPillars、PV-RCNN统统涨点!

    作者 AI驾驶员 编辑 智驾实验室 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 3D目标检测 技术交流群 本文只做学术分享 如有侵权 联系删文 在这篇论文中提出了一个关于在3D点云中检测未

随机推荐

  • 计算机网络之网络层

    网络层涉及的问题 1一般是网关 18 是外网 内网有两类 1 存储转发包交换 2 提供给传输层的服务 3 非连接服务的实现 4 面向连接服务的实现 5 虚电路和数据包的比较 OSPF开放式最短路径优先 自治域 cisco路由器 4种延迟 传
  • 批量修改文件夹名称——规则重命名(Excel+Python脚本两种方式)

    批量修改文件夹名称 场景 在进行神经网络训练的时候 有些时候获取到的数据集的命名是不规则的 不便于直观理解数据的结构 由此需要进行批量重命名 本文提供Excel Python脚本两种方式 Excel 如下图所示 文件是命名是乱序无规则的 在
  • QT信号槽跨线程传递QDataStream问题

    第一点 查看QDataStream类 可以发现这一句 Q DISABLE COPY QDataStream Q DISABLE COPY是QT的一个宏 顾名思义 意思为禁用拷贝构造函数 如果要知道这个宏的实现 可以继续F2 所以第一个结论
  • Android 全局异常处理之UncaughtExceptionHandler

    在日常开发中可能有需要将机器奔溃日志保存本机 以便保存到本地 那么该如何做呢 实现UncaughtExceptionHandler接口 public class ApplicationCrashHandler implements Thre
  • upload-labs 环境搭建(docker)

    1 切换到root用户 2 在docker镜像仓库搜索upload labs镜像 3 下载镜像 4 查看本地镜像库 看是否下载成功 如下图就有了下载的镜像 5 运行镜像 生成镜像 docker run d p92 80 镜像id 92端口是
  • Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置

    目录 概述 新建虚拟机 安装Ubuntu 安装后重启失败 联网设置 修改分辨率 概述 主要参考讯为的教程 没有使用讯为提供的镜像 为了自己动手把相关工具安装一遍 采用了官方的Ubuntu18镜像 过程中与教程难免存在差异 遇到问题再针对解决
  • 总结:Git 撤销操作

    1 还未添加到暂存区 git checkout filename 执行命令后 会回退到未修改之前的状态 2 已经添加到暂存区 git reset HEAD filename 执行命令后 会回退到工作区之前的状态 3 已经 commit 但是
  • 以太坊Python智能合约开发指南

    在以太坊上获得一个基本的智能合约是一个很简单的事 只需google查询 ERC20代币教程 你会发现有关如何做到这一点的大量信息 以编程方式与合约交互完全是另一回事 如果你是一个Python程序员 那么教程就很少 所以写这个Python中的
  • Adaptive让 Spark SQL 更高效更智能

    本文转发自技术世界 原文链接 http www jasongj com spark adaptive execution 1 背景 前面 Spark SQL Catalyst 内部原理 与 RBO 与 Spark SQL 性能优化再进一步
  • 期权套期保值

    同种商品期货价格走势与现货价格走势方向基本一致 同涨同跌 而在临近到期日时 期货价格相对现货价格通常会呈现回归 在此基础上 再根据方向相反 数量 相等 月份相同或相近的操作原则进行交易 套期保值的意义 投资者进行套期保值的最终目的是规避或者
  • 浏览器可直接访问 Dubbo、gRPC 后端微服务,Dubbo-js 首个alpha 版本来了!

    基于 Dubbo3 定义的 Triple 协议 你可以轻松编写浏览器 gRPC 兼容的 RPC 服务 并让这些服务同时运行在 HTTP 1 和 HTTP 2 上 Dubbo TypeScript SDK 1 支持使用 IDL 或编程语言特有
  • 华为OD机试真题-信号发射和接收【2023Q2】【JAVA、Python、C++】

    题目描述 有一个二维的天线矩阵 每根天线可以向其他天线发射信号也能接收其他天线的信号 为了简化起见 我们约定每根天线只能向东和向南发射信号 换言之 每根天线只能接收东向或南向发送的信号 每根天线有自己的高度anth 各根天线的高度存储在一个
  • k8s资源类型详解

    k8s资源类型 一 k8s资源类型简介 二 deployment资源类型 三 service资源类型 四 k8s资源的回滚操作 五 用label控制pod的位置 六 namespace简介 七 pod资源类型 八 健康检测的相关应用 九 R
  • 网络爬虫是什么

    作为一家大数据公司的运营小编 经常会有人问我 诶 你说的爬虫是什么呀 爬虫的用途是什么呀 你们公司是卖爬虫的吗 有蜥蜴吗 等一系列问题 面对这些问题 小编是绝望的 那么爬虫到底是什么呢 一 爬虫是什么 以下是百度百科上对于网络爬虫的定义 网
  • Qt内存泄露(总结)

    一 简介 Qt内存管理机制 Qt 在内部能够维护对象的层次结构 对于可视元素 这种层次结构就是子组件与父组件的关系 对于非可视元素 则是一个对象与另一个对象的从属关系 在 Qt 中 在 Qt 中 删除父对象会将其子对象一起删除 C 中del
  • RColorBrewer

    1 RColorBrewer工具包 该包是R中常用的颜色选取工具包 它具有简单易用的特点 对于不具备太多色彩理论的读者来说也十分友好 虽然该包主要是为地图上色而设计 但也可以用于其他用途 library RColorBrewer 下面就逐一
  • 宝来车联网显示服务器开小差,思域请靠边站,比亚迪秦Pro在此!还有导航路况信息显示、车联网 快来瞧瞧!...

    由于各地政策的不同 燃油车和新能源车在各地的发展情况也有所不同 接下来要讲得两辆汽油车还不错 分别是秦Pro和宝来 让我们来一起了解一下吧 车型 比亚迪秦Pro 2018款 1 5TI 自动智联锋尚型 国V 指导价 9 98万元 2020
  • 统计二叉树结点个数(C语言)

    函数接口定义 int NodeCount BiTree T T是二叉树树根指针 函数NodeCount返回二叉树中结点个数 若树为空 返回0 裁判测试程序样例 include
  • matlab双因素模型,matlab双因素方差分析

    在MATLAB中求解 源程序 a 76 67 81 56 51 82 69 96 59 70 68 59 上页 下页 返回 表4 9 双因素试验的方差分析表 方差来源 平方和 自由度 因素 方差分析用于两个或者两个以上因素样本均值的检验问
  • 【行为识别】TSN/TRN/TSM/SlowFast/Non-local

    前言 记录视频理解领域的几篇文章吧 由于每篇值得记录的东西不多 所以合在一起 关于开源框架 有港中文多媒体实验室的MMAction 有设备的就尽量多跑跑模型吧 视频相对于静态图像多了时间维度 静态图像的分类 检测 分割做得相对完善了 视频方