生成高清图片看起来是一件很简单的事情,似乎我们只要给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整合包、各种模型插件、提示词、GPT人工智能学习资料都已经打包好放在网盘中了,有需要的小伙伴文末扫码自行获取。
写在最后
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
来源:https://blog.csdn.net/qq_41314882/article/details/137140010