
IC-Light:给已有图片重新打光的扩散模型|部署与使用全指南
项目仓库: https://github.com/lllyasviel/IC-Light
论文:ICLR 2025《Scaling In-the-Wild Training for Diffusion-based Illumination Harmonization and Editing by Imposing Consistent Light Transport》 · 语言:Python · 框架:PyTorch + Gradio · 形态:本地 Gradio 演示 · 模型:基于 SD 1.5
1 项目简介
IC-Light(Imposing Consistent Light,"施加一致光照")是 lllyasviel(也是 ControlNet 作者)开源的图像**重打光(relighting)**项目:输入一张已经抠好前景的图片,模型在保持人物/物体身份与结构不变的前提下,重新生成整张图的光照关系——例如把左光改成右光、把室内改成窗外阳光、把平光改成霓虹赛博光。
项目目前提供两类模型:
- 文本条件模型:用文字描述想要的光线(如 "warm atmosphere, at home, bedroom"),并配合 "Lighting Preference"(左/右/底等初始潜变量)控制主光方向。
- 背景条件模型:直接给一张背景图,模型自动把前景合成到新背景并匹配光照,不需要精心写提示词。
官方警告:
iclightai.com是诈骗网站,与作者无关;本 GitHub 仓库是唯一官方渠道,不要向任何声称提供 IC-Light 商业服务的第三方付费。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | IC-Light |
| 仓库地址 | github.com/lllyasviel/IC-Light |
| 项目定位 | 基于扩散模型的图像重打光 / 光照协调 |
| 作者 | Lvmin Zhang、Anyi Rao、Maneesh Agrawala |
| 论文 | OpenReview u1cQYxRI1H(ICLR 2025) |
| 底座 | Stable Diffusion 1.5(latent diffusion) |
| 演示脚本 | gradio_demo.py(文本条件)、gradio_demo_bg.py(背景条件) |
| 模型权重 | 首次运行自动下载 |
| 在线 Demo | Hugging Face Space: lllyasviel/IC-Light |
| 形态 | 本地 Gradio Web 界面 |
| 默认端口 | Gradio 默认 7860 |
1.2 适用场景
- 人像/产品图需要在不换主体的前提下换一种光线氛围(室内暖光、窗外阳光、霓虹、工作室光等)。
- 已经有一张抠好的前景,想换背景并让光照自动匹配,而不是生硬贴图。
- 研究光照一致性、正常图估计、光照迁移等方向。
1.3 能力边界(官方口径)
- 输入需要是已经分割好前景的图;项目依赖 BRIA RMBG 1.4 做背景移除。
- 文本条件模型的 "Lighting Preference" 只是初始潜变量(左=左白右黑),不是精确的物理光源设置。
- BRIA RMBG 1.4 仅用于非商业用途;商用项目必须换成 BiRefNet 等其他抠图模型。
2 功能特性
- 文本条件重打光:自然语言描述光线氛围 + 初始潜变量方向。
- 背景条件重打光:直接喂背景图,自动匹配光照,提示词只需简单描述。
- 光照一致性:训练时在 latent 空间施加"不同光源外观可加性"的一致性约束,模型输出可进一步合并为正常图(normal map),即使它没有用正常图数据训练过。
- 多种权重:
iclight_sd15_fc.safetensors:默认重打光模型(文本+前景条件);iclight_sd15_fcon.safetensors:offset-noise 训练版本,用户研究中略逊于默认;iclight_sd15_fbc.safetensors:文本+前景+背景三条件版本。
- 自动下载模型:首次运行脚本时自动拉取权重。
3 官方界面预览
开篇图即为官方 README 中文本条件模型的示例。项目提供 Hugging Face Space 在线版,无需本地 GPU 即可试玩。
4 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | github.com/lllyasviel/IC-Light | 源码、Gradio 脚本、权重说明 |
| 在线 Demo | huggingface.co/spaces/lllyasviel/IC-Light | 官方在线体验 |
| 论文 | OpenReview | ICLR 2025 论文 |
| Discussions | github.com/lllyasviel/IC-Light/discussions | 官方更新与替代模型讨论 |
| 抠图模型 | BRIA RMBG 1.4 | 非商用抠图 |
| 商用替代抠图 | BiRefNet | 商用替换方案 |
5 前置要求与服务器配置
5.1 软件前提
- Conda(官方示例用 conda 创建 Python 3.10 环境)。
- Python 3.10。
- PyTorch + CUDA 12.1(官方命令用
--index-url https://download.pytorch.org/whl/cu121)。 - 支持 CUDA 的 NVIDIA 显卡(基于 SD 1.5,建议 8 GB 显存以上)。
5.2 硬件建议
| 项目 | 建议 |
|---|---|
| GPU | NVIDIA 显卡,8 GB 显存以上 |
| 磁盘 | 模型权重自动下载,预留 10 GB 以上 |
| 系统 | Ubuntu 20.04+;Windows 可通过 WSL2 或原生 PyTorch 运行 |
5.3 端口
| 端口 | 服务 | 用途 |
|---|---|---|
| 7860 | Gradio Web UI | 浏览器访问重打光界面 |
6 方式一:官方脚本一键启动(推荐)
# 1. 克隆仓库
git clone https://github.com/lllyasviel/IC-Light.git
cd IC-Light
# 2. 创建并激活 conda 环境
conda create -n iclight python=3.10
conda activate iclight
# 3. 安装 PyTorch(CUDA 12.1 版)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
# 4. 安装项目依赖
pip install -r requirements.txt
# 5. 启动文本条件重打光演示(模型首次运行自动下载)
python gradio_demo.py
# 浏览器打开 http://127.0.0.1:7860背景条件模型的演示命令:
python gradio_demo_bg.py7 方式二:直接使用官方在线 Demo
不想本地部署可直接使用官方 Hugging Face Space:https://huggingface.co/spaces/lllyasviel/IC-Light,上传前景图与提示词即可在线生成。
8 配置项与模型权重
| 权重文件 | 用途 |
|---|---|
iclight_sd15_fc.safetensors |
默认重打光模型,文本+前景条件,可用初始潜变量控制光照 |
iclight_sd15_fcon.safetensors |
offset-noise 训练版本,用户研究中略逊于默认 |
iclight_sd15_fbc.safetensors |
文本+前景+背景三条件版本,配合 gradio_demo_bg.py |
关键参数(在 Gradio 界面中调整):
- Lighting Preference:Left / Right / Bottom 等初始潜变量方向,决定主光倾向。
- Prompt:描述想要的光线氛围,如 "warm atmosphere, at home, bedroom"、"sunshine from window"。
- 背景条件模型:提示词只需简单描述(如 "handsome man, cinematic lighting")。
9 常用运维命令
# 查看已安装依赖
pip list | grep -iE "torch|gradio|diffusers"
# 拉取最新代码
git pull
# 重新安装依赖
pip install -r requirements.txt
# 查看 Gradio 进程
ps aux | grep gradio_demo
# 停止服务:Ctrl+C10 常见故障排查
- 模型下载失败:首次运行会自动从 Hugging Face
拉取权重;网络不佳时可配置
HF_ENDPOINT镜像或手动下载到脚本指定目录。 - 显存不足:基于 SD 1.5,8 GB 显存可跑;显存紧张时在 Gradio 中降低输出分辨率或关闭其他进程。
- 背景移除效果差:默认用 BRIA RMBG 1.4;商用需自行替换为 BiRefNet 等商用授权模型。
- 结果与参考图不一致:文本条件模型对提示词敏感;背景条件模型对背景图的光照方向敏感,尝试更换背景图或调整 Lighting Preference。
- 遇到第三方 "IC-Light" 付费网站:官方明确警告
iclightai.com是诈骗站,不要付费。
11 风险与合规说明
- 非商用抠图依赖:BRIA RMBG 1.4 仅授权非商用;商用项目必须替换为 BiRefNet 等可商用抠图模型。
- 输出图像涉及人物肖像时,只能使用本人或已获授权的素材,不得用于伪造、冒充他人。
- 官方论文与代码遵循其仓库 LICENSE;SD 1.5 底座另有自己的许可条款。
- 本项目为研究/开源工具,作者不对滥用负责;用户需遵守当地法律法规。
本文基于官方 README 与 ICLR 2025 论文整理,仅供学习与部署参考;以仓库最新说明为准。