赞
踩
目录
图生图,应该说应用非常广泛。因为文生图,AI绘画只能根据你描述的语言进行绘制,可能执行100次,100次的结果都不同。但是图生图的机制不太一样。当使用图生图机制时,AI首先会分析原画的一些特征,有一些语言很难表达,比较晦涩的特征会被AI 通过原画的方式进行捕捉。因为如果说你大脑中所想,经过人类语言描述AI可能不大能很好的把握,通过提示词的技巧可以使得你想表达的东西距离AI越近(如果你还不会提示词技巧,看下上一篇文章 Stable Diffusion 详解(1)---- 提示词及相关参数-CSDN博客),那么直接用图的方式让AI自己图提取特征就更为直接。如果熟悉神经网络和卷积的朋友都应该清楚,AI 正是通过无数个卷积神经网络提取不同图片的特征,当然著名的model 也很多,比如ResNet-50 等,当然这不是这次讲的重点,重点是你需要知道通过原图提取图片特征是一种更为直接的手段,不要让AI作画范围跑的太偏了。他与prompt 结合,可能会产生一些更好的结果。比如将你的头像转为二次元头像等。
其实第一次介绍stable diffusion,大致说了下VAE的基本原理。这次仔细阐述下。实际上图生图的原理所用到的基本模型思想和在另一个专栏里写的 Milvus 实践(1) --- 文本-图片交互式search搭建及原理-CSDN博客有异曲同工之处,AI在输入上接受两个维度的输入信息,一个维度是图片本身的,你可以用诸如ResNet-50 提取。只不过对于stable diffusion 来说,采用了一种称之为 diffusion的encoder方式完成隐空间特征。另一维度,来自文本,一般可以采用诸多LLM embedding coding 中的一种就行,stable diffusion也不例外,只不过采用了一种与图片diffusion encoder相匹配的 embedding coding的方式完成。就像在文本搜索中,CLIP的做法总是将图片与文本的两个维度信息转换为相同向量的维度进行合成一样。
图生图原理主要基于扩散模型(Diffusion Model)的框架,该模型通过模仿物理过程中的分子扩散现象,将图像从纯噪声逐渐演化为清晰图像。在图生图场景中,Stable Diffusion不仅接受文字提示,还接受一张源图片作为额外条件,从而生成与源图相关联且符合提示要求的新图像。以下是Stable Diffusion图生图原理的详细解释:
在图生图任务中,Stable Diffusion可以应用于多种场景,如将真人照片转换为二次元风格、对图片进行局部修改(如修改颜色、添加元素等)等。用户可以通过调整提示词、重绘幅度等参数来控制生成结果的效果。
综上所述,Stable Diffusion的图生图原理是基于扩散模型的框架,通过编码源图片和提示词、逆扩散过程以及解码过程来生成新的图像。这一过程中涉及了隐空间表示、噪声预测器、语义信息融合等关键技术点,使得Stable Diffusion能够生成出与源图相关联且符合提示要求的新图像。
如果你已经是AI 高手了,CLIP 不用我多解释,如果你不是很明白,我还是解释下CLIP的前世今生。
“Contrastive Language-Image Pre-training”,是由OpenAI开发的一种能够同时理解文本和图像的人工智能模型。以下是对CLIP的详细解释:
这个参数要说一下,在上一节中,有人问,根据相同提示词,AI绘制出的东西总是不同的,确实是这样,因为AI 绘画有随机性,他只需要满足你描述的prompt即可。但是我们有时候只是想改变背景,保留住主元素,比如上一节的哪个快艇,我们想保留住,只是想改变背景蓝色的大海怎么办?
那这时,就需要看下当时的随机数是多少,用当时的随机数即可。比如上一节的例子中,最后绘制出来的图片是这样的:
我们想保留之前的那个快艇:
将随机种子找到,hold 住。再生成图:
就回来了。
就是希望AI重新绘制的力度是多少,太大容易走样,太小没有什么新意。根据我的经验,设置在6-8之间比较合适。
建议是生成的图片与原图片等比例,不然容易出问题,哪怕是以后重新扩图也行。今天绘制一个stable diffusion 生成的美女,看看把她变为 二次元风格会是怎样。
原图信息
其实采用方法很多,主要用来描述怎么解析原图和怎么与之生成配对的新图的方案。我比较喜欢采用DPM + Karas 的方式,但是我还是解释下原理,没听明白,可以跳过,其实数学的东西比较多。先泛泛解释下。
采样方法DPM + SDE Karas(或DPM++ SDE Karras)是Stable Diffusion等图像生成模型中的一种采样策略,它结合了DPM(Diffusion Probabilistic Models,扩散概率模型)和SDE(Stochastic Differential Equation,随机微分方程)以及Karras等人的优化策略。以下是对该采样方法的详细解析:
DPM是一种通过逐步添加噪声到数据中,然后学习如何逐步去除噪声以恢复原始数据的生成模型。这种方法在图像生成领域取得了显著成果,因为它能够生成高质量的图像,并且具有较好的可解释性和可控性。
SDE是一种描述系统随时间变化的随机过程的数学工具。在图像生成中,SDE被用来模拟图像数据的扩散过程,即图像数据逐渐添加噪声的过程。通过求解SDE的逆过程,可以生成去噪后的图像,即原始图像。
Karras等人提出了一种高效的随机数生成方法和优化策略,这些策略被应用于DPM + SDE Karas中,以减少计算量和内存消耗,同时提高生成图像的质量和效率。
DPM + SDE Karas适用于需要高质量、高效率图像生成的场景,如艺术创作、游戏开发、虚拟现实等。此外,它还可以用于图像编辑、图像超分辨率等图像处理任务。
上一篇已经解释过了,就是 内容prompt + 通用prompt。内容很简单,我就写 1 girl。 通用 prompt 基本就是那些套路,这个需要多练,直接上那些固定讨论写法就好。
看下最终的设置如下:
a girl,
(masterpiece:1,2),best quality,masterpiece,highres,original,extremely detailed wallpaper,
NSFW,(worst quality:2),(low quality:2),(normal quality:2),lowres,normal quality,((monochrome)),((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.331),(duplicate:1.331),(morbid:1.21),(mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.331),extra limbs,(disfigured:1.331),(missing arms:1.331),(extra legs:1.331),(fused fingers:1.61051),(too many fingers:1.61051),(unclear eyes:1.331),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs))),
其实已经有很多人上传了各种你你可能需要的底膜,所谓底膜,如果你懂AI原理,其实就是 以前的checkpoint,说直白点就是AI 绘画大模型针对当下你需要的这个场景提前训练好的模型参数。不过现在用safetensor 的方式比较流行,以前是 kpt 文件的方式存储,有安全问题,可能引入其他可执行代码。相对来说 safetensor 就是存储的模型layer 张量数据,很单纯,安全性高。不扯远了,你可以选择一个已经有的成熟底膜。我这里选择的是
好了,设置完成,看看出图效果。
第一幅是原图,后面三张是二次元生成的动漫效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。