离散码本学习:CodeFormer 首先使用自编码器进行码本学习。自编码器是一种无监督学习模型,它将人脸图像输入后,编码器部分会把高维的图像数据压缩为低维的特征表示,即离散码,这些离散码包含了高质量人脸图像的视觉部分。然后解码器部分再将这些离散码重构回高质量的人脸图像,通过这种自重建学习来存储高质量的人脸图像的视觉部分。
引入 Transformer 模块:在固定的码本和解码器的基础上,CodeFormer 引入了 Transformer 模块来预测码序列。Transformer 通过自注意力机制捕捉低质量输入图像的全局人脸组成和上下文信息,能够计算图像中不同位置的相似度,动态调整每个位置的特征表示,从而实现更准确的码本查找和人脸恢复。这样可以建模低质量输入的全局人脸组成,有效捕捉图像中的全局特征和长距离依赖关系。
可控特征变换模块:利用可控特征变换模块控制从低质量图像编码器到解码器的信息流。此连接是可选的,在输入严重退化时可以禁用它以避免不利影响,并且可以调整标量权重,以在质量和保真度之间进行权衡。
混合训练策略:CodeFormer 采用了一种混合训练策略,将重建误差和感知损失结合在一起,确保模型在恢复过程中既能去除噪声和模糊,又能保留图像的真实感和自然度。通过权衡不同损失项,使得模型在处理不同类型的退化时表现出更高的鲁棒性。
