【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个输出单元。

相关推荐
顾道长生'3 小时前
(Arxiv-2025)通过动态 token 剔除实现无需训练的高效视频生成
计算机视觉·音视频·视频生成
码荼9 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
武昌库里写JAVA9 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
喝过期的拉菲10 小时前
如何使用 Pytorch Lightning 启用早停机制
pytorch·lightning·早停机制
kk爱闹10 小时前
【挑战14天学完python和pytorch】- day01
android·pytorch·python
祁思妙想10 小时前
八股学习(三)---MySQL
数据库·学习·mysql
amazinging11 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十一天
python·学习·appium
Jyywww12111 小时前
微信小程序学习笔记
笔记·学习·微信小程序
amazinging11 小时前
北京-4年功能测试2年空窗-报培训班学测开-第三十九天
python·学习·appium
每次的天空11 小时前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频