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
/test
splits withclean
/stego
subdirectories). - 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.