A convolutional autoencoder trained to remove Gaussian noise from 256×256 RGB images. The model learns the manifold of clean images and projects noisy inputs back onto this learned space.
Model Card
By George Perdrizet, published under mit, revision 227306af52ba.
A convolutional autoencoder trained to remove Gaussian noise from 256×256 RGB images. The model learns the manifold of clean images and projects noisy inputs back onto this learned space. This model removes Gaussian noise from corrupted images by learning to map noisy images back to their clean versions. During training, the autoencoder learns the distribution of clean images, enabling it to filter out noise while preserving image content. - σ=75 (on 0-255 scale) Gaussian noise - Approximately 0.294 on [0,1] normalized scale This model is designed for educational purposes to demonstrate how autoencoders can learn to denoise images by understanding the structure of clean data. - Exploring…
Read George Perdrizet's full model card
Image denoising autoencoder
A convolutional autoencoder trained to remove Gaussian noise from 256×256 RGB images. The model learns the manifold of clean images and projects noisy inputs back onto this learned space.
Model description
This model removes Gaussian noise from corrupted images by learning to map noisy images back to their clean versions. During training, the autoencoder learns the distribution of clean images, enabling it to filter out noise while preserving image content.
Architecture: - Encoder: Convolutional layers with downsampling (256×256×3 → 4096) - Decoder: Transposed convolutional layers with upsampling (4096 → 256×256×3) - Activation: LeakyReLU and Sigmoid - Normalization: Batch normalization
Training noise level: - σ=75 (on 0-255 scale) Gaussian noise - Approximately 0.294 on [0,1] normalized scale
Performance: - Target PSNR improvement: noisy ~12 dB → denoised ~22 dB - Target SSIM improvement: noisy ~0.19 → denoised ~0.55
Intended use
This model is designed for educational purposes to demonstrate how autoencoders can learn to denoise images by understanding the structure of clean data.
Use cases: - Understanding autoencoder denoising - Learning about noise removal techniques - Exploring how neural networks learn image manifolds - Teaching AI/ML concepts in bootcamps
Training data
Trained on DF2K_OST, a combined dataset of 26.8k high-quality images from: - DIV2K - Flickr2K - OutdoorSceneTraining
All images resized to 256×256 pixels using Lanczos resampling. Gaussian noise (σ=25) added during training.
Training details
Hyperparameters: - Optimizer: Adam (lr=1e-3) - Loss function: Mean Squared Error (MSE) - Batch size: 4 - Epochs: Up to 100 (with early stopping) - Train/validation split: 90/10 - Noise level: σ=75
Callbacks: - Early stopping (patience=10, monitoring validation loss) - Learning rate reduction (factor=0.5, patience=5) - Model checkpoint (best validation loss)
Hardware: - Single NVIDIA P100 GPU with memory growth enabled
How to use
import numpy as np
from tensorflow import keras
from huggingface_hub import hf_hub_download
# Download model
downloaded_model = hf_hub_download(
repo_id='gperdrizet/denoising_autoencoder',
filename='models/denoising_ae.keras',
repo_type='model'
)
# Load model
autoencoder = keras.models.load_model(downloaded_model)
# Denoise images
denoised = autoencoder.predict(noisy_images) # images shape: (N, 256, 256, 3)
For complete examples, see the training notebook.
Limitations
- Fixed input size (256×256 RGB images)
- Trained on σ=25 noise level (may not generalize well to other noise levels)
- Not optimized for non-Gaussian noise
- Slower than traditional denoising filters
- Educational model, not production-ready
Generalization
The model was trained on σ=25 Gaussian noise but can handle different noise levels with varying effectiveness: - Lower noise (σ<25): Excellent performance - Similar noise (σ≈25): Best performance - Higher noise (σ>25): Reduced effectiveness
Project repository
Full code, training notebooks, and interactive demo: gperdrizet/autoencoders
Citation
If you use this model for educational purposes, please reference the project repository.
Identity and Version
- Repository
- gperdrizet/denoising_autoencoder
- Publisher
- George Perdrizet
- Task
- Not stated by the source
- Modality
- Other
- Library
- keras
- Parameters
- Not stated by the source
- Languages
- Not stated by the source
- Revision
- 227306af52ba72fd4a825f3a4197a8dbbccaa909
- First published
- 2026-03-03
- Last updated
- 2026-09-18
Files and Weights
3 files, 6.5 GB in total.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| README.md | Documentation | 3.5 KB | — |
| models/denoising_ae.keras | Other | 6.5 GB | 79cf103ca5eb |
| .gitattributes | Repository | 1.6 KB | — |
License and Download
- License
- mit
- Access
- Open weights, no gate
Released by George Perdrizet through its official repository on Hugging Face. Read the license.
Questions About denoising_autoencoder
Can I use denoising_autoencoder commercially?
Yes. denoising_autoencoder is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.