GitHunt

๐Ÿง  Image Steganography using Neural Networks and Autoencoders

License: MIT

This MATLAB project demonstrates image steganography using convolutional autoencoders, where one image (the secret) is invisibly embedded into another (the cover). A dedicated extraction network is used to recover the secret image later with high fidelity.


๐Ÿ“Œ Project Highlights

  • MATLAB implementation with Deep Learning Toolbox
  • Embedding and Extraction CNN-based networks
  • Trains on 1000 pairs of images resized to 256ร—256
  • Stego images generated and saved to disk
  • Secret images reconstructed with high perceptual quality
  • PSNR and SSIM used for evaluation
  • Includes code, report, and presentation

๐Ÿ“ Block Diagrams

๐Ÿ”’ Embedding Network

Embedding Network

๐Ÿ”“ Extraction Network

Extraction Network

๐Ÿง  Architecture Overview

  • Embedding Network
    Inputs: cover and secret images
    Layers: parallel conv layers โ†’ concatenation โ†’ more convs โ†’ stego image

  • Extraction Network
    Input: stego image
    Layers: conv stack โ†’ relu activations โ†’ reconstruct secret

  • Input size: 256ร—256ร—3

  • Optimizer: Adam, learning rate: 0.001

  • Epochs: 10 (can be tuned)


๐Ÿš€ How to Run

  1. Launch MATLAB or MATLAB Online
  2. Clone/download this repo
  3. Edit code/steganography_pipeline.m to set correct paths for:
    • cover_dataset/
    • secret_dataset/
    • stego_images_output/
  4. Run the script
  5. Output includes:
    • Saved stego images
    • Extracted secret images
    • PSNR and SSIM averages

๐Ÿ“Š Sample Results

Metric Value
PSNR ~30.5 dB
SSIM ~0.93

๐Ÿ—‚ Repository Structure


๐Ÿ“„ License

This project is licensed under the MIT License.

Full license text is available in the LICENSE file


๐Ÿ‘ค Author

Niranjan Meti
Deep learning + embedded systems enthusiast
๐Ÿ“ซ LinkedIn
๐ŸŒ GitHub


๐ŸŒŸ Star this repo if you found it useful!

niranjanmeti/image_steganography_autoencoders | GitHunt