This project implements a deep learning model for reflection removal from images. Developed during VisionX Hackathon (Qualcomm), our model enhances image quality by eliminating unwanted reflections using a Convolutional Neural Network (CNN).
✔ Removes reflections from glass-covered images.
✔ Deep learning-based approach using TensorFlow/Keras.
✔ Custom dataset handling for training and evaluation.
✔ Automated preprocessing with image augmentation.
✔ Model checkpointing for optimized training.
✔ Evaluation & visualization of results.
- Python
- TensorFlow / Keras
- OpenCV
- NumPy & Matplotlib
- PIL (Pillow)
The dataset consists of:
📂 With Reflection – Images containing reflections.
📂 Without Reflection – Ground truth images (reflection-free).
📂 Test Cases – Unseen images for evaluation.
Ensure you have Python 3.7+ installed along with the required dependencies.
pip install -r requirements.txt- Prepare your dataset: Ensure you have folders for images with and without reflections.
- Train the model:
python train.py
- Test the model on new images:
python test.py --input test_images --output results/
- Visualize results: The script generates side-by-side comparisons of input vs. output.
The model follows a U-Net inspired CNN architecture, consisting of:
- Convolutional layers for feature extraction.
- Downsampling & Upsampling to reconstruct reflection-free images.
- Skip connections to retain important features.
- Activation: ReLU & Sigmoid for precise pixel-wise predictions.
The model is evaluated using:
- PSNR (Peak Signal-to-Noise Ratio)
- SSIM (Structural Similarity Index)
- MSE (Mean Squared Error)
Contributions are welcome! If you have suggestions, improvements, or bug fixes, feel free to:
- Fork the repository
- Create a new branch
- Submit a Pull Request
Developed for VisionX Hackathon by Qualcomm
Team Name: WESHOWSPEED