FreeU-文字生成图片的免费午餐笔记

文字生成图片

发布于

FreeU-文字生成图片的免费午餐

项目地址主页

作者在这篇论文引入了一种对UNet的改进方式,不需要重新训练和微调。

image.png

在UNet中存在两种连接,一种是上一层网络传递来的基础连接,主要贡献去噪能力。一种是跳线连接,主要贡献高频细节。UNet会将这两部分的特征contat之后作为下一层输入。作者的方法就是对这两部分做调整来提升图像质量。 image.png

从技术上讲,对于 U-Net 解码器的第 ll 个块,xl\boldsymbol{x}_{l} 表示前一个块主主干的主干特征图,让 hlh_l 表示通过相应跳过连接传播的特征图。为了调整这些特征图,作者引入了两个标量因子:xlx_l 对应的主干特征比例因子 blb_lhlh_l 的跳线特征对应的比例因子 sl。具体来说,因子 blb_l 旨在放大主干特征图 xlx_l,而因子 sls_l 旨在衰减跳过特征图 hlh_l。对于主干特征,在实验调查中,作者发现通过与blb_l相乘不加区别地放大xlx_l的所有通道,在生成的合成图像中产生过度平滑的纹理。原因是增强的U-Net在去噪时损害了图像的高频细节,所以将缩放操作限制在xlx_l的一半通道,如下所示:xl,i={blxl,i, if i<C/2xl,i, otherwise\boldsymbol{x}_{l,i}^{^{\prime}}=\begin{cases}b_l\cdot\boldsymbol{x}_{l,i},&\mathrm{~if~}i<C/2\\\boldsymbol{x}_{l,i},&\mathrm{~otherwise}&\end{cases}

其中xl,i\boldsymbol{x}_{l,i} 是第ii 层的第ll个特征图,CC是通道数。这个方法不仅增强了主干的去噪能力,而且还避免了全局应用缩放的不良结果,从而在降噪和纹理保存之间取得更细微的平衡。

为了进一步缓解由于增强去噪而导致的过度平滑纹理问题,FreeU进一步在傅里叶域中使用光谱调制来选择性地减少跳过特征的低频分量。在数学上,此操作执行如下F(hl,i)=FFT(hl,i)F(hl,i)=F(hl,i)αl,ihl,i=IFFT(F(hl,i))\begin{aligned} \mathcal{F}(\boldsymbol{h}_{l,i})& =\operatorname{FFT}(\boldsymbol{h}_{l,i}) \\ \mathcal{F}^{\prime}(\boldsymbol{h}_{l,i})& =\mathcal{F}(\boldsymbol{h}_{l,i})\odot\boldsymbol{\alpha}_{l,i} \\ \boldsymbol{h}_{l,i}^{\prime}& =\mathrm{IFFT}(\mathcal{F}^{\prime}(\boldsymbol{h}_{l,i})) \end{aligned}

FFT()\mathrm{FFT}(\cdot)IFFT()\operatorname{IFFT}(\cdot) 是傅里叶变换和反傅里叶变换,\odot 是逐元素乘法。

αl,i\boldsymbol{\alpha}_{l,i}是一个傅里叶掩码,用于设定sls_l的大小,RR是半径,rthreshr_\mathrm{thresh} 是频率阈值 αl,i(r)={sl if r<rthresh,1 otherwise.\boldsymbol{\alpha}_{l,i}(r)=\begin{cases}s_l&\mathrm{~if~}r<r_\mathrm{thresh},\\1&\text{ otherwise.}&\end{cases}