简介
Pix2Pix是由Phillip Isola等作者在2017年CVPR上提出的,基于条件生成对抗网络实现的一种深度学习图像转换模型。其包括两个模型:生成器和判别器。
原理
cGAN的生成器是将输入图片作为指导信息,由输入图像不断尝试生成用于迷惑判别器的“假”图像,本质是从像素到另一个像素的映射。
cGAN的目标可以表示为:
𝐿𝑐𝐺𝐴𝑁(𝐺,𝐷)=𝐸(𝑥,𝑦)[𝑙𝑜𝑔(𝐷(𝑥,𝑦))]+𝐸(𝑥,𝑧)[𝑙𝑜𝑔(1−𝐷(𝑥,𝐺(𝑥,𝑧)))]
生成器和判别器
生成器G结构
U-Net是德国Freiburg大学模式识别和图像处理组提出的一种全卷积结构,网络模型整体是一个U形的结构。它分为两个部分,左侧是由卷积和降采样操作组成的压缩路径,右侧是由卷积和上采样组成的扩张路径,扩张的每个网络块的输入由上一层上采样的特征和压缩路径部分的特征拼接而成。
判别器
使用PatchGAN结构,可看做卷积。生成的矩阵中的每个点代表原图的一小块区域。通过矩阵中的各个值来判断原图中对应每个Patch的真假。
训练
一、训练判别器
目的是:最大程度地提高判别图像真伪的概率。
二、训练生成器
目的是:能产生更好的虚假图像。
推理
通过load_checkpoint和load_param_into_net将ckpt中的权重参数导入到模型中,获取数据进行推理。