CoCosNet v2论文解读

news/2024/10/31 1:35:30/

文章目录

  • 创新点
  • 算法
    • 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} wlyx,使其对应于 x A x_A xA
3、各个分辨率下扭曲后的结果 w l y → x w_l^{y \rightarrow x} wlyx传递至翻译网路,生成最终结果;
在这里插入图片描述
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} HlRHlWl×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} wlyx由式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) (xAxB)样本对数据易获取,而 ( x A , y B , x B ) (x_A,y_B,x_B) (xAyBxB)样本对难以获取,作者通过几何变换生成伪样本 y B y_B yB y B y_B yB为另一姿态自然图。CoCosNet目的:输入 x A , y B x_A,y_B xAyB得到 x B x_B xB
损失函数如下:
1、域对齐损失,如式11,使得关键点图与对应自然图特征相近,
在这里插入图片描述
2、一致性损失,如式12,其在各个分辨率上进行计算,使得 w l y → x w_l^{y \rightarrow x} wlyx趋近于 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。
但是本方法对数据要求比较高,需要同一人的多个姿态图;


http://www.ppmy.cn/news/548511.html

相关文章

DeblurGAN-v2: Deblurring (Orders-of-Magnitude) Faster and Better阅读笔记

论文:https://arxiv.org/pdf/1908.03826.pdf 代码:https://github.com/TAMU-VITA/DeblurGANv2 abstract 我们提出了一个名为DeblurGAN-v2的端到端的生成对抗网络,它对于去模糊产生了非常好的性能。DeblurGAN-v2基于conditional GAN(带有两个…

以太网 V2 MAC帧的封装,解析,发送

核心算法分析: 1. 解析帧结构模块 本模块实现了将封装好的MAC帧各字段解析为可阅读的文本的功能。 其中,任意位置的读入失败都抛出文件已到达末尾异常,结束解析。 2. 封装数据帧模块 本模块实现了将用户输入的文本封装为MAC帧的功能。 3. 模拟…

UUID-五个版本-v1|v2|v3|v4|v5-使用说明

1、UUID概要 UUID 的全称是 Universally Unique Identifier,中文为通用唯一识别码。 构成:由一组32位数的16进制数字所构成。 格式:以连字号分为五段,表现形式为8-4-4-4-12的32个字符 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx如&…

MobileNet v2 算法笔记

论文:Inverted Residuals and Linear Bottlenecks Mobile Networks for Classification, Detection and Segmentation 链接:https://128.84.21.199/abs/1801.04381 第三方代码(可用于在ImageNet数据集上训练):https:…

开始使用DOCKER COMPOSE V2

Compose V2 项目启动于2021年6月,直到2022年4月26号,发布了GA版本。在发布GA版本后,社区也宣布对于Compose V1将不会再进行功能更新,将在6个月后结束生命周期(EOL),期间会进行关键的安全和错误修…

卸载V2ray

停用并卸载服务(systemd): systemctl stop v2ray systemctl disable v2ray 停用并卸载服务(sysv): service v2ray stop update-rc.d -f v2ray remove 然后删除以下文件: /etc/v2ray/* /usr…

# Kinect V2 简介

Kinect V2 简介 文章为个人学习笔记 整理了一些网络资源和视频知识。 提示:自己也是小白,文章不免会出现不少的错误。 文章目录 Kinect V2 简介前言一、Kinect V2是什么?二、硬件信息1.摄像头结构2.连接线 三、软件准备1.kinect for window …

使用CISCO配置RIP v2动态路由

随着OSPF和IS-IS的出现,RIP的使用渐渐减少,仅适用于小型网络 下面为拓扑图 首先将RIP改成version 2Router(config)# router rip Router(config-router)# version 2 RIP v2动态路由配置中,路由表仅填写直连网段,以中间Router3为例…