论文阅读:SimVP: Simpler yet Better Video Prediction

news2024/9/25 17:10:52

论文地址:arxiv

摘要

作者认为,现有的CNN,RNN,Transformer 之类的视频预测领域的模型都过于复杂了,作者想要找到一个简单的方式,同时可以达到与之相当的效果。

作者提出了 SimVP,这是一个简单的视频预测模型,完全基于 CNN 构建,通过均方误差(MSE)损失函数以端到端的方式进行训练。在不引入任何额外技巧与复杂策略的情况下,就可以实现最先进的性能。

正文

深度视频预测模型当前主要有 4 类,如图所示:

分别是:

  1. RNN-RNN-RNN
  2. CNN-RNN-CNN
  3. CNN-ViT-CNN
  4. CNN-CNN-CNN

在纯 CNN 基础模型方面,要提高准确度,通常要使用各种技术,但是作者探索出了一个简单模型的新高度。

问题描述

给定一个在时间 t t t 的包含过去 T T T 帧的视频序列 X t , T = { x i } t − T + 1 t X_{t,T}=\{x_{i}\}^t_{t-T+1} Xt,T={xi}tT+1t,而目标是在时间 t t t 预测未来的序列 Y t , T ′ = { x i } t t + T ′ Y_{t,T'} = \{x_{i}\}^{t+T'}_t Yt,T={xi}tt+T。该序列包含接下来的 T ′ T' T 帧,其中 x i x_{i} xi 是一个具有通道数 C C C,高度 H H H 和宽度 W W W 的图像。形式上,预测模型是一个映射 F Θ : X t , T − > Y t , T ′ F_\Theta:X_{t,T}->Y_{t,T'} FΘ:Xt,T>Yt,T,其中的可学习参数 Θ \Theta Θ 通过以下公式优化:

Θ ∗ = arg ⁡ min ⁡ Θ L ( F Θ ( X t , T ) , Y t , T ′ ) \Theta ^* = \arg \min _{\Theta } \mathcal {L}(\mathcal {F}_{\Theta }(\boldsymbol {X}_{t, T}), \boldsymbol {Y}_{t, T'}) Θ=argΘminL(FΘ(Xt,T),Yt,T)
L L L 可以是各种损失函数。

模型架构

SimVP 由一个编码器,一个翻译器,一个解码器组成。

  • 编码器用于提取空间特征
  • 翻译器学习时间演变
  • 解码器则整合时间信息以预测未来帧

编码器

编码器堆叠了 N s N_s Ns 个 ConvNormReLU 块(Conv2d+LayerNorm+LeakyReLU)来提取空间特征,即在 (H,W)上进行 C 通道的卷积。隐藏特征表示为:

z i = σ ( L a y e r N o r m ( C o n v 2 d ( z i − 1 ) ) ) , 1 ≤ i ≤ N s z_{i} = \sigma (\mathrm {LayerNorm} (\mathrm {Conv2d}(z_{i-1}))), 1 \leq i \leq N_s zi=σ(LayerNorm(Conv2d(zi1))),1iNs

其中输入 z i − 1 z_{i-1} zi1 ​和输出 z i z_i zi 的形状分别为 ( T , C , H , W ) (T, C, H, W) (T,C,H,W) ( T , C , H ^ , W ^ ) (T, C, \hat{H}, \hat{W}) (T,C,H^,W^)

翻译器

翻译器使用 N t N_t Nt 个 Inception 模块来学习时间演变,即在 ( H , W ) (H, W) (H,W) 上进行 T ∗ C T*C TC 通道的卷积。

Inception 模块由一个 1*1 大小的 Conv2d 后接并行的 GroupConv2d 操作符完成。隐藏特征表示为:
z j = I n c e p t i o n ( z j − 1 ) , N s < j ≤ N s + N t z_{j} = \mathrm {Inception}( z_{j-1} ), N_s < j \leq N_s+N_t zj=Inception(zj1),Ns<jNs+Nt
其中输入 z j − 1 z_{j-1} zj1 和输出 z j z_j zj 的形状分别为 ( T ∗ C , H , W ) (T*C, H, W) (TC,H,W) ( T ^ ∗ C ^ , H , W ) (\hat{T}*\hat{C}, H, W) (T^C^,H,W)

解码器

解码器使用 N s N_s NsunConvNormReLU 块(ConvTranspose2d+GroupNorm+LeakyReLU)来重建真实帧,在(H, W)上进行 C 通道的卷积。隐藏特征表示为

z k = σ ( G r o u p N o r m ( u n C o n v 2 d ( z k − 1 ) ) ) , N s + N t < k ≤ 2 N s + N t z_{k} = \sigma (\mathrm {GroupNorm} (\mathrm {unConv2d}(z_{k-1}))),\\ N_s+N_t < k \leq 2N_s + N_t zk=σ(GroupNorm(unConv2d(zk1))),Ns+Nt<k2Ns+Nt

其中,输入 z k − 1 z_{k-1} zk1 与输出 z k z_k zk 的形状分别为 ( T , C ^ , H ^ , W ^ ) (T,\hat{C},\hat{H}, \hat{W}) (T,C^,H^,W^) ( T , C , H , W ) (T,C,H,W) (T,C,H,W)。使用 ConvTransposed2d 作为 unConv2d 操作符。

模型评估

使用均方误差(MSE)、平均绝对误差(MAE)、结构相似性指数(SSIM)和峰值信噪比(PSNR)来评估预测质量。

在五个数据集上进行实验,从而来进行评估,如下所示:

性能评估

可以看到,SimVP、PhyDNet和CrevNet显著优于先前的方法,MSE降低达到42%。然而,SimVP比PhyDNet和CrevNet简单得多,没有使用RNN、LSTM或复杂模块。

训练时间

由上可知,SimVP 的训练过程比其他方法快得多,所以 SimVP 可以更容易地使用与扩展。

翻译器的使用

使用 RNN 和 Transformer 替换了 CNN ,再进行测试。使用了不同模型中的翻译器来,测试后得到以下结果:

可以得出结论:

  1. CNN和RNN在有限的计算成本下实现了最先进的性能。
  2. 如果模型容量足够,RNN在长期内收敛速度更快。
  3. CNN训练更稳健,在大学习率下不会剧烈波动。
  4. 在类似的资源消耗下,Transformer在我们的SimVP框架中没有优势。

评判能否到 SOTA 水平

SimVP可以在轻量级其次上达到 SOTA 结果。此外,与 PhyDNet 相比,SimVP 的训练时间更短。

可以看到在不同的数据集上有良好的泛化能力。

可以看到,SimVP 在灵活预测长度的情况下扩展良好。SimVP 达到了最新的性能。

消融实验

哪个架构的设计对于性能有关键的作用?

由上图 1-4 可知:空间UNet、时间UNet、分组卷积和分组归一化都能带来性能提升,其重要性排序为:分组卷积 > 分组归一化 ≈ 空间UNet ≈ 时间UNet。

卷积核对性能的影响

由上图 5-8 可知,随着核大小的增加,可以看到显著的性能提升。通过将模型 8 的隐藏维度加倍构建于模型 9,这种提高可以进一步增强。

编码器,转换器,解码器的角色

  • 转换器主要关注预测物体的位置和内容。
  • 解码器负责优化前景物体的形状。
  • 编码器可以通过空间UNet连接消除背景误差。

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

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

相关文章

Linux工具使用

Linux编辑器-vim使用 1.vim的基本概念 在vim中&#xff0c;主要的三种模式分别是命令模式&#xff0c;插入模式和底行模式。 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动&#xff0c;字符、字或行的删除&#xff0c;移动复制某区段及进入Insert mode下&#xff0c;…

【软件工程】软件生命周期(生存周期)

考点3 软件生命周期&#xff08;生存周期&#xff09; 一、定义 软件产品或软件系统从设计、投入使用到被淘汰的全过程。 二、3周期 题目 一、判断题 二、选择题

冲击大厂算法面试=>链表专题【链表反转】

目录标题 最基础的反转链表上代码题解呀实在不会的时候记住 最基础的反转链表 上代码 class Solution {public ListNode reverseList(ListNode head) {ListNode pre null;ListNode cur head;while(cur ! null){ListNode nextNode cur.next;cur.next pre;pre cur;cur nex…

[HZNUCTF 2023 preliminary]flask

[HZNUCTF 2023 preliminary]flask 点开之后页面如图所示&#xff1a; 猜测是SSTI模板注入&#xff0c;先输入{7*7},发现模板是倒序输入的&#xff1a; 然后我们输入}}‘7’*7{{返回777777&#xff0c;这是jinja2模板&#xff1a; 我们需要让用户输入一个字符串&#xff0c;对其…

计算机视觉基础. 1 学习导论

1 .引言 学习的目的是从过去的经验中吸取教训&#xff0c;以解决未来的问题。通常&#xff0c;这涉及搜索解决问题过去实例的算法。然后&#xff0c;该算法可以应用于该问题的未来实例。 过去和未来不一定指日历日期&#xff1b;相反&#xff0c;它们指的是学习者之前看到的内…

Windows下devecostudio-windows-3.1.0.501的下载与安装教程

Windows下devecostudio-windows-3.1.0.501的下载与安装教程 1.华为开发者联盟 2.Deveco Studio下载 一、注册华为账号 进入华为开发者联盟&#xff0c;注册华为账号&#xff08;如果有手机华为账号&#xff0c;这里通用&#xff09; 二、下载Deveco Studio3.1.0.501 链接&am…

C++入门基础知识39——【关于C++ 运算符——位运算符】

成长路上不孤单&#x1f60a;【14后&#xff0c;C爱好者&#xff0c;持续分享所学&#xff0c;如有需要欢迎收藏转发&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#xff01;&#xff01;&#xff01;&#xff01;&#xff…

GitHub的AI未来:CEO Thomas Dohmke深入解析

在近期的一次深入访谈中,GitHub的首席执行官Thomas Dohmke分享了他对AI在编程领域未来的看法,GitHub Copilot的成就,以及在微软生态下保持独立性的重要性。以下是对这次讨论的精华总结。 GitHub在AI领域的定位 Thomas Dohmke认为,AI技术需要竞争来推动发展。他指出,GitH…

类与ES6类之间的继承

前言 ● 下面是之前学习ES6 classes的代码 class PersonCl {constructor(fullName, birthYear) {this.fullName fullName;this.birthYear birthYear;}calcAge() {console.log(2037 - this.birthYear);}greet() {console.log(你好${this.fullName});}get age() {return 2037…

JVM 锁的种类

优质博文&#xff1a;IT-BLOG-CN 一、JVM 锁【偏向锁|轻量级锁|重量级锁】 对象头[每个对象都具有对象头] Mark&#xff1a;对象头的标记&#xff08;32位&#xff09;&#xff0c;描述对象的hash、锁信息、垃圾回收标记、年龄&#xff1b;内容包括&#xff1a;①、指向锁记录…

OpenShift 与 Rancher

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Nacos2.4.1安装

Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网 下载后解压 进入解压目录/bin window启动命令 startup.cmd -m standalone 用的JDK环境17 遇到报错 第一个办法 退回2.4.0哈哈哈 nacos配置为JDK1.8&#xff0c;而JDK17开始使用按模块引入包语法…

阀控多功能智能水表是什么?

阀控多功能智能水表是一种集成了多种先进技术和功能的新型水表&#xff0c;主要用于精确计量和控制水流量。这类水表不仅能够提供准确的数据记录&#xff0c;还具备远程控制、故障报警、数据分析等多种智能功能&#xff0c;适用于住宅、商业和工业等多种应用场景。本文将深入探…

泽众P-One性能测试平台中的环境管理与施压集群分配

P-One是泽众软件自主研发的一站式性能测试平台&#xff0c;在软件性能测试中发挥着重要作用。其中&#xff0c;环境管理和施压集群分配是P-One的关键功能&#xff0c;对于确保测试的准确性和有效性至关重要。 一、环境部署 P-One可以对已安装的压力机进行集中管理&#xff0c;…

240828-Gradio结合Html+Css+Javascript制作年历

A. 最终效果 需求描述 html javascript css 按年生成2016年至2116年的日历&#xff0c;要求如下&#xff1a; 二行六例&#xff0c;每个单元是一个月&#xff0c;且每个单元包含周次信息通过背景为红色的圆圈高亮显示当前的日期第一页显示今年&#xff0c;鼠标左边或键盘左键…

电梯按钮检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

电梯按钮检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

RKNPU入门与实践 ---- 混合量化

目录 前言 一、混合量化 1.1 概念介绍 1.1.1 hybrid_quantization_step1 1.1.2 hybrid_quantization_step2 二、实际编写程序 2.1混合量化第一阶段 2.2 混合量化第二阶段 三、混合量化第一步接口参数proposal 前言 为什么要进行混合量化&#xff1f; 答案&#x…

Zookeeper未授权访问的漏洞处理

echo envi |nc 192.168.0.1 2181 这个命令可以用于获取Zookeepr&#xff08;下面有zk代替&#xff09;目标服务器的环境信息、部署路径、版本等敏感信息。如果这些信息被恶意利用&#xff0c;确实可能导致安全漏洞&#xff0c;进而对网络和服务器安全构成威胁。 1.执行zkCli.…

XSS LABS - Level 17 过关思路

关注这个靶场的其他相关笔记&#xff1a;XSS - LABS —— 靶场笔记合集-CSDN博客 0x01&#xff1a;过关流程 进入靶场&#xff0c;空空如也&#xff0c;右击页面&#xff0c;查看网页源码&#xff0c;找找可疑点&#xff1a; 可以看到&#xff0c;靶场默认传参&#xff0c;都传…

初赛试题-2022年CSP-J2

目录 先言 二、阅读程序&#xff08;判断题1.5分&#xff0c;选择题3分&#xff0c;共40分&#xff09; &#xff08;1&#xff09; 16. 17. 18. 19. 20. 21. &#xff08;2&#xff09; 22. 23. 24. 25. 26. 27. &#xff08;3&#xff09; 28. 29. 30. 3…