我刚开始调扩散模型时,最困惑的一件事就是:明明提示词没变,采样步数一降,画面怎么像隔着一层毛玻璃?人物五官软掉,衣服纹理黏在一起,边缘还会有点说不出的脏。后来我才明白,它不是单纯“少算了几次”,而是还原过程被提前叫停了。
扩散模型生成图片,本质上是从一团噪声里一点点把画面“擦出来”。模型在每个阶段都会判断:现在这层噪声该去掉多少、主体轮廓该往哪里走、细节该不该出现。采样步数少,意味着它能做判断和修正的机会也少。大轮廓也许已经出来了,但头发、眼睛、材质、背景里的小结构,还没来得及稳定,就直接交卷了,于是看起来发糊。
我觉得可以把它想成画画:先几笔勾出人物,谁都能看出是个人;但如果没有后面的描边、阴影和修细节,画面就会松散。低步数生成也是这个感觉——它常常不是完全错,而是停在“草稿差不多了”的阶段。
不过,步数也不是越高越好。步数多通常能让去噪更充分,但速度会明显变慢;而且当画面已经基本收敛后,继续增加步数,改善可能没有想象中那么大。我自己更愿意先在一个中间范围观察,比如从较低步数开始,再逐步往上调,看问题究竟是细节没长出来,还是构图、提示词、条件控制本身就不对。
还有个很容易误判的地方:有时糊并不全是步数的锅。条件控制过强,画面可能出现重复或不自然的细节;采样器和模型原本的搭配不合适,也会让结果变怪。所以别看到糊就无脑把步数拉满。先固定其他设置,只改步数,多看几张样本,才能分清模型是真的“没擦干净”,还是从一开始就往错误方向画了。
参与讨论
暂无评论,快来发表你的观点吧!