2D卷积核处理3D(时序)数据

2D卷积核处理3D(时序)数据

  • 一、Make A Video的处理方法(PseudoConv3d)
  • 二、Tune A Video的处理方法(InflatedConv3d)
  • 比较与分析
    • 相似点
    • 不同点
    • 结论

Conv2D一般用于处理image,dim一般是4,(batch,channel,high,width)。对于多帧问题,例如时间序列,会多一个frame,也就是dim=5,(batch,frame,channel,high,width)。
此时需要做一些处理来适应Conv2D,同时提取时序特征。

一、Make A Video的处理方法(PseudoConv3d)

PseudoConv3d 选择通过分离空间卷积和时间卷积的方式来处理视频数据。先进行二维空间卷积,再通过一维时间卷积处理时间维度。

class PseudoConv3d(nn.Module):def __init__(self,dim,dim_out = None,kernel_size = 3,*,temporal_kernel_size = None,**kwargs):super().__init__()dim_out = default(dim_out, dim)temporal_kernel_size = default(temporal_kernel_size, kernel_size)# 在2d卷积后,再加1d卷积来处理时间序列。self.spatial_conv = nn.Conv2d(dim, dim_out, kernel_size = kernel_size, padding = kernel_size // 2)self.temporal_conv = nn.Conv1d(dim_out, dim_out, kernel_size = temporal_kernel_size, padding = temporal_kernel_size // 2) if kernel_size > 1 else Noneif exists(self.temporal_conv):nn.init.dirac_(self.temporal_conv.weight.data) # initialized to be identitynn.init.zeros_(self.temporal_conv.bias.data)def forward(self,x,enable_time = True):b, c, *_, h, w = x.shapeis_video = x.ndim == 5enable_time &= is_videoif is_video:x = rearrange(x, 'b c f h w -> (b f) c h w')x = self.spatial_conv(x)if is_video:x = rearrange(x, '(b f) c h w -> b c f h w', b = b)if not enable_time or not exists(self.temporal_conv):return xx = rearrange(x, 'b c f h w -> (b h w) c f')x = self.temporal_conv(x)x = rearrange(x, '(b h w) c f -> b c f h w', h = h, w = w)return x

二、Tune A Video的处理方法(InflatedConv3d)

InflatedConv3d 选择展平法,使二维卷积适用于视频数据。具体步骤是先将视频数据展平成二维数据,进行二维卷积操作,然后再恢复回三维数据。

class InflatedConv3d(nn.Conv2d):def forward(self, x):video_length = x.shape[2]# 将输入的三维张量重排为二维形式以适配 Conv2dx = rearrange(x, "b c f h w -> (b f) c h w")# 调用父类的 forward 方法进行二维卷积操作x = super().forward(x)# 将卷积后的张量重新排列回三维形式x = rearrange(x, "(b f) c h w -> b c f h w", f=video_length)return x

InflatedConv3d源码链接

比较与分析

相似点

  1. 处理方式:
    两者都使用二维卷积处理空间维度上的特征。
    两者都通过数据形状重排来适应二维卷积的输入要求。

不同点

  1. 时间维度处理:
  • InflatedConv3d:不单独处理时间维度,而是通过二维卷积直接在展平后的数据上进行卷积,这种方式没有专门的时间卷积操作。
  • PseudoConv3d:先进行二维空间卷积,然后通过一维时间卷积处理时间维度。这样做能够明确分离空间和时间特征的提取。
  1. 卷积核初始化:
  • InflatedConv3d:直接使用父类 nn.Conv2d 的权重和偏置,没有特别的初始化。
  • PseudoConv3d:时间卷积核初始化为 Dirac 分布,使其初始状态下相当于恒等映射。
  1. 等价性
    严格来说,InflatedConv3d 和 PseudoConv3d 并不完全等价,因为它们处理时间维度的方式不同:
  • InflatedConv3d 是通过展平数据和二维卷积来“间接”处理时间维度。
  • PseudoConv3d 明确地在空间卷积后,使用一维卷积处理时间维度。

