从低清到4K的魔法:FlashVideo突破高分辨率视频生成计算瓶颈(港大港中文字节)
论文链接:https://arxiv.org/pdf/2502.05179
项目链接:https://github.com/FoundationVision/FlashVideo
亮点直击
提出了 FlashVideo,一种将视频生成解耦为两个目标的方法:提示匹配度和视觉质量。通过在两个阶段分别调整模型规模、分辨率和优化策略,本文的方法相比现有方法实现了更高的效果和效率。
通过流匹配(flow matching)构造了从低质量视频到高质量视频的近乎直线的 ODE 轨迹,使得视频在仅 4 次函数评估内即可融入丰富细节。
本文的方法在 VBench-Long 上达到了 82.99 的顶级分数,同时实现了极快的函数评估时间。两阶段设计使用户能够在全分辨率生成前预览初始输出,从而降低计算成本和等待时间。
总结速览
解决的问题
-
现有 DiT 生成的视频模型需要大规模参数和大量计算资源,导致计算成本高昂。
-
生成高质量视频需要高分辨率和大量去噪步骤,进一步增加计算负担。
-
现有的两阶段方法仍然依赖从高斯噪声重建高分辨率视频,计算效率低下。
提出的方案
- 设计 FlashVideo 两阶段框架:
-
第一阶段 低分辨率视频生成,保证内容和运动的语义一致性。
-
第二阶段 通过流匹配(flow matching)提升分辨率,增强细节,同时减少计算开销。
-
-
采用流匹配技术,直接优化 ODE 轨迹,使第二阶段生成不依赖高斯噪声。
应用的技术
-
DiT(Diffusion Transformer)架构,利用 3D 全注意力机制建模时间和空间关系。
-
流匹配(flow matching),直接优化低分辨率到高分辨率的 ODE 轨迹,避免从高斯噪声重建。
-
计算优化,第一阶段使用 5B 参数模型,第二阶段降至 2B 参数,并减少函数评估步骤至 4 步。
达到的效果
-
大幅提升计算效率:1080p 视频生成时间从单阶段 2150s 降至 102s,比传统两阶段方法快 5 倍。
-
保障生成质量:低分辨率阶段保证语义一致性,高分辨率阶段增强细节,确保视觉质量。
-
更高的商业可行性:允许用户在低分辨率阶段预览结果,减少不必要的计算成本。
方法
总览
在 FlashVideo 框架中,视频像素 首先通过 3D 因果 VAE 压缩为隐空间特征 ,其中 ,,。该模型旨在生成 6 秒长的视频(每秒 8 帧,因此 ),分辨率为 1080p。
如下图 2 所示,采用了一个两阶段的、从低到高分辨率的视频生成流程,其中每个阶段都通过定制的模型规模和训练策略进行优化,以确保计算效率。以下小节将详细描述每个阶段的过程。
低分辨率阶段 I
在第一阶段,目标是生成与输入提示高度匹配的内容和运动模式。为此,初始化了一个大规模模型 CogVideoX-5B,其包含 50 亿 参数。为了提高计算效率,采用 参数高效微调(PEFT),使模型适应 270p 的低分辨率。
调整 MMDiT 架构的目标分辨率相对简单,可通过在所有 注意力层、前馈网络(FFN) 以及 自适应层归一化(adaptive layer normalization) 中应用 LoRA(秩设为 128)来实现。
与全参数微调相比,PEFT 在小批量(batch size = 32)训练时表现出更强的鲁棒性,而全参数微调在如此小的批量下会显著降低生成质量。所有其他配置设置(包括去噪调度器和预测目标)均与 CogVideoX-5B 保持一致。
高分辨率阶段 II
模型架构
为了增强细粒度细节,本文采用了另一种遵循 CogVideoX-2B设计的模型。用 3D RoPE 替换了原始位置频率嵌入,以在推理时更好地扩展至更高分辨率(见下图 8)。
与 [He et al. 2024] 采用的 时空分解(spatial-temporal decomposition) 和 时间切片注意力(time-slicing attention) 方法不同,完整的 3D 注意力机制 对于保持视频在剧烈运动和尺度变化情况下的增强视觉细节一致性至关重要(见下图 7)。如上图 2所示,第一阶段的语言嵌入被直接用于该阶段。
低成本分辨率传输
在高分辨率阶段直接应用传统的扩散过程(从高斯噪声开始,并以低分辨率视频为条件)需要大量计算资源。为了提高效率并保持高质量的细节生成,采用 流匹配(flow matching) 方法,将 **低分辨率隐空间表示 映射到高分辨率隐空间表示 **。
中间点通过 和 之间的线性插值计算,如算法 1所述。这种方法在初始化阶段 消除了冗余的采样步骤,同时避免了对额外控制参数的依赖提出的参数)。此外, 作为 无关的目标,使得 ODE 轨迹更加笔直,从而实现少步生成。
在训练过程中,对 进行模拟(将在后续部分详细讨论)。在测试阶段,第一阶段生成的噪声增强视频被用作起始点,并使用 Euler 求解器( 步) 进行计算,如 算法 2所示。此外,也可以在实际应用中使用更高阶的求解器。
低质量视频模拟
为了训练第二阶段模型,建立了 低分辨率和高分辨率隐空间表示对,即 ** 和 **。从高质量视频 开始,在像素空间内应用一系列 模糊(blur)和缩放(resize) 操作(强度随机),生成低分辨率视频。此过程称为 **DEG(_{pixel})**,并在上面算法 1中进行了描述。
在此模拟数据上训练,使模型能够增强高频细节,从而改善整体清晰度(见下图 3)。然而,仅通过 DEG(_{pixel}) 进行低分辨率数据模拟会使低、高分辨率视频之间保持较强的保真度,这限制了模型在高分辨率下对小物体的结构再生能力,尤其是在第一阶段输出中存在伪影时。例如,当结构表现较差时,小物体可能会变得模糊,如下图 3中的树枝,或下图 5(e) 中失真的眼部特征。
为了解决这个问题,本文引入了 隐空间退化(latent degradation, DEG({latent})**),即在隐空间表示中加入高斯噪声。这一方法允许模型在输入数据的基础上产生偏离,从而为小物体生成更合理的结构。如上图 3所示,相比 **DEG({pixel}),DEG(_{latent}) 组合策略能够生成更加清晰且细节丰富的树枝及背景小物体,显著提升视觉质量。
训练过程中的整体模拟流程如下所述:
首先,对高质量视频在像素空间进行退化处理,得到退化版本;然后,该退化视频被编码至隐空间空间,表示为
其中, 控制高质量隐空间表示 与噪声 的混合比例。
参数 step 决定了噪声增强的强度。为了确保模型能够感知隐空间空间中的噪声强度,我们引入了噪声强度嵌入,并将其添加到时间嵌入中。在推理阶段,仅对第一阶段的输出应用 DEGlatent。
为了确定合适的 DEGlatent 强度,在初始训练时使用较宽的噪声步长范围(600-900)。然后,我们在不同的噪声步长下评估模型的结果(如图 9 (c) 和表 10 所示)。根据这些结果,我们在后续训练阶段将噪声范围限制在 650-750。
粗到精训练
直接在高分辨率上训练需要大量计算成本。3D RoPE作为一种相对时空编码,为我们的模型提供了良好的分辨率可扩展性。因此,首先在低分辨率图像和视频(540×960)上进行大规模预训练,然后再扩展到目标分辨率 1080p(1080 ×1920)。在后期训练中,观察到明显的性能波动,因此进一步使用一小部分符合人类偏好的高质量样本进行微调。这个低成本的额外微调阶段显著提升了模型的性能。
实验
数据收集
首先收集了大量 1080p 视频,并通过美学和运动特征筛选,构建了一个高质量数据集,最终获得 200 万个高质量样本。运动筛选使用 RAFT 计算平均光流,并丢弃运动得分低于 1.1 的片段。
为了确保第二阶段模型学习多样化的纹理细节,进一步收集了 150 万张分辨率为 2048 ×2048 的高质量图像。所有视频和图像均使用内部字幕生成模型进行详细标注。此外,手动筛选了 50,000 个视频,这些视频具有高美学质量、丰富的纹理和显著的运动多样性,以用于人类偏好对齐。
训练设置
对于第一阶段模型的训练,我们仅使用视频数据,并将其调整为 270p 分辨率。模型训练了 50,000 次迭代,批次大小为 32,基础学习率为 4 ×10⁻⁵。使用 AdamW 优化器,β1 = 0.9,β2 = 0.95,权重衰减为 1 ×10⁻⁴,并将梯度裁剪设置为 0.1。
第二阶段模型,包括预训练和人类偏好对齐,使用批次大小为 64,其他超参数与第一阶段相同。预训练分为三个阶段:(1)在 540 ×960 的图像补丁上训练 25,000 次迭代,这些补丁来自 2048 ×2048 的高分辨率图像;(2)在混合数据集上训练 30,000 次迭代,数据集包括 540 ×960 的图像补丁和视频,比例为 1:2;(3)在全分辨率的 1080 ×1920 视频上训练 5000 次迭代。最后,在人类偏好对齐数据集上进行 700 次迭代的微调。
对于隐空间退化,在阶段(1)、(2)和(3)的前 1000 次迭代中,初步应用了 600–900 的噪声步长范围。根据下表 10 中的发现,我们随后将噪声范围缩小到 650–750,用于(3)和(4)中的剩余训练。
定性结果
本节展示了基于不同用户提示的二阶段视频生成结果的可视化。第一阶段的输出优先保证内容和运动的高保真度,而第二阶段进一步细化细节,减少生成伪影,从而增强整体视觉质量。
二阶段生成结果
如下图 4 所示,第一阶段输出(顶部行)展现了强烈的提示保真度和流畅的运动。提示中指定的关键视觉元素(加粗部分)被准确生成。然而,仍可能存在伪影和细节不足的纹理问题(由红色框标出)。相比之下,第二阶段的输出(底部行)通过精细化小物体的结构和增强纹理丰富度,显著提高了视觉质量。显著的改进包括人脸细节的细化(a, d)、动物毛发的精细渲染(b, c)、植物结构的复杂细节(a, b)以及织物纹理的提升(d),这些都在第二行的绿色框中突出显示。此外,尽管存在大量运动,由于第二阶段集成了完整的注意力机制,高频细节依然保持了时间一致性。更多未压缩的案例可见于我们的项目页面。
第二阶段的伪影修正与细节增强
为了进一步展示第二阶段细化的有效性,在下图 5 中提供了关键帧的额外示例。与第一阶段的输出(红色标记)相比,第二阶段的结果(绿色标记)通过抑制伪影和丰富细节,表现出了显著的改进。这些增强表现为:更连贯的油画风格向日葵(a)、更精细的皱纹和发丝渲染(b)、动物和植物纹理结构的改善(c, d)以及面部和物体伪影的修正(e)。
定量结果
首先在 VBench-Long基准上评估我们的模型,使用其长提示进行评估。通过使用多种广泛使用的非参考图像和视频质量评估指标,评估第二阶段的视觉质量提升。
VBench-Long 基准 遵循 VBench-Long 的标准评估协议,每个提示生成五个视频。需要注意的是,由于 VBench 的评估指标倾向于偏好较高的帧率,应用了一个实时视频帧插值方法 ,将帧率从 8 fps 升级到 24 fps。这个插值过程几乎没有后处理时间(在 4 秒以内),确保了与高帧率方法的公平比较。关于 VBench 帧率偏好的更详细讨论,见补充材料。
如下表 1 所示,8fps 和 24fps 模型都取得了超过 81 的高语义分数。然而,仅使用第一阶段模型时,审美和成像质量分数低于顶级方法,270p 的得分分别为 60.47 和 61.39。应用第二阶段后,两个质量分数显著提高,分别达到了大约 62.29 和 66.21,如表 1 所示。这些结果验证了本文的方法,即在第一阶段初步降低分辨率,以确保在较低计算成本下保持高提示保真度,随后在第二阶段进行质量提升。另一方面,整个功能评估只需约 2 分钟,显著优于其他方法的效率。例如,Hunyuan Video使用一个较大的 13B 单阶段模型,生成 720p(720 ×1280)结果的总评估时间为 1742 秒。相比之下,本文的方法不仅展示了更高的效率,还生成了更高分辨率的输出。此外,用户可以在仅 30 秒内获得 270p 的初步预览,从而决定是否继续进行第二阶段或调整输入提示。这种灵活性显著提升了用户体验。
与视频增强方法的比较
本节通过将第二阶段方法与几种最先进的视频增强方法进行比较,全面评估其有效性。这些方法包括VEnhancer、Upscale-a-Video和RealBasicVSR 。本文的评估包括基于第一阶段输出的定量和定性分析。
为了进行此评估,创建了一个精心挑选的测试集Texture100,该测试集包含100个多样化的文本提示,描述了角色、动物、织物、景观等视觉元素。这些提示被用来生成低分辨率的6秒49帧视频,作为视频增强比较的输入。
定量分析
如下表2所示,FlashVideo在各种质量指标上始终优于竞争方法,展示了在视觉质量和效率上的显著优势。尽管RealBasicVSR(基于GAN的方法)在一些指标上取得了有竞争力的结果,但其输出常常表现出过度平滑,这可能与人类的感知偏好不一致。因此,建议将定量指标视为补充参考,重点关注定性评估。
与此同时,基于扩散的VEnhancer展示了更强的生成能力,但它的输出经常与输入视频偏离,导致保真度受到损害。它的输出通常经历了显著的结构性变化,这与我们增强视觉质量的设计原则相违背。此外,VEnhancer使用了独立的空间-时间模块和时间切片,这可能会减少在扩展视频序列中的内容一致性——这是我们将在后续讨论中进一步探讨的限制。另外,它的高NFE(网络函数评估)导致了更大的计算开销,使得高分辨率生成变得更加耗时。
与此相比,FlashVideo在速度上几乎比VEnhancer快了七倍,同时生成更清晰的高频细节,如上表2所示。
定性分析
下图6和图7提供了FlashVideo与其他方法的视觉质量比较。
-
图6 (a):这是一场展示女人面部和模糊背景的场景,突出了性能差异。本文的方法有效地重建了复杂的面部细节,并通过高频纹理丰富了背景,同时保持了结构完整性和保真度。相比之下,VEnhancer提高了面部清晰度,但显著改变了背景,失去了场景中重要的视觉元素,如“站立水域”和暗色调。其他方法,如Upscale-a-Video和RealBasicVSR未能纠正面部伪影,并引入了过度平滑,降低了逼真度。
-
图6 (b):在这个案例中,FlashVideo增强了猫体上的纹理细节,同时保持了原始输入的一致性,并生成了更清晰的个体毛发。我们模型中的全注意力机制确保了内容一致性,超越了VEnhancer,后者在细节上出现不一致。
-
图7:在这个序列中,摄像机从远景过渡到近景,导致了显著的运动和尺度变化。FlashVideo和VEnhancer在初始输入上都显示了改进。然而,VEnhancer在保持面部身份方面遇到困难,并引入了夹克纹理和背景元素的不一致。FlashVideo有效地缓解了这些问题,确保了整个序列中的视觉质量稳定一致。
消融研究
本节进行了一系列消融研究,以评估本文方法中的关键设计。首先,比较了LoRA微调与全参数微调在将第一阶段适配到新分辨率时的优势。接着,评估了Stage II中RoPE的有效性。然后,我们详细描述了用于训练Stage II模型的低质量视频模拟策略。此外,还探讨了将模型输出与人类偏好对齐的重要性。最后,分析了不同推理超参数对最终性能的影响。
LoRA与全参数微调在第一阶段的比较
在批量大小为32的设置中,将LoRA微调与全参数微调进行了比较,目的是在相同的迭代次数下训练第一阶段模型,并将其适配到270p分辨率。使用Texture100评估帧和视频质量,使用VBench-Long评估与语义相关的分数,如下表4所示。在这种配置下,全参数微调倾向于产生更多的伪影,导致视觉质量和语义保真度的下降。相反,LoRA微调在有效适配到较低分辨率的同时,保留了原始模型的生成能力。根据效率和性能的综合考虑,选择了LoRA策略。
第二阶段中的位置嵌入
为了实现高效训练,首先在低分辨率下训练第二阶段模型,然后在更高分辨率下应用微调。此外,我们的目标是使模型能够生成比训练时使用的分辨率更高质量的视频。为了实现有效的分辨率泛化,我们探索了使用代表性的位置嵌入。具体而言,我们比较了来自2亿DiT模型的默认绝对位置嵌入 和旋转位置嵌入(RoPE),发现RoPE在此类视频增强任务中表现更优。
使用两种位置嵌入在540×960分辨率下训练模型,并在三个设置下进行测试:540×960、1080×1920和1440×2560。对于更大的分辨率,我们使用位置嵌入外推。如下图8所示,虽然两种位置嵌入在训练分辨率下都能产生令人满意的结果,但RoPE在推理更大分辨率时能够始终增强细节。相比之下,绝对位置嵌入在超过训练分辨率时显现出明显的伪影。基于这些发现,在训练第二阶段模型时采用了RoPE。
在使用RoPE训练完1080p(1080×1920)分辨率的模型后,我们进一步扩展推理分辨率到2K(1440×2560),并使用基于RoPE的外推方法。如下表5所示,本文的模型在2K分辨率下的视觉质量有所提升,从视觉比较中可以观察到。然而,推理时间显著增加,从74.4秒增加到209.8秒。推测,更大的分辨率更好地激发了我们模型的细节生成能力,这与在大型语言模型中观察到的推理扩展规律相一致。
第二阶段中的低质量视频模拟
本文通过视觉示例(见前面图3)展示了在第二阶段训练过程中,结合隐空间和像素降解模拟低质量视频的重要性。在本节中,提供了更为详细的定量评估。
为了提高计算效率,使用5帧1080p视频输入进行实验。训练了两个模型,迭代10,000次:一个仅应用像素降解,另一个同时应用像素和隐空间降解。如下表6所示,基线表示第一阶段的结果。当在第二阶段模型中应用像素降解(DEGpixel)时,第一阶段的输出得到了显著改善,高频纹理被加入,整体视觉质量得到了提升。此外,结合隐空间降解(DEGlatent)进一步增强了效果,产生了更清晰、更真实的小物体和背景细节。
第二阶段中的人类偏好对齐
在实验中,1080p分辨率下的训练表现出不稳定性,表现为不同检查点(每500次迭代)间性能波动。我们将这种不一致归因于训练样本质量的变化。为了解决这个问题,我们手动策划了一个包含50,000个样本的高质量数据集,特别根据强烈的人类偏好选择。我们的模型在这个精细化的数据集上进行快速微调,以稳定训练并提高性能,然后在Texture100基准上进行评估,如下表7所示。尽管选定数据集的大小相对较小,但我们观察到美学质量和细节丰富度方面的显著提升。这些结果突出了在微调过程中融入人类偏好的有效性。
推理超参数
在测试阶段,用户可以灵活调整多个超参数——即函数评估次数(NFE)、无分类器引导(CFG)和隐空间降解强度(噪声强度)——以满足特定需求。在图9中提供了这些超参数如何影响性能的详细分析,并在表8、9和10中报告了相应的质量评分。除非另有说明,否则这些超参数的默认值设置为NFE=4、CFG=13和NOISE=675。
函数评估次数(NFE)
如下图9(a)所示,当NFE=1时,处理后的视频呈现轻微的模糊感。增加NFE可以提高视觉质量,面部细节更加清晰,例如牙齿和头发,树叶和毛衣等元素的纹理更加锐利,在NFE=4时表现尤为明显。当NFE超过4时(即NFE=5或更高),大多数情况下增加该值不会带来显著的视觉提升。下表8中报告的某些指标的定性结果验证了这一趋势,与视觉观察一致。建议用户在实际使用中将NFE调整至4到6之间。
无分类器引导(CFG)
图9(b)展示了CFG尺度的影响。当CFG=1时,结果仍然模糊,细节不足。随着CFG值的增加,视频内容变得更加清晰且细节更为丰富,例如耳环等细节变得更加明显。具体而言,CFG值在10到13之间可以获得令人满意的结果,能够平衡锐度和细节。然而,CFG值超过13后,锐度过高,导致纹理显得不自然。如下表9所示,随着CFG从1增加到13,图像和视频质量评分都有所提高,但当CFG超过13时,多个指标的评分下降。
隐空间降解强度
隐空间降解强度通过公式2中的NOISE步骤量化,表示施加到第一阶段视频隐空间变量上的降解程度。如图9(c)所示,在较低的降解水平下,增强后的视频保持较高的与原始输入的一致性。这种一致性有助于维持整体内容的完整性,但可能会妨碍伪影的修复,并限制细节的生成,如手指、吉他弦和表面纹理等。然而,增加噪声强度有助于生成更多的视觉细节,但如果噪声过多,可能会扭曲结构或引入模糊,这是由于第二阶段生成能力的固有限制。在初始训练阶段,使用了600-900的广泛噪声步长范围。通过评估不同噪声步长下的模型性能(如前面表10上部所示),发现650-750的范围能够获得与视觉观察一致的令人满意的结果。因此,在后续训练阶段,采用了更窄的范围,最终性能如表10下部所示。
讨论与局限性
讨论
在这一部分,分享了一些洞见,旨在帮助读者更清晰地理解我们工作设计原则和定位,并为隐空间的未来改进提供指导。
隐空间降解强度的调整原则
选择合适的隐空间降解强度对于训练Stage II模型至关重要。我们认为,最小化伪影和保持原始内容完整性之间的平衡是关键。我们建议根据信噪比(SNR)调整隐空间降解强度,即当分辨率或视频帧数增加时,应增加噪声步长。值得注意的是,帧数对噪声步长的影响大于分辨率,因为跨多个帧的视觉内容展现出更强的相关性,不容易被干扰。例如,在初步实验中,当使用17帧视频时,输入中的伪影可以通过噪声步长500得到纠正,而当帧数增加到49帧时,最佳噪声范围则为650到750,明显高于前者。
保真度与视觉质量提升的平衡
在维持保真度与提高视觉质量之间存在微妙的平衡。与真实世界的视频增强不同,输入视频通常缺乏高频细节,而第一阶段生成的视频往往包含一些微妙的结构缺陷或伪影,需要进一步修复。传统的超分辨率方法专注于保持高保真度,无法有效地解决这些问题。相反,将第一阶段输出作为粗略指导并再生新内容也无法达到理想效果,因为这与我们的设计理念相冲突。我们将第一阶段的输出视为低成本的预览,它必须与最终结果密切对齐。为实现这一平衡,我们仔细调整了两种策略的强度,确保在不妥协原始内容完整性的情况下提高视觉质量。
Stage II是否可以作为通用的视频增强模型?
值得注意的是,目前的训练设置是专门为1080p设计的,不适合作为处理不同分辨率或帧数视频的通用增强方法。然而,我们相信,随着进一步的优化,例如引入关于分辨率和帧数的更多输入信息,模型可以适应处理更广泛的场景。我们计划在未来的工作中探索这一方向。
视频长度增加带来的挑战
视频增强比单张图像处理更具挑战性,因为它需要确保在整个视频序列中新增细节的一致性。这要求模型不仅要提高视觉质量,还要管理跨帧的复杂视觉关系和运动。在Stage II中,通过采用3D全注意力机制和调整降解强度来解决这些挑战。然而,随着视频长度的增加,3D全注意力的计算需求呈平方级增长。此外,如果降解强度没有仔细调整,模型可能会通过直接引用多个帧来恢复细节,从而在推理过程中妥协其生成能力。
Stage II中的稀疏注意力
可视化了Stage II中的注意力图,发现空间上的稀疏性特别显著,相较于时间上的稀疏性。我们将这一现象归因于当前第一阶段输出中的适度运动强度。为减少Stage II的计算成本,应用了FlexAttention,通过实现基于窗口的时空注意力(H=11, W=11, T=7)。结果表明,当第一阶段的输出包含低运动时,该方法具有显著提高的效率表现。然而,当运动较大时,我们观察到再生的视觉细节存在不一致和模糊的情况。建议,未来的工作可以通过根据运动强度动态调整窗口大小来解决这一问题。
两阶段的分辨率 无论是在第一阶段(从270p到360p,结果见补充材料)还是在第二阶段(从1080p到2K),提高分辨率都会改善我们的结果。在足够的计算资源下,可以在两个阶段都追求更高的分辨率。选择270p作为第一阶段的分辨率,是因为它能够在仅30秒的时间内生成初步结果,使用户能够迅速评估是否需要在Stage II中进行进一步计算。这相比于当代方法具有明显的优势。
局限性
高分辨率视频的VAE解码耗时
由于GPU内存限制,解码1080p视频需要进行空间和时间切片,这一过程十分耗时。并行处理的工程进展以及更高效的VAE架构对于加速高分辨率视频的生成至关重要。
推理时的长文本提示
训练中采用的文本描述通常较长且详细,这可能增加用户在推理时提供提示的复杂性。未来的研究可以通过联合训练短文本提示或使用专门用于提示重写的语言模型来改进。这一进展能够显著提升用户体验。
快速运动的挑战 由于数据量、质量和多样性的限制,Stage II可能在处理快速运动的视频时失败。隐空间的解决方案包括增加更多包含大运动的数据和扩大模型容量。
结论
FlashVideo,一种新颖的两阶段框架,分别优化了提示保真度和视觉质量。这种解耦使得模型能力和函数评估次数(NFE)能够在两个分辨率之间进行策略性分配,从而大大提高了计算效率。在第一阶段,FlashVideo优先考虑低分辨率下的保真度,利用较大的参数和足够的NFE;第二阶段则在低分辨率和高分辨率之间进行流匹配,利用较少的NFE有效生成细节。大量实验和消融研究验证了我们方法的有效性。此外,FlashVideo能够在极低成本下提供初步结果,使用户能够决定是否继续进入增强阶段。这一决策能力可以显著降低用户和服务提供商的成本,具有巨大的商业价值。
参考文献
[1] FlashVideo: Flowing Fidelity to Detail for Efficient High-Resolution Video Generation
相关文章:
从低清到4K的魔法:FlashVideo突破高分辨率视频生成计算瓶颈(港大港中文字节)
论文链接:https://arxiv.org/pdf/2502.05179 项目链接:https://github.com/FoundationVision/FlashVideo 亮点直击 提出了 FlashVideo,一种将视频生成解耦为两个目标的方法:提示匹配度和视觉质量。通过在两个阶段分别调整模型规模…...
康耐视CAM-CIC-10MR-10-GC工业相机
康耐视(COGNEX)的工业相机CAM-CIC-10MR-10-GC是CAM-CIC-10MR系列中的一款型号,主要应用于工业自动化检测和高精度视觉系统 基本参数与特性 分辨率与帧率: CAM-CIC-10MR-10-GC属于康耐视CIC系列,具备10MP(1000万像素)的分辨能力,帧率为10fps。该系列相机支持卷帘快门(R…...
解惑Python:一文解决osgeo库安装失败问题
Osgeo(Open Source Geospatial Foundation)是一个支持开源地理空间数据处理的基金会,我们可以在python中使用“osgeo”库来访问其提供的高效地理空间数据。例如,我们使用该模块提供的GDAL处理栅格数据,使用OGR处理矢量…...
3、树莓派5 安装VNC查看器 开启VNC服务器
在前序文章中( 2、树莓派5第一次开机),可以使用三种方式开机,其中使用网线及wifi的方式均需要使用到VNC查看器进行远程桌面控制,本文将介绍如何下载安装并配置及使用VNC查看器及服务器,对前序文章做一些补充…...
Django 创建表时 “__str__ ”方法的使用
在 Django 模型中,__str__ 方法是一个 Python 特殊方法(也称为“魔术方法”),用于定义对象的字符串表示形式。它的作用是控制当对象被转换为字符串时,应该返回什么样的内容。 示例: 我在初学ModelForm时尝…...
STM32 CAN过滤器配置和应用方法介绍
目录 概述 一、CAN过滤器核心概念 二、过滤器配置步骤(以标准ID为例) 三、不同模式的配置示例 四、高级配置技巧 五、调试与问题排查 六、关键计算公式 总结 概述 在STM32微控制器中,CAN过滤器可以配置为标识符屏蔽模式和标识符列表模…...
【第1章:深度学习概览——1.3 深度学习的核心组件与概念解析之神经网络基础】
大家好!今天咱们一头扎进深度学习的神秘领域,好好探索一下其最重要的基石 —— 神经网络。不管你是深度学习的新手小白,还是已经接触过一些基础概念,这篇文章都能助力你更透彻地理解神经网络的原理和运作机制。咱们从最基础的知识入手,一步步揭开神经网络的神秘面纱! 一、…...
Python中如何进行数据库连接?
在 Python 中进行数据库连接,不同的数据库需要使用不同的库。下面分别介绍几种常见数据库(SQLite、MySQL、PostgreSQL)的连接方法。 1. 连接 SQLite 数据库 SQLite 是一种轻量级的嵌入式数据库,Python 标准库中自带了sqlite3模块…...
解析 WebGPU 中 device.createBuffer 的参数意义
在 WebGPU 开发里,device.createBuffer 方法扮演着至关重要的角色,它用于创建一个 GPU 缓冲区对象,这个对象能够存储顶点数据、索引数据、统一数据等。下面我们就来详细剖析该方法各个参数的意义。 1. size:决定缓冲区容量 size …...
PLC的集成RAM,存储器卡,用户程序存储空间,数据存储容量分别指的什么,有什么关联?
1. 集成RAM 定义:集成RAM(随机存取存储器)是PLC内部的高速易失性存储器,用于临时存储运行时的数据(如输入/输出状态、中间变量、计数器/定时器的当前值等)。 特点: 易失性:断电后数…...
BFS-FloodFill 算法 解决最短路问题 多源 解决拓扑排序
文章目录 一、FloodFill 算法[733. 图像渲染](https://leetcode.cn/problems/flood-fill/description/)2.思路3.代码 [200. 岛屿数量](https://leetcode.cn/problems/number-of-islands/description/)2.思路3.代码 [LCR 105. 岛屿的最大面积](https://leetcode.cn/problems/ZL6…...
USB2.03.0接口区分usb top工具使用
一. USB2.0 & 3.0接口支持区分 1.1. 颜色判断 USB接口的颜色并不是判断版本的可靠标准,但根据行业常见规范分析如下: USB接口颜色与版本对照表: 接口颜色常见版本内部触点数量传输速度黑色USB2.04触点480 Mbps (60 MB/s)白色USB2.0(多…...
2025百度快排技术分析:模拟点击与发包算法的背后原理
一晃做SEO已经15年了,2025年还有人问我如何做百度快速排名,我能给出的答案就是:做好内容的前提下,多刷刷吧!百度的SEO排名算法一直是众多SEO从业者研究的重点,模拟算法、点击算法和发包算法是百度快速排名的…...
idea 2019.3常用插件
idea 2019.3常用插件 文档 idea 2019.3常用插件idea 2023.3.7常用插件 idea 2019.3常用插件 插件名称插件版本说明1AceJump3.5.9AceJump允许您快速将插入符号导航到编辑器中可见的任何位置。只需按“ctrl;”,键入一个字符,然后在Ace Jump…...
【Python 学习 / 5】函数详解(定义、参数、作用域、lambda、内置函数)
文章目录 一、函数1. 定义函数1.1 基本函数定义1.2 带参数的函数1.3 带返回值的函数 2. 参数传递2.1 位置参数2.2 默认参数2.3 可变参数2.3.1 使用*args2.3.2 使用**kwargs 2.4 参数的混合使用 3. 作用域3.1 局部和全局变量3.2 global 关键字输出: 3.3 nonlocal关键…...
WPF7-数据绑定基础
1. WPF数据绑定试验 1.1. 数据绑定的核心实现1.2. {Binding}语法1.3. 理解 DataContext 1. WPF数据绑定试验 以下是一个简单的 WPF 数据绑定示例,使用两个TextBox控件分别表示Name和Age来进行进行数据绑定试验。 数据模型类 创建一个 Person 类,包含…...
http 与 https 的区别?
HTTP(超文本传输协议)和 HTTPS(安全超文本传输协议)是互联网通信的基础协议。随着网络技术的发展和安全需求的提升,HTTPS变得越来越重要。本文将深入探讨HTTP与HTTPS之间的区别,包括其工作原理、安全性、性能、应用场景及未来发展等。 1. HTTP与HTTPS的基本概念 1.1 HT…...
大数据学习(49) - Flink按键分区状态(Keyed State)
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...
IP 路由基础 | 路由条目生成 / 路由表内信息获取
注:本文为 “IP 路由” 相关文章合辑。 未整理去重。 IP 路由基础 秦同学学学已于 2022-04-09 18:44:20 修改 一. IP 路由产生背景 我们都知道 IP 地址可以标识网络中的一个节点,并且每个 IP 地址都有自己的网段,各个网段并不相同…...
COBOL语言的移动应用开发
COBOL语言的移动应用开发探讨 引言 在信息技术快速发展的今天,移动应用开发已成为各行各业不可或缺的一部分。许多企业和开发者纷纷转向使用新兴的编程语言和开发工具,以满足不断变化的用户需求。然而,作为一种历史悠久的编程语言ÿ…...
TCP协议(Transmission Control Protocol)
TCP协议,即传输控制协议,其最大的特征就是对传输的数据进行可靠、高效的控制,其段格式如下: 源端口和目的端口号表示数据从哪个进程来,到哪个进程去,四位报头长度表示的是TCP头部有多少个4字节,…...
C语言数组之二维数组
C语言 主要内容 数组 二维数组 数组 二维数组 定义 二维数组本质上是一个行列式的组合,也就是说二维数组由行和列两部分组成,属于多维数组。二维数组数据是通过行列进行解读。二维数组可被视为一个特殊的一维数组,相当于二维数组又是一…...
计算机专业知识【软件开发中的常用图表:E - R图、HIPO、DFD、N - S、PAD详解】
在软件开发过程中,有许多种图表工具被用于不同阶段的设计和分析,帮助开发者更清晰地理解系统结构、数据流程和算法逻辑。下面将详细介绍E - R图、HIPO图、DFD图、N - S图和PAD图,包括它们的样子和用途。 一、E - R图(实体 - 联系…...
多人协同开发 —— Git Aoneflow工作流
一、Aoneflow工作流核心架构 #mermaid-svg-rwTOe9qYwzG3wkdy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rwTOe9qYwzG3wkdy .error-icon{fill:#552222;}#mermaid-svg-rwTOe9qYwzG3wkdy .error-text{fill:#552222…...
VSCode运行Go程序报错:Unable to process `evaluate`: debuggee is running
如果使用默认的VSCode的服务器来运行Go程序,那么使用fmt.Scan函数输入数据的时候就会报错,我们需要修改launch.json文件,将Go程序运行在shell终端上。 main.go package mainimport "fmt"func main() {var n intfmt.Scan(&n)v…...
Mybatis高级(动态SQL)
目录 一、动态SQL 1.1 数据准备: 1.2 <if>标签 1.3<trim> 标签 1.4<where>标签 1.5<set>标签 1.6 <foreach>标签 1.7<include> 标签 一、动态SQL 动态SQL是Mybatis的强⼤特性之⼀,能够完成不同条件下不同…...
在 Vue 3 中使用 Lottie 动画:实现一个加载动画
在现代前端开发中,动画是提升用户体验的重要元素之一。Lottie 是一个流行的动画库,它允许我们使用 JSON 文件来渲染高质量的动画。本文将介绍如何在 Vue 3 项目中集成 Lottie 动画,并实现一个加载动画效果。 如果对你有帮助请帮忙点个&#x…...
建筑行业安全技能竞赛流程方案
一、比赛时间: 6月23日8:30分准时到场;9:00-10:00理论考试;10:10-12:00现场隐患答疑;12:00-13:30午餐;下午13:30-15:30现场…...
Mybatisplus自定义sql
文章目录 引言流程 引言 mybatisplus最擅长的将where里面的语句给简便化,而不用我们自己写标签来实现条件查询 但是很多公司规范我们将sql写在mapper层中,不能写在service中 而且一些语句查询的不同select count(*) xxx from xxx 也难以用mp来实现 如何…...
情书网源码 情书大全帝国cms7.5模板
源码介绍 帝国cms7.5仿《情书网》模板源码,同步生成带手机站带采集。适合改改做文学类的网站。 效果预览 源码获取 情书网源码 情书大全帝国cms7.5模板...
基于Unity引擎的网络通信架构深度解析——以NetworkConnectionController为例
一、架构概览与设计理念 本文将以重构后的NetworkConnectionController为核心,深入分析基于Unity引擎的MMO网络通信架构设计。该模块采用分层设计思想,通过连接池管理、流量控制、心跳监测等多维度技术手段,构建了一个高性能、可扩展的网络通…...
C#学习之DataGridView控件
目录 一、DataGridView控件常用属性、方法、事件汇总表 1. 常用方法、属性和事件汇总 二、DataGridView 控件的常用方法调用 1. DataBind() 方法 2. Clear() 方法 3. Refresh() 方法 4. Sort() 方法 5. ClearSelection() 方法 6. BeginEdit() 方法 7. EndEdit() 方法…...
midjourney 一 prompt 提示词
midjourney 不需要自然语言的描述,它只需要关键词即可。 一个完整的Midjourney prompt通常包括三个部分 图片提示(Image Prompts)、文本提示(Text Prompt)和参数(Parameters)。 1、图片提示(…...
谈谈 wait 和 notify
目录 1 wait()方法 2 notify()⽅法 3 wait 和 sleep 的区别 多线程调度是随机的, 很多时候希望多个线程能够按照咱们规定的顺序来执行. 完成线程之间的配合工作. wait和notify就是一个用来协调线程顺序的重要工具. 这俩方法都是 Object 提供的方法. 随便找个对象࿰…...
250214-java类集框架
引言 类集框架本质上相当于是容器,容器装什么东西由程序员指定 1.单列集合 单列集合是list和set,list的实现类有ArrayList和LinkedList,前者是数组实现,后者是链表实现。list和set,前者有序、可重复,后者…...
Python学习心得异常处理
有些代码在操作的过程当中,如果不注意其所限定的条件,可能在输入函数值时引发一些程序的报错,这样为了让代码自己能做到抛除异常操作的情况,就得让代码具有排除异常的能力。下面的一些操作就使得代码具有该功能,处理异…...
【机器学习】线性回归 多项式线性回归
【机器学习系列】 KNN算法 KNN算法原理简介及要点 特征归一化的重要性及方式线性回归算法 线性回归与一元线性回归 线性回归模型的损失函数 多元线性回归 多项式线性回归 多项式线性回归 V1.0多项式回归多项式回归的公式 特征代换超越函数作为特征向量维度 V1.0 多项式回归 …...
链表和list
链表和list 算法题中的经典操作:用空间代替时间 双链表头插顺序: 1.先修改新结点的左右指针 2.然后修改结点y的左指针 3.最后修改哨兵位的右指针 双链表在任意位置(p)之后插入…...
vscode的一些实用操作
1. 焦点切换(比如主要用到使用快捷键在编辑区和终端区进行切换操作) 2. 跳转行号 使用ctrl g,然后输入指定的文件内容,即可跳转到相应位置。 使用ctrl p,然后输入指定的行号,回车即可跳转到相应行号位置。...
sass中@import升级@use的使用区别与案例
在 Sass 中,import 和 use 都用于模块化代码,但二者有显著区别。以下是主要差异和具体案例说明: 核心区别对比 特性 import (旧版) use (新版) 作用域 全局作用域(变量/混合易冲突) 局部作用域(需通过…...
基于单片机ht7038 demo
单片机与ht7038 demo,三相电能表,电量数据包括电流电压功能,采用免校准方法 列表 ht7038模块/CORE/core_cm3.c , 17273 ht7038模块/CORE/core_cm3.h , 85714 ht7038模块/CORE/startup_stm32f10x_hd.s , 15503 ht7038模块/CORE/startup_stm32…...
基于YOLO11深度学习的胃肠道息肉智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
CViewState::InitializeColumns函数分析之_hdsaColumnStates的结构
CViewState::InitializeColumns函数分析之_hdsaColumnStates的结构 // Set up saved column state only if the saved state // contains information other than "nothing". if (_hdsaColumnStates) { UINT cStates DSA_GetItemCount(_hdsaColumnS…...
商淘云中英文外贸电商系统,助力传统企业杨帆出海
在全球经济一体化的浪潮下,传统企业纷纷渴望拓展海外市场,寻求新的增长机遇。然而,语言障碍、复杂的跨境交易流程、多元的支付体系以及迥异的消费习惯,如同重重壁垒,阻碍着传统企业扬帆出海的步伐。此时,商…...
--- Mysql事务 ---
什么是事务 因为事务的存在,可以使得多条sql语句一起执行,并且只有全部执行成功或全部执行失败俩种结果,保证了数据的安全,也使得这些sql语句拥有了原子性,隔离性,一致性,持久性(AC…...
FreeRTOS第7篇:内存的“精打细算”——堆管理与内存分配
文/指尖动听知识库-星愿 文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!! 文章专栏:深入FreeRTOS内核:从原理到实战的嵌入式开发指南 引言:嵌入式系统的“仓库管理员” 想象你是一家繁忙仓库的管理员:货物(内存块)需要被高效存取,货架(堆空间)必须避免…...
有效市场理论(Efficient Market Hypothesis,简称 EMH):市场真的“有效”吗?中英双语
有效市场理论(EMH):市场真的“有效”吗? 1. 什么是有效市场理论? 📌 有效市场理论(Efficient Market Hypothesis,简称 EMH) 是由美国经济学家 尤金法玛(Eug…...
STM32 HAL库USART串口中断编程:演示数据丢失
目录 一、开发环境 二、配置STM32CubeMX 三、代码实现与部署 四、运行结果: 五、注意事项 上面讨论过,HAL_UART_Receive最容易丢数据了,可以考虑用中断来实现,但是HAL_UART_Receive_IT还不能直接用,容易数据丢失,实际工作中不会这样用,本文介绍STM32F103 HAL库函数…...
MapReduce的工作原理及其在大数据处理中的应用
MapReduce是一种由Google提出的面向大数据并行处理的计算模型、框架和平台,它通过将复杂的数据处理任务分解为两个简单的阶段——Map(映射)和Reduce(归约),实现了分布式并行计算,极大地提高了数…...
python学opencv|读取图像(六十六)使用cv2.minEnclosingCircle函数实现图像轮廓圆形标注
【1】引言 前序学习过程中,已经掌握了使用cv2.boundingRect()函数实现图像轮廓矩形标注,相关文章链接为:python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注-CSDN博客 这篇文章成功在图…...