基于CycleGan开源项目实战图像合成

p1CycleGan网络所需数据

https://www.bilibili.com/video/BV15a4y1H7Pt?p=2&spm_id_from=pageDriver
cyclegan数据不需要配对
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
基于CycleGan开源项目实战图像合成_第1张图片

基于CycleGan开源项目实战图像合成_第2张图片
基于CycleGan开源项目实战图像合成_第3张图片

p2cyclegan整体网络结构

基于CycleGan开源项目实战图像合成_第4张图片
传统对抗网络做法:
图像A经过G网络,得到虚假图像B‘,B‘输入判别网络D中,进行判别真假,真实B也输入D中,混淆一下
基于CycleGan开源项目实战图像合成_第5张图片
只看红圈,传统存在问题,G网络为了使得D判别不出来是否是假的,可能直接生成”马“,不再依据输入的斑马特征。造成原始数据作用不大
基于CycleGan开源项目实战图像合成_第6张图片
为解决这个问题,cyclegan又引出了一个Gba,将马还原成斑马,并与原斑马进行对比loss

基于CycleGan开源项目实战图像合成_第7张图片
↑这只仅仅关注了Gab层面,对Gba关注度不够,故↓
基于CycleGan开源项目实战图像合成_第8张图片
需要构建四个网络,两个生成网络Ga2b,Gb2a,两个判别网络Da,Db
基于CycleGan开源项目实战图像合成_第9张图片
对于损失而言
G网络,D网络不再赘述
Cycle指的就是重新生成的马与原来的马的loss,
identity指的是:马通过Ga2b生成斑马,则斑马通过Ga2b应该还是其本身
基于CycleGan开源项目实战图像合成_第10张图片

P3PatchGan判别原理

不最后进行sigmoid,输出一个值,不对整图做判断,而是分成NxN做标记,卷积也输出NxN,进行判别真假
基于CycleGan开源项目实战图像合成_第11张图片

p4cycle开源项目简介

手动下载自己所需要的数据集
基于CycleGan开源项目实战图像合成_第12张图片
基于CycleGan开源项目实战图像合成_第13张图片
将下载好的文件解压至dataset文件夹
基于CycleGan开源项目实战图像合成_第14张图片
若是使用自己的数据,也是建立xx2xx文件夹

基于CycleGan开源项目实战图像合成_第15张图片
基于CycleGan开源项目实战图像合成_第16张图片
基于CycleGan开源项目实战图像合成_第17张图片
基于CycleGan开源项目实战图像合成_第18张图片
基于CycleGan开源项目实战图像合成_第19张图片
基于CycleGan开源项目实战图像合成_第20张图片
基于CycleGan开源项目实战图像合成_第21张图片
下载pre_train的model,新建checkpoints文件,放入(依据readme教程)
基于CycleGan开源项目实战图像合成_第22张图片
打开pycharm配置相关包,pycharm本地安装失败就管理员安装,或pip命令安装
下载好预训练模型
在terminal下进行test
使用cd命令切换目录,辅以相关提示完成训练

在这里插入图片描述
人2斑马效果
基于CycleGan开源项目实战图像合成_第23张图片

看train.py

暂定

你可能感兴趣的:(自对抗神经网络,pytorch,python,深度学习,神经网络)