那些有趣的GAN合成图像项目(在线可操作)

本文精选了多个基于GAN技术的图像合成项目,包括在线可操作的GANdissection、RewritingGANmodel、Artbreeder等,涵盖了从修改图像细节、合成多样化图像到一键现实转卡通等多种有趣应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

那些有趣的GAN合成图像项目(在线可操作)

本文介绍几个人工智能在图像合成上面的有趣应用,大家可以动起手来操作看看,可有意思了~

1. GAN dissection

G. A. N. D. Issection et al., “GAN DISSECTION: VISUALIZING AND UNDERSTANDING GENERATIVE ADVERSARIAL NETWORKS,” 2018.

在线操作链接 :http://gandissect.res.ibm.com/ganpaint.html?project=churchoutdoor&layer=layer4
在用Progressive GAN合成的图像基础上对图像再进行修改,比如把教堂上面的尖顶改成圆顶,在合理的地方增加树,添加云等等。
GAN dissection页面

2. Rewriting GAN model

D. Bau, S. Liu, T. Wang, J.-Y. Zhu, and A. Torralba, “Rewriting a Deep Generative Model,” 2020.

在线操作链接
https://colab.research.google.com/github/davidbau/rewriting/blob/master/notebooks/rewriting-interface.ipynb#

基于Progressive GAN, StyleGAN v2合成的图像,在此基础上根据用户的编辑,实现网络参数的修改,合成类似的图像。比如想让马戴上帽子,首先选中图像中有帽子的地方,把帽子粘贴到图像中马的头上。接着选中几张其它备选图像中希望马戴帽子的区域,然后就能生成更多戴着帽子的马的图像,下图为文章的示例:
Rewriting 例子1除了给马戴帽子,还有很多有趣的实验,比如改变马尾的大小,去除人像上的耳环,眼镜等。
Rewriting 例子2Rewriting 例子3
Rewriting 例子4Rewriting 例子5

3. Artbreeder

链接: https://artbreeder.com/create

可以合成各种各样的图像,比如,将指南针和鸟作为两个“基因”控制图像的合成,同时可以调整“基因”所占的比重;或者合成人像,可调整笑容,年龄,眼镜等的属性。除此以外,还有风景图,动漫图等的合成。有兴趣的朋友可以去试试看,合成一些有意思的图像。
Artbreeder

4. GauGAN

Park, Taesung, et al. “GauGAN: semantic image synthesis with spatially adaptive normalization.” ACM SIGGRAPH 2019 Real-Time Live!. 2019. 1-1.

链接 : http://nvidia-research-mingyuliu.com/gaugan

自己动手画一幅风景画?只需在左边的窗口绘画物体的形状,就能随心创作一幅逼真的画!
GauGAN还可以在下面的一列图片选择不同的风格~有趣!
GauGAN2

5. Cartoonize

Wang, Xinrui, and Jinze Yu. “Learning to Cartoonize Using White-Box Cartoon Representations.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020

链接: https://cartoonize-lkqov62dia-de.a.run.app/cartoonize

一键现实变卡通,可以上传自己的图片或者视频试试!
在这里插入图片描述

6. 汉字生成

Ha, David. “Recurrent net dreams up fake chinese characters in vector format with tensorflow.” (2015).

链接:https://otoro.net/kanji-rnn/

在这里插入图片描述

7. 简笔画合成 DoodlerGAN

https://arxiv.org/pdf/2011.10039.pdf

在这里插入图片描述

9. ArtLine图像转简笔画

这个虽然不是使用GAN合成的,但是用GAN实现应该也是可以的,所以还是放在这里。作者还强调:

Surprise!! No critic,No GAN. GAN did not make much of a difference so I was happy with No GAN.

github: https://github.com/vijishmadhavan/ArtLine

操作链接:https://colab.research.google.com/github/vijishmadhavan/Light-Up/blob/master/ArtLine(AR).ipynb#scrollTo=1WfxvLQpoIfF

在这里插入图片描述

10. CoModGAN

对残缺图像进行图像填充

论文链接:https://arxiv.org/pdf/2103.10428
GitHub:https://github.com/zsyzzsoft/co-mod-gan
Demo:http://comodgan.ml/

### 使用 MATLAB 实现 GAN 图像融合 #### 背景介绍 生成对抗网络 (Generative Adversarial Networks, GANs) 是一种强大的工具,在图像合成、风格迁移等领域表现出色。通过训练两个相互竞争的模型——生成器和判别器,GAN 可以创建逼真的新数据样本。 对于图像融合任务而言,GAN 的目标是从多个源图像中提取有用的信息并将其组合成一个新的综合图像。这种方法不仅能够保留原始输入的关键特性,还能引入新的视觉效果[^1]。 #### 准备工作 为了在 MATLAB 中构建 GAN 进行图像融合,首先需要安装 Deep Learning Toolbox™ 和 Image Processing Toolbox™。这两个工具箱提供了必要的函数和支持来定义复杂的卷积架构以及处理多维数组形式的数据集。 #### 构建基本结构 下面展示了一个简化版的 DCGAN(Deep Convolutional Generative Adversarial Network),它适用于简单的二值化图片操作: ```matlab % 定义超参数 latentDim = 100; % 隐空间维度大小 numFiltersGen = 64; numFiltersDiscrim = 64; % 创建生成器网络 generatorLayers = [ featureInputLayer(latentDim,'Name','random') fullyConnectedLayer(8*8*numFiltersGen,'WeightLearnRateFactor',0.01,... 'BiasLearnRateFactor',0.01,'Name','fc') leakyReluLayer(0.2,'Name','leakyrelu_fc') reshapeLayer([8 8 numFiltersGen],'Name','reshape') transposedConv2dLayer(5,numFiltersGen/2,'Stride',2,'Cropping',[1 1],... 'WeightLearnRateFactor',0.01,'BiasLearnRateFactor',0.01,... 'Name','transconv_1') batchNormalizationLayer('Name','bn_transconv_1') leakyReluLayer(0.2,'Name','leakyrelu_transconv_1') transposedConv2dLayer(5,numFiltersGen/4,'Stride',2,'Cropping',[1 1],... 'WeightLearnRateFactor',0.01,'BiasLearnRateFactor',0.01,... 'Name','transconv_2') batchNormalizationLayer('Name','bn_transconv_2') leakyReluLayer(0.2,'Name','leakyrelu_transconv_2') transposedConv2dLayer(5,3,'Stride',2,'PaddingSize',[1 1],... 'WeightLearnRateFactor',0.01,'BiasLearnRateFactor',0.01,... 'Name','transconv_out') tanhLayer('Name','tanh')]; % 创建判别器网络 discriminatorLayers = [ imageInputLayer([64 64 3],'Normalization','none',... 'Name','imageinput') convolution2dLayer(5,numFiltersDiscrim,'Stride',2,'PaddingSize',[1 1],... 'WeightLearnRateFactor',0.01,'BiasLearnRateFactor',0.01,... 'Name','conv_1') leakyReluLayer(0.2,'Name','leakyrelu_conv_1') dropoutLayer(0.3,'Name','drop_conv_1') convolution2dLayer(5,numFiltersDiscrim*2,'Stride',2,'PaddingSize',[1 1],... 'WeightLearnRateFactor',0.01,'BiasLearnRateFactor',0.01,... 'Name','conv_2') leakyReluLayer(0.2,'Name','leakyrelu_conv_2') dropoutLayer(0.3,'Name','drop_conv_2') convolution2dLayer(5,numFiltersDiscrim*4,'Stride',2,'PaddingSize',[1 1],... 'WeightLearnRateFactor',0.01,'BiasLearnRateFactor',0.01,... 'Name','conv_3') leakyReluLayer(0.2,'Name','leakyrelu_conv_3') dropoutLayer(0.3,'Name','drop_conv_3') fullyConnectedLayer(1,'WeightLearnRateFactor',0.01,... 'BiasLearnRateFactor',0.01,'Name','fc') sigmoidLayer('Name','sigmoid')]; ``` 这段代码展示了如何设置生成器与判别器的基础层配置。实际应用时还需要进一步调整参数以适应特定的任务需求,并编写完整的训练循环逻辑。 #### 训练过程概述 - 初始化权重:采用 Xavier 或 He 初始化策略初始化所有可学习参数。 - 数据预处理:标准化输入图像尺寸至固定分辨率;如果必要的话还可以做颜色通道转换等额外处理。 - 批次迭代更新:交替优化生成器和判别器的目标函数直到收敛为止。 - 测试评估:定期保存中间结果以便观察进展状况,并最终挑选最优模型版本用于后续部署。 #### 注意事项 当涉及到更复杂的应用场景比如跨模态图像融合时,则可能需要用到更加先进的变体如 CycleGAN 或者 StarGAN 来解决域间差异带来的挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值