p1CycleGan网络所需数据
https://www.bilibili.com/video/BV15a4y1H7Pt?p=2&spm_id_from=pageDriver
cyclegan数据不需要配对
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
p2cyclegan整体网络结构
传统对抗网络做法:
图像A经过G网络,得到虚假图像B‘,B‘输入判别网络D中,进行判别真假,真实B也输入D中,混淆一下
只看红圈,传统存在问题,G网络为了使得D判别不出来是否是假的,可能直接生成”马“,不再依据输入的斑马特征。造成原始数据作用不大
为解决这个问题,cyclegan又引出了一个Gba,将马还原成斑马,并与原斑马进行对比loss
↑这只仅仅关注了Gab层面,对Gba关注度不够,故↓
需要构建四个网络,两个生成网络Ga2b,Gb2a,两个判别网络Da,Db
对于损失而言
G网络,D网络不再赘述
Cycle指的就是重新生成的马与原来的马的loss,
identity指的是:马通过Ga2b生成斑马,则斑马通过Ga2b应该还是其本身
P3PatchGan判别原理
不最后进行sigmoid,输出一个值,不对整图做判断,而是分成NxN做标记,卷积也输出NxN,进行判别真假
p4cycle开源项目简介
手动下载自己所需要的数据集
将下载好的文件解压至dataset文件夹
若是使用自己的数据,也是建立xx2xx文件夹
下载pre_train的model,新建checkpoints文件,放入(依据readme教程)
打开pycharm配置相关包,pycharm本地安装失败就管理员安装,或pip命令安装
下载好预训练模型
在terminal下进行test
使用cd命令切换目录,辅以相关提示完成训练
人2斑马效果
看train.py
暂定