5

AIGC教程:如何在Photoshop内使用Stable Diffusion绘制高品质图片?

 1 year ago
source link: http://www.gamelook.com.cn/2023/04/515422
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

AIGC教程:如何在Photoshop内使用Stable Diffusion绘制高品质图片?

2023-04-27 • 游戏美术

【GameLook专稿,未经授权不得转载!】

GameLook报道/AIGC的强大,可能越来越多的同行都深有体会,尤其是画人物的能力几乎超越了大部分初级甚至中等水平美术师的标准,这其中,最受开发者欢迎的当属开源的Stable Diffusion。

不过,Stable Diffusion的安装需要比较大的内存和流量占用,而且步骤略微复杂。那么,能否在熟悉的研发工具当中使用AI呢?

最近,一位从业数十年的美术师分享了自己在Photoshop内使用Stable Diffusion插件创作的过程,哪怕是不安装Stable Diffusion,你也可以通过ControlNet、局部重绘、文生图以及Outpaint等功能,设计出自己想要的风格。

以下是Gamelook听译的完整内容:

lazy.png

生成型AI和Stable Diffusion终于可以在Photoshop里很好地使用了?是的。能完全控制姿势和渲染器?同样可以。

lazy.png
lazy.png

但是,你能创作这些类型的图片吗?答案还是肯定的。我们来检查一下,我会快速展示它是如何运作的。这里有个问题是,如果我用Photoshop生成了一张行医执照,这算是篡改图片吗?

lazy.png

这里是Photoshop Stable Diffusion插件的链接(https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin),不过让它运行的是这个.CCX文件,当然还有Photoshop软件本身。

如果你双击这个文件,它就会开始安装,如果你的Stable Diffusion正在运行,就需要做一个改变:

lazy.png

进入Stable diffusion文件夹,找到webui-user.bat文件,用记事本打开,在set COMMANDLINE之后,你需要加入 – -api,这样插件才能使用你的Stable diffusion。如果你没有安装Stable diffusion,可以不用安装,直接使用stable horde,所以我们接着说。

我们现在进入了Photoshop界面,并且加载了Auto-Photoshop Stable Diffusion插件,你可以到Photoshop的插件(Plugins)标签,选择这个插件。

如通常的Stable Diffusion webui那样,我后台运行的是automatic 1111,所以我直接在本地计算机上搭了一个API连接。

lazy.png

