type
status
date
slug
summary
tags
category
icon
password
Property
Aug 7, 2024 08:54 AM
Introduction
- 作者观察到视频场景中的帧通常包含两个不同的部分 —— 不怎么变化或者缓慢变化的静态区域和正在发生变化的动态区域,这通常意味着有些重要的事情发生了。
- 图像处理中,人们习惯将xy两个维度对称处理,这种处理在一定程度上是由于存在各向异性和移位不变性的特性。
- 在处理视频数据时(x,y,t),由于光流孔径的问题,不能简单地将时间维度与空间维度对称处理,与时空卷积的默认假设不同。
- 在日常观察的世界中,特定时刻通常是静止的,空间语义信息稳定不变或变化极其缓慢。然而,某些动作(如“拍手”、“跑步”)需要更高的帧率(更高的时间分辨率)来有效捕捉快速运动状态的变化。
- 受到灵长类视觉系统中视网膜神经节细胞的生物学研究启发。
- 基于以上观察,论文提出了一种基于双通道的SlowFast模型,旨在用于动作检测,以有效地捕捉快速运动状态的变化。
Architecture
优势
- 高效性:快通道设计轻量级,较少,仅占用约20%的计算资源,提高了整体计算效率。
- 时间分辨率保持:快通道省略了时间池化,保持了时间分辨率,适用于对时序信息敏感的任务。
- 融合多种信息:通过慢通道和快通道的侧向连接,能够融合提取到的空间和时域信息。
- 端到端操作:从原始数据端到端操作,简化了视频处理流程,提高了整体处理效率。
- 轻量级设计:快通道采用较少的通道和较弱的卷积核,使得模型更加轻量化,适用于资源受限的场景。
结构
SlowFast 网络包括低帧率、低时间分辨率的 Slow 路径和高帧率、高时间分辨率(Slow 路径时间分辨率的 α 倍)的 Fast 路径。使用通道数的一部分(β,如 β = 1/8)来轻量化 Fast 路径。Slow 路径和 Fast 路径通过侧连接来连接
- 双流结构:SlowFast采用了双流(slow和fast)的卷积结构,但和双流结构有所不同
SlowFast与双流结构的区别:
双流结构:
- 采用两个独立的流程处理视频输入。
- 每个流程具有相同的骨干网络。
- 通常仅有一个时间尺度,无法处理不同的时间速度。
SlowFast:
- 引入了慢通道和快通道两种流程。
- 每个流程具有不同的骨干网络,用于提取空间和时域信息。
- 能够处理不同时间速度的视频输入。
- 快通道设计轻量级,占用较少计算资源,适用于资源受限的场景。
- 通过侧向连接融合慢通道和快通道的信息,提高了视频处理的效率和性能。
- 慢通道(Slow Pathway):一条专注于处理可以在低帧速率下观看的类别语义(如:颜色、纹理和目标),它以低帧率运行,刷新速度缓慢,旨在捕获图像或几个稀疏帧提供的语义信息
- 快通道(Fast Pathway):另一条路径则寻找在以较高帧速率显示的视频中更容易识别的快速变化的运动(如:鼓掌、挥手、摇头、走路或跳跃),它的刷新速度快、时间分辨率高,用于捕获快速变化的动作
- 侧向连接:慢通道和快通道通过侧向连接进行信息融合
思考:
- 对环境信息stride值可以尽量大一些
- 对于lowframe,进行处理环境静态特征,特征图尽量较多,卷积核小
- 对于highframe,处理动作信息,stride值小一些,由于输入比较大,卷积设计的尽量简单,高效处理
- 环境的融合是由动作到环境融合(原论文解释两种情况效果差别不大)
- 动作信息得到的特征图和环境信息得到的特征图,大小尺度不同,拼接时会遇到一些问题(原论文提出三种解决方法)
- 使用最后一次预测的结果作为输出
How the Model Works —— 实例化
SlowFast 网络的实例化示例
内核维度表示:
{T×S^2, C}
- T:时间分辨率,表示视频处理的时间跨度。
- S:空间语义,表示视频中的空间信息。
- C:通道数,表示特征图的深度或通道数目。
步长表示:
{temporal stride, spatial stride^2}
- temporal stride:时间步长,指在时间维度上的跨度。
- spatial stride^2:空间步长的平方,指在空间维度上的跨度
速度比例(α):8
- 表示Fast路径相比Slow路径的时间采样速度,即Fast路径的时序频率是Slow路径的8倍。
通道比例(β):1/8
- 表示Fast路径相
颜色表示
- 绿色表示Fast路径具有更高的时间分辨率。
- 橙色表示Fast路径具有较少的通道数。
下划线表示非退化时间滤波器
- 表示用于卷积操作的时间滤波器没有退化,即滤波器的长度与输入序列的长度相同
方括号内是残差块。
- 表示残差块内的操作被表示为一个整体,通常包含多个卷积层、批归一化和激活函数。
- Slow通道和Fast通道都使用3D RestNet模型,捕捉若干帧之后立即运行3D卷积操作。
- 慢通道采用了3D ResNet,但在不同的层中使用了不同的卷积操作,以适应输入数据的时间跨度和稀疏采样。
- 输入数据以时间跨度τ = 16稀疏采样,但不执行时间下采样,以保留更多的时间信息。
- 在较早的层(conv1到res3),只使用了2D卷积核,而在较深的层(res4和res5)使用了非退化的时间卷积,以更好地捕获长期时间相关性。
- 这种设计是基于实验观察,即在快速移动的物体和大的时间跨度下,早期层中使用时间卷积会导致信息损失,因为此时的时间相关性较低,更多的时间相关性体现在较深的层中。
- 快通道具有更高的时间分辨率和较少的通道容量,使其适用于捕捉详细的运动信息。
- 慢通道和快通道之间的侧向连接通过匹配特征大小并应用不同的转换来融合,以实现对时空信息的整合。
- 融合方式可以是求和或串联,具体取决于任务和网络设计。
网络结构数据
- datalayer:对视频进行采样
- 不同stride的到不同帧数数据
- stride的H和W相同
- 输出结果:slow:4 fast:32
- resnet层:特征提取(可以使用transfomer替代)
- slow与fast提取特征目的不同
- 均使用3D卷积计算
- fast更关注序列内容
- 在slow层,深层中加入一点对序列的关系,可以帮助得出更好的结果(加在前边效果不好)
特征融合
如何融合?
三种方案:
- 尽量使用最后一种方法再加上一层卷积
- 第一种方法较为简单,常用
- 第二种方法会导致丢失信息
- 作者:GJJ
- 链接:https://blog.gaojj.cn/article/blog-90
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。