由于 PseudoConv3d 进行了显式的一维时间卷积,它在时间特征的提取上可能更灵活和强大,而 InflatedConv3d 则更简洁,但可能在处理复杂时间依赖时不如 PseudoConv3d。

结论

InflatedConv3d 和 PseudoConv3d 在一些情况下可以产生类似的效果,尤其是当时间维度的变化相对简单时。然而,PseudoConv3d 由于其明确的时间卷积操作,在处理复杂时间动态时可能更有效。因此,它们并不是严格等价的,但都在一定程度上解决了将二维卷积扩展到三维视频数据的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

准备了一些简单的面试题

当了一次面试官,主要是面试爬虫岗位,具体涉及scrapy爬虫框架和一些数据存储的小问题。具体的问题如下: scrapy框架如何将单机版爬虫改为分布式爬虫【使用scrapy_redis】,具体来讲需要修改哪几个组件的哪些具体部分Spider 1. 如何…

python3 List常用函数详细解释

python中 列表(list)的copy办法 1.先解决一个报错。 a [1,2,3] b a.copy print( b)报错: AttributeError: builtin_function_or_method object has no attribute copy这是因为a.copy语句并没有执行copy函数,而是把a.copy这个函…

React Antd ProTable 如何设置类似于Excel的筛选框

React Antd ProTable 如何设置类似于Excel的筛选框 目标:在web页面的table表格中完成类似于EXCEL的Filter筛选功能。 示例图:点击标题列上方的漏斗状图标,即可对数据进行筛选。 ProTable 前景提要 ProTable API中有说明,是有…

解决所有终端中文输出乱码的问题

一、系统自带的cmd.exe 以及 Git的bash.exe、sh.exe、git-bash.exe和git-cmd.exe,和PowerShell默认使用“当前系统区域设置”设定好的936 (ANSI/OEM - 简体中文 GBK)语言编码。 1、[当前代码页] 的936 (ANSI/OEM - 简体中文 GBK) 是导致中文乱码的原因 在控制面板→…

网络抓包分析工具

摘要 随着网络技术的快速发展,网络数据的传输和处理变得日益复杂。网络抓包分析工具作为网络故障排查、性能优化以及安全审计的重要工具,对于提升网络管理的效率和准确性具有重要意义。本文旨在设计并实现一款高效、易用的网络抓包分析工具,…

期末测试一

字符数组的排序注意的问题 &#xff1a; 1.对于输入字符的时候 如果给出了要输入几个字符 n >>>>> for ( i 0 ; i < n ;i ) { scanf("%c",&ch); } 如果说直到输入到换行符结束 >>>>>>while ( ch! \ n ) 这个需要额…

CSS|04 复合选择器伪类选择器属性选择器美化超链接

基本选择器&#xff1a;见上篇基本选择器 复合选择器选择器1,选择器2{属性:值;} 多元素选择器&#xff0c;同时匹配选择器1和选择器2&#xff0c;多个选择器之间用逗号分隔举例&#xff1a; p,h1,h2{margin:0px;}E F{属性:值;} 后代元素选择器&#xff0c;匹配所有属于E元素后…

基于长短时记忆网络LSTM的TE过程故障诊断(MATLAB R2021B)

实验所用 TE 仿真过程的数据集是网上公开的数据集&#xff0c;该数据集中的训练集和测试集分别包含 20 种故障工况和一种正常工况数据&#xff0c;其中所采集的每个样本信号包含 41 个测量变量和 11 个控制变量&#xff0c;所以每个时刻采集到的样本有 52 个观测变量。 TE 仿真…

NoSQL之Redis配置与管理

目录 一、关系型数据库和非关系型数据库 1.关系型数据库 2.非关系型数据库 3.关系型数据库和非关系型数据库区别 二、Redis 1.Redis简介 2.Redis 的优点 3.Redis 使用场景 4.Redis的数据类型 5.哪些数据适合放入缓存中&#xff1f; 6.Redis为什么这么快&#xff1f;…

BUG:AttributeError: module ‘websocket‘ has no attribute ‘enableTrace’

AttributeError: module ‘websocket’ has no attribute enableTrace’ 环境 windows 11 Python 3.10websocket 0.2.1 websocket-client 1.8.0 websockets 11.0.3 rel 0.4.9.19详情 一开始…

ActiveMQ camel

游览器输入地址: http://127.0.0.1:8161/admin/ 访问activemq管理台 账号和密码默认为: admin/admin# yml配置的密码也是如下的密码 activemq:url: failover:(tcp://localhost:61616)username: adminpassword: adminComponent public class ActiveMqReceiveRouter extends Rout…

AudioLM音频生成模型

GPT-4o (OpenAI) AudioLM&#xff08;Audio Language Model&#xff09;是一种生成音频的深度学习模型。它可以通过学习语言模型的结构来生成连贯和高质量的音频信号。这类模型通常应用于语音合成、音乐生成和音频内容生成等领域。以下是一些与AudioLM相关的核心概念和技术细…

【JavaEE进阶】Spring AOP使用篇

目录 1.AOP概述 2.SpringAOP快速入门 2.1 引入AOP依赖 2.2 编写AOP程序 3. Spring AOP详解 3.1 Spring AOP 核心概念 3.1.1切点(Pointcut) 3.1.2 连接点 (Join Point) 3.1.3 通知(Advice) 3.1.4 切面(Aspect) 3.2 通知类型 3.3PointCut 3.4 切面优先级 3.5 切点表…

基于经典滑膜控制的永磁同步电机调速系统MATLAB仿真

滑膜控制器 取PMSM状态变量为&#xff1a; ωref为目标转速&#xff0c;ωm为电机输出转速。将此式求导得&#xff1a; 定义系统滑模面函数为&#xff1a; 对滑模面函数求导 在电机实际控制时&#xff0c;滑模控制方法存在高频抖振问题&#xff0c;则需要选取合适的指数趋近率…

web前端——css(一篇教会网页制作)

目录 一、基本语法 1.行内样式表 2.内嵌样式表 3.外部样式表 二、选择器 1.标签选择器 2.类选择器 3.id 选择器 4.通配选择器 三、常见修饰 1.文本 2.背景 3.列表 4.伪类 5.透明度 6.块级、行级、行级块标签 7.div 和 span 四、盒子模型&#xff08;重点&…

【PostgreSQL】守护数据安全:事务与数据完整性管理

目录 事务管理&#xff1a;确保操作的原子性 事务的概念与重要性 事务的启动与提交 事务的回滚&#xff08;ROLLBACK&#xff09;&#xff08; 数据一致性与隔离级别 隔离级别的解释 设置隔离级别 错误处理与事务的高级策略 异常处理&#xff08;SAVEPOINT & EXCE…

25届最近5年重庆邮电大学自动化考研院校分析

重庆邮电大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试…

[数据集][目标检测]电缆钢丝绳线缆缺陷检测数据集VOC+YOLO格式1800张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1800 标注数量(xml文件个数)&#xff1a;1800 标注数量(txt文件个数)&#xff1a;1800 标注…

单例模式(下)

文章目录 文章介绍步骤安排及单例讲解step1&#xff1a;注册单例类型&#xff08;main.cpp&#xff09;step2&#xff1a;定义类和私有构造函数&#xff08;keyboardinputmanager.h&#xff09;step3:&#xff08;keyboardinputmanager.cpp&#xff09;step4&#xff1a;在qml中…

雷卯一站式解决电子设备静电浪涌与接口安全

在快速演进的数字时代&#xff0c;电子设备不仅是日常生活的核心&#xff0c;更是工业自动化、智能穿戴、智能家居乃至未来交通的基石。然而&#xff0c;随着技术边界的不断拓展&#xff0c;设备面临的挑战也日益严峻&#xff0c;尤其是来自静电放电(ESD)、浪涌冲击及电磁干扰的…