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

相关推荐
yue0081 小时前
C#理论学习-WinForm实践开发教程总结
开发语言·学习·c#
Mr.Jessy2 小时前
Web APIs学习第一天:获取 DOM 对象
开发语言·前端·javascript·学习·html
CodeLongBear2 小时前
Day02计算机网络网络层学习总结:从协议到路由全解析
学习·计算机网络·dubbo
我先去打把游戏先3 小时前
ESP32开发指南(基于IDF):连接AWS,乐鑫官方esp-aws-iot-master例程实验、跑通
开发语言·笔记·单片机·物联网·学习·云计算·aws
雍凉明月夜4 小时前
人工智能学习中深度学习之python基础之迭代器、生成器、文件处理和模块等
python·深度学习·学习·pycharm
半夏知半秋4 小时前
mongodb的复制集整理
服务器·开发语言·数据库·后端·学习·mongodb
2301_802939905 小时前
从零开始学习Redis(五):多级缓存
redis·学习·缓存
Chunyyyen6 小时前
【第二十周】自然语言处理的学习笔记05
笔记·学习·自然语言处理
笨鸟笃行6 小时前
百日挑战——单词篇(第十一天)
学习
yong15858553437 小时前
1. Linux C++ muduo 库学习——库的编译安装
linux·c++·学习