LUMIERE
kyegomez/LUMIERE加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有想过,只需输入一句话,AI就能生成一段连贯、真实的视频?2024年1月,Google Research 发布了里程碑式论文 "A Space-Time Diffusion Model for Video Generation",带来了名为 LUMIERE 的全新扩散模型架构。这个开源社区的反应速度令人惊叹——论文发布不久,AI 研究者 Kye Gomez 便在 GitHub 上开源了他的 PyTorch 实现,让全球开发者能够立即体验这一前沿技术。

视频生成长期以来面临一个核心难题:如何在时间和空间两个维度上保持一致性? 传统的视频扩散模型往往先生成关键帧,再通过时间插值来填补中间帧,这种"先空间后时间"的串行策略容易导致时间上的不连贯。
LUMIERE 的创新在于提出了 Space-Time 扩散架构,将时间和空间的建模同步进行。简单来说,模型不再把视频看作"一系列图片的序列",而是看作一个真正的4D张量(批次 x 时间 x 空间 x 特征),在扩散去噪的过程中同时考虑时间维度和空间维度的依赖关系。
Google 团队在 U-Net 的基础上,引入了专门设计的 Inflation Block(膨胀模块),能够将预训练的 2D 图像扩散能力无缝扩展到 3D 视频领域。这就像是给一个已经擅长画画的画家,教会他如何在一幅画中展现时间的流动。
kyegomez/LUMIERE 这个开源实现聚焦于论文中最关键的两个模块:
这个模块通过 2D 卷积操作来处理时空张量,核心思路是:
from lumiere.model import ConvolutionBasedInflationBlock
import torch
x = torch.randn(1, 4, 224, 224, 512) # B,T,H,W,D
block = ConvolutionBasedInflationBlock(
in_channels=512, out_channels=512,
kernel_size=3, stride=1, padding=1,
scale_factor=2,
)
out = block(x) # 输出形状: b t h w c(维度已压缩)
这个模块的设计非常工程化——它通过 einops 的声明式张量操作保持了代码的可读性,同时动态初始化线性层以适应不同的 scale_factor。
这个模块引入了更强大的 Spatial Linear Attention 机制(来自 zetascale 库),专门用于捕获视频中的长程依赖关系。相比于标准的多头自注意力,它的计算效率更高,适合处理视频这样的大规模数据。
from lumiere.model import AttentionBasedInflationBlock
x = torch.randn(1, 4, 224, 224, 512)
attn_block = AttentionBasedInflationBlock(dim=512, heads=4, dropout=0.1)
out = attn_block(x) # 形状保持: torch.Size([1, 4, 224, 224, 512])
| 依赖 | 作用 |
|---|---|
| torch | 深度学习框架,模型训练和推理 |
| zetascale | 提供 SpatialLinearAttention 等高级注意力模块 |
| einops | 优雅的张量重塑操作,避免手动 reshape |
| swarms | 多智能体编排框架(作者同时维护) |
安装:
pip install lumiere
基础使用:
import torch
from lumiere.model import ConvolutionBasedInflationBlock
# 5D 时空张量: (batch, time, height, width, dim)
x = torch.randn(1, 4, 224, 224, 512)
model = ConvolutionBasedInflationBlock(
in_channels=512, out_channels=512,
kernel_size=3, stride=1, padding=1,
scale_factor=2,
)
out = model(x)
print(out.shape)
| 维度 | 评估 |
|---|---|
| 容器化 | 无 Dockerfile / docker-compose |
| Web UI | 无 Gradio/Streamlit 等交互界面 |
| GPU | 必须(视频生成 + PyTorch,推荐 16GB+ VRAM) |
| 快速部署 | 不支持(需手动安装依赖) |
这个项目目前是一个研究级模块库,而非开箱即用的产品。适合有 PyTorch 经验的开发者将其作为构建块集成到自己的视频生成系统中。对于非开发者用户,暂无可直接使用的界面。
LUMIERE 的开源实现虽然尚属早期,但它代表了 AI 视频生成领域的一个重要趋势:从实验室到开发者手中的路径正在快速缩短。Google 论文发布后不到数周,社区便有了可用的 PyTorch 模块——这种速度在过去是不可想象的。
对于 AI 研究者和工程师来说,这个项目提供了一个高质量的参考实现,可以直接用于:
尽管当前功能有限,但它为视频生成开源生态贡献了宝贵的模块化代码,也为后续更完整的实现奠定了基础。