如何使用深度学习生成图像

数据挖掘 神经网络 深度学习 回归 线性回归
2021-10-12 03:21:17

有很多使用深度学习技术和CIFAR-10数据集的分类器示例。它的工作方式是,训练数千张猫、狗、飞机等图像,然后将图像分类为狗、飞机或猫。但我想做相反的事情。我想训练狗、猫、飞机,它应该输出图像。这是我的想法

  1. 将猫的相似/清晰图像分组为值 1,将不太相似/模糊的图像分组为 1.1,依此类推。同样,将狗的相似图像分组为值 2,将不太相似的图像分组为 2.1,依此类推……对所有类型的图像执行相同的操作。

生成的数据集应如下所示

input    output
 1      pixels(24*24) of a cat images(clear)
 1      pixels(24*24) of a cat images(clear)
 .
 .
 1.1      pixels(24*24) of another cat images(blur) 
 1.1      pixels(24*24) of another cat images(blur) 
  .
  .
  and so on
  1. 现在训练输入值和图像标签作为输出。输入只是一维的,可能我会想到一些其他数据。输出层将有 24*24 即 576 个单元或神经元。
  2. 在训练结束时,我想要这样的东西,如果我输入例如 1.15,它应该输出一个新图像,因为我们使用值 1.1 和 1.2 进行了训练,但我们没有使用 1.11 或 1.115 进行训练。

请给我一些想法我该怎么做?任何指向示例或论文的链接都会很好。

2个回答

DCGAN(Deep convolutioanl GAN)或 WGAN 可用于通过在现有图像上训练它们来生成图像。GAN 很难训练。DCGAN 和 WGAN 是使其更容易的技术。

GAN 由生成器和判别器组成。Generator 的工作是生成图像,Discriminator 的工作是预测生成器生成的图像是假的还是真实的。如果生成器成功欺骗了判别器,我们可以说生成器成功了。

我使用DCGAN生成了 MNIST 图像,您可以轻松移植代码以生成狗和猫图像。

生成对抗网络 (GAN) 可以为给定的训练集生成新颖的相关图像。可以在此处此处找到一般介绍(带代码) 。