pix2pixhd_pytorch图像超分模型

PIX2PIXHD

论文

High-Resolution Image Synthesis and Semantic

模型结构

模型整体的结构是conditional GAN。 模型与Pix2pix相比更换了coarse-to-fine的生成器、multi-scale的判别器。

算法原理

pix2pixHD的算法原理是基于条件生成对抗网络(Conditional Generative Adversarial Nets)。它是一个由两个部分组成的网络:生成器和判别器。生成器用于从训练数据中合成图像,而判别器则负责判断生成的图像是否真实。

环境配置

Docker(方法一)

此处提供光源拉取docker镜像

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py37-latest
docker run -it --network=host --name=pix2pixhd --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=32G  --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py37-latest
pip install -r requirements.txt

Dockerfile(方法二)

dockerfile使用方法

docker build --no-cache -t pix2pixhd:latest .
docker run -dit --network=host --name=pix2pixhd --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=16G  --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 pix2pixhd:latest
docker exec -it pix2pixhd /bin/bash

Anaconda(方法三)

关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装。

DTK驱动:dtk22.10
python:python3.7
apex==0.1+gitdb7007a.dtk2210
torch==1.10.0a0+git2040069.dtk2210
torchvision==0.10.0a0+e04d001.dtk2210

Tips:以上dtk驱动、python等DCU相关工具版本需要严格一一对应

其它非深度学习库参照requirements.txt安装:

pip install -r requirements.txt
pip install numpy pillow==9.5.0 scipy

数据集

模型使用数据为cityscapes

项目中已提供用于试验训练的迷你数据集,训练数据目录结构如下,用于正常训练的完整数据集请按此目录结构进行制备:

 ── dataset
 ────── cityscapes
       │   ├── train_label
       │             ├── xxx.png
       │             ├── xxx.png
       │             └── ...
       │   └── train_inst
       │             ├── xxx.png
       │             ├── xxx.png
       │             └── ...
       │   └── train_img
       │             ├── xxx.png
       │             ├── xxx.png
       │             └── ...
       │   └── test_label
       │             ├── xxx.png
       │             ├── xxx.png
       │             └── ...
       │   └── test_inst
       │             ├── xxx.png
       │             ├── xxx.png
       │             └── ...

训练

单机单卡

以 1024 x 512 分辨率训练模型

#!./scripts/train_512p.sh
python train.py --name label2city_512p

单机多卡

#!./scripts/train_512p.sh
python train.py --name label2city_512p --batchSize 4 --gpu_ids 0,1,2,3

推理

python test.py --name label2city_512p \
               --netG local \
               --ngf 32 \
               --resize_or_crop none \

result

测试图

)

精度

测试数据:Cityscapes Dataset – Semantic Understanding of Urban Street Scenes,使用的加速卡:Z100L。

根据测试结果情况填写表格:

pix2pixHDG_GANG_GAN_FeatG_VGGD_fakeD_real
cityscapes0.5406.1533.0870.5340.424

应用场景

算法类别

图像超分

热点应用行业

设计,交通,网安

源码仓库及问题反馈

参考资料

pix2pixhd是一种基于条件GAN的图像转换方法,可以将一种类型的图像转换成另一种类型的图像。在训练自己的数据集时,需要以下步骤: 1. 准备数据集:准备一组成对的图像,例如输入图像和对应的输出图像。这些图像应该尽可能地相似,以便模型可以学习到它们之间的映射关系。可以使用图像编辑软件手动创建这些图像,或者从现有的数据集中挑选相关的图像2. 将数据集转换成pix2pixhd所需的格式:pix2pixhd要求输入和输出图像别存储在不同的文件夹中,并且文件名应该相同。可以使用脚本将数据集转换成这种格式。 3. 下载并安装pix2pixhd代码库:pix2pixhd是一个开源的代码库,可以在GitHub上找到。需要安装相关的依赖库和软件,例如PyTorch和CUDA。 4. 训练模型:使用pix2pixhd训练脚本来训练模型。需要指定训练数据集的路径、模型参数和训练周期等参数。训练的过程可能需要几个小时或几天,具体时间取决于数据集的大小和计算机性能。 5. 测试模型训练完成后,可以使用pix2pixhd的测试脚本来测试模型的效果。需要指定测试数据集的路径和模型参数等参数。测试的结果可以用来评估模型的性能和调整模型参数。 总之,训练自己的数据集需要一定的技术和计算机知识,需要花费一定的时间和精力来完成。但是,pix2pixhd是一种非常强大的图像转换方法,可以用于许多应用领域,例如图像编辑、人物卡通化、场景生成等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值