Stable Diffusion 改变光线的能力简直太强大了!
在没有 Stable Diffusion 的年代,对照片的光线进行后期处理,基本上要依靠 Photoshop。比如添加一个曝光图层。这个技术对于形状简单的物体来说很方便,因为光线效果很好模拟。但对于形状复杂的主体,比如人来说,要想实现自然的光线效果,你最好得有美术功底,并配备一个数位板。
Stable Diffusion 的出现使得改变光线变得既简单又自然,因为它学习过无数的照片里的光线,从而可以模拟出非常真实的光线效果。
本文将通过实际案例,为你一步步揭晓这一神奇的功能,让你借助 AI 的力量轻松驾驭图片里的光线。
任务简介
下面这张图也是 Stable Diffusion 生成的。当然,我们也可以处理相机拍出来的照片。
图中的光线是从主体左边照过来的。现在我们要换一个方向,变成右边照过来。如果在 Photoshop 的曝光图层上通过画笔涂抹的话,没有美术功底的人很难实现非常自然的效果。让我们看看怎样通过 Stable Diffusion 来处理。
用到的模型
我们将要借助 Stable Diffusion 的 ControlNet Brightness 模型。这个模型可以在 HuggingFace 上下载,地址是 huggingface.co/ioclab/ioc-controlnet/tree/main/models。
如果你跟我一样用这个SD云平台的话,它已经被内置在 WebUI 里啦,简直太方便!
👉 玩 Stable Diffusion 没有好显卡?试试秋叶大佬推荐的云平台
这个模型,顾名思义,就是用来控制图像明暗。 我们只需要选择它,并上传一张记载图像明暗信息的灰度图。为了改变原图的明暗,我们可以在 Photoshop 中修改它的灰度图。
PS预处理
在 Photoshop 中将图片转换为灰度模式后,我们就可以使用减淡/加深工具来调整明暗。在需要提亮的地方,我们使用减淡工具进行涂抹;在需要调暗的地方,我们则使用加深工具进行涂抹。
这些涂抹不需要很精细,因为稍后 Stable Diffusion 会把明暗关系处理得更自然。下图是我涂抹的灰度图。
我把主体头顶上方的区域由亮变暗。并把主体的右侧身体提亮,左侧身体变暗。图片左上角也增加了明亮区域。
SD处理光线
灰度图搞定了以后,接着来到 SD 的文生图界面,选一个写实系的大模型,并填入相应的提示词。采样器根据已选择的模型来选。其它设置按照基本的来就好。可以开启高分辨率修复来增强画质。
然后来到 ControlNet 的设置页面。预处理器选择 none; 模型选择 “control_vlp_sd15_brightness”。这里比较重要的是 Control Weight (控制权重) 和 Ending Control Step (结束步数)。它们要设置一个较低的数值,太高的话会导致过度拟合,画面失真。具体数值随每个画面的不同而不同。
下图右半部分是改变光线后的图片。观察一下,光线是否有很大不同呢。
其它案例
我甚至还可以再修改一下灰度图,造个太阳或者月亮出来。
我在灰度图的左上方画了一个白色的圆形区域,这样 SD 就可以帮我模拟太阳或月亮的效果。将原先的灰度图进行替换之后,我在提示词里添加了 “月亮”,“蓝色时刻 (Blue Hour)” 这两个英文单词之后,再点击生成,SD 就为我生成了下图。
然后我将提示词里的“街道”替换为“沙滩”之后,SD就为我生成了下面的图片。
其它说明
Brightness 这个模型虽好,但和其它 ControlNet 模型配合经常会出问题。如果不出问题的话,还可以配合 Canny 或者 Lineart 来精准控制画面的构图。单独使用虽然可以改变光影效果,但画面的构图也会发生一些变化。
分享完毕,感谢阅读🤗
也欢迎加我微信vito_chat,进AI绘图群一起交流学习