❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
🎥 “导演集体破防!上海AI Lab祭出视频重照明核武器:30秒解决好莱坞百万级调光难题”
大家好,我是蚝油菜花。你是否经历过——
- 👉 精心拍摄的视频因为光照突变,出现诡异闪烁
- 👉 想调整画面氛围,却要逐帧调色到天亮
- 👉 用AI工具重打光,结果人物边缘全是鬼影...
今天介绍的 Light-A-Video ,可能是影视后期领域最革命性的突破!由上海AI Lab联合斯坦福等顶尖高校研发,这个无需训练的神器通过一致光照注意力(CLA) 和渐进式光照融合(PLF) 两大黑科技,实现了:
- ✅ 时间一致性:告别画面闪烁,光照过渡如丝绸般顺滑
- ✅ 零门槛操作:无需训练模型,输入提示词直接生成
- ✅ 工业级精度:人物/背景分层处理,边缘再无穿帮
从学生作业到电影级调色,它正在重新定义视频后期的工作流。接下来我们将深度拆解其技术原理,并实测如何用3步让阴雨素材变身落日大片!
🚀 快速阅读
Light-A-Video 是一个无需训练的视频重照明方法,能够实现高质量、时间上一致的视频光照控制。
- 核心功能:支持对整个视频进行重照明,同时保持图像质量和时间一致性。
- 技术原理:通过一致光照注意力(CLA)和渐进式光照融合(PLF)两个关键模块,确保光照过渡的平滑性和稳定性。
Light-A-Video 是什么
Light-A-Video 是由上海交通大学、中国科学技术大学、香港中文大学、香港科技大学、斯坦福大学及上海AI实验室共同推出的一种无需训练的视频重照明方法。该方法基于渐进式光照融合技术,能够实现高质量、时间上一致的视频光照控制。Light-A-Video 旨在解决传统视频重照明方法中常见的光照不连续、闪烁等问题,提供更加自然的光照效果。
其核心技术包括两个关键模块:一致光照注意力(Consistent Light Attention, CLA)和渐进式光照融合(Progressive Light Fusion, PLF)。CLA 模块通过增强帧间交互,稳定背景光照源的生成;而 PLF 模块则基于视频扩散模型的运动先验,逐步将重照明效果融入视频中,确保光照过渡的平滑性。
Light-A-Video 的主要功能
- 时间一致性:基于增强帧间光照的一致性,避免视频闪烁和光照不连续的问题。
- 高质量重照明:用预训练的图像重照明模型,对视频中的每一帧进行光照调整,同时保持图像质量。
- 前景与背景分离处理:支持对视频前景进行重照明,自动生成与光照条件一致的背景。
- 零样本(Zero-shot)生成:无需额外训练或优化,直接根据文本提示生成符合光照条件的视频。
- 兼容性强:与多种流行的视频生成模型(如 AnimateDiff、CogVideoX 等)兼容,具有广泛的适用性。
Light-A-Video 的技术原理
Consistent Light Attention (CLA):CLA 模块基于增强帧间交互来稳定光照源的生成。在图像重照明模型的自注意力层中引入跨帧信息,基于时间平均特征抑制光照的高频抖动,生成稳定的背景光照。CLA 采用双流注意力融合策略:一条流处理原始帧信息,保留细节;另一条流基于时间平均处理,抑制抖动。最终通过加权平均融合两种流的输出。
Progressive Light Fusion (PLF):PLF 模块利用视频扩散模型(VDM)的运动先验,逐步将重照明效果融入视频中。基于线性融合的方式,将重照明的图像外观与原始视频外观结合,确保光照过渡的平滑性。PLF 在视频扩散模型的去噪过程中逐步调整光照目标,基于动态调整融合权重,逐渐引导视频去噪方向,实现时间上一致的重照明效果。
如何运行 Light-A-Video
Light-A-Video 是一个无需训练的视频重光照框架,可以对任意给定的视频序列或前景序列进行零样本光照控制。以下是运行该工具的详细教程。
注意事项
- 本教程基于官方代码库和预训练模型。
- 确保按照以下步骤正确安装依赖项和准备预训练模型。
1. 环境准备
1.1 克隆代码库
首先,克隆 Light-A-Video 的官方代码库到本地:
git clone https://github.com/bcmi/Light-A-Video.git
cd Light-A-Video
1.2 创建并激活 Conda 环境
推荐使用 Conda 管理依赖项。运行以下命令创建并激活 Python 3.10 的环境:
conda create -n lav python=3.10
conda activate lav
1.3 安装依赖项
安装所需的 Python 包:
pip install -r requirements.txt
2. 预训练模型准备
Light-A-Video 使用以下预训练模型:
- IC-Light:https://huggingface.co/lllyasviel/ic-light
- SD RealisticVision:https://huggingface.co/stablediffusionapi/realistic-vision-v51
- Animatediff 动画适配器 V1.5.3:https://huggingface.co/guoyww/animatediff-motion-adapter-v1-5-3
模型下载会自动完成,无需手动干预。
3. 快速开始
3.1 视频重光照
运行以下命令对视频进行重光照处理:
python lav_relight.py --config "configs/relight/car.yaml"
--config
参数指定配置文件路径,car.yaml
是示例配置文件。
3.2 前景序列重光照与背景生成
如果需要处理视频中的前景序列并生成背景,可以按照以下步骤操作:
3.2.1 提取前景序列
使用 SAM2 工具提取前景序列:
python sam2.py --video_name car --x 255 --y 255
--video_name
指定视频名称。--x
和--y
指定前景区域的初始坐标。
3.2.2 修复背景并重光照
运行以下命令完成背景修复和重光照:
python lav_paint.py --config "configs/relight_inpaint/car.yaml"
4. 示例程序
以下是一个简单的示例程序,展示如何使用 Light-A-Video 对视频进行重光照。
4.1 示例代码
import argparse
# 命令行参数解析
parser = argparse.ArgumentParser(description="Light-A-Video: Training-free Video Relighting")
parser.add_argument("--config", type=str, required=True, help="Path to the configuration file")
args = parser.parse_args()
# 主程序逻辑
def main(config_path):
print(f"Running Light-A-Video with config: {config_path}")
# 在此处添加 Light-A-Video 的核心逻辑
# 例如:加载配置文件、处理视频、生成重光照结果
if __name__ == "__main__":
main(args.config)
argparse
模块:用于解析命令行参数。main
函数:核心逻辑入口,接收配置文件路径作为参数。- 注释部分:根据实际需求扩展功能,例如加载配置文件、调用 Light-A-Video 的重光照模块。
资源
- 项目主页:https://bujiazi.github.io/light-a-video.github.io/
- GitHub 仓库:https://github.com/bcmi/Light-A-Video/
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