IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> You Only Watch Once: A Unified CNN Architecture for Real-Time Spatiotemporal Action Localization -> 正文阅读

[人工智能]You Only Watch Once: A Unified CNN Architecture for Real-Time Spatiotemporal Action Localization

You Only Watch Once: A Unified CNN Architecture for Real-Time Spatiotemporal Action Localization

1. 动机

时空视频的动作定位(spatiotemporal human action localization) 不仅需要在空间上定位人体动作在空间上的位置,还需要在时序上定位动作的起始,并对该动作进行分类。

相比静态的目标检测,时序信息对时空视频的动作定位十分重要,对于单帧图片能够成功地定位人体的位置,但是该人体的动作需要结合过去帧的信息才能正确判断。(例如站起和坐下的区分)因此 如何结合时序和空间信息十分重要

请添加图片描述

受Faster RCNN网络框架的启发,大部分已有方法都属于两阶段方法,存在一些不足:

  1. action tube的生成需要对不同帧生成大量的候选区域,相比2D情况下更加的复杂和耗时。

    action tube 是对每一帧中检测出的bounding box进行链接得到的

  2. 网络对人体动作的分类将基于生成的候选区域进行分类,候选区域的质量将影响分类的性能,同时仅依赖候选区域中的人体特征,忽视了人与人或物交互的信息及一些背景信息。这些上下文信息对动作识别十分重要。

  3. 分别训练RPN网络及分类网络无法保证得到全局最优的模型。

    分别训练时,RPN网络和分类网络都能达到各自的全局最优,但是组合起来得到的最终模型并不一定是最优的。

  4. 相比一阶段方法,两阶段方法的训练时长较长,需要更多内存。

主要贡献

作者提出YOWO的一阶段方法来避免上述二阶段方法的缺点,同时使用不同的输入分支提取时序和空间信息。添加不同的输入分支能够为网络提供其他不同模特的数据。

其中YOWO从历史帧中提取时序信息。为了更快的运行速度,YOWO最多处理16帧的输入,然而如此短的clip输入提供的时序信息是有限的,而更长的输入会减慢网络的运行速度。

对于视频中不同帧的预测可能会对同一段视频帧进行重复处理?

2. 方法

YOWO 网络结构

YOWO的网络结构可以分为四个部分:3D-CNN分支、2D-CNN分支、特征融合及bbox 回归部分。

请添加图片描述

&1 3D-CNN 分支

该分支使用3D卷积从多个连续的视频帧中提取时序信息,能够使用不同的3D卷积网络进行替换。

这里使用 3D ResNext-101作为该分支的网络结构,输入数据的大小为 [ C × D × H × W ] [C\times D\times H\times W] [C×D×H×W] ,输出大小为 [ C ′ × D ′ × H ′ × W ′ ] [C'\times D'\times H'\times W'] [C×D×H×W] ,其中 C = 3 , D C=3,D C=3,D 是输入帧的数量, H , W H,W H,W 表示输入帧的高宽, C ′ C' C 表示输出通道数, D ′ = 1 , H ′ = H 32 , W ′ = W 32 D'=1,H'=\frac{H}{32}, W'=\frac{W}{32} D=1,H=32H?,W=32W? 。这里将 D ′ = 1 D'=1 D=1 是为了 与2D-CNN分支的输出大小适配 ,方便后续进行特征融合。

请添加图片描述

对于多帧图片,2D卷积的输出通道数都为1,而3D卷积的输出通道数能够大于1,Du1 认为2D卷积的输出结果缺乏时序信息,而3D卷积的输出保留了时序信息。

若将卷积对通道数的处理退化为一维情况,则如下图所示:

请添加图片描述

2D卷积相比3D卷积参数量较少,且不能对输出特征进行进一步处理(2D卷积的输出结果维度为1)。

3D卷积参数量较多,且能通过多次卷积提取更丰富的时序信息,而2D卷积提取的时序信息十分有限,与3D卷积相比会丢失大量时序信息,从该角度看能够理解Du的观点。

&2 2D-CNN分支

该分支从当前帧中提取空间信息,用于定位画面中人体实例的位置,该分支可以使用任意2D卷积网络代替。

这里使用Darknet-19作为基础架构,输入大小为 [ C × H × W ] [C\times H\times W] [C×H×W] ,输出大小为 [ C ′ ′ × H ′ × W ′ ] [C''\times H'\times W'] [C×H×W],其中 C = 3 , C ′ ′ C=3,C'' C=3,C 是输出通道大小, H ′ = H 32 , W ′ = W 32 H'=\frac{H}{32}, W'=\frac{W}{32} H=32H?,W=32W? ,与3D-CNN分支的输出大小适配。

&3 特征融合:通道融合和注意力机制(Channel Fusion and Attention Mechanism)(CFAM)

请添加图片描述
由于对两种特征进行拼接得到的特征 A ∈ R ( C ′ + C ′ ′ ) × H × W A\in\mathbb{R}^{(C'+C'')\times H\times W} AR(C+C)×H×W 只是两种特征的简单组合,忽略了两者间的相互关系。因此先使用两个卷积层对特征进行初步处理,得到 B ∈ R C × H × W B\in\mathbb{R}^{C\times H\times W} BRC×H×W

这里的卷积注重局部的特征融合,而注意力机制是全局的特征融合。

使用基于格拉姆矩阵的注意力机制进行特征融合,将特征图进行变形,将每个通道的特征转换为向量,其中 N = H × W N=H\times W N=H×W 得到 F F F
B ∈ R C × H × W ? v e c t o r i z a t i o n F ∈ R C × N B\in\mathbb{R}^{C\times H\times W}\stackrel{vectorization}{\longrightarrow} F\in\mathbb{R}^{C\times N} BRC×H×W?vectorization?FRC×N
通过矩阵 F F F与其转置 F T F^T FT相乘得到格拉姆矩阵 G ∈ R C × C G\in\mathbb{R}^{C\times C} GRC×C ,表示不同通道之间的相关性。
G = F ? F T w i t h G i j = ∑ k = 1 N F i k ? F j k G=F\cdot F^T\quad with\quad G_{ij}=\sum_{k=1}^NF_{ik}\cdot F_{jk} G=F?FTwithGij?=k=1N?Fik??Fjk?
对矩阵 G G G的每一行使用softmax进行归一化,得到注意力矩阵 M ∈ R C × C M\in\mathbb{R}^{C\times C} MRC×C
M i j = e x p ( G i j ) ∑ j = 1 C e x p ( G i j ) M_{ij}=\frac{exp(G_{ij})}{\sum_{j=1}^Cexp(G_{ij})} Mij?=j=1C?exp(Gij?)exp(Gij?)?
之后使用注意力矩阵与矩阵 F F F相乘,之后变形为与输入大小相同的张量。
F ′ = M ? F , F ′ ∈ R C × N ? r e s h a p e F ′ ′ ∈ R C × H × W F'=M\cdot F,\qquad F'\in\mathbb{R}^{C\times N}\stackrel{reshape}{\longrightarrow}F''\in\mathbb{R}^{C\times H\times W} F=M?F,FRC×N?reshape?FRC×H×W

后续需了解:基于格拉姆矩阵的注意力机制与一般的注意力机制的不同。

将通过注意力机制得到的特征图 F ′ ′ F'' F 与输入特征图 B B B 进行组合得到特征图 C C C,其中 α \alpha α属于标量参数,且逐渐从0开始学习。
C = α ? F ′ ′ + B , C ∈ R C × H ′ × W ′ C=\alpha\cdot F''+B,\quad C\in\mathbb{R}^{C\times H'\times W'} C=α?F+BCRC×H×W

这里在注意力模块的输入与输出间添加残差链接,能够解决梯度消失的问题。

最后需要经过两个卷积层得到CFAM模块的输出特征图 D ∈ R C ? × H × W D\in\mathbb{R}^{C*\times H\times W} DRC?×H×W,开头与结尾的两个卷积层对CFAM模块十分重要,缺少这两处卷积层,CFAM对网络性能的提升将大幅减少

&4 BBox 回归

这部分与YOLO中对bbox的回归相同,通过 1 × 1 1\times 1 1×1卷积来得到想要的输出通道数,对大小为 H ′ × W ′ H'\times W' H×W的输出特征图的每个元素,设置5个先验锚点(锚点的数量是通过在对应数据集中使用 K ? M e a n s K-Means K?Means算法得到的),对每个锚点有 N u m C l s NumCls NumCls个类别得分、4个坐标及是否包含目标的自信度得分,因此YOWO的最终输出特征图大小为 [ ( 5 × ( N u m C l s + 5 ) ) × H ′ × W ′ ] [(5\times(NumCls+5))\times H'\times W'] [(5×(NumCls+5))×H×W]

在训练中是使用不同分辨率的输入进行训练,在测试中使用 224 × 224 224\times 224 224×224固定分辨率的输入。选择的mini-batch梯度下降策略及权重衰减策略与YOLO相同,但是使用L1 loss作为定位损失,focal loss作为分类损失

L1 loss 对离群点的敏感度低于L2 loss,同时学习得到的权重较为稀疏,而L2 loss学习得到的权重较为密集。

实现细节

网络选择
3D network parameters initializationpretrained models on Kinetics
2D network parameters initializationpretrained models on PASCAL VOC
learning_rate0.0001
decay factor0.5 after 30K, 40K, 50K and 60K iter
iterationsUCF101-24(5 epochs),J_HMDB-21(10 epochs)
EnvPyTorch, a single Nvidia Titan XP GPU
  • 由于J-HMDB-21的数据量较少,在训练过程中保持3D卷积网络的参数值不变,防止过拟合的同时,加快了网络的收敛速度。
  • 在测试中选择自信度得分 > 0.25 > 0.25 >0.25的的bbox,在后处理阶段,非最大值抑制的阈值设置为0.4。

连接策略

使用已有的连接算法来得到最有的结果。

请添加图片描述
其中 S c ( R t ) , S c ( R t + 1 ) S_c(R_t),S_c(R_{t+1}) Sc?(Rt?),Sc?(Rt+1?)是区域 R t , R t + 1 R_t,R_{t+1} Rt?,Rt+1?的特定类别的得分, o v ov ov为两区域的IoU值, α , β \alpha, \beta α,β属于标量, ψ ( o v ) \psi(ov) ψ(ov)属于限制函数,当 o v > 0 ov >0 ov>0时为1, 其余情况为0,即要求两区域存在交集。得到所有的连接得分后,使用VIterbi算法得到最优路径获得action tube。

长距离特征库

由于最多16帧的输入限制了YOWO对时序信息的提取,影响动作识别的性能,使用LFB(long term bank)为YOWO提供更多的时序信息。

LFB中包含了使用预先训练好的3D ResNeXt-101主干网络在视频的不同时间段提取的特征,在网络推断过程中,将以当前帧为中心的前后时间段的特征作为CFAM的输入之一

该方法会为网络提供未来的时序信息,且在使用主干网络提取特征时,会对视频中的同一视频帧进行多次计算。

3. 实验结果

消融实验

请添加图片描述

请添加图片描述

可以看到2D-CNN对图片中完整的空间信息较为敏感,而3D-CNN对正在发生运动的部分较为敏感,可以看出YOWO的两个输入分支能够分别提取空间和时序信息,两者将相互补充。

请添加图片描述
其中下采样率表示输入帧之间的间隔,例如d=3时表示从24帧中采用得到8帧作为输入。越多的时序信息能够提升网络的性能。通过下采样虽然增加了输入帧的时间跨度,但是破坏了相邻输入帧的时间上下文联系,特别是对于持续时间很短的动作,一组时间跨度过长的输入帧会包含一些无关的视频帧,这些视频帧对当前帧而言属于噪声

参考文献:

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:09:55  更:2021-09-12 13:11:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 15:51:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码