This project implements image denoising using the official NAFNet (Nonlinear Activation Free Network) architecture.
The model is trained to remove noise from grayscale images using a combination of MSE, SSIM, and Perceptual Loss (VGG16).
- ✅ Uses official NAFNet model for image restoration
- ✅ Handles grayscale noisy image denoising
- ✅ Custom compound loss:
MSE + SSIM + VGG16 Perceptual - ✅ Evaluates model performance with PSNR and SSIM
- ✅ Visual comparison of noisy vs. denoised images
NAFNet is a lightweight and efficient network designed for image restoration tasks.
In this project, it is customized to accept single-channel (grayscale) 256×256 inputs and outputs.
Image-Denoising-with-NAFNet/
├── notebooks/
│ └── TASARIM_NAFNet_.ipynb ← Main notebook
├── src/
│ ├── model.py ← NAFNet architecture (to be added)
│ ├── losses.py ← MSE + SSIM + Perceptual loss (to be added)
│ └── train.py ← Training pipeline (to be added)
├── results/ ← PSNR/SSIM results and output examples
├── requirements.txt ← Required packages
├── README.md ← Project description
└── .gitignore ← Files ignored by git
- Clone or download this repository
- Install required libraries:
pip install -r requirements.txt- Launch the notebook:
cd notebooks
jupyter notebook TASARIM_NAFNet_.ipynb| Metric | Description |
|---|---|
| PSNR | Peak Signal-to-Noise Ratio on validation/test set |
| SSIM | Structural Similarity Index for quality evaluation |
| Visuals | Comparison between noisy and denoised samples |
Results are saved inside the
results/directory.
You can add denoised vs. noisy image examples here once training is complete:
| Noisy Image | Denoised Image |
|---|---|
![]() |
![]() |
image denoising, NAFNet, deep learning, tensorflow, keras, image restoration, mse loss, ssim loss, perceptual loss, vgg16, grayscale images
- NAFNet Paper
- Keras + TensorFlow 2.x based implementation

