写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除!
文章目录
- 前言
- 论文
- 动机
- 方法
- 实验
- 总结
- 互动
- 致谢
- 参考
- 往期回顾
前言
盲人脸恢复是一个高度不适定的问题,通常需要辅助指导,各种先验已经被用来减轻这个问题的不适定性,包括几何先验,参考先验和生成先验。
LQ-HQ映射不确定性仍然存在,并且输出质量因输入图像的退化而恶化。一些基于生成先验方法,通过迭代优化或直接潜在编码将退化的人脸投影到连续的无限空间中。在严重退化的情况下,很难找到准确的潜在向量,导致低保真度的结果。
进而将盲人脸恢复作为码本预测任务可大大降低恢复映射的不确定性和模糊性,同时提供丰富的视觉原子来生成高质量的人脸。进一步依赖可控的特征变换模块,允许灵活的保真度和质量之间的权衡。
论文
论文名: Towards Robust Blind Face Restoration with Codebook Lookup Transformer
论文速递: 点我转跳哦
代码通道: GitHub、Gitee
动机
本质上实现以下内容即可实现较高质量的复原:
- 改进/改进从LQ输入到期望输出的映射
- 补充输入中丢失的高质量细节
(a)连续生成先验(顶部)和离散码本先验(底部)的恢复框架。(B)HQ/LQ面部特征和码本的 t-SNE 可视化。
-
高质量图像,面部组件的潜在向量/码本是可分的
-
退化图像,面部组件的潜在向量/码本分布边界不清晰
-
- 因此在连续潜在空间,退化严重就很难找到准确的潜在向量进行优化,导致复原质量不高。
-
- 将潜在空间选取有限的码本, 可大幅减少LQ到HQ的错误映射。
方法
CodeFormer框架。首先学习一个离散的码本和一个解码器,通过自重构学习来存储人脸图像的高质量视觉部分。在固定码本和解码器的情况下,引入Transformer模块来进行码序列预测,对低质量输入的全局人脸组成进行建模。
-
第一阶段 - 学习码本:为了减少LQ-HQ映射的不确定性并补充高质量的恢复细节,对量化的自动编码器进行预训练,以学习上下文丰富的码本,去提高网络的表现力以及对降级的鲁棒性。
-
第二阶段 - 码本Transformer学习:由于LQ面部中纹理的破坏,最近邻匹配通常无法找到用于面部恢复的准确码本,采用Transformer来对全局相互关系进行建模,以实现更好的码本预测。自编码器的编码器后面插入一个包含九个自注意块的Transformer模块。
-
第三阶段 - 可控特征转换:其实第二阶段已经获得了一个很好的人脸恢复模型,利用可控特征变换(CFT)模块来控制信息流从LQ编码器EL到解码器DH。
将512 × 512 × 3的人脸图像表示为16 × 16的码元序列,使用四个NVIDIA Tesla V100 GPU进行训练,羡了这算力。
实验
毫无疑问,吊打当时的先进方法,上图。
合成数据集
真实数据集
侧脸也不赖
总结
总结: CodeFormer通过学习一个小的离散但有表现力的码本空间,将人脸恢复转化为码元预测,大大降低了恢复映射的不确定性,简化了恢复网络的学习。同时通过一个有表现力的Transformer模块从降级的面孔中探索全局组合和依赖性,以获得更好的码本预测。
互动
上述内容对你有帮助吗?
欢迎在评论区解答上述问题,分享你的经验和疑问!
当然,也欢迎一键三连给我鼓励和支持:👍点赞 📁 关注 💬评论。
致谢
欲尽善本文,因所视短浅,怎奈所书皆是瞽言蒭议。行文至此,诚向予助与余者致以谢意。
参考
[1] Towards Robust Blind Face Restoration with Codebook Lookup Transformer
[2] https://gitee.com/qianxdong/CodeFormer
[3] https://github.com/sczhou/CodeFormer?tab=readme-ov-file
往期回顾
![]() 👆 DeepSeek本地化部署保姆级教程👆 | ![]() 👆 EfficientTrain++帮你降低网络训练的成本👆 | ![]() 👆 PyCharm环境下Git与Gitee联动👆 |
![]() 👆 【CVPR-2023】DR2:盲人脸复原👆 | ![]() 👆 轻量化设计如何提高模型的推理速度👆 | ![]() 👆 正则化与正则剪枝👆 |