右边两个黑色框里输入你想要的,下边是你不想要的(即负面指令),这里只是预设风格,这里的dol风格可以在这个链接(https://www.patreon.com/posts/sebs-hilis-79649068)找到解释。

我们可以看到文生图(text2img)、图生图(img2img)、局部重绘(inpaint)和Outpaint,这里还会有我们要说到的ControlN扩展,它加入Stable Diffusion带来了很大的变化,因为能够让你对构图或者一张图片里的姿势进行完全控制。

如果没有本地安装Stable Diffusion,你可以使用stable horde,这是一个众包解决方案,社区在用他们的电脑能力帮你生成图片。所以你可以在背后选择生成图片的系统,我使用的是automatic1111。

你可以使用native horde(不需要额外的插件)或者automatic1111的扩展,如果你什么都没有安装,勾选native horde即可。

lazy.png

这里我们有一个比标准Stable Diffusion渲染更大的画布,是512×512分辨率的四倍,这意味着我可以outpaint,我们点击选取工具,设置固定大小为512×512。这意味着我可以点击任何地方,都会有一个这样大小的选区,所以当我生成的之后,只有备选定区域会被填充。

我这里输入指令“cyberpunk city”,尺寸是512×512,并且将CFG scale设置为7,点击生成。这里的采样器是Euler_A,采样步数为25。

lazy.png

这里是我们得到的第一张图,看起来相对不错。我们可以选择保留这个图片,也可以继续生成更多图片。可以到viewer标签查看生成的图片。接着再生成4张图片并留在viewer标签,这样就不用每次都来回切换。

我们选择这张一个女人走在赛博朋克城市里的图片,如果注意开头的动图,你可能会发现左侧有别的东西,不过我们进要探索的就是左边和周围都有什么。

这里我们点击选区,将其向右移动一点,然后选择outpaint,这里将作为画布,我们会保留这个赛博朋克城市,如果你选择Latin noise,那么多出来的区域就不会绘制任何东西,所以如果不想在这里绘制东西,就直接勾选Latin noise。

lazy.png

我们需要改变这里的遮罩,画一些白色区域,有时候会出错,但我们不断尝试,现在它应该增加了内容:

lazy.png

可以看到这里去掉了一辆汽车,我们或许需要修复这个部分,但可以后续来做。如果你对结果满意,再次按住选区,将其拖动到另一个位置,设置并修改遮罩,然后再次生成:

lazy.png

这张图看起来比较酷,不过丢失了整个街道,所以我们重新生成,有时候Outpaint有些困难。

lazy.png

这次生成的图片位置有些靠上,我们拖动到对应区域,让建筑和接到重叠,多了一双脚,但幸运的是我们在Photoshop里,所以能够快速擦掉它。

我们继续在左侧尝试,我之前其实尝试过outpaint,当时没有什么问题,但这次不知道为什么会有时候出错,但这并不影响我们继续。

lazy.png

如果降低透明度,可以看到哪些东西是原图片的内容,哪些是新生成的内容,这样便于对比。可以看到左侧生成了一辆看起来不错的汽车,接下来我们看能否在顶部增加一些内容:

lazy.png

可以看到街上多了一些霓虹灯招牌,我对这个结果其实是比较满意的。我们随后在右上角生成:

lazy.png

比较怪异的是,这里始终会出现一个女人,可能是Stable Diffusion的理解有问题,所以我们只能手动修复。

lazy.png

这不是我使用修复笔刷最好的效果,但由于这只是Photoshop SD插件教学,所以不用在意细节。

这里我们得到了一个比原图大很多的图片,你可以持续这样绘图,具体多久时间看自己的需求。

lazy.png

现在我们选择局部重绘,新建一个图层,绘制白色遮罩,用笔刷将角色全部选中,或者也可以用对象选择工具(object selection tool),然后为遮罩填充白色。

选择这个区域,然后指令里输入cyberpunk woman,模型选为初始,关掉Latin noise我们不希望增加太多的新东西。

去噪指的是图片变化程度,如果设为1,它会完全变化,如果是0,则不会变化,对于升级一张图片来说,0.4左右就可以了。但我们想要做出一些变化,但同时保留图片,所以我们设置为0.75,得到的结果应该是一个新的女性角色站在同一个位置。

lazy.png

有些像素感,因为分辨率比较低,主要是为了生产速度,但我对这个结果很满意。角色周围有些轻度边缘,你可以通过遮罩模糊和遮罩拓展来增加或降低遮罩值。

另外,我们发现图片有些移动,与原图片相比有些错位,可以通过移动位置或者缩放新生产图片进行调整。

lazy.png

你可以继续,比如绘制赛博朋克女性面部,选择头部区域进行局部重绘,你选择的区域越小,局部重绘得到的细节就会越多。

lazy.png

我们再将霓虹灯进行重绘,再次出现了女性,这个点像是被诅咒了一样,我们只能手动擦掉。

lazy.png

选择左边的汽车,重新生成一个赛博朋克汽车,看起来效果更好了一些,不过欧洲很多的的街道都是单行道,所以车子方向不对,我们将去噪降低到0.5:

lazy.png

我觉得这个效果好多了,这样就成了单行道。

如何在PS里用ControlNet?

接下来我们展示ControlNet的能力:

我们创建一个全新场景,这里有一个跳起来的女性,点击ControlNet标签,勾选启用,我不用勾选低VRAM,因为我的电脑配置够用,如果你的GPU显存不够,最好是勾选它。Guidance下方都选择depth。

lazy.png

回到文生图,指令输入“balerina dancing”,我们会将图片做的更大,这次是1024×1024,别忘记选择ControlNet图片:

lazy.png

这个结果,我可以说是非常出色的,脚和腿效果都很好,几乎看不到手指,这也是好事,因为手指很难做正确。但是,面部有些糟糕,这在Stable Diffusion等AI工具生成的时候很常见,尤其是小图片。

我们选择面部进行局部重绘,指令改为balerina woman face,去噪改为0.6,点击生成:

lazy.png

可以看到生成的结果如我们指令的一样,之所以是这个效果是我的失误,因为我忘记关掉ControlNet,所以我们再次生成:

lazy.png

得到的结果很不错,正是我们想要的。放大之后可以看到一些边缘,你可以用遮罩,ground mask expansion去掉,或者也可以手动进行精准控制,由于颜色如此接近,我相信不会有人注意到这里。如果你会使用Photoshop润色图片,那么这里就可以充分显示你的优势。

lazy.png

这里,我们就得到了balerina女性的图片。

接下来我们生成一些别的东西,启用ControlNet,指令输入astronaut jumping on the moon,这时候我们需要降低权重,否则就会生成不那么像宇航员的角色,所以我们将权重降低到0.7或者低一些,这并不是最佳值,具体什么值最好,需要自己尝试。

lazy.png

由于分辨率太低,我们可以将其设置为1024×1024,可以看到角色姿势保持了一致,但相似性太高,我们将权重降低到0.4再次尝试:

lazy.png

可以看到有了比较大的变化,但仍然有些东西被保留了下来,有时候AI理解这些东西并不是那么容易,所以有时候你需要多生成几次才能得到满意的结果。不过,我对于这个结果已经比较高兴。

在尝试其他指令,这次我们使用Darth Vader playing in Switzerland nature:

lazy.png

我们得到了来自瑞士的山脉,但我想要的是更偏草皮植被之类的美丽场景,我们将其改为colorful, grassy, beautiful Switerland nature:

lazy.png

这看起来不那么像瑞士,但看起来更好一些,天行者还穿上了具有标志性的裙子,只是胳膊却偏向一边或者覆盖了胸部,这可能是ControlNet权重有些低的原因。不过,我对结果还是满意的,如果你想要增加更多细节,还可以继续生成。

选择局部重绘,将指令改为Star Wars control unit,将mask expansion降低。虽然这个过程有些错误,但整体来说,这个工作流用Photoshop和AUTOMATIC1111还是非常出色的,因为后者有更多的AI功能和扩展。

lazy.png

可以看到,效果还是不错的,比之前有些像素感的图片流畅多了。这还只是1024×1024的图片,如果你有更强大的GPU,还可以将图片做更大。

lazy.png

所以,这就是Photoshop内的ControlNet、文生图和局部重绘以及Outpainting,希望你们想我一样尝试得开心。

如若转载,请注明出处:http://www.gamelook.com.cn/2023/04/515422


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK