开源!免费!视频重照明进入AI时代:复旦团队公开RelightVid代码,小白3步调出电影级光影

在数字内容创作和视频编辑领域,光照条件对视觉效果有着至关重要的影响。然而,传统的视频重照明技术往往依赖于复杂的拍摄条件或后期处理,难以实现高效且自然的光照调整。为了解决这一问题,上海AI Lab联合复旦大学、上海交通大学、浙江大学、斯坦福大学和香港中文大学等高校,推出了一种名为RelightVid的视频重照明模型。该模型基于时序一致性扩散模型,能够根据文本提示、背景视频或HDR环境贴图对输入视频进行细粒度和一致的场景编辑,为视频创作带来了新的可能性。

一、项目概述

RelightVid是一个由上海 AI Lab联合多所高校推出的视频重照明模型,旨在通过文本提示、背景视频或HDR环境贴图对视频进行高质量的重照明。它支持全场景重照明和前景保留重照明,能够在保持时序一致性和照明细节方面表现出色。RelightVid基于预训练的图像照明编辑扩散框架(IC-Light),通过引入可训练的时序层和多模态条件联合训练,实现了对视频的高效重照明。这一技术为影视制作、游戏开发、增强现实等领域提供了强大的工具,能够显著提升视频内容的创作效率和视觉效果。

二、技术原理

(一)扩散模型扩展

RelightVid基于预训练的图像重照明扩散模型(如IC-Light),通过扩展架构支持视频输入,并引入时序层捕捉帧间的时间依赖性,确保重照明的时序一致性。这种扩展不仅保留了图像重照明的高质量,还增强了视频重照明的效果。

(二)多模态条件联合训练

RelightVid能够同时利用背景视频、文本提示和HDR环境贴图作为条件。通过编码器将这些条件嵌入到模型中,并基于交叉注意力机制实现协同编辑,从而实现对视频的细粒度控制。

(三)光照不变集成(Illumination-Invariant Ensemble, IIE

为了提高模型在不同光照条件下的鲁棒性,RelightVid采用了光照不变集成策略。通过亮度增强输入视频并平均预测噪声,该策略可以有效防止反照率变化,确保重照明结果的一致性。

(四)数据增强管道(LightAtlas

RelightVid通过自定义的增强管道生成高质量的视频重照明数据对。该管道结合真实视频和3D渲染数据,为模型提供了丰富的光照先验知识,增强了对复杂光照场景的适应能力。

三、主要功能

(一)文本条件重照明

用户可以通过输入文本描述(如“阳光透过树叶,形成斑驳光影”或“柔和的晨光,金色时刻”)对视频进行重照明RelightVid能够根据文本提示生成与描述相符的光照效果。

(二)背景视频条件重照明

RelightVid可以使用背景视频作为光照条件,动态调整前景对象的光照,使前景与背景光照一致。这种功能特别适用于需要将前景对象与特定背景环境融合的场景。

(三)HDR环境贴图条件重照明

通过使用HDR环境贴图,RelightVid能够实现更精确的光照控制,生成高质量的重照明效果。这对于需要模拟复杂光照条件的场景非常有用。

(四)全场景重照明

RelightVid支持对前景和背景进行联合重照明,使整个场景与光照条件匹配,生成自然且一致的视觉效果。

(五)前景保留重照明

在某些场景中,用户可能希望突出前景对象,而保留背景不变RelightVid支持对前景进行重照明,同时保留背景的原始光照,满足此类需求。

四、应用场景

(一)影视制作

在电影或电视剧中,RelightVid可以快速调整场景的光照效果,以匹配不同的剧情需求或导演的创意构想,无需重新拍摄。这大大节省了时间和成本,提高了创作效率。

(二)游戏开发

在游戏开发中,RelightVid可以动态改变场景光照,增强游戏的沉浸感和视觉效果。例如,根据不同的时间和天气条件,实时调整游戏中的光照,使玩家获得更真实的体验。

(三)增强现实(AR

AR应用中,RelightVid可以实时调整虚拟元素的光照,使其与真实环境的光照一致,提升用户体验。这对于需要将虚拟对象与现实世界无缝融合的应用场景非常关键。

(四)视频广告与营销

RelightVid能够为广告视频快速生成多种光照风格,满足不同品牌或活动的宣传需求,提升视频的视觉吸引力。例如,通过改变光照氛围,模拟不同的天气或时间场景,丰富广告内容。

(五)视频内容创作

对于视频博主或内容创作者来说,RelightVid可以帮助他们轻松改变视频的光照氛围,如模拟不同天气或时间的场景,丰富创作内容,提升视频的视觉效果

五、快速使用

(一)环境配置

1. 克隆项目代码

首先,从GitHub克隆RelightVid项目代码:

git clone https://github.com/Aleafy/RelightVid.gitcd RelightVid

2. 安装依赖

安装项目所需的Python依赖包:

conda create -n relitv python=3.10conda activate relitvpip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118pip install -r requirements.txt

(二)模型准备

1. 下载预训练模型

为了复现RelightVid的结果,需要下载以下预训练模型,并按照以下目录结构组织:

“`

RelightVid

├── models

│   ├── realistic-vision-v51                              // stable diffusion base model

│   │   ├── text_encoder

│   │   │   ├── config.json

│   │   │   └── model.safetensors

│   │   ├── tokenizer

│   │   │   ├── merges.txt

│   │   │   ├── special_tokens_map.json

│   │   │   ├── tokenizer_config.json

│   │   │   └── vocab.json

│   │   ├── unet

│   │   │   └── diffusion_pytorch_model.safetensors

│   │   ├── vae

│   │   │   ├── config.json

│   │   │   └── diffusion_pytorch_model.safetensors

│   ├── iclight_sd15_fbc.safetensors                      // ic-light weights

│   ├── relvid_mm_sd15_fbc.pth                            // relightvid motion weights

“`

你可以通过[项目提供的下载链接](https://github.com/Aleafy/RelightVid#model-preparation)下载所有模型文件。

(三)视频重照明

1. 背景视频条件重照明

如果你想使用背景视频作为光照条件对输入视频进行重照明,可以运行以下命令:

python inference.py \--input "./assets/input/lion.mp4" \--mask "./assets/mask/lion" \--bg_cond "./assets/video_bg/stage_light2.mp4" \--output_path "output/lion_stagelight2.mp4"

其中:

– `–input`:输入视频的路径。

– `–mask`:每帧前景掩码的目录路径。

– `–bg_cond`:背景光照条件视频的路径。

– `–output_path`:重照明结果保存的路径。

你可以自由组合任何输入视频和任何背景视频。以下是更多示例命令:

python inference.py --input "./assets/input/woman.mp4--mask "./assets/mask/woman" --bg_cond "./assets/video_bg/universe1.mp4--output_path "output/woman_universe1.mp4"python inference.py --input "./assets/input/woman.mp4--mask "./assets/mask/woman" --bg_cond "./assets/video_bg/beach.mp4--output_path "output/woman_beach.mp4"python inference.py --input "./assets/input/man.mp4--mask "./assets/mask/man" --bg_cond "./assets/video_bg/tunnel.mp4--output_path "output/man_tunnel.mp4"python inference.py --input "./assets/input/man2.mp4--mask "./assets/mask/man2" --bg_cond "./assets/video_bg/fantasy.mp4--output_path "output/man2_fantasy.mp4"python inference.py --input "./assets/input/lion.mp4--mask "./assets/mask/lion" --bg_cond "./assets/video_bg/stage_light1.mp4--output_path "output/lion_stagelight1.mp4"python inference.py --input "./assets/input/truck.mp4--mask "./assets/mask/truck" --bg_cond "./assets/video_bg/universe3.mp4--output_path "output/truck_universe3.mp4"python inference.py --input "./assets/input/truck.mp4--mask "./assets/mask/truck" --bg_cond "./assets/video_bg/universe1.mp4--output_path "output/truck_universe1.mp4"python inference.py --input "./assets/input/glass.mp4--mask "./assets/mask/glass" --bg_cond "./assets/video_bg/snow.mp4--output_path "output/glass_snow.mp4"python inference.py --input "./assets/input/dance.mp4--mask "./assets/mask/dance" --bg_cond "./assets/video_bg/sunscape.mp4--output_path "output/dance_sunscape.mp4"

(四)注意事项

  • 输入视频和掩码:确保输入视频和前景掩码的帧数一致。前景掩码目录中应包含与输入视频每一帧对应的掩码图像。

  • 模型路径:确保下载的预训练模型文件路径与代码中指定的路径一致。如果路径不一致,需要修改代码中的模型路径。

  • 输出结果:重照明后的视频将保存在指定的`–output_path`路径中。如果路径不存在,程序将自动创建该路径。

六、结语

RelightVid作为一种创新的视频重照明技术,为视频编辑和内容创作带来了新的可能性。它通过文本提示、背景视频或HDR环境贴图实现了对视频的高效重照明,同时保持了时序一致性和光照细节。RelightVid在影视制作、游戏开发、增强现实等多个领域具有广泛的应用前景,能够显著提升视频内容的创作效率和视觉效果。随着技术的不断发展,我们期待RelightVid在未来能够进一步优化,支持更复杂的光照场景和更高效的处理能力。

七、项目地址

项目官网https://aleafy.github.io/relightvid/

GitHub仓库https://github.com/Aleafy/RelightVid

arXiv技术论文https://arxiv.org/pdf/2501.16330


(文:小兵的AI视界)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往