IC-Light是一款用于操纵图像照明效果的开源项目 ,它的全称是”Imposing Consistent Light”,意为”营造一致的光线”。这个工具可以通过文本和背景图对前景内容进行照明控制,使前景主体与背景环境光照一致,从而让二者融为一体。IC-Light能够对色调氛围和光照方向进行控制,例如,如果提示词写了“窗外的阳光”,那么处理后的图像中人物身上就会有明显的光影,整体色调也会变成温暖的橘色;如果提示词写的是霓虹灯光,则画面会变成暗调的红蓝光。光照方向可以通过Lighting Preference选项来控制,支持左侧光、右侧光、底部光和顶部光。
IC-Light目前支持在线体验,也有相关的插件可以安装使用,适用于不同的AI创作平台,如Stable Diffusion和ComfyUI。这个工具对于需要在图像中实现特定光照效果的设计师和艺术家来说非常有用,可以帮助他们更好地控制图像的光线和氛围。
IC-Light的主要功能特点
- 文本条件重照明模型:用户可以输入文本提示词,如“左侧光线”或“日光”,模型将根据这些提示词和初始潜变量生成具有特定光照方向和特征的图像。
- 背景条件模型:结合背景提示信息,可以对前景物体进行不同风格的光照变化,无需复杂的提示词。
- 一致的照明效果:利用HDR(高动态范围)图像中光线传播的独立性,使不同光源的混合效果与混合光源产生的效果一致。这是通过在模型训练期间引入MLP(多层感知器)来实现的,从而使模型能够产生具有高度一致性的重照明效果。
- 光照方向控制:IC-Light支持通过Lighting Preference选项来控制光照方向,支持左侧光、右侧光、底部光和顶部光。
- 在线体验和插件支持:IC-Light提供在线Demo体验,同时也有适用于不同AI创作平台的插件,如Stable Diffusion和ComfyUI。
技术原理
IC-Light的技术原理主要基于以下几个方面:
- 高动态范围(HDR)空间:在HDR空间中,光照具有独立性,这意味着不同光源的混合效果与混合光源直接照射的效果是一致的。这种属性允许IC-Light在不改变图像本身结构的情况下,实现前景和背景的自然融合。
- 多层感知器(MLPs):IC-Light通过在潜在空间中使用MLPs来强加光照的一致性。这使得模型能够产生高度一致的重新光照效果,甚至可以将不同的重新光照合并为法线贴图。
- 文本条件重照明模型:该模型接受文本提示词和前景图像作为输入,根据这些提示词生成具有特定光照方向和特征的图像。
- 背景条件模型:结合背景提示信息,可以对前景物体进行不同风格的光照变化,无需复杂的提示词。
- 光照方向控制:用户可以通过Lighting Preference选项来控制光照方向,例如左侧光、右侧光、底部光和顶部光。
这些技术原理结合起来,使IC-Light成为一个强大的工具,它可以在保持图像结构不变的同时,通过简单的文本描述或背景条件,对图像的光照进行精确调整,创造出各种光影效果。
IC-Light的使用方法
一、 在线体验:https://huggingface.co/spaces/lllyasviel/IC-Light
Huggingface 已经有了 IC-Light 的在线使用 Demo,可以直接体验其光照控制功能。使用方式也非常简单,上传一张人物图像,用文本描述新的背景内容和色调氛围,然后在 Lighting Preference 中设置光照的方向,最后点击 Relight 生成就可以了。
二、ComfyUI
IC-Light 原生插件: https://github.com/huagetai/ComfyUI-Gaffer
模型下载: https://huggingface.co/lllyasviel/ic-light/tree/main
ComfyUI 目前已经有多个实现 IC-Light 的插件,此处我使用的是原生的插件 ComfyUI-Gaffer,我们可以通过 git clone 或者 comfyui manager 安装。
插件安装成功后,需要下载 3 种 IC-Light 模型 (文末有资源包),安装到 ComfyUI/models/iclight 文件夹中,三种模型目前只适用于 SD 1.5 模型,作用分别为:
- iclight_sd15_fc.safetensors:默认的重照模式,以文本和前景为条件。您可以使用初始潜影来影响重照效果。在 FG 工作流程中使用它
- iclight_sd15_fcon.safetensors: 与 “iclight_sd15_fc.safetensors ”相同,但使用偏移噪声进行训练。在 FG 工作流程中使用它
- iclight_sd15_fbc.safetensors: 以文本、前景和背景为条件的重新照明模型。在 BG 工作流程中使用它
以上步骤完成后,重启 ComfyUI,然后从 ComfyUI Gaffer 插件根目录的 example 文件夹中导入官方给的 6 个工作流文件,然后就可以正常使用了。其中 IC-Light 节点的相关参数和用法在 ComfyUI Gaffer 的 Github 主页中有详细介绍,使用前可以先仔细阅读一下。6 个工作流的作用分别是:
1、workflow-gaffer-iclight-fc-text:文本生成背景,修改给定前景的光照,使其融为一体。
2、workflow-gaffer-iclight-fc:文本生成背景+手动设置 8 种光照方向,修改给定前景的光照,使其融为一体。
3、workflow-gaffer-iclight-fbc:上传给定背景,修改给定前景的光照,使其融为一体。
4、workflow-gaffer-iclight-fc-normal:批量生成不同的光照环境。
5、workflow-gaffer-iclight-fc-animated:生成动态照明动画
6、workflow-gaffer-iclight-all:上传背景+设定光照方向+批量生成功能合集
三、SD WebUI Forge
插件链接: https://github.com/huchenlei/sd-forge-ic-light
模型下载: https://huggingface.co/huchenlei/IC-Light-ldm/tree/main
除了 ComfyUI,lllyasviel 自研的 SD WebUI Forge 也已经有了 IC-Light 的插件,可以在 「extension」中通过网址安装。然后下载 clight_sd15_fc_unet_ldm(用于前景)和 iclight_sd15_fbc_unet_ldm(用于背景)两个模型,安装到根目录的 stable-diffusion-webui-forge/models/unet(没有 unet 文件夹手动创建一个)。
SD WebUI Forge 中也支持从文本生成背景、控制照明方向和上传背景图对给定前景造成影响。需要注意的是:
- 如果是自己上传背景图,需要将照明模型又 FC 转为 FBC;
- CFG 数值要调低,一般为2;
- 控制光照方向时,插件为自动在图生图版块生成灰度图,此处的 CFG 同样要调整为2,重绘幅度要调高为1。
打光效果演示
1、美丽的女人,精致的面容,霓虹灯,王家卫,温暖。照明偏好:左侧
2、提示:美丽的女人,精致的面容,阳光,户外,温暖的氛围。照明偏好:右侧
3、提示:美丽的女人,精致的面容,窗外的阳光。照明偏好:右侧
4、提示:美丽的女人,精致的面容,窗外的阴影。照明偏好:左侧
5、提示:佛像,细致的面部表情,科幻风格的RGB发光效果,赛博朋克风格。照明偏好:左侧