DAEFR (ICLR 2024)— 盲脸超分模型解读

原文链接 https://doi.org/10.48550/arxiv.2308.07314

前言:

在学习本论文前,你需要先学习VQGAN模型和CILP模型。

整体架构图:

第一阶段:离散码本学习阶段

与 VQGAN类似,本阶段通过自编码器与可学习码本分别对高质量域(HQ)与低质量域(LQ)进行特征编码,在训练中捕获各自领域的专属特征。HQ 路径与 LQ 路径采用完全相同的结构与训练设置,以保证特征表示的一致性。以下以 HQ 重建路径为例进行说明,LQ 路径训练流程与其完全一致。

如图所示,编码器 E H E_H EH 将高质量人脸图像 I h ∈ R H × W × 3 I_h \in \mathbb{R}^{H \times W \times 3} Ih∈RH×W×3 编码为压缩特征 Z h ∈ R m × n × d Z_h \in \mathbb{R}^{m \times n \times d} Zh∈Rm×n×d。随后进行矢量量化:将 Z h Z_h Zh 中的每个特征向量,替换为可学习码本 C h = { c k ∈ R d } k = 0 N − 1 C_h = \{c_k \in \mathbb{R}^d\}{k=0}^{N-1} Ch={ck∈Rd}k=0N−1 中距离最近的码元,得到量化特征 Z h c ∈ R m × n × d Z_h^c \in \mathbb{R}^{m \times n \times d} Zhc∈Rm×n×d,计算方式为:
Z h c ( i , j ) = arg ⁡ min ⁡ c k ∈ C h ∥ Z h ( i , j ) − c k ∥ 2 2 Z_h^{c(i,j)} = \arg\min
{c_k \in C_h} \left\| Z_h^{(i,j)} - c_k \right\|_2^2 Zhc(i,j)=argck∈Chmin Zh(i,j)−ck 22

最后,解码器 D H D_H DH 利用量化特征 Z h c Z_h^c Zhc 重建出高质量人脸图像 I h r e c I_h^{rec} Ihrec。

训练目标

与现有方法设置一致,本阶段采用四种损失进行训练,包括三种图像级重建损失与一种码本级损失:
L 1 = ∥ I h − I h r e c ∥ 1 , L p e r = ∥ Φ ( I h ) − Φ ( I h r e c ) ∥ 2 2 , L a d v = log ⁡ D ( I h ) + log ⁡ ( 1 − D ( I h r e c ) ) , L c o d e = ∥ sg ( Z h ) − Z h c ∥ 2 2 + β ∥ Z h − sg ( Z h c ) ∥ 2 2 . \begin{aligned} L_1 &= \| I_h - I_h^{rec} \|1, \\ L{per} &= \| \Phi(I_h) - \Phi(I_h^{rec}) \|2^2, \\ L{adv} &= \log D(I_h) + \log(1 - D(I_h^{rec})), \\ L_{code} &= \| \text{sg}(Z_h) - Z_h^c \|_2^2 + \beta \| Z_h - \text{sg}(Z_h^c) \|_2^2. \end{aligned} L1LperLadvLcode=∥Ih−Ihrec∥1,=∥Φ(Ih)−Φ(Ihrec)∥22,=logD(Ih)+log(1−D(Ihrec)),=∥sg(Zh)−Zhc∥22+β∥Zh−sg(Zhc)∥22.

其中, Φ \Phi Φ 为 VGG19 特征提取器, D D D 为基于补丁的判别器, sg ( ⋅ ) \text{sg}(\cdot) sg(⋅) 为停止梯度算子, β = 0.25 \beta = 0.25 β=0.25。

最终的码本学习总损失为:
L codebook = L 1 + λ p e r L p e r + λ a d v L a d v + L c o d e L_{\text{codebook}} = L_1 + \lambda_{per} L_{per} + \lambda_{adv} L_{adv} + L_{code} Lcodebook=L1+λperLper+λadvLadv+Lcode

其中 λ p e r = 1.0 \lambda_{per}=1.0 λper=1.0, λ a d v = 0.8 \lambda_{adv}=0.8 λadv=0.8。

第二阶段:关联阶段

