(Good) GANs are highly specific. If you had a specific domain in mind, e.g. just human faces then you could use something like a Bicycle GAN. On top of a Generator (& Discriminator) this includes an Encoder, which would take your image, encode it into a latent variable z
, which you could then feed into the Generator, perhaps with extra noise to get variance. To my knowledge there don't exist any good pretrained variants so you would have to train it yourself.
On the other hand, I think that Diffusion models are better suited for this particular task, they are trained to denoise a noisy image. So all you would have to do is take your original, add (some) noise and then denoise it to get a similar image.
Both of these would produce an image similar not only in content but also in style, if you actually cared about variance in style and keeping only the content, I would perhaps suggest:
- feeding the original image into a Captioning network
- feeding the caption into a text-to-image Diffusion model