受Model 3注册量下降影响,一季度特斯拉在加州的汽车注册量同比小幅下降
06-18
前言本来想单独写Noise Predictor的U-Net模型,但是实力还是弱,所以觉得稳定扩散时应与扩散结合使用。只有将概念写在一起,我们才能更好地理解噪声预测器。
因此,这篇文章主要是为了概念扩散而写的,这篇文章与我们使用稳定扩散关系不大。只是让大家了解我们使用稳定扩散时的原理。
扩散(Diffusion) 在稳定扩散的概念中,扩散分为正向扩散(Forward Diffusion)和反向扩散(Forward Diffusion)。下面我们以土生图为例,因为在某种程度上,文生图可以看作是土生图的子集。
前向扩散:前向扩散就像一滴墨水落入一杯水中。墨滴在水中扩散,最终墨滴随机分布在水中。
您无法判断墨滴最初落在杯子的中心还是边缘附近。地方。
在稳定扩散中,输入图像是杯子,噪声是墨滴。在图生图像中,我们需要输入一张图片,通过VAE Encoder将其解码为潜在空间中的4 64 64潜在图像。
前向扩散就是不断给潜像添加噪声,使其变成完全随机的张量,也就是我们所说的噪声图。这里,连续相加是关键词,潜像不会一步变成噪声图像。
从图中可以看出,经过前向扩散后,无法从噪声图片中分辨出原始图片是猫还是狗。但我们的目的是根据输入图像生成相似的图像。
这些已成为噪声图像。如何将它们恢复回来需要前向扩散(Forward Diffusion)。
反向扩散是正向扩散的逆过程。就是将噪声图编程成图片。
正向扩散是指一滴墨滴在水中扩散,然后反向扩散是指我们回到过去,我们会看到墨滴最初添加到的位置。通过反向扩散将噪声图像从随机噪声图像转换为猫/狗图片。
看完图完全不明白反向扩散是如何逆向转换的,那我们来说说如何将噪声图转换成原图?首先,在前向扩散中,稳定扩散逐渐添加噪声,将图片转换为噪声图。然后我们需要知道每一步向该图像添加了多少噪声。
我们一步步从噪声图中减去添加的噪声,最终得到原始图像。如图所示,这是一个步骤去噪的过程。
我们通常将步长设置为20~50。经过多次去噪后,稳定扩散就会生成我们需要的图片。
那么如何知道每一步要减去的噪声呢?稳定扩散中噪声预测器的 U-Net 神经网络模型经过专门训练,可以预测每一步添加的噪声。噪声预测器稳定扩散中的所有模型都将训练噪声预测器。
训练噪声预测器。选择一张训练图像(以猫为例)并生成随机噪声图像。
将噪声图像叠加到不同强度(去噪强度)的训练图像上,以破坏训练图像。教导噪声预测器告诉我们每一步要添加多少噪声。
噪声按顺序添加,噪声预测器估计每一步添加的总噪声。训练后,我们有一个噪声预测器,能够估计添加到图像中的噪声。
如果我们使用别人的大模型,我们根本不需要考虑训练的问题。这些都被封装在大模型中。
使用噪声预测器,我们将图片转换为前向扩散的噪声图。我们从原始噪声图中减去噪声预测器预测的噪声。
重复几个步骤后,我们就会得到一张猫/狗的图片(因为我们猫/狗的图片是用于前向扩散训练的)。但反向扩散之后,我们无法控制最终的图片是生成狗还是猫。
那么这个时候,上一篇文章讨论的条件控制(conditioning)就解决了这个问题。调节是由文本提示转换而来。
我们在文字提示中输入“猫”,或者在否定提示中输入“不是狗”,稳定扩散就会明白你要生成的图片是猫,而不是狗。结构如图所示。
将文本提示转换为条件作为唯一条件,并输入噪声预测器生成图片。图升图中,还有一张图片转换成潜像作为唯一条件,与条件化一起进入Noise预测器。
从图中可以看出,噪声预测器通过文本提示和深度图来预测潜在图像的噪声。 Depth图是通过图中我们通过controlNet输入的图像进行处理得到的。
由于反向扩散后会生成图像,而反向扩散是根据输入图像转换成的噪声图来生成图像的,即需要根据噪声图来生成图像。那么文生图中,这个噪声图是怎么来的。
在文森特图中,稳定扩散直接生成完全随机的噪声图,然后进行反向扩散处理。在稳定扩散中,前向扩散添加的噪声强度由去噪强度决定。
如果去噪强度为 0,则根本不添加任何噪声。如果为1,则图输入的图像将成为完整的Vincent图。
随机噪声图,此时文森图==图生成图像,所以在图生成图像中通常为0.75。我们使用以下文字提示进行测试:ultra high res,1boy,motorcycle,handsome,l,chibi,cute,smile,openmouth,flower,outdoors,music,beret,jacket,blush,tree,:3,shirt,shorthair, Cherryblossoms、greenheadwear、blurry、brownhair、blushstickers、longsleeves、刘海、耳机、blackhair、pinkflower、(beautifuldetailedface)、(beautifuldetailedeyes)、
当 Denoising 强度为 0.75 时:结论这篇文章主要讲了 Vincentian 图和图图形中的前向扩散和逆向扩散的理论知识,以及 Noise Predictor 的作用,文中提到的 controlNet 是什么,以及如何转换输入的图像变成深度图,这将在下一篇文章中写。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-18
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用