深入解析SDXL潜在空间以及如何改善其生成图像的方法
要点:
SDXL潜在空间包括4个通道,分别是亮度、青/红、绿/紫、图案/结构。
SDXL生成的颜色范围偏向黄色,原因是模型在生成过程中更偏向认知中的亮度、青/红、绿/紫,而相对较少使用蓝色。
通过实验性地探索SDXL潜在空间,作者提出了一些纠正SDXL输出的方法,包括去除异常值、平衡颜色、增加颜色范围等。
近日,Hugging Face社区成员Timothy Alexis Vass撰写了一篇名为《Explaining the SDXL latent space》的文章,重点解释了SDXL(可能是Super Diffusion XL)潜在空间的特性以及如何改善其生成图像的方法。
据了解,SDXL潜在空间的结构包括四个通道,分别对应图像的亮度、青/红、绿/紫、以及图案/结构。这为理解SDXL生成的图像提供了基础。
SDXL生成的图像往往存在颜色偏向黄色的问题,这是因为模型更倾向于使用亮度、青/红、绿/紫这几个主要颜色,而相对较少使用蓝色。通过对SDXL潜在空间的实验性探索,Timothy Alexis Vass提供了一种直接将SDXL潜在空间转换为RGB图像的线性逼近方法。此方法允许在生成图像之前对颜色范围进行调整,从而避免在后处理阶段进行矫正。
我们可以创建一个近似函数,直接将潜在变量转换为 RGB:
deflatents_to_rgb(latents):
在实际操作中,Timothy Alexis Vass提出了一些纠正SDXL输出的方法,包括去除异常值、平衡颜色、增加颜色范围等。通过一系列的代码实现,他展示了如何在生成图像的过程中应用这些方法,从而改善图像的质量。这些方法包括对潜在空间进行软裁剪、颜色平衡和范围增加等。
SDXL 颜色范围偏向黄色的可能原因
自然界中相对较少的东西是蓝色或白色的。在愉快的条件下,这些颜色在天空中最为突出。因此,该模型通过图像了解现实,以亮度(通道0)青色/红色(通道1)和石灰/中紫色(通道2)进行思考,其中红色和绿色是主要的,蓝色是次要的。这就是为什么 SDXL 世代通常偏向黄色(红色 绿色)。
在推理过程中,张量中的值将从min < -30和开始max >30,解码时的最小/最大边界大约-4为4。guidance_scale值越高,min和之间的差异就越大max。
理解边界的关键之一是查看解码过程中发生的情况:
decoded=vae.decode(latents/vae.scaling_factor).sample#(SDXLvae.scaling_factor=0.13025)decoded=decoded.div(2).add(0.5).clamp(0,1)#Thedynamicsoutsideof0to1atthispointwillbelost
如果此时的值超出0到1的范围,则钳位中的一些信息将会丢失。因此,如果我们能够在去噪过程中进行修正,以满足 VAE 的预期,我们可能会得到更好的结果。
需要纠正什么?
如何锐化模糊图像、白平衡、改善细节、增加对比度或增加颜色范围?最好的方法是从清晰的图像开始,该图像具有正确的白平衡、良好的对比度、清晰的细节和高范围。
模糊清晰的图像、改变色彩平衡、降低对比度、获取无意义的细节以及限制色彩范围比改善图像要容易得多。
SDXL 具有非常明显的颜色偏差倾向,并将值置于实际边界之外(左图)。通过将值居中并将它们置于边界内(右图)可以轻松解决这个问题:
defcenter_tensor(input_tensor,per_channel_shift=1,full_tensor_shift=1,channels=[0,1,2,3]):forchannelinchannels:
让我们以 SDXL 的输出为例
seed:77777777
请注意,我特意选择了较高的指导尺度。
我们如何修复这个图像?一半是绘画,一半是照片。颜色范围偏向黄色。右侧是具有完全相同设置的固定一代。
但在合理guidance_scale设置为7.5的情况下,我们仍然可以得出结论,固定输出更好,没有无意义的细节和正确的白平衡。
我们可以在潜在空间中做很多事情来总体改进一代,并且我们可以做一些非常简单的事情来针对一代中的特定错误:
异常值去除
这将通过修剪距分布平均值最远的值来控制无意义细节的数量。它还有助于以更高的guidance_scale进行生成。
#Shrinkingtowardsthemean(willalsoremoveoutliers)defsoft_clamp_tensor(input_tensor,threshold=3.5,boundary=4):ifmax(abs(input_tensor.max()),abs(input_tensor.min()))<4:returninput_tensor
色彩平衡和增加范围
我有两种主要方法来实现这一目标。第一个是在标准化值的同时向平均值收缩(这也将消除异常值),第二个是在值偏向某种颜色时进行修复。这也有助于生成更高的guidance_scale。
#Centertensor(balancecolors)defcenter_tensor(input_tensor,channel_shift=1,full_shift=1,channels=[0,1,2,3]):forchannelinchannels:
张量最大化
这基本上是通过将张量乘以一个非常小的量(例如1e-5几个步骤)来完成的,并确保最终张量在转换为 RGB 之前使用完整的可能范围(接近 -4/4)。请记住,在像素空间中,在保持完整动态的情况下降低对比度、饱和度和清晰度比增加对比度、饱和度和清晰度更容易。
#Maximize/normalizetensordefmaximize_tensor(input_tensor,boundary=4,channels=[0,1,2]):
回调实现示例
defcallback(pipe,step_index,timestep,cbk):iftimestep>950:
最后,Timothy Alexis Vass展示了在高引导比例下使用长提示进行生成的图像,通过对颜色范围的调整,使得整个提示成为可能。通过这些方法,可以在生成图像的初步阶段就对输出进行改善,而不是在后期进行矫正。这为提高SDXL生成图像质量提供了一种新的思路。
Opera浏览器推出升级版的AI工具Aria
要点:1.Opera浏览器推出升级版的AI工具Aria,使用户能够更轻松地与AI互动,优化查询和创作内容。2.Aria的新工具“Refiner”具备“重用”和“改述”功能,用户可以根据以前的回答元素来改进AI的回应。3.用户还可以使用Aria的“高亮器”功能来标记需要后续处理的元素,以及通过“我的风格”功能训练AI以模仿其写作风格。站长网2023-10-11 16:41:260000以色列的目标是成为“人工智能超级大国”
据路透社报道,以色列国防部总干事周一表示,以色列的目标是利用其技术实力成为人工智能“超级大国”,预测自主战争和简化战斗决策的进展。退役陆军将军埃亚尔·扎米尔表示,利用人工智能快速发展的步骤包括在该部成立专门的军事机器人组织,以及今年相关研发的创纪录高预算。扎米尔在一年一度的国际安全论坛上称,“有些人认为人工智能是改变战场战争面貌的下一场革命。”。站长网2023-05-23 15:24:110000苹果官网罕见大降价 iPhone 15系列最高立减500元
站长之家(ChinaZ.com)1月15日消息:苹果中国官网今日公布了迎新春限时优惠活动预告,此次活动将于1月18日至21日进行。站长网2024-01-15 15:25:540000剧透:微信小店助手APP正悄悄内测
国庆长假期间,“微信小店助手APP”也在同期悄悄内测。首批参与内测用户多为定向邀请,APP面向商家,且安卓版和iOS版同步开启内测。根据内测用户分享的信息显示,9月27日第一个安卓1.0.0版本发布,iOS内测版本则于9.29日上线。截止10月4日,版本已迭代至1.0.1版。0000国外一位体育老师涉嫌使用人工智能克隆校长声音进行报复
在马里兰州巴尔的摩县,一名体育老师兼前体育主任达中·达里恩(DazhonDarien)因涉嫌使用人工智能语音克隆服务陷害派克斯维尔高中校长埃里克·艾斯沃特而被捕。站长网2024-04-26 10:42:560000