文章目录
- 创新点
- 算法
- Multi-level domain alignment
- Hierarchical GRU-assisted PatchMatch
- Translation network
- 损失函数
- 实验
- 结论
论文: 《CoCosNet v2: Full-Resolution Correspondence Learning for Image Translation》
github: https://github.com/microsoft/CoCosNet-v2
创新点
现有图像翻译不支持全分辨率,作者提出跨域图像的全分辨率对应关系学习。
其使用分层级策略,粗粒度(低分辨率)级别对应关系指导细粒度级别对应关系,PatchMatch使用相邻层级匹配关系,使得一致性计算更加高效;
ConvGRU模块用于优化当前对应关系,不仅考虑更大分辨率下的匹配,还考虑历史估计;
PatchMatch直接应用存在以下三个问题:
1、对应关系随机初始化,PatchMatch不够高效;
2、早期训练阶段,对应关系混乱,梯度反向传播存在错误,导致特征学习困难;
3、PatchMatch在进行聚合时,没有考虑更多上下文信息,拟合时间变长;
为解决这些问题:
1、作者使用层级策略,充分利用粗糙层级匹配关系引导子层级学习,因此有一个好的初始化;
2、使用ConvGRU精细化每个PatchMatch迭代中对应关系;
3、分层级的GRU支持PatchMatch模块是可微的,使用无监督方式学习跨域对应关系;
算法
CoCosNet v2流程如图2,分为以下三步:
1、对 x A x_A xA、 y B y_B yB提取特征;
2、从低分辨率到高分辨率,创建对应关系,低分辨率对应关系作为下一级分辨率下对应关系初始化结果,扭曲 y B y_B yB,得到 w l y → x w_l^{y \rightarrow x} wly→x,使其对应于 x A x_A xA;
3、各个分辨率下扭曲后的结果 w l y → x w_l^{y \rightarrow x} wly→x传递至翻译网路,生成最终结果;
CoCosNet v2包括以下三部分:Multi-level domain alignment、Hierarchical GRU-assisted PatchMatch、Translation network。
Multi-level domain alignment
作者使用U-Net进行多层级特征提取,如式1、2,作者使用U-Net是因为其skip connections结构使得丰富的上下文信息传递至更高分辨率。
其中,f表示不同分辨率下的特征;
Hierarchical GRU-assisted PatchMatch
之前工作CoCosNet由于内存及速度限制,没法应用于大分辨率,因此作者提出Hierarchical GRU-assisted PatchMatch;
1、低分辨率下对应关系作为高分辨率下初始化,公式化如式3,
其中, H l ∈ R H l W l × 2 K H_l \in R^{H_lW_l\times 2K} Hl∈RHlWl×2K为 f l x f_l^x flx的最邻近区域,比如:对于特征图 f l x f_l^x flx中特征点 f l x ( p ) f_l^x(p) flx(p), H l ( p ) H_l(p) Hl(p)表示特征 f l y f_l^y fly中最近邻的top-K个位置,如式4;
但是这种方案直接用于大分辨率耗时长,因此作者引入GRU-assisted PatchMatch。
2、GRU-assisted PatchMatch流程如图3,
GRU-assisted PatchMatch分为两步:
step1:propagation,图3左侧,如式5,使用PatchMatch获取最邻近区域;
step2:GRU-based refinement,图3右侧,如式6。
其中, t t t表示进行 t t t次迭代, x t x_t xt为 f x , f y , O t , S t f^x,f^y,O_t,S_t fx,fy,Ot,St,concat结果,其中 O t , S t O_t,S_t Ot,St分别表示当前偏移量以及匹配关系置信度,如式7,
h t h_t ht经过两个卷积层得到偏移量 Δ H t \Delta H_t ΔHt,最终对应关系图更新为 H t + 1 = H t ′ + Δ H t H_{t+1}=H'_t+\Delta H_t Ht+1=Ht′+ΔHt
扭曲图像 w l y → x w_l^{y \rightarrow x} wly→x由式8获得,
ConvGRU优点如下:
1、引入卷积后,增大感受野,对应关系具有全局性,且收敛速度加快;
2、GRU记录历史对应关系估计,使得下一次迭代更易预测;
3、反向梯度可传播至任意像素,而非特定位置;
Translation network
翻译网络流程:
1、拼接warp images,拼接前进行上采样;
2、通过两个卷积层映射 w w w为参数 α \alpha α和 β \beta β,用于控制风格;
3、如式9,对每层输入进行归一化;
翻译网络整体过程如式10,
其中, z z z为噪声输入。
损失函数
x A x_A xA与 x B x_B xB语义特征对齐,但是在不同域,比如关键点图及其对应原图; ( x A , x B ) (x_A,x_B) (xA,xB)样本对数据易获取,而 ( x A , y B , x B ) (x_A,y_B,x_B) (xA,yB,xB)样本对难以获取,作者通过几何变换生成伪样本 y B y_B yB, y B y_B yB为另一姿态自然图。CoCosNet目的:输入 x A , y B x_A,y_B xA,yB得到 x B x_B xB
损失函数如下:
1、域对齐损失,如式11,使得关键点图与对应自然图特征相近,
2、一致性损失,如式12,其在各个分辨率上进行计算,使得 w l y → x w_l^{y \rightarrow x} wly→x趋近于 x B x_B xB,
3、映射损失,如式13、14,使得潜在特征可映射到对应目标域,
4、翻译损失
translation网络期望输出 x ^ B \hat x_B x^B与目标域 x B x_B xB一致;
翻译损失包括:
感知损失,如式15,仅选取最高分辨率层;
外观损失,如式16,其中CX表示上下文损失;
5、对抗损失,如式17,18
总体损失函数如式19;
实验
在数据集Deepfashion,MetFaces,ADE20K上实验结果如图4,分别进行骨骼关键点->姿态图片,轮廓->人脸图片,语义分割->自然图像,
分辨率消融实验结果如表4,GRU-assisted消融实验结果如表5,
结论
作者提出的CoCosNet v2可应用于大分辨率 ( 51 2 2 , 102 4 2 ) (512^2,1024^2) (5122,10242),粗粒度到细粒度分层级进行对应关系迭代学习,优化对应关系匹配策略,使用GRU-based PatchMatch。
但是本方法对数据要求比较高,需要同一人的多个姿态图;