We all know that using CNN, or even simpler functions, like CLD or EHD, we can generate a set of features out of images.

Is there any ways or approaches that given a set of features, we can somehow generate a corase version of the original image that was given as input? Maybe a gray-scale version with visible objects inside? If so, what features do we need?

  • 1
    $\begingroup$ Look into deconvolution, it minimizes the L2 differnce of a convolution given a filter and activation map, and then you can approximate inverses of the activations (though understand you do lose information like at RELU in the negative region) so itll only show parts. But yes you can construct pieces of image given the features and featurizer $\endgroup$ – mshlis Aug 23 '19 at 16:50
  • $\begingroup$ Can you provide more details? Like a starter reference? $\endgroup$ – Tina J Aug 23 '19 at 18:50

The model (that I know of) which most resembles your description is the auto-encoder, which is trained to learn a compact representation (a vector) of the input, which can later be used to reconstruct the original input. In a certain way, this compact representation (implicitly) encodes the most important features of the input. In particular, you may be looking for denoising auto-encoders.

| improve this answer | |
  • $\begingroup$ Ummm auto encoders or GANs are probably the way. Can you describe what they are? I'm new. $\endgroup$ – Tina J Aug 22 '19 at 21:25
  • 1
    $\begingroup$ @TinaJ In the paper that introduced the denoising auto-encoder (that I am linking you to in my answer), Extracting and Composing Robust Features with Denoising Autoencoders, the basic auto-encoder is also described in section 2.2 The Basic Autoencoder. Have a look at that description. If you have any specific questions related to the auto-encoder, I think you should ask them in another post, and I will be glad to help you, if I am able to ;) $\endgroup$ – nbro Aug 22 '19 at 21:29
  • $\begingroup$ No problem. Thanks. Will do. $\endgroup$ – Tina J Aug 22 '19 at 21:39
  • $\begingroup$ one thing I didn't get is why we should go for "denoising" version of autoencoders. That's for when we have corrupted inputs, right? How can it be more helpful here? $\endgroup$ – Tina J Aug 23 '19 at 21:07
  • $\begingroup$ @TinaJ Yes, right. I just thought you were looking for something like that. But maybe you're just looking for a "regular" auto-encoder. There are other auto-encoders, such as variational auto-encoder (which might be harder to understand, given that it involves more mathematics). You might want to have a look at that too. $\endgroup$ – nbro Aug 23 '19 at 22:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.