【论文精读】DifFace: Blind Face Restoration with Diffused Error Contraction

文章目录

0.前言

这篇文章是被 2024 TPAMI接收的关于人脸修复(face restoration)方向的论文,作者是南洋理工大学Chen Change Loy 课题组的。这个课题组很经典,在图像Low Level 方向发表了多篇经典论文,例如视频超分辨率的BasicVSR++,人脸修复的CodeFormer。

实际上,这篇文章并不算很新,早在2022年就被挂在了 arXiv,但是并没有激起像同任务中的CodeFormer一样大的水花,可能是恢复效果并不是很惊艳的原因吧。整体思想我觉得还是挺有趣的,设计中间转移过程,将低质量图像LQ转到中间态,然后利用预训练扩散模型的反向过程恢复到清晰的图像。

以下是论文链接和代码链接[paper] [code]

更多关于face restoration方向的论文可以查看这个仓库[Face_Restoration_Ref],整理了挺多经典论文。

1.当前问题

文章指出当前face restoration 两个局限性:

1、当遇到训练数据外的复杂退化,恢复效果会劣化。
2、有许多loss要设计、要平衡,例如保真、感知、对抗损失,这需要大量的人力成本去调这些超参。

2.怎么解决问题

这个文章的做法就是建立LQ到HQ的后验分布,就是设计一个中间过渡分布状态。

LQ->中间态->HQ ,中间态到HQ是采用预先训练的扩散模型(充分利用扩散模型的能力)。这样的优势在于:

1、LQ->中间态的监督只需要使用L1损失函数,省掉了大量的人力成本
2、中间的过渡分布可以收缩恢复模型的偏差,让整个算法更加鲁棒(遇到复杂退化也不怕)。

3.具体做法(Method)

明确优化目标,给定LQ图像恢复到HQ图像即 y 0 y_{0} y0 -> x 0 x_{0} x0 ,所以整体的目标是设计 p ( x 0 ∣ y 0 ) {p(x_{0}|y_{0})} p(x0∣y0)的合理后验分布。

3.1 受什么的启发?(Motivation)

考虑一个具有 T 个离散步骤的扩散模型,它提供了从 x t x_t xt 到 x t − 1 x_{t-1} xt−1 的转换函数。借助这种转变,可以构造后验分布 p ( x 0 ∣ y 0 ) {p(x_{0}|y_{0})} p(x0∣y0) 如下:
p ( x 0 ∣ y 0 ) = ∫ p ( x N ∣ y 0 ) ∏ t = 1 N p θ ( x t − 1 ∣ x t ) d ⁡ x 1 : N {p(x_{0}|y_{0})}=\int p(\mathbf{\mathit{x}}{N}|\mathbf{\mathit{y}}{0})\prod_{t=1}^{N}p_{\theta}(\mathbf{\mathit{x}}{t-1}|\mathbf{\mathit{x}}{t}){\operatorname{d}}x_{1:N} p(x0∣y0)=∫p(xN∣y0)t=1∏Npθ(xt−1∣xt)dx1:N

N在1和T之间,就是中间状态,从N到x0的步骤可以使用预训练的扩散模型来获得,整个算法的设计目标就变成了设计 p ( x N ∣ y 0 ) {p(x_{N}|y_{0})} p(xN∣y0)。

作者发现到如果将 p ( x N ∣ y 0 ) {p(x_{N}|y_{0})} p(xN∣y0)替换成 q ( x N ∣ x 0 ) {q(x_{N}|x_{0})} q(xN∣x0) ,那么整个求解目标就变成的扩散+重建过程。
x N ∼ q ( x N ∣ x 0 ) ⏟ D i f f u s i o n , x t − 1 ∣ x t ∼ p θ ( x t − 1 ∣ x t ) ⏟ R e c o n s t u c i i o \underbrace{x_{N}\sim q(x_{N}|x_{0})}{\mathrm{Diffusion}},\quad\underbrace{x{t-1}|x_{t}\sim p_{\theta}(x_{t-1}|x_{t})}_{\mathrm{Reconstuciio}} Diffusion xN∼q(xN∣x0),Reconstuciio xt−1∣xt∼pθ(xt−1∣xt)

因此这个N的取值就很有意思了,如果N取的太大,扩散的太严重,相当于是从噪声恢复回来,那就会失真,所以N需要取小一点,文中提出需要<500,才能恢复比较正确的人脸。

N的取值和恢复效果示意图可以见下图:

所以整个的目标就又进一步明确了,需要设计一种方法,让 p ( x N ∣ y 0 ) {p(x_{N}|y_{0})} p(xN∣y0)进一步的贴近 q ( x N ∣ x 0 ) {q(x_{N}|x_{0})} q(xN∣x0),这样就可以更好利用扩散模型的能力了!

3.2具体的模型设计(Design)

上面提到了整体的目标变成了设计一种方案,让 p ( x N ∣ y 0 ) {p(x_{N}|y_{0})} p(xN∣y0)贴近 q ( x N ∣ x 0 ) {q(x_{N}|x_{0})} q(xN∣x0)的分布,然而,我们知道的是 q ( x N ∣ x 0 ) {q(x_{N}|x_{0})} q(xN∣x0)是正向扩散过程,也就是不断叠加高斯噪声的过程,是可以被知道的分布。因此,整体的分布就可以近似为下式:
p ( x N ∣ y 0 ) = N ( x N ; α N f ( y 0 ; w ) , ( 1 − α N ) I ) p(x_{N}|y_{0})=\mathcal{N}\left(x_{N};\sqrt{\alpha_{N}}f(y_{0};w),(1-\alpha_{N})I\right) p(xN∣y0)=N(xN;αN f(y0;w),(1−αN)I)

也就是通过一个神经网络 f ( ⋅ ; w ) f(\cdot;w) f(⋅;w),来预测从 x 0 x_0 x0到 x N x_N xN的噪声参数,所以对作者来说,这只能称为一个扩散的预测器(diffused estimator)。

至于损失函数,就是 p ( x N ∣ y 0 ) {p(x_{N}|y_{0})} p(xN∣y0)和 q ( x N ∣ x 0 ) {q(x_{N}|x_{0})} q(xN∣x0)之间的KL散度了。
D KL ⁡ [ p ( x N ∣ y 0 ) ∥ q ( x N ∣ x 0 ) ] = 1 2 κ N ∥ e ∥ 2 2 D_{\operatorname{KL}}\left[p(x_{N}|y_{0})\|q(x_{N}|x_{0})\right]=\frac{1}{2}\kappa_{N}\|e\|_{2}^{2} DKL[p(xN∣y0)∥q(xN∣x0)]=21κN∥e∥22

3.3 整体算法

通过上述的近似计算,加上扩散的逆过程,就可以实现完整LQ-HQ的重建过程,整体流程图如下:

1、首先输入LQ图像和时间步N,

2、利用扩散预测器(SwinIR)预测当前步骤的噪声参数

3、从N反向扩散直至到清晰图像X0

整体算法和其他deep learning的方式的差别就是引入了中间状态,如下图所示:

作者提醒到,从N-1到0的反向扩散过程中随机性太强,会引入和HQ有偏差的信息,因此在计算 p θ ( x t − 1 ∣ x t ) p_{\theta}(x_{t-1}|x_{t}) pθ(xt−1∣xt) 采样时利用配置 η = 0.5 的 DDIM 采样器,该策略在一定程度上有效地消除了采样过程中固有的随机性,提高了重构HQ图像的保真度,同时做了相关的消融实验证明η设置的依据。

4.实验效果

模拟退化数据CelebA-Test数据和真实场景数据LFW, WebPhoto, and WIDER 上效果都不错,挑出来的图效果都很好。

4.1 Synthetic(CelebA-Test)

4.2 Real World (LFW, WebPhoto, and WIDER)

如果有帮助到你,帮忙点个赞呗

相关推荐
GIS数据转换器19 分钟前
北斗+多技术融合地面沉降监测:精准守护城市安全
大数据·人工智能·物联网·无人机·智慧城市
背水33 分钟前
音频大语言模型可作为描述性语音质量评价器
人工智能·语言模型·音视频·语音识别
带电的小王1 小时前
【大模型基础_毛玉仁】3.1 Prompt 工程简介
人工智能·语言模型·prompt
ZHW_AI课题组1 小时前
【论文笔记】RAQ-VAE: Rate-Adaptive Vector-Quantized Variational Autoencoder
论文阅读
开心星人1 小时前
【论文阅读】Explainable Early Stopping for Action Unit Recognition
论文阅读
机器之心1 小时前
Django创造者Simon Willison分享:我如何使用LLM帮我写代码
人工智能
油泼辣子多加1 小时前
【计算机视觉】工业表计读数(3)--指针及刻度关键点识别
人工智能·计算机视觉
机器之心1 小时前
原作者带队再次改造xLSTM,7B模型速度最快超Mamba 50%,权重代码全开源
人工智能
搬砖的阿wei1 小时前
TensorRT:高性能深度学习推理的利器
人工智能·深度学习·tensorrt
港 澳 在 线1 小时前
马蜂窝携手腾讯云接入DeepSeek,率先应用于旅游AI智能应用“AI游贵州”
人工智能·腾讯云·旅游