SAVRN
Search Contact SAVRN

Open-weight model

denoising_autoencoder

by George Perdrizet gperdrizet/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.

Parameters
Context
Weights6.5 GB
Licensemit
AccessOpen weights
Monthly Downloads

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.

Documentation1 file · 3.5 KB
Other1 file · 6.5 GB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
README.mdDocumentation3.5 KB
models/denoising_ae.kerasOther6.5 GB 79cf103ca5eb
.gitattributesRepository1.6 KB

License and Download

License
mit
Access
Open weights, no gate
Download from George Perdrizet

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.