Hiding In Plain Sight: Deep Steganography


Can we design a neural network to find a full-sized color image hidden inside another image? How might changing learning rates and other hyperparameters affect our model performance?

Steganography is the technique of covering secret data within a regular, non-secret, file, or message to avoid detection. The secret data is then extracted at its destination. The use of steganography can be combined with encryption as an extra step for hiding or protecting data.

In this report, a full-sized color image is hidden inside another image (called cover image) with minimal appearance changes by utilizing deep convolutional neural networks. We will then combine the hiding network with a "reveal" network to extract the secret image from the generated image.


In the above example, the first image is the hidden secret image. The second image is the cover image, which will hide the secret image. The third image is the result of the hiding process, which is basically a redone cover image.

Read the full post →

Join our mailing list to get the latest machine learning updates.