Detect the invisible! This project presents a powerful CNN-based steganalysis tool designed to detect hidden data embedded within images, complete with an intuitive Streamlit web application for real-time analysis. NOTEBOOK: https://www.kaggle.com/code/zobayer0x01/steganography-detector
- CNN Model: A deep Convolutional Neural Network specifically designed to capture the subtle, high-frequency noise patterns introduced by steganography, enabling robust detection.
 - Dataset Handling: Optimized for Kaggle's "StegoImagesDataset" (
train/val/testsplits withclean/stegosubdirectories). - Class Imbalance: Uses class weighting during training.
 - Streamlit Web App: Interactive UI for image upload and prediction.
 - Evaluation: Reports accuracy, precision, and recall.
 
In an era where digital communication is pervasive, steganography poses a subtle threat by allowing malicious data to be concealed within seemingly innocuous images. This project addresses this challenge by training a CNN to rigorously distinguish between original ('clean') and steganographic ('stego') images, providing a crucial tool for digital forensics and security via an intuitive Streamlit interface.
Uses the StegoImagesDataset from Kaggle.
- Python 3.11
 - TensorFlow / Keras
 - NumPy, Pillow, Scikit-learn
 - Streamlit
 
Model performance depends on subtle data patterns. Class weights help balance evaluation. Key metrics: Accuracy, Precision, Recall. Further tuning and advanced architectures can improve results.
- Advanced CNN architectures.
 - Specialized data augmentation.
 - Detection of diverse steganography methods.
 - Explainable AI (XAI) integration.
 - Alternative deployment options.
 
This project is licensed under the MIT License - see the LICENSE file for details.
