Skip to content

krishvishal/DeepSteganography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DeepSteganography

Hiding Images in Plain Sight: Deep Steganography

Unofficial implementation of NIPS 2017 paper: Hiding Images in Plain Sight: Deep Steganography in Pytorch.

link to paper

Abstract

Steganography is the practice of concealing a secret message within another, ordinary, message. Commonly, steganography is used to unobtrusively hide a small message within the noisy regions of a larger image. In this study, we attempt to place a full size color image within another image of the same size. Deep neural networks are simultaneously trained to create the hiding and revealing processes and are designed to specifically work as a pair. The system is trained on images drawn randomly from the ImageNet database, and works well on natural images from a wide variety of sources. Beyond demonstrating the successful application of deep learning to hiding images, we carefully examine how the result is achieved and explore extensions. Unlike many popular steganographic methods that encode the secret message within the least significant bits of the carrier image, our approach compresses and distributes the secret image’s representation across all of the available bits.

Architecture

The architecture consists of a preparation network, hiding network and reveal network.

Architecture

Error equation

Error

Error equation

The first error terms backprops only through preparation network and hiding network and the second error backprops through all networks.

About

Hiding Images in Plain Sight: Deep Steganography

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages