StreamDiffusion:实时互动生成图像的管道级解决方案

RayRay
StreamDiffusion流批处理无残差分类器指导随机相似性过滤器RCFG热门

项目简介

StreamDiffusion 是一种新型实时扩散管道,用于交互式图像生成,能够改善直播流和类似场景的性能。它用更快的批处理过程替代了传统的顺序去噪,引入了并行输入输出队列以实现更平稳的操作。该管道还采用了一种新颖的残差无分类引导方法,减少了去噪步骤并提高了速度。此外,它还集成了一种随机相似性滤波器,以提高功率效率。

总体来说,StreamDiffusion 实现了高达 1.5 倍的处理速度加快,以及在采用 RCFG(残差无分类引导)情况下高达 2.05 倍的速度提升,在 RTX4090 GPU 上可达到 91.07fps。它还显著降低了能源消耗,使其成为实时图像生成的更高效解决方案。

项目简介图片

主要特征

  1. 流批处理 通过高效的批处理操作简化数据处理。

  2. 无残差分类器指导 改进的引导机制可最大限度地减少计算冗余。

  3. 随机相似性过滤器 通过先进的过滤技术提高GPU利用效率。

  4. IO队列 有效管理输入和输出操作,以实现更顺畅的执行。

  5. KV-Cache 的预计算 优化缓存策略以加速处理。

  6. 模型加速工具 利用各种工具进行模型优化和性能提升。

StreamDiffusion 管道

流批处理的概念。在这个方法中,不会等待单个图像完全去噪后再处理下一个输入图像,而是在每个去噪步骤后接受下一个输入图像。这样就创建了一个去噪批次,其中每个图像的去噪步骤是交错的。通过将这些交错的去噪步骤串联成一个批次,我们可以利用 U-Net 进行批处理,有效地处理连续输入。在时间步长 t 编码的输入图像在时间步长 t + n 生成并解码,其中 n 是去噪步骤的数量。

StreamDiffusion 管道图片

批量处理去噪步骤

虚拟残差噪声向量:橙色向量表示从 PF ODE 轨迹出发并指向原始输入潜变量 Xo 的虚拟残差噪声。

传统扩散模型依赖于顺序去噪步骤,每增加一步,处理时间线性增加,特别是在 U-Net 框架中。然而,更高保真度的图像需要更多的去噪步骤,导致更高的延迟。

Stream Batch 通过将顺序去噪重构为批处理过程来解决这个问题。每个批次对应一定数量的去噪步骤,允许批次中的每个元素在单次 U-Net 传递中完成去噪序列中的一步。这种方法以更流畅的方式将特定时间步长的输入图像转换为未来时间步长的图像到图像结果。

这种方法显著减少了对多次 U-Net 推理的需求,并避免了处理时间随步骤数线性增加的问题。关键的权衡从处理时间与生成质量转变为 VRAM 容量与生成质量。有足够的 VRAM,可以在单个 U-Net 处理周期内生成高质量图像,有效缓解了由增加去噪步骤引起的延迟问题。

批量处理去噪步骤图片

残差无分类引导(RCFG)

传统的无分类引导(CFG)通过调整条件项的影响来改善图像生成,但它需要对每次推理进行多次计算成本高昂的 U-Net 模型传递。RCFG 通过引入虚拟残差噪声的概念来解决这个问题,该噪声用于从生成过程中的给定点预测原始输入图像的潜在表示。这种方法允许有效的图像生成,根据引导比例偏离原始图像,无需额外的 U-Net 计算。这个过程被称为自负面 RCFG。

此外,RCFG 还可以用于偏离任何负面条件,只需在第一步去噪时计算一次负面条件的残差噪声,并在整个过程中使用这种噪声(一次性负面 RCFG)。这种方法显著减少了计算负担,与传统 CFG 所需的 2n 次计算相比,自负面和一次性负面 RCFG 分别只需要 n 或 n+1 次 U-Net 计算。这使 RCFG 在保持或提升生成图像的质量的同时,更加高效。

输入输出队列

输入输出队列图片

输入输出队列:将输入图像转换为管道可以管理的张量数据格式的过程,反之亦然,将解码的张量转换回输出图像需要额外的处理时间,并非微不足道。为了避免将这些图像处理时间添加到瓶颈过程,即神经网络推理过程中,我们将图像预处理和后处理分离到不同的线程中,允许并行处理。此外,通过使用输入张量队列,我们可以应对由于设备故障或通信错误而导致的输入图像暂时中断,从而实现平稳流媒体。

高速图像生成系统通过将不需要神经网络处理的任务(如图像的预处理和后处理)转移到主管道之外并行处理来进行优化。输入图像经过缩放、张量转换和标准化等操作。为了协调人类输入和模型吞吐量的不同处理速度,作者实现了一个输入输出队列系统。这些队列处理扩散模型的输入张量,然后通过 VAE 编码器进行图像生成。VAE 解码器的输出张量进入输出队列进行后处理和格式转换,然后发送到渲染客户端。这种策略提高了系统效率,加快了图像生成速度。

模型加速和微型自动编码器

模型加速和微型自动编码器图片

GPU 使用率对比(静态场景下)。(GPU:RTX3060,帧数:20)蓝线代表开启随机相似性滤波(SSF)时的 GPU 使用率,橘黄线表示未使用 SSF 时的 GPU 使用率,红线表示基于输入帧间余弦相似度计算的跳过概率。此外,图表顶部显示了与相同时间戳对应的输入图像。在这种情况下,输入图像中的角色仅在眨眼。因此,这项分析比较了静态场景下的 GPU 使用率。

U-Net 和 VAE 引擎是使用 TensorRT 构建的。为了进一步优化速度,作者使用了静态批次大小和固定输入尺寸,这优化了针对特定输入大小的计算图和内存分配,从而实现了更快的处理时间。然而,这种方法的灵活性较低,需要进行批次大小和输入大小的静态调整。

结论

通过在扩散模型的基础上引入 Stream Batch、RCFG 和 SSF 等技术,StreamDiffusion 管道实现了显著的性能提升。实验结果表明,与传统 CFG 相比,RCFG 使处理速度提高了 1.5 倍。StreamDiffusion 在处理相同图像数量时,在 RTX4090 上实现了 91.07fps 的速度,能源效率也得到了显著提升。尽管该管道需要更多的 VRAM,但它的整体性能提升和能效优化使其成为实时图像生成领域的创新解决方案。

编辑推荐精选

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

TRELLIS

TRELLIS

用于可扩展和多功能 3D 生成的结构化 3D 潜在表示

TRELLIS 是一个专注于 3D 生成的项目,它利用结构化 3D 潜在表示技术,实现了可扩展且多功能的 3D 生成。项目提供了多种 3D 生成的方法和工具,包括文本到 3D、图像到 3D 等,并且支持多种输出格式,如 3D 高斯、辐射场和网格等。通过 TRELLIS,用户可以根据文本描述或图像输入快速生成高质量的 3D 资产,适用于游戏开发、动画制作、虚拟现实等多个领域。

ai-agents-for-beginners

ai-agents-for-beginners

10 节课教你开启构建 AI 代理所需的一切知识

AI Agents for Beginners 是一个专为初学者打造的课程项目,提供 10 节课程,涵盖构建 AI 代理的必备知识,支持多种语言,包含规划设计、工具使用、多代理等丰富内容,助您快速入门 AI 代理领域。

AEE

AEE

AI Excel全自动制表工具

AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。

UI-TARS-desktop

UI-TARS-desktop

基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。

UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。

Wan2.1

Wan2.1

开源且先进的大规模视频生成模型项目

Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。

爱图表

爱图表

全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表

爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。

Qwen2.5-VL

Qwen2.5-VL

一款强大的视觉语言模型,支持图像和视频输入

Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。

下拉加载更多