在 stable diffussion 中控制生成图片的光线
![在stable diffussion中控制生成图片的光线](https://static001.geekbang.org/infoq/7b/7b6cf1854bbe27750e38a0dbcff7ea9a.png)
在摄影中,光线起着至关重要的作用,它对图像的整体质量和氛围有着显著的影响。您可以使用光线来增强主题,创造深度和维度,传达情感,以及突出重要细节。
在这篇文章中,我会告诉你如何在 stable diffussion 中控制生成图片的光线。
软件
我们将使用 AUTOMATIC1111 Stable Diffusion GUI 来创建图像。
使用光线关键词
最简单的控制光线的方法就是在提示中添加光线关键词。
我将使用以下基础提示和负面提示来说明效果。
正向提示词:
负向提示词:
模型:majicmixRealistic_v7
宽度:512
高度:768
CFG 刻度:7
下面是使用基础提示词生成的图片,他们看起来还不错,但是光线就不怎么样了。
![](https://static001.geekbang.org/infoq/fa/fa14525da3eec8fa0cdbcd319d327df1.png)
Volumetric lighting 是在图像上明显的光束。它在摄影中用于增加体积感。
在提示中添加关键词 Volumetric lighting:
![](https://static001.geekbang.org/infoq/f2/f22ee1badda63db1767a47077d8c9014.png)
rim lighting 为主题添加了明亮的轮廓。它可能会使主题变暗。您可以与其他光线术语结合使用以照亮主题。
在提示中添加关键词 rim lighting:
![](https://static001.geekbang.org/infoq/93/9373e7514bfd75fe58888f8fd7add863.png)
Sunlight 为图像添加了阳光。它倾向于呈现自然背景。
在提示中添加关键词 Sunlight。
![](https://static001.geekbang.org/infoq/7c/7c1c5f58a5ae27cc781483ccc7590f54.png)
Backlight 将光源置于主题之后。通过添加这个关键词,您可以产生一些时尚的效果。
在提示中添加 Backlight。
![](https://static001.geekbang.org/infoq/e1/e190b133cbd7175e3db22068d823916a.png)
众所周知,Stable Diffusion 在没有引导的情况下不会产生黑暗的图像。
解决这个问题的方法有很多,包括使用模型和 LoRA。但更简单的方法是添加一些昏暗的光线关键词。
在提示中添加 dimly lit。
![](https://static001.geekbang.org/infoq/21/21051bc6248d321e56e44f4d28de3b34.png)
Crepuscular rays 在云层中添加了光线穿透的光线。它可以创造出令人惊叹的视觉效果。
这个提示和肖像宽高比通常呈现全身图像,添加 Crepuscular rays 会放大。
![](https://static001.geekbang.org/infoq/f6/f60166059163561d2607d0696ace56a7.png)
技巧:
如果您没有看到效果,请增加关键词的权重。
这些光线关键词并不总是有效。一次生成几张图像进行测试。
在提示生成器中找到更多的光线关键词。
控制特定区域的光线
提示中的光线关键词适用于整个图像。这里我会告诉你如何控制特定区域的光线。
这里你需要安装一个插件叫做 regional Prompter。
下载地址如下: https://github.com/hako-mikan/sd-webui-regional-prompter.git
安装好之后,可以在工作区的下方发现这个 Regional Prompter 的区域。
在这个例子中,我们将对图像的上部和下部应用不同的光线。
在 txt2img 页面上,展开 regional Prompter 部分。
![](https://static001.geekbang.org/infoq/f9/f947a214230f35472f649a519f782674.png)
按我上面的选择进行设置。
基本上含义就是把图片按 2:3 的比例分割成两部分,来分别进行 promot 设置。
regional Prompter 是一个非常强大的工具,可以产出非常惊艳的效果。我会在后续的文章中详细介绍 regional Prompter。
这里只是作为一个使用场景。
我们改下输入提示:
正向提示词:
负面提示词保持不变。
这样我们的到了一个上面光亮,下面昏暗的图片。
![](https://static001.geekbang.org/infoq/b0/b03eab82f30e0901de7ab9710ceabb3d.png)
现在尝试交换光线分配。
![](https://static001.geekbang.org/infoq/48/485ec81754b4544058098dbe05f91ad0.png)
光线相应地交换。
技巧:
如果您没有看到效果,请调整关键词的权重。
区域提示并不总是 100%有效。可以多尝试一些图片看看效果。
使用 ControlNet 控制光线
除了上面的提示词和 regional Prompter 来控制光线之外。我们还可以使用 controlNet 来对图片的光线进行更加精确的控制。
controlNet 是一个单独的插件,所以你需要先安装它。
Txt2img 设置
安装好 controlNet 之后,在 txt2img 页面上,像平常一样生成图像。
![](https://static001.geekbang.org/infoq/66/66efd366ddc24174a9118efc2b042072.png)
点击发送到 img2img。
这个操作会把所有的提示,负面提示,图像大小和种子值拷贝到 img2img 页面。
Img2img 设置
在 img2img 页面上,导航到 ControlNet 部分。
将您刚刚保存的图像上传到 ControlNet 单元 0。
![](https://static001.geekbang.org/infoq/f0/f09c2528896b649399d85d5e86a00e92.png)
大家可以使用我的配置选项。
这里我们需要选择 Depth 模型,在 preprocessor 中选择 depth_zoe,model 选择 control_xxxx_depth。
向上滚动到 img2img 画布。删除图像。
然后使用画图工具绘制一个黑白的模板图。
白色代表光线。
如下所示:
![](https://static001.geekbang.org/infoq/af/af084b5798341d7a7d4e2557f94e5bb1.png)
把这个图像上传到 img2img 画布。
将调整大小模式设置为仅调整大小。
将去噪强度设置为 0.9。
点击生成。
您应该得到带有横向光源的图像。
![](https://static001.geekbang.org/infoq/8d/8df2b101a77a3278d9313e5280f14f21.png)
如果你不想创建自己的光源,那么可以 baidu 一下黑白光源图片:
![](https://static001.geekbang.org/infoq/3f/3fc3c8648f1bed32f689d4d4fa90109b.png)
比如第一张光源图片,我们可以得到下面的图片:
![](https://static001.geekbang.org/infoq/6f/6fbc68c61386d4f74df8b8fa06905f48.png)
备注
不一定必须使用深度控制模型。其他模型,如 canny 和 lineart 模型,也可以工作。你可以尝试使用预处理器,看看哪一个适合你。
如果您看到不自然的颜色,请减少 Controlnet 权重。
调整去噪强度并观察效果。点我查看更多精彩内容:www.flydean.com
评论