生成高清图片看起来是一件很简单的事情,似乎我们只要给AI设定一个足够高的分辨率,要求就能够达到。
但实际的操作,比我们设想复杂一些。会涉及到一些技术的问题,需要了解背后的逻辑,然后按照用AI绘图的逻辑来解决。
1. Mj与SD在生成高清图片上的差别
首先我们来看一下Mj和SD在生成高清图片上的一些差别。
- Mj:默认生成的图像,单张图就是1024x1024,单张图就是1M像素的图片。Mj本身不提供更大分辨率放大的功能。
Mj:默认生成4张1024x1024子图
- SD:基础模型默认生成的图片都是512x512,画面幅度明显偏小。但是提供了更高清图片的增强功能。
SD:默认512x512,子图数量可设置
SD:图片效果
512x512的像素,在我们日常使用中,属于非常低清晰度的画面、完全无法展示出清晰的细节,发朋友圈都不够用,更不用说业务上使用。因此图片的放大增强,是非常必要的操作。
2、SD中直接设置高分辨率的绘图问题
在SD中直接设置高分辨率的绘图会出现一系列的问题。这是一个SD特有的问题,其实关键的原因就在于它默认的模型是适配于512x512
的图片大小的,按照这样的一个尺寸来训练的。
那在这种情况下我们直接要求它生成一个1024x1024,甚至2048x2048的图像,一方面会带来一个非常大的GPU计算资源的压力
,另外一方面由于画面设置的过大,对原来的模型来说,它可能会认为你这个画面对应的是多张图片 ,它会拥有类似于拼接或者生成多个物体的方式来进行绘制。
具体来看,绘制的图片出现了严重的缺陷:
-
图2:一只猫双尾巴,一只猫没身体只露头
-
图3:两只猫(绘图要求是
a cat
) -
图4:双头猫
要解决这个问题,我们就需要用到一个关键技巧——高清修复 。
3. 高清修复功能:小图定轮廓,大图出高清
设置方式
高清修复(Highres-fix) ——这个技术看起来是比较复杂,但是其实逻辑很简单。
在它绘制的过程中,实际上分了两步:
-
第一步,按照一个小图来绘制,比如512x512。
-
第二步,将小图按照一定的倍数放大成一个大图,比如说我们将放大倍数设置为2 ,它就可以将512的图放大到1024。(设置方式也可以是直接指定尺寸)
值得注意的是,【放大】的过程,实际上是【重绘】的操作,但是在这个过程中,它会尽可能的遵循原来图像画面,然后通过重绘的技术,将在更大的像素上,把我们画制出更加清晰的细节。
基本的设定非常简单:
-
高清修复 :需要开启√
-
重绘幅度 :也就是参考小图 画面的程度,经验值03~0.7之间是较为稳妥的参数
-
放大倍率 :取决于最终想要的输出质量,比如,从512到1024对应的放大比例是2。经验:最终出图尺寸,避免超过2k x 2,放大幅度过大,画面可能出现变形。
SD文生图:高清修复
关于放大算法
,这一块其实我们可以不用投入太多的精力,因为我看了很多网上教程,不动设置哪一种,基本上都可以得到一个比较好的结果,按系统的默认设置 即可。
放大算法选项
3. 实操效果
2倍放大
看整体,放大后的图像,猫脖子处毛发有明显变化。
看局部,放大后的图片,猫脸细节纹理明显更加细腻:
3倍放大
看整体:3倍放大后,图像有一些明显的变异,猫鼻子、耳朵、眼睛变红,整体脸型变得突出。
看细节:大图上,猫眼的细节神态非常清晰,炯炯有神。
4倍放大
计算资源受限,GPU爆显存:
报错的含义是:OutOfMemoryError:CUDA内存不足。尝试分配4.00 GiB(GPU 0;总容量15.74 GiB;已分配10.21
GiB;剩余3.91 GiB;PyTorch总共保留了10.22
GiB)如果保留的内存远大于分配的内存,请尝试设置max_split_size_mb以避免碎片化。
工作流小结
从爆显存 的例子可以看出,AI绘图对计算资源消耗很大,即使硬件可以承担,更大的画面要求也意味着更长等待时间。
比较高效的工作流思路是:
第一步:用小图快速迭代
先用小图(512x512)开始绘制,快速迭代多个版本,在生成的系列图中,找到画面布置符合要求的。这是一个海选的过程。
设置批次数量,可以一次生成大量的底图,供筛选:4x4,就是一次输出16个效果。
第二步:放大生成高清
文章使用的AI工具SD整合包、各种模型插件、提示词、AI人工智能学习资料都已经打包好放在网盘中了,无需自行查找,有需要的小伙伴文末扫码自行获取。
但由于AIGC刚刚爆火,网上相关内容的文章博客五花八门、良莠不齐。要么杂乱、零散、碎片化,看着看着就衔接不上了,要么内容质量太浅,学不到干货。
这里分享给大家一份Adobe大神整理的《AIGC全家桶学习笔记》,相信大家会对AIGC有着更深入、更系统的理解。
有需要的朋友,可以长按下方二维码,免费领取!
AIGC所有方向的学习路线思维导图
这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
AIGC工具库
AIGC工具库是一个利用人工智能技术来生成应用程序的代码和内容的工具集合,通过使用AIGC工具库,能更加快速,准确的辅助我们学习AIGC
有需要的朋友,可以点击下方卡片免费领取!
精品AIGC学习书籍手册
书籍阅读永不过时,阅读AIGC经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验,结合自身案例融会贯通。
AI绘画视频合集
我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,科学有趣才能更方便的学习下去。
有需要的朋友,可以长按下方二维码,免费领取!