【Pytorch】学习记录分享14——视频分析3D卷积

【Pytorch】学习记录分享14------视频分析3D卷积

      • [1. 视频分析 3D卷积](#1. 视频分析 3D卷积)
      • [2. UCF101数据](#2. UCF101数据)
      • [3. U3D算法](#3. U3D算法)

1. 视频分析 3D卷积

3D卷积的简介

在图像处理领域,被卷积的都是静态图像,所以使用2D卷积网络就足以。而在视频理解领域,为了同时保留时序信息,就需要同时学习时空特征,如果用2DCNN来处理视频,那么将不能考虑编码在连续多帧之间的运动信息,而C3D网络就在这样的背景下横空出世了。

3D convolution 最早应该是在"3D convolutional neural networks for human action"中被提出并用于行为识别的。该论文提出的模型尝试从空间和时间维度中提取特征,从而捕获在多个相邻帧中编码的运动信息。

主要贡献如下:

1、我们提出应用3D卷积运算从视频数据中提取空间和时间特征以进行动作识别。这些3D特征提取器在空间和时间维度上操作,从而捕获视频流中的运动信息。

2、我们开发了基于3D卷积特征提取器的3D卷积神经网络架构。该CNN架构从相邻视频帧生成多个信息信道,并在每个信道中分别执行卷积和子采样。最终的特征表示是通过组合所有频道的信息获得的。

3、我们提出通过增加具有作为高级运动特征计算的辅助输出的模型来规范3D CNN模型。我们进一步提出通过组合各种不同架构的输出来提高3D CNN模型的性能。

具体操作:通过同时堆叠多个连续帧形成的立方体与一个3D核进行卷积。通过这个构建,卷积层上的特征图连接到了前一层的多个连续帧,从而捕捉动作信息。

2. UCF101数据

数据集由101个人类动作类别的13,320个视频组成。我们使用此数据集提供的三个拆分设置。

3. U3D算法

3D卷积核时间深度搜索。不同卷积核时间深度设置在UCF101测试集split-1上的精度。2D ConvNet效果最差,3×3×3卷积核的3D ConvNet在实验中表现最佳。

结构如下图:

C3D架构。C3D网络有8个卷积层,5个最大池化层和2个全连接层,最后是softmax输出层。所有的3D卷积核都是3×3×3,在空间和时间上都有步长1。滤波器的数量表示在每个框中。3D池化层由pool1到pool5表示。所有池化核为2×2×2,除了pool1为1×2×2。每个全连接层有4096个输出单元。

网络架构:上图的发现表明,3×3×3卷积核的均匀设置是3D ConvNets的最佳选择。这个发现与2D ConvNets一致。使用大型数据集,可以根据机器内存限制和计算承受能力,尽可能深入地训练具有3×3×3核的3D ConvNet。使用目前的GPU内存,我们设计了3D ConvNet,具有8个卷积层、5个池化层、两个全连接层,以及一个softmax输出层。网络架构如图3所示。为了简单起见,我们从现在开始将这个网络称为C3D。所有3D卷积滤波器均为3×3×3,步长为1×1×1。为了保持早期的时间信息设置pool1核大小为1×2×2、步长1×2×2,其余所有3D池化层均为2×2×2,步长为2×2×2。每个全连接层有4096个输出单元。

相关推荐
风暴之零1 小时前
卡尔曼滤波学习
人工智能·学习·机器学习
2401_860319522 小时前
【无标题】
开发语言·学习·rust
EasyGBS2 小时前
智能安防新篇章:EasyGBS助力重塑物业视频管理服务
音视频
Nebula_g3 小时前
C语言应用实例:解方程(二分查找)
c语言·开发语言·学习·算法·二分查找·基础
三品吉他手会点灯3 小时前
stm32f103学习笔记-16-RCC(第2节)-讲解系统时钟配置函数SetSysClockTo72()
笔记·stm32·单片机·嵌入式硬件·学习
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [kernel]cpu
linux·笔记·学习
骄傲的心别枯萎5 小时前
RV1126 NO.45:RV1126+OPENCV在视频中添加LOGO图像
人工智能·opencv·计算机视觉·音视频·rv1126
dxnb226 小时前
【Datawhale25年11月组队学习:hello-agents+Task1学习笔记】
人工智能·学习
二进制星轨6 小时前
Transofrmer架构详解与PyTorch实现(附代码讲解)
人工智能·pytorch·python
weixin_387002156 小时前
漏洞修复学习之CVE-2024-10976漏洞复现
数据库·sql·学习·安全·postgresql