如图所示,在上一阶段得到高质量域(HQ)与低质量域(LQ)的编码器( E H E_H EH 和 E L E_L EL)后,我们将输出特征( Z h Z_h Zh 和 Z l ∈ R m × n × d Z_l \in \mathbb{R}^{m \times n \times d} Zl∈Rm×n×d,如 Z h Z_h Zh 和 Z l ∈ R 16 × 16 × 256 Z_l \in \mathbb{R}^{16 \times 16 \times 256} Zl∈R16×16×256)展平为对应的特征块( P i H P_i^H PiH 和 P i L P_i^L PiL, i ∈ ( [ 1 , . . . , m × n ] ) i \in( [1, ..., m \times n]) i∈([1,...,m×n])。这种展平操作使我们能够构建相似度矩阵( M assoc ∈ R N × N M_{\text{assoc}} \in \mathbb{R}^{N \times N} Massoc∈RN×N,其中 N = m × n N = m \times n N=m×n),用于量化不同特征块之间的相似度。

具体而言,我们计算每个特征块的余弦相似度,并约束矩阵对角线上的相似度最大化 ,(对角线为高质量图像和低质量图像空间位置对应的图像块),通过施加该约束,两个编码器会在空间位置与特征层级上都将相近的特征块关联起来,在整个关联过程中保持空间对应关系。融合来自两个编码器的特征块后,我们得到两个关联后的编码器 ,记为 E H A E_H^A EHA 和 E L A E_L^A ELA,它们融合了各自域的专属信息,将用于后续阶段。

训练目标

我们对高质量(HQ)与低质量(LQ)重建路径进行联合训练,并将特征关联模块纳入其中。为实现特征关联,我们采用交叉熵损失 ( L C E H L_{CE}^H LCEH 和 L C E L L_{CE}^L LCEL)对相似度矩阵 M a s s o c M_{assoc} Massoc 进行有效约束:
L C E H = − 1 N ∑ i = 1 N ∑ j = 1 C y i , j log ⁡ ( p i , j h ) , L C E L = − 1 N ∑ i = 1 N ∑ j = 1 C y i , j log ⁡ ( p i , j l ) , L_{CE}^H = -\frac{1}{N}\sum_{i=1}^N\sum_{j=1}^C y_{i,j}\log(p_{i,j}^h),\quad L_{CE}^L = -\frac{1}{N}\sum_{i=1}^N\sum_{j=1}^C y_{i,j}\log(p_{i,j}^l), LCEH=−N1i=1∑Nj=1∑Cyi,jlog(pi,jh),LCEL=−N1i=1∑Nj=1∑Cyi,jlog(pi,jl),

其中, N N N 表示特征块数量, C C C 表示类别数,在本文中 C = N C=N C=N。 y i , j y_{i,j} yi,j 为真实标签, p i , j h p_{i,j}^h pi,jh 为相似度矩阵 M a s s o c M_{assoc} Massoc 在高质量域的余弦相似度得分, p i , j l p_{i,j}^l pi,jl 为低质量域的得分。

补充真实标签 y i , j y_{i,j} yi,j :

我们把特征图切成了 N 个块(N = 16*16 = 256):

  • HQ 第 1 块、HQ 第 2 块 ... HQ 第 N 块
  • LQ 第 1 块、LQ 第 2 块 ... LQ 第 N 块

我们希望:HQ第i块 只和 LQ第i块 对应,HQ第i块 不应该和 LQ其他块 对应

所以真实标签 y i , j y_{i,j} yi,j 就是:

✔ 当 i = j(同一个空间位置), y i , j = 1 y_{i,j} = 1 yi,j=1 → 是"正确匹配", 当 i ≠ j(不同空间位置), y i , j = 0 y_{i,j} = 0 yi,j=0 → 是"错误匹配"


特征关联阶段的最终损失为:
L a s s o c = L 1 + λ p e r ⋅ L p e r + λ a d v ⋅ L a d v + L c o d e + ( L C E H + L C E L ) / 2 , L_{assoc} = L_1 + \lambda_{per}\cdot L_{per} + \lambda_{adv}\cdot L_{adv} + L_{code} + (L_{CE}^H + L_{CE}^L)/2, Lassoc=L1+λper⋅Lper+λadv⋅Ladv+Lcode+(LCEH+LCEL)/2,

我们沿用码本学习阶段的损失与权重,以保持特征表示的稳定性。(前四个损失和码本学习阶段一致,只有最后一个损失为该阶段特有。)


第三阶段 特征融合与码本预测阶段

在特征关联阶段得到两个关联后的编码器 E H A E_H^A EHA 与 E L A E_L^A ELA 后,如图所示,我们用两个编码器同时对低质量图像 I l I_l Il 进行编码。具体来说,分别用 E H A E_H^A EHA 和 E L A E_L^A ELA 从 I l I_l Il 中提取特征 Z h A ∈ R m × n × d Z_h^A\in\mathbb{R}^{m\times n\times d} ZhA∈Rm×n×d 与 Z l A ∈ R m × n × d Z_l^A\in\mathbb{R}^{m\times n\times d} ZlA∈Rm×n×d。

我们使用多头交叉注意力MHCA 模块融合两路特征,生成融合特征 Z f A ∈ R m × n × d Z_f^A\in\mathbb{R}^{m\times n\times d} ZfA∈Rm×n×d:
Z f A = MHCA ( Z h A , Z l A ) Z_f^A = \text{MHCA}(Z_h^A, Z_l^A) ZfA=MHCA(ZhA,ZlA)MHCA 使模型能关注特征空间的不同维度,更好地捕捉两路编码器的有效信息。

得到融合特征 Z f A Z_f^A ZfA 后,我们采用基于 Transformer 的分类方法预测对应的码本索引 s s s。首先将 Z f A ∈ R m × n × d Z_f^A\in\mathbb{R}^{m\times n\times d} ZfA∈Rm×n×d 展平为 Z ^ f A ∈ R ( m ⋅ n ) × d \hat{Z}_f^A\in\mathbb{R}^{(m\cdot n)\times d} Z^fA∈R(m⋅n)×d,输入 Transformer 得到预测索引 s ∈ { 0 , ... , N − 1 } m ⋅ n s\in\{0,\dots,N-1\}^{m\cdot n} s∈{0,...,N−1}m⋅n。

此过程中,码本学习阶段得到的高质量码本 C h C_h Ch 与高质量解码器 D H D_H DH 被冻结 。利用预测索引 s s s 在 C h C_h Ch 中检索对应特征 Z f c Z_f^c Zfc,输入解码器 D H D_H DH 生成最终高质量修复图像 I r e s I_{res} Ires。该步骤通过融合双域信息,有效提升人脸修复效果。

训练目标

我们使用两种损失函数来有效训练多头交叉注意力(MHCA)模块Transformer模块,以确保特征融合与码本索引预测的学习效果。

第一种是 L2 损失 L c o d e f e a t L_{code}^{feat} Lcodefeat,它用于约束融合特征 Z f A Z^A_f ZfA 尽可能接近来自高质量码本 C h C_h Ch 的量化特征 Z h c Z^c_h Zhc。该损失保证特征被合理融合,并同时保留来自高质量域(HQ)与低质量域(LQ)的有效信息。

第二种是用于码本索引预测的交叉熵损失 L c o d e i n d e x L_{code}^{index} Lcodeindex,使模型能够精准预测高质量码本 C h C_h Ch 中对应的码本索引 s s s。

L c o d e f e a t = ∥ Z f A − sg ( Z h c ) ∥ 2 2 , L c o d e i n d e x = ∑ i = 0 m n − 1 − s ^ i log ⁡ ( s i ) L_{code}^{feat} = \| Z^A_f - \text{sg}(Z^c_h) \|2^2, \quad L{code}^{index} = \sum_{i=0}^{mn-1} -\hat{s}_i \log(s_i) Lcodefeat=∥ZfA−sg(Zhc)∥22,Lcodeindex=i=0∑mn−1−s^ilog(si)

其中,真实量化特征 Z h c Z^c_h Zhc 和真实码本索引 s ^ \hat{s} s^ 均来自码本学习阶段 ; Z h c Z^c_h Zhc 是通过真实索引 s ^ \hat{s} s^ 从高质量码本 C h C_h Ch 中检索得到的。

特征融合与码本预测的最终损失为:
L p r e d i c t = λ f e a t ⋅ L c o d e f e a t + L c o d e i n d e x L_{predict} = \lambda_{feat} \cdot L_{code}^{feat} + L_{code}^{index} Lpredict=λfeat⋅Lcodefeat+Lcodeindex

在实验中,我们设置 L2 损失的权重 λ f e a t = 10 \lambda_{feat} = 10 λfeat=10。

总结

本文提出一种三阶段递进式低质量人脸修复方案:首先借鉴VQGAN为高低质量人脸域分别训练带可学习码本的自编码器,挖掘双域独立特征;再通过特征块余弦相似度矩阵与位置约束交叉熵损失,完成双域特征空间对齐与关联;最后利用多头交叉注意力融合双域特征,结合Transformer预测高质量码本索引,依托冻结的高质量码本和解码器重建清晰人脸,通过多阶段专属损失协同优化,实现跨域人脸高质量修复。

相关推荐
TheRouter1 小时前
Agent Harness系列(三):记忆层的3种持久化架构——从SQLite到向量库
人工智能·架构·sqlite·llm·ai-native
一切皆是因缘际会1 小时前
从概率生成到内生心智:2026大模型瓶颈与下一代AI演进方向
人工智能·安全·ai·架构
头发够用的程序员1 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
X54先生(人文科技)1 小时前
《元创力》纪实录·心田记釉下新声:当《纪·念》成为可聆听的星轨
人工智能·开源·ai写作·开源协议
CeshirenTester1 小时前
字节面试官追问:“你的Agent调了三个工具就死循环了,异常处理在哪写的?”我:啊?还要写这个?
人工智能
小程故事多_802 小时前
[大模型面试系列] RAG系统检索失效全链路排查指南,从根源定位到落地优化方法
人工智能·智能体
圣殿骑士-Khtangc2 小时前
AI Agent Skills 数量爆炸治理方案:从混沌到有序的系统性实践
人工智能
夜猫逐梦2 小时前
【逆向经验】一篇文章讲透为什么CE搜不到Python游戏的内存值
开发语言·python·游戏
汽车仪器仪表相关领域2 小时前
Kvaser Memorator Professional 5xHS CB:五通道CAN FD裸板记录仪,赋能多总线系统集成测试的旗舰级核心装备
大数据·网络·人工智能·单元测试·汽车·集成测试