在 Stable Diffusion 中控制光线的三种方式

news2024/11/25 12:21:53

光线在摄影中扮演着至关重要的角色,并对图像的整体质量和意境产生重要影响。你可以利用光线来增强主题,创造深度和立体感,传达情感,并突出重要细节。

在本文中,你将了解通过以下方法来控制光线:

  • 光线提示词
  • 区域光线控制
  • ControlNet img2img

软件

我们将使用 AUTOMATIC1111 的 Stable Diffusion GUI 来进行图片生成。你可以在 Google ColabWindows 或者 Mac 上使用这个 GUI

使用光线提示词

最简单的方法是将 光线提示词 添加到提示中。

我将使用以下基本提示和负面提示来说明效果。

fashion photography, a woman

disfigured, ugly, bad, immature, cartoon, anime, 3d, painting, b&w, nsfw

  • Model: DreamShaper v6 (c249d7853b)
  • Width: 512
  • Height: 768
  • CFG scale: 7
  • Seed: 94858136 – 94858143

使用基本提示生成的示例图像。它们的光线充足,外形美观,但照明效果并不有趣。

Volumetric lighting(立体光线)是指图像上的明显光线束。在摄影中,它被用于增加体积感。

向提示中添加提示词 volumetric

使用 Rim lighting(边缘光线)为主体添加了一个发亮的轮廓。这可能会使主体变暗。你可以与其他光线提示词结合使用以突出主体。

向提示中添加提示词 rim lighting

使用 Sunlight(阳光)在图像中添加阳光效果。它通常用于渲染大自然背景。

向提示中添加提示词 sunlight

Backlight(背光)会将光源放在图片主体后面。通过添加这个提示词,你可以产生一些时尚的效果。

向提示中添加 backlight

众所周知,Stable Diffusion 不会无人指导地生成暗图像。解决这个问题的方法有很多,包括使用模型和 LoRA。但一个更简单的方法是添加一些昏暗的光线提示词。

向提示中添加 dimly lit

Crepuscular rays(晨光射线)用于添加光线穿过云层,产生的光线效果。它可以创造出令人惊叹的视觉效果。

该提示和纵横比通常用于生成全身图像,添加 crepuscular rays 会放大图像。我使用 crepuscular rays, face 略微放大了面部。

提示:

  • 如果未看到效果,请增加提示词的权重。
  • 这些光线提示词并不总是有效的。尝试一次生成几张图像进行测试。

区域光线控制

提示中的光线提示词适用于整个图像。你可以使用工具进一步调整光线效果以适应特定区域。

你需要安装 Regional Prompter 扩展。请查阅文章以了解安装说明。

在这个例子中,你将为图像的上部和下部应用不同的光线。

txt2img 页面上,展开 Regional Prompter 部分。

  • Active: Yes
  • Use common prompt: Yes
  • Split mode: Vertical
  • Divide Ratio: 2,3

点击 visualize and make template,确认图像被分为两个垂直区域。

输入提示:

fashion photography, a woman
BREAK
( hard light:1.2), (volumetric:1.2), well-lit
BREAK
(dimly lit:1.4)

并使用下面的负面提示:

disfigured, ugly, bad, immature, cartoon, anime, 3d, painting, b&w, nsfw

其他参数保持不变。

你将得到一些在顶部光线良好但底部较暗的图像。

现在试试交换光线分配。

fashion photography, a woman
BREAK
(dimly lit:1.4)
BREAK
( hard light:1.2), (volumetric:1.2), well-lit

光线相应地交换了。

提示:

  • 如果未看到效果,请调整提示词的权重。
  • 区域提示并不总是百分之百有效。生成多一些的图片,并挑选出最好的结果。

使用 ControlNet 控制光照

现在,任何教程都离不开提到 ControlNet… 所以本文也不可避免!

这种方法允许你精确控制光线。

Txt2img 设置

txt2img 页面上,按照通常的方式生成图像。

选择要添加光线的图像。

将其保存到本地存储(我们稍后会用到 ControlNet)。

点击 Send to img2img

Img2img 设置

你的提示、负面提示、图像大小和种子值现在已经传输到 img2img 页面。

img2img 页面上,导航到 ControlNet 部分。

上传刚才保存的图像到 ControlNet Unit 0

