Mora:多智能体框架实现通用视频生成

 人工智能咨询培训老师叶梓 转载标明出处

尽管已有一些模型能够生成视频,但大多数模型在生成超过10秒的长视频方面存在局限。Sora模型的出现标志着视频生成能力的一个新时代,它不仅能够根据文本提示生成长达一分钟的详细视频,而且在编辑、连接和扩展视频片段方面表现出色。但它的封闭源代码限制了学术界的进一步研究和应用。

为了解决这一问题,来自利哈伊大学和微软研究院的研究人员提出了一种名为Mora的新型多智能体框架。该框架通过集成多个先进的视觉人工智能代理,模拟了Sora展示的通用视频生成能力。Mora能够利用多个视觉代理,在多种任务中成功模仿Sora的视频生成能力,这些任务包括文本到视频的生成、文本条件图像到视频的生成、扩展生成的视频、视频到视频的编辑、连接视频以及模拟数字世界等。图1为 Mora 文本到视频生成的样本,包括发射中的白色火箭、城市公园中穿行的电动滑板以及充满活力的珊瑚礁。

方法

Mora框架通过定义一系列具有不同能力的智能体来实现灵活性,将复杂的视频生成任务分解为更小、更具体的子任务。每个智能体都负责特定的输入和输出,并且为最终的视频生成贡献其专业化的输出。在Mora框架中,有五种基本角色的智能体:

  1. 文本提示选择和生成智能体(Prompt Selection and Generation Agent): 在初始图像生成之前,文本提示会经过严格的处理和优化阶段。这个关键智能体可以利用像GPT-4或Llama这样的大型语言模型,细致地分析文本,提取其中的关键信息和动作,从而显著提高生成图像的相关性和质量。这一步确保文本描述被充分准备,以便有效地转化为视觉表示。

  2. 文本到图像生成智能体(Text-to-Image Generation Agent): 这个智能体负责将丰富的文本描述转换成高质量的初始图像。它通过深入理解和可视化复杂的文本输入,能够制作出详细且准确的视觉对应物。

  3. 图像到图像生成智能体(Image-to-Image Generation Agent): 这个智能体根据特定的文本指令修改给定的源图像。它的核心功能在于能够准确解释详细的文本提示,并将这些见解应用于相应地操作源图像,包括从微妙的改动到彻底的变换。

  4. 图像到视频生成智能体(Image-to-Video Generation Agent): 在创建初始图像之后,视频生成模型负责将静态帧转换为充满活力的视频序列。这个组件深入分析初始图像的内容和风格,为生成后续帧奠定基础,确保叙事流程的连贯性,最终产生一个在时间上稳定、视觉上一致的视频。

  5. 视频连接智能体(Video Connection Agent): 利用视频到视频代理,研究者可以根据用户提供的两个输入视频创建无缝过渡的视频。这个高级智能体能够选择性地利用每个输入视频的关键帧,确保它们之间的平滑和视觉上的一致过渡。

图 2 展示了如何使用Mora来执行与视频相关的任务。流程从文本提示开始,经过多个智能体的处理,最终生成视频。每个智能体都负责特定的步骤,包括文本增强、图像生成、图像编辑、视频生成和视频提取。

任务实施(Approaches): 研究者通过设定智能体的角色和操作技能,定义了不同任务的基本工作流程。他们设计了六种文本到视频生成任务,包括:

  • 文本到视频生成
  • 文本引导的图像到视频生成
  • 扩展生成的视频
  • 视频到视频编辑
  • 连接视频
  • 模拟数字世界

这些任务通过智能体间的协作得以实现。例如,在文本到视频生成任务中,文本到图像智能体首先根据文本提示生成初始帧,然后图像到视频智能体基于这些帧生成视频序列。在文本引导的图像到视频生成任务中,智能体会结合文本提示和初始图像来生成视频。这些智能体共同协作以完成视频生成任务,Mora框架中各个智能体的实现细节如下:

文本提示选择和生成(Prompt Selection and Generation): 当前,GPT-4 是可用的最先进的生成模型之一。通过利用GPT-4的能力,研究者能够生成并精心选择高质量的文本提示。这些提示详细且信息丰富,为文本到图像的生成过程提供全面的指导,从而促进了生成图像的相关性和质量。

文本到图像生成(Text-to-Image Generation): 研究者使用了预训练的大型文本到图像模型来生成高质量且有代表性的第一张图像。他们采用了Stable Diffusion XL (SDXL) 模型作为首次实现。SDXL在潜在扩散模型的架构和方法论上进行了重大演变,为文本到图像合成设立了新的基准。其核心架构是一个扩大的UNet骨干网络,比Stable Diffusion 2中使用的大三倍。这一扩展主要是通过增加注意力块的数量和扩大交叉注意力上下文来实现的,得益于集成了双文本编码器系统。第一个编码器基于OpenCLIP的ViT-bigG,而第二个使用CLIP ViT-L,通过连接这些编码器的输出,允许对文本输入进行更丰富、更细腻的解释。SDXL还具有一个精细化模型,采用事后图像到图像的转换来提升生成图像的视觉质量,利用噪声-去噪技术进一步润色输出图像,而不牺牲生成过程的效率或速度。

图像到图像生成(Image-to-Image Generation): 研究者的初始框架利用InstructPix2Pix作为图像到图像生成智能体。InstructPix2Pix被设计得非常复杂,能够根据自然语言指令进行有效的图像编辑。该系统整合了两个预训练模型的广泛知识:GPT-3用于从文本描述生成编辑指令和编辑后的标题,Stable Diffusion用于将这些基于文本的输入转换为视觉输出。这一巧妙的方法首先在精选的图像标题和相应的编辑指令数据集上对GPT-3进行微调,从而得到一个能够创造性地建议合理编辑并生成修改后的标题的模型。然后,Stable Diffusion模型,辅以Prompt-to-Prompt技术,根据GPT-3生成的标题生成图像对(编辑前后)。InstructPix2Pix的核心条件扩散模型随后在这些生成的数据集上进行训练。InstructPix2Pix直接利用文本指令和输入图像在单次前向传递中执行编辑。通过采用无分类器的指导,提高了效率,允许模型在保持对原始图像的忠实度和遵循编辑指令之间取得平衡。

图像到视频生成(Image-to-Video Generation): 在文本到视频生成智能体中,视频生成智能体在确保视频质量和一致性方面发挥着重要作用。研究者首次实现采用了最先进的视频生成模型**Stable Video Diffusion (SVD)**来生成视频。SVD架构引入了一种尖端方法,通过利用Stable Diffusion v2.1的优势生成高分辨率视频,并将它们的能力扩展到处理视频内容固有的时间复杂性。SVD模型遵循一个三阶段的训练制度,从文本到图像开始,模型从多样化的图像集合中学习强大的视觉表示。这为模型提供了理解和生成复杂视觉模式和纹理的基础。在第二阶段,视频预训练中,模型接触到大量的视频数据,使其能够通过结合时间卷积和注意力层以及其空间对应层来学习时间动态和运动模式。这一训练是在系统策划的数据集上进行的,确保模型从高质量和相关的视频内容中学习。最后一个阶段,高质量视频微调,专注于通过使用较小但更高质量的数据集来完善模型生成更高分辨率和保真度视频的能力。这种分层训练策略,辅以新颖的数据策划过程,使SVD在制作具有显著细节、逼真度和时间连贯性的文本到视频和图像到视频合成方面表现出色。

连接视频(Connect Videos): 对于视频连接任务,研究者使用了SEINE模型来连接视频。SEINE建立在一个预训练的基于扩散的T2V模型之上,LaVie代理。SEINE以随机掩码视频扩散模型为中心,该模型基于文本描述生成过渡。通过整合不同场景的图像和基于文本的控制,SEINE产生保持连贯性和视觉质量的过渡视频。另外该模型可以扩展用于图像到视频动画和自回归视频预测等任务。

通过这些智能体的合作,Mora框架能够完成从文本到视频的多样化任务,包括文本到视频生成、文本引导的图像到视频生成、扩展生成的视频、视频到视频编辑、连接视频以及模拟数字世界等。每个智能体都在其专业领域内发挥着关键作用,共同推动了视频生成技术的发展。

实验

在文本到视频生成任务中,研究者选择了多个表现出色的开源模型作为基线,这些模型包括Videocrafter1、Show-1、Pika、Gen-2、ModelScope、LaVie-Interpolation、LaVie和CogVideo。这些模型在视频生成领域具有一定的竞争力,为Mora框架提供了对比基准。

评价体系由两部分组成:视频质量和视频条件一致性。具体到视频质量的测量,使用了以下六个指标:

  • 对象一致性(Object Consistency):通过DINO模型计算帧间特征的相似性,评估视频中对象外观是否保持一致。
  • 背景一致性(Background Consistency):利用CLIP模型计算帧间特征的相似性。
  • 运动平滑度(Motion Smoothness):使用视频帧插值模型AMT的运动先验来评估生成运动的平滑度。
  • 审美评分(Aesthetic Score):使用LAION审美预测器对每个视频帧进行评估,判断人类感知的艺术性和美感。
  • 动态程度(Dynamic Degree):利用RAFT模型估计合成视频中的动态程度。
  • 成像质量(Imaging Quality):使用MUSIQ图像质量预测器(在SPAQ数据集上训练)来计算。

对于视频条件一致性的测量,使用了以下两个指标:

  • 时间风格(Temporal Style):利用ViCLIP计算视频特征与时间风格描述特征之间的相似性,反映时间风格的一致性。
  • 外观风格(Appearance Style):通过计算合成帧与输入提示之间的CLIP特征相似性,评估外观风格的一致性。

在文本到视频生成的实验中,研究者遵循了Sora技术报告中提供的文本提示的风格,并使用GPT-4在少量样本设置下生成更多文本。同样,GPT-4也被用于在零样本设置下生成相同数量的文本。所有生成的文本提示随后被输入到文本到视频模型中生成视频。为了与Sora进行比较,研究者使用了Sora官方网站和技术报告中展示的视频。

所有实验都在两个TESLA A100 GPU上进行,配备了总共2×80GB的VRAM。核心处理由4×AMD EPYC 7552 48-Core处理器处理。内存分配设置为320GB。软件环境标准化为PyTorch版本2.0.2和CUDA 12.2用于视频生成,以及PyTorch版本1.10.2和CUDA 11.6用于视频评估。

表 2中列出了Mora在各个评价指标上的表现。Mora在所有指标上都展现出了令人称赞的性能,与表现最佳的模型Sora非常接近,并且在多个方面超越了其他竞争对手:

  • Mora在视频质量(Video Quality)上得分为0.792,紧随Sora的0.797,超过了现有的最佳开源模型VideoCrafter1。
  • 在对象一致性(Object Consistency)上,Mora得分0.95,与Sora持平,显示出在视频过程中保持对象身份的优越一致性。
  • 在背景一致性(Background Consistency)和运动平滑度(Motion Smoothness)上,Mora分别获得0.95和0.99的高分,这表明Mora在背景稳定性和生成视频内运动的流畅性方面具有高保真度。
  • 尽管Sora在背景一致性上以0.96略胜一筹,但差距非常小。
  • 在审美质量(Aesthetic Quality)方面,Mora得分0.57,虽然不是最高,但与其他模型相比显示出竞争力,Sora在此方面的得分稍高,为0.60。
  • Mora在动态程度(Dynamic Degree)和成像质量(Imaging Quality)上的得分分别为0.70和0.59,展现出其在生成动态且视觉上引人注目的内容方面的实力,超越了所有其他模型。
  • 在时间风格(Temporal Style)上,Mora得分0.26,表明其在处理视频生成的时间方面具有强大的能力。尽管这一表现值得称赞,但也显示出Mora与在这一类别中得分0.35的Sora之间存在明显差距。

在前面图 1中,Mora的文本到视频生成的视觉保真度引人注目,展现出高分辨率的图像,并在细节上极度关注,正如伴随的文本描述所表达的。从火箭发射到充满活力的珊瑚生态系统,再到城市滑板的小插曲,这些场景的生动描绘突显了系统在捕捉和转换文本提示中描述的活动和环境的本质到视觉连贯序列的能力。图像展现出的时间连贯性反映了Mora对叙事进展的细微理解,这是从文本提示合成视频的一个基本质量。

通过分析表 3,我们可以发现Mora在文本条件图像到视频生成方面的能力表现显著,紧随Sora之后。Sora在视频文本整合(VideoTI)得分为0.90,运动平滑度(Motion Smoothness)为0.99,强调了其在与提供的文本对齐以及在生成视频中运动流畅度方面的精细调整。Mora在视频文本整合上的得分为0.88,运动平滑度为0.97,虽然略低,但反映了其在准确解释文本提示和生成平滑运动序列方面的坚固潜力。两个模型在动态程度上都得到了0.75的匹配分数,表明它们在为视频注入活动和运动感方面的相当熟练度。成像质量得分显示Sora以0.63略微领先于Mora的0.60,暗示了Sora在视频序列内图像渲染方面的微妙优势。

在图 3中,Sora和Mora的视频输出之间的定性比较显示,两个模型都能巧妙地融合输入提示和图像中的元素。无论是怪物插图还是拼写"SORA"的云朵,都被两个模型很好地保留并动态地转化为视频。尽管在定量差异上存在差异,但Mora的定性结果几乎与Sora相媲美,两个模型都能将文本描述中的静态图像和叙事元素转化为连贯的视频。这种定性观察证明了Mora生成视频的能力,这些视频在保持原始输入的主题和美学本质的同时,与Sora的输出非常接近,实现了在将文本条件图像渲染成视频格式方面的高性能。

表 4中的定量结果揭示了尽管Sora在TCON和成像质量方面略胜一筹,表明其在扩展视频序列方面的更高一致性和保真度,但Mora的表现仍然很接近,TCON的边际差异为0.05,成像质量为0.04。时间风格得分的接近性,Sora为0.24,Mora为0.22,进一步表明Mora几乎与Sora一样,在保持时间上的连贯性方面做得很好。尽管Sora领先,但Mora在遵循时间风格和扩展现有视频而不显著损失质量方面的能力,证明了其在视频扩展领域的有效性。

从定性角度来看,图 4展示了Mora在扩展视频序列方面的能力。Sora和Mora都能巧妙地保持从原始视频到扩展视频的叙事流程和视觉连贯性。尽管定量分析中突出了轻微的数字差异,但定性输出表明Mora的扩展视频在保持原始内容的本质方面具有高度的保真度。Mora生成的序列中骑手的运动和周围环境的模糊效果的保留展示了其产生不仅连贯而且保留原始运动和能量特征的扩展视频的能力。这种视觉评估强调了Mora在生成与原始视频非常接近的扩展视频内容方面的熟练程度,保持了叙事上下文和视觉完整性,从而提供了与Sora性能的近乎平等。

表 5展示了Sora和Mora在视频到视频编辑能力方面的比较分析。Sora在成像质量上以0.52的得分获得更高分,这表明其在视频编辑过程中保留了视觉细节和整体图像保真度方面的优越能力。Mora在视频到视频编辑方面表现出能力,成像质量得分为0.38。尽管这个得分与Sora相比有明显的差距,但它为未来Mora迭代中针对性增强提供了宝贵的见解。在时间风格方面,两个模型表现出相近的性能,Sora以0.24略微领先于Mora的0.23。这种接近平等强调了Mora模仿Sora实现的风格时间连贯性的能力,确保编辑后的视频保留了连贯的风格,这是无缝视频到视频编辑的一个关键方面。

在定性评估中,图 5展示了视频到视频编辑任务的样本,其中Sora和Mora都被指示将设置更改为20世纪20年代的风格,同时保持汽车的红色。视觉上,Sora的输出展示了一个令人信服的转变,将现代环境更改为让人想起20世纪20年代的风格,同时仔细保留了汽车的红色。Mora的转换虽然实现了任务指示,但在执行环境修改方面显示出差异,从生成视频的样本帧中可以看出,为了达到Sora展示的视觉真实性,还有进一步增强的潜力。然而Mora对指定的汽车红色保持一致性突显了其遵循详细指示并在视频内容中实施相当大变化的能力。这种能力虽然不如Sora精细,但展示了Mora在重要视频编辑任务中的潜力。

基于表 6中显示的结果的定量分析表明,Sora模型在成像质量和Tmean方面优于Mora。Sora在成像质量上获得0.52的得分,表明其在视觉表现上的高保真度与Mora的0.42相比。另外Sora在时间连贯性方面的优越性显而易见,得分为0.64,这意味着Sora比Mora(得分为0.45)更能保持随时间一致的视觉叙述。这种定量评估不仅巩固了Sora作为创造高质量、时间连贯视频序列的优越模型的地位,而且还为Mora框架未来在视频连接性方面的增强指明了方向。

定性分析基于图 6,与Sora在合成中间视频片段方面的熟练程度相比,它成功地将前一段素材的背景元素和后续帧中的独特对象融入单个画面,Mora模型展示了模糊的背景,导致无法清晰识别对象。强调了提高生成的中间视频中图像保真度以及与整个视频序列的一致性的潜力。这将有助于改进视频连接过程,提高Mora模型输出的集成质量。

在评估数字世界模拟能力方面,表 7展示了Sora和Mora之间的比较指标分析。Sora在成像质量上以0.62的得分领先,这表明其在渲染数字世界方面具有更高程度的视觉现实主义和保真度。Mora虽然表现出了0.52的胜任水平,但落后于Sora,这表明在实现相同水平的图像清晰度和细节方面还有改进的空间。然而,两个模型在外观风格上都取得了相同的0.23分,这反映了它们在将文本描述转换为视觉美学方面的同等熟练度。这表明,尽管成像质量存在差异,但两个模型都能以同等的熟练度完成文本描述到视觉美学的风格转换。

在定性评估中,图 7展示了模拟数字世界任务的样本,其中Sora和Mora都被指示生成"Minecraft"场景的视频。在Sora生成的帧的顶行中,可以看到视频保持了数字世界美学的典型纹理和元素的高保真度,特征是清晰的边缘、鲜艳的颜色和明确的对象定义。猪和周围环境似乎非常符合人们期望的高分辨率游戏或数字模拟的风格。这些是Sora性能的关键方面,表明与用户输入非常一致的高质量合成,同时保持视觉连贯性和数字真实性。Mora生成的帧的底行表明了朝着实现Sora的数字模拟质量迈出的一步,但也存在明显差异。尽管Mora似乎有效地模仿了数字世界的主题,但在视觉保真度方面存在可见的差距。Mora生成的图像展现出略显柔和的调色板、不太明显的对象边缘和似乎比Sora输出更低的分辨率。这表明Mora仍处于发展阶段,其生成能力需要进一步改进才能达到Sora的性能水平。

尽管与Sora相比还存在一定的性能差距,但Mora的开源特性和多智能体合作方法展示了巨大的潜力。未来的研究可以探索更复杂的自然语言理解能力的集成,以及实时反馈循环的扩展,以提供更动态和响应式的交互视频创作体验。

论文链接:https://arxiv.org/abs/2403.13248

项目地址:https://github.com/lichao-sun/Mora

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

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

相关文章

【CSS】定位

static ( 默认 )relative ( 相对定位 )absolute ( 绝对定位 )fixed ( 固定定位 )sticky ( 粘性定位 ) 普通文档流?浮动也会让元素脱离文档流,如果不设置浮动所有元素都处于普通文档流中。普通文档流中元素框的位置由元素在HTML中的位置决定,块…

Redisson分布式锁的概念和使用

Redisson分布式锁的概念和使用 一 简介1.1 什么是分布式锁?1.2 Redisson分布式锁的原理1.3 Redisson分布式锁的优势1.4 Redisson分布式锁的应用场景 二 案例2.1 锁竞争案例2.2 看门狗案例2.3 参考文章 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff…

文献阅读——基于拉格朗日乘子的电力系统安全域边界通用搜索方法

摘要 为提升电力系统安全域(security region,SR)的构建效 率,提出一种基于拉格朗日乘子(Lagrange multiplier,LM) 的电力系统安全域边界(security region boundary,SRB)通用搜索方法。 首先,根据电力系统静态安全性问…

2024.9.25 数据分析学习

资料: 【开课吧哩堂】数据挖掘项目之用户流失预警系统_哔哩哔哩_bilibili 五万字 | Spark吐血整理,学习与面试收藏这篇就够了!-腾讯云开发者社区-腾讯云 (tencent.com) 黑马程序员Spark全套视频教程,4天spark3.2快速入门到精通…

文件上传漏洞+CTF实例

解题思路 前端绕过 手动修改前端js代码进行绕过:右击-查看页面源代码-ctff进行位置定位-修改JavaScript函数 后端绕过 文件类型绕过(Content-Type) 常见MIME类型描述application/octet-stream 表示所有其他情况的默认值 text/plain表示文…

啥?Bing搜索古早BUG至今未改?

首先,大家先看下面的一个数学公式。 Γ ( z ) ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)∫0∞​tz−1e−tdt. 看不懂?没关系,因为我也看不懂 这不是谈论的重点。 当你把鼠标光标移到公式的最开头&…

小程序-生命周期与WXS脚本

生命周期 什么是生命周期 生命周期(Life Cycle)是指一个对象从创建 -> 运行 -> 销毁的整个阶段,强调的是一个时间段。 我们可以把每个小程序运行的过程,也概括为生命周期: 小程序的启动,表示生命…

Github 2024-09-23 开源项目周报 Top15

根据Github Trendings的统计,本周(2024-09-23统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6C++项目3C项目3HTML项目2PowerShell项目1TypeScript项目1JavaScript项目1Blade项目1PHP项目1Bootstrap 5: Web上开发响应式、移动优…

Kafka 面试题

参考: https://javabetter.cn/interview/kafka-40.htmlhttps://javaguide.cn/high-performance/message-queue/kafka-questions-01.html Kafka 架构 名词概念 Producer(生产者) : 产生消息的一方。 Consumer(消费者) …

影刀---实现我的第一个抓取数据的机器人

你们要的csdn自动回复机器人在这里文末哦! 这个上传的资源要vip下载,如果想了解影刀这个软件的话可以私聊我,我发你 目录 1.网页对象2.网页元素3.相似元素组4.元素操作设置下拉框复选框滚动条获取元素的信息 5.变量6.数据的表达字符串变量列…

数据库主备副本物理复制和逻辑复制对比

数据库主从节点的数据一致性是保证数据库高可用的基本要求,各个数据库在实现方式上也各有异同。而主备复制的方式无外乎两种:物理复制和逻辑复制,本文简要对比下两种方式的不同,并分析下国产数据库是如何实现的。 1、数据库复制基…

初试Bootstrap前端框架

文章目录 一、Bootstrap概述二、Bootstrap实例1、创建网页2、编写代码3、代码说明4、浏览网页,查看结果5、登录按钮事件处理6、浏览网页,查看结果 三、实战小结 一、Bootstrap概述 大家好,今天我们将一起学习一个非常流行的前端框架——Boot…

Redis --- redis事务和分布式事务锁

redis事务基本实现 Redis 可以通过 MULTI,EXEC,DISCARD 和 WATCH 等命令来实现事务(transaction)功能。 > MULTI OK > SET USER "Guide哥" QUEUED > GET USER QUEUED > EXEC 1) OK 2) "Guide哥"使用 MULTI命令后可以输入…

Java数据库连接jdbc

Java数据库连接jdbc 导入java包 1、根目录,新建一个lib目录(Dire) 2、将jar包放入lib目录下 3、File -> Project Structure(项目结构) 4、Libraries-> ->java->找到项目的lib目录 5、Apply->OK使用JD…

navicat无法连接远程mysql数据库1130报错的解决方法

出现报错:1130 - Host ipaddress is not allowed to connect to this MySQL serve navicat,当前ip不允许连接到这个MySQL服务 解决当前ip无法连接远程mysql的方法 1. 查看mysql端口,并在服务器安全组中放开相应入方向端口后重启服务器 sud…

二叉树的基本概念(下)

文章目录 🍊自我介绍🍊二叉树的分类满二叉树完全二叉树 🍊二叉树的存储顺序存储[完全二叉树]链式存储 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ &#x1f34…

顶点缓存对象(VBO)与顶点数组对象(VAO)

我们的顶点数组在CPU端的内存里是以数组的形式存在,想要GPU去绘制三角形,那么需要将这些数据传输给GPU。那这些数据在显存端是怎么存储的呢?VBO上场了,它代表GPU上的一段存储空间对象,表现为一个unsigned int类型的变量,GPU端内存对象的一个ID编号、地址、大小。一个VBO对…

利用探空站数据(怀俄明和IGRA)和ERA5计算ZTD、ZHD和ZWD

1.有关 Matlab 获取代码关注咸鱼获取: 怀俄明探空站数据解算PWV和Tm 怀俄明多线程下载探空站数据(包括检查和下载遗漏数据的代码) 对IGRAv2进行质量控制得到PWV和Tm的 matlab 代码 算 IGRAv2 探空站的 Tm 和 PWV 提取探空站 IGRAv2 全部数…

单片机串口AT指令操作SIM800、900拨打电话

文章目录 一、前言1.1 功能简介1.2 拨打电话功能的应用场景1.3 SIM900A与SIM800C模块介绍1.4 原理图 三、模块调试3.1 工具软件下载3.2 准备好模块3.3 串口调试助手的设置3.4 初始化配置3.5 拨打电话的测试流程 四、代码实现4.1 底层的命令发送接口4.2 底层数据接收接口4.3 检测…

基于Next.js和TailwindCss的TailwindCss

最近在研究 Next.js 和 TailwindCss ,这两天没事的时候就搞了一个 c。 目前工具部署在 Vercel ,欢迎各位体验(能提出意见更好嘿嘿) 体验地址: https://icon.999872.xyz/ 图片预览 👇