This project focuses on enhancing low-light images by reducing noise and converting them into high-light images. The main metric used for evaluating the improvement is the Peak Signal-to-Noise Ratio (PSNR).
- Total Images: 485 sets of paired images
- Structure: Each set includes one low-light image and one high-light image
- Plotted percentiles of low-light and high-light images
- Significant correlations (≥ 0.6) observed between percentiles
- Quantile regression model and XGBoost regressor used for histogram mapping
Figure 1: Histogram Comparison
- Preprocessing: Initial convolutional operations to extract features
- Special Convolutional Module: Inception-like structure with added pathways and residual learning
- Output Layer: Final convolutional operations followed by sigmoid activation
- Loss Function: Combination of Mean Squared Error (MSE) and Mean Absolute Error (MAE)
- Optimizer: AdamW with learning rate scheduler
- Early Stopping: Stops training if validation loss does not improve for 5 epochs
- Mixed Precision Training: Utilizes torch.cuda.amp.GradScaler for performance
- Achieved a PSNR score of 26.25 after 5 epochs
Figure 3: Image Enhancement Results
To install the required packages, run:
pip install -r requirements.txt