编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

浅谈tile+tiled diffusion的放大优化细节comfyui工作流!

wxchong 2024-10-14 17:55:30 开源技术 22 ℃ 0 评论

众所周知越高的分辨率人物的细节表现的越细腻丰富,在stable diffusion中我们经常用到的就是用放大模型在潜空间或者像素空间对图像进行放大处理。但这样做并不能很好地修复优化图像的细节!

老规矩一句话说原理:文生图生成图片,用放大模型放大模放大到想要放大的倍数,放大后的图片编码到第二个采样器里,加装CN选择tile模型,加载tied diffusion模型分处理图片,这样的工作流既丰富优化了细节又对图片进行放大处理!

1.text to image工作流并初步放大

这里我用的模型是realistic vision hyper版,这个模型作者给出了采样方式!

采样方式是DPM+SDE+Karras,

采样步数是:4-6步

CFG:1-2这里值越小,画出的图越不受提示词控制,但是cfg太图片的对比度会很高,会产生过拟合的现象所以我们听从作者的建议加了一个细节优化lora(detail tweaker)并把值设定到-2!

这里用的放大的节点是upscale image by,放大算法随便选不影响,我这里选择的是,nearst-exact(临近点插值算法)。

2.对放大后的图像进行编码,并加载CN-TILE

将放大的图片编码vae encode编码之后又重新加载了有一个ksampler这一步相当于stable diffusion里的图生图,可以看出我第二个采样器的denoise是1图片重绘已经和图像左2已经大不一样了!

这个时候我们加装了一个CN-TILE,重绘幅度(denoise)依然是1,但是生成的图像除了加了一些细节没有大的变更,人还是那个人,衣服还是那个衣服!这和tile的作用密不可分,因为它的原理是:

tile 模型会将图像分割成小块(tiles),然后对每个小块进行单独处理。通过这种方式,它能够在保持图像整体结构和主体特征的基础上,重新生成或优化细节。例如,在放大图片时,它会自动忽略原来的细节并生成新的细节,从而避免了直接放大可能导致的模糊或失真问题。

所以说虽然我这里的denoise值为1,但只是增加了图片原有的细节而不改变原有图像的结构和重要特征,就是因为有这个tile模型加持!

3.添加tiled diffusion模型对图片进行分块处理

Tiled Diffusion(平铺扩散)的原理是将原图片分割成多个小块(tiles,即“瓦片”),并对每个瓦片独立地进行图生图操作。

Tiled Diffusion 模型的训练分为两个阶段:正向扩散过程和反向生成过程。在正向扩散过程中,模型逐步地将每个瓦片的数据转换为一个高斯噪声状态,个人理解这个就是节点中method里的multidiffusion和mixture diffusion!

这个过程通常包括多个步骤,每个步骤都涉及到对瓦片的逐步扰动。而在反向生成过程中,模型通过一个生成网络将高斯噪声转换回原始的图像数据。


在实际使用中,通过这种分块处理的方式,可以在占用显卡显存的同时,尽可能得到分辨率高且画面细节足够丰富的图片。它允许模型更有效地处理大型图像!

这样一个既放大图像又生成优化细节的工作量就搭建完成了,从以下图片中可以看出单纯的放大图片和CN-tile加持及tile+tiled diffusion的效果还是有很大差异的!

肉眼看见,从左到右细节越来越丰富,大家可以自行测试,今天就到这里,感谢你的收看!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表