写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除!
文章目录
前言
盲人脸复原通常将退化的低质量数据与预定义的退化模型进行训练,不足以囊括真实世界中的更复杂的退化场景;因此在复原真实退化时候经常观察到伪影。同时,构建训练集以覆盖真实世界的各种退化是不可能的。
本文为了解决这个问题,提出了一种两阶段的复原方法即基于扩散的鲁棒退化去除器(DR2),先将退化图像转换为粗糙但退化不变的预测,然后使用增强模块将粗糙预测恢复为高质量图像,使得DR2对常见的退化具有鲁棒性(例如模糊,调整大小,噪音和压缩)和兼容不同的设计增强模块。
论文
论文名: DR2:Diffusion-based Robust Degradation Remover for Blind Face Restoration
论文速递: 点我转跳哦
代码通道: Gitee

论文内容
不同退化的可分离性
- 左侧:不同的退化类型与原始分布是具有明显区分度。
- 右侧:添加高斯噪声或者说在进行若干次扩散后,不同的退化类型的数据分布变得难以区分。

- 所以:不管是什么退化类型,选择一个能从噪声图像中恢复出原始干净的人脸图像的模型,作为退化移除模块是可行。

DR2包含退化消除模块的和增强模块,在推理中,通过扩散过程对 y τ , y τ + 1 , . . . . , y w y_{\tau},y_{\tau +1},....,y_w yτ,yτ+1,....,yw 进行采样,并将其作为指导。同时使用 y w y_w yw 作为 x w x_w xw,并从步骤 w w w 到 τ \tau τ 开始去噪过程。在每次从 x τ x_{\tau} xτ 到 x τ − 1 x_{\tau-1} xτ−1 的转换之后,将 y t − 1 y_{t-1} yt−1 的低频和 x t − 1 x_{t-1} xt−1 的高频结合起来。
假设:
- (1) 存在一个中间时间步长 τ {\tau} τ,使得对于 t > τ t>{\tau} t>τ, q ( x t ∣ x ) q ( x _ { t } | x ) q(xt∣x) 和 q ( y t ∣ y ) q ( y _ { t } | y ) q(yt∣y)之间的距离接近,特别是在低频部分;
- (2)存在 w > τ w>{\tau} w>τ, 使得 q ( x w ∣ x ) q ( x _ { w} | x ) q(xw∣x) 和 q ( y w ∣ y ) q ( y _ {w } | y ) q(yw∣y)之间的距离最终足够小,满足 q ( x w ∣ x ) ≈ q ( y w ∣ y ) q ( x _ { w} | x ) \approx q ( y _ {w } | y ) q(xw∣x)≈q(yw∣y)
创新:
- 迭代优化: 其中 Φ N ( ⋅ ) \Phi N ( \cdot ) ΦN(⋅) 表示低通滤波器 (退化图像中有效的高频部分很少),确保语义一致。
- 进一步提升得到的图像质量,引入增强模块,如SPARNetHD和VQFR等都可以。
实验

在合成数据集和真实数据集上都展现了DR2的优异性能,超过一众SOTA方法。
总结
总结: DR2是一个两阶段的盲人脸恢复框架,利用预训练的DDPM从输入中去除退化,以及用于细节恢复的增强模块。在第一阶段,DR 2通过使用扩散的低-质量信息作为条件来指导生成过程。大量的比较表明,该转换具有很强的鲁棒性和DR2 框架的恢复质量很好。
互动
该文章对你有启发吗?
欢迎在评论区解答上述问题,分享你的经验和疑问!
当然,也欢迎一键三连给我鼓励和支持:👍点赞 📁 关注 💬评论。
致谢
欲尽善本文,因所视短浅,怎奈所书皆是瞽言蒭议。行文至此,诚向予助与余者致以谢意。
参考
1\] [DR2_Drgradation_Remover](https://gitee.com/qianxdong/DR2_Drgradation_Remover) \[2\] [DR2:Diffusion-based Robust Degradation Remover for Blind Face Restoration](https://openaccess.thecvf.com/content/CVPR2023/papers/Wang_DR2_Diffusion-Based_Robust_Degradation_Remover_for_Blind_Face_Restoration_CVPR_2023_paper.pdf)
往期回顾
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 👆 DeepSeek本地化部署保姆级教程👆 |
👆 EfficientTrain++帮你降低网络训练的成本👆 |
👆 PyCharm环境下Git与Gitee联动👆 |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 👆 Ping通但SSH连接失败的解决办法👆 |
👆 轻量化设计如何提高模型的推理速度👆 |
👆 正则化与正则剪枝👆 |