使用以下设置。

  • Enable: Yes
  • Pixel Perfect: Yes
  • Allow preview: Yes
  • Control Type: Depth
  • Preprocessor: depth_zoe
  • Model: control_xxxx_depth
  • Control Weight: 0.6

滚动到 img2img canvas,删除图像。

我们将使用以下图像来控制光线。该图像指定了靠近顶部的聚光灯。

将此图像上传到 img2img canvas

resize mode 设置为 Just Resize

denoising strength 设置为 0.95

按下 Generate

你应该得到带有光源在顶部的图像。

你可以使用位于右上角的 Edit Tool(铅笔图标)来放大 img2img 画布中的某个区域。

点击铅笔图标后,拖动突出显示区域的角来调整大小。目前该工具中存在一些问题,你可能需要执行两次。

例如,下面的截图显示了将相同的图像裁剪,以便光源位于左上角。

请参考面部和帽子的左侧,比之前的图像更亮。

同样地,使用光源位于左下角,从底部左侧照亮图像。

或者使用更高对比度的对角光。

以下是一些光源图案的示例。

使用它们就可以不需要针对某个区域进行修改而实现所需的光线效果。

你可以不使用深度控制模型。而可以使用其他模型,如 cannyline art realistic。尝试不同的预处理器,看看哪个适合你。

如果看到不自然的颜色,请降低 Controlnet weight。调整降噪强度并观察效果。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1834081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用

文章目录 前言优缺点优点缺点 安装创建配置选择语言选择默认语言创建多语言表数据创建key配置不同语言文本预加载绑定不同多语言文本数据,并显示语言切换自己编写按钮控制语言切换多语言图片切换在构建中使用Localization分析错误修复动态修改多语言文本内容参考推荐…

高考后的抉择:如何在心仪专业与知名学校之间做出选择?

目录 前言1. 专业选择的深度探讨1.1 专业的优势与挑战1.1.1 课程学习1.1.2 就业前景 1.2 专业选择的个人经验与思考 2. 名校对个人发展的长短期影响2.1 名校声誉的品牌效应2.1.1 职业发展2.1.2 社会认可度 2.2 教育资源与学术氛围2.2.1 教育资源2.2.2 学术氛围 2.3 就业优势 3.…

【2024最新精简版】RabbitMQ面试篇

文章目录 Kafka和RabbitMQ什么区别惰性队列(Lazy Queues)是怎么实现的?RabbitMQ工作模式有哪些 ?你们项目中哪里用到了RabbitMQ ?为什么会选择使用RabbitMQ ? 有什么好处 ?使用RabbitMQ如何保证消息不丢失 ?消息的重复消费问题如何解决的…

3.1、前端异步编程(超详细手写实现Promise;实现all、race、allSettled、any;async/await的使用)

前端异步编程规范 Promise介绍手写Promise(resolve,reject)手写Promise(then)Promise相关 API实现allraceallSettledany async/await和Promise的关系async/await的使用 Promise介绍 Promise是一个类,可以翻…

Spring技术——介绍、初识

从这篇博客正式开始学习 Spring 。 一、整个Spring技术学习的介绍 首先先对 Spring 做一个简单的认识,并从以下3个方面了解学习Spring 技术的意义: (1)为什么要学习 Spring 技术? 1、它的市场的占有率很高&#xff…

webpack 压缩图片

压缩前: 压缩后: 压缩后基本上是压缩了70-80%左右 1.依赖版本及配置 "imagemin-webpack-plugin": "^2.4.2", "imagemin-mozjpeg": "^7.0.0", "imagemin-pngquant": "^5.0.1", "webpa…

ClickHouse安装与下载22.3.2.2

ClickHouse安装与下载 目录 1. ClickHouse简介 1.1 ClickHouse优点: 1.2 ClickHouse缺点: 1.3 ClickHouse引擎: 1.3.1 数据库引擎 1.3.2 表引擎 2. ClickHouse下载安装 2.1 ClickHouse下载安装 2.2 ClickHouse使用 1. ClickHouse简…

五要素便携式气象站

TH-BQX5自然灾害,如暴雨、洪水、飓风等,对于人类生活的影响和威胁始终不可忽视。在应对自然灾害的过程中,提高应急响应和预警能力成为了一项迫切而重要的任务。近年来,五要素便携式气象站因其便捷、精准的特点,在自然灾…

大数据技术与实践学习

大数据技术与实践期末复习 生态系统 每一张图片都值得思考,理清楚到底是什么! 1.结构化数据(数据库里面的):Sqoop(效率比较慢/隔一段时间抽取一次) 2.半结构化或者非结构化数据:F…

Coursera耶鲁大学金融课程:Financial Markets 笔记Week 02

Financial Markets 本文是学习 https://www.coursera.org/learn/financial-markets-global这门课的学习笔记 这门课的老师是耶鲁大学的Robert Shiller https://en.wikipedia.org/wiki/Robert_J._Shiller Robert James Shiller (born March 29, 1946)[4] is an American econom…

细说MCU通过定时器输出PWM波形的实现方法

目录 一、硬件及工程 二、建立工程 三、代码修改 1、重定义回调函数 2、启动定时器中断 四、下载运行 一、硬件及工程 文章依赖的硬件及工程配置参考本文作者的其他文章:细说ARM MCU的串口接收数据的实现过程-CSDN博客 细说ARM MCU的串口接收数据的实现过程-C…

Matlab基础语法:变量和数据类型,基本运算,矩阵和向量,常用函数,脚本文件

目录 一、变量和数据类型 二、基本运算 三、矩阵和向量 四、常用函数 五、脚本文件 六、总结 一、变量和数据类型 Matlab 支持多种数据类型,包括数值类型、字符类型和逻辑类型。掌握这些基本的变量和数据类型,是我们进行数学建模和计算的基础。 数…

IT入门知识第三部分《软件开发》(3/10)

目录 IT入门知识大纲第三部分《软件开发》 1. 软件开发生命周期(SDLC) 1.1 需求分析 1.2 软件设计 1.3 程序编码 1.4 软件测试 1.5 项目部署 1.6 运行维护 2. 软件开发方法论 2.1 瀑布模型 2.2 敏捷开发 2.2.1 Scrum 2.2.2 Kanban 2.3 Dev…

ip地址b类和c类的区别是什么?体现在哪里

在数字化时代的浪潮中,IP地址扮演着不可或缺的角色。它们不仅是设备在网络中的唯一标识,更是网络连接和信息传输的基石。然而,对于非专业人士来说,IP地址的复杂分类可能会显得有些晦涩难懂。今天,我们就来深入探索IP地…

C#语言中的Async/await最佳实践

自从 C# 5 中引入 async/await 以来,开发人员之间一直对 async/await 关键字的最佳实践以及幕后实际发生的事情感到困惑。 让我们先从基础开始。 在 Windows 窗体的早期,UI 延迟与 I/O 操作所花费的时间成正比。这意味着,如果您尝试将数据保…

【ONE·基础算法 || 记忆化搜索】

总言 主要内容:编程题举例,熟悉理解记忆化搜索类题型(对比递归、动态规划理解运用)。             文章目录 总言1、记忆化搜索1.1、基本介绍1.2、细节理解(记忆搜索化、递归、动态规划……) 2、斐…

如何通过小猪APP分发轻松实现Web封装APP

你有没有想过将你的网站或者Web应用变成一个真正的APP?这听起来可能有点复杂,但其实在今天的技术环境下,这已经变得非常简单了。特别是有了像小猪APP分发这样的工具,你可以轻松地将你的Web应用封装成一个APP。 为什么要将Web应用封…

Java学习55-super关键字的使用

1.举例1:子类继承父类以后,对父类方法进行了重写,那么在子类中,是否还可以对父类中被重写的方法进行调用? 可以! 举例2:子类继承父类以后,发现子类和父类中定义了同名的属性&#xf…

示例:WPF中在没有MouseDoubleClick的控件中如何识别双击

一、目的&#xff1a;由于MouseDoubleClick控件是在Control中实现&#xff0c;那么在底层控件如Grid中想要类似功能如何实现&#xff0c;这里通过MouseDown的事MouseButtonEventArgs参数去实现 二、实现 定义Grid并注册Grid的MouseDown事件 <Grid Background"Transpa…

Android如何简单快速实现RecycleView的拖动重排序功能

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 要实现这个拖动重排序功能&#xff0c;主要是用到了RecycleView的ItemTouchHelper类 首先是定义一个接口 interface ItemTouchHelperAdapter …