Three Denoising Methods: Bayesian Least Squares, BM3D, and Non-Local Means

Resource Overview

This resource provides implementations and explanations of three prominent denoising techniques: Bayesian Least Squares Gaussian denoising, Block-Matching and 3D filtering (BM3D), and Non-Local Means algorithm.

Detailed Documentation

This content covers three distinct denoising methodologies: Bayesian Least Squares, BM3D, and Non-Local Means. Bayesian Least Squares is a Gaussian denoising approach based on Bayesian formulation and least squares estimation. The algorithm works by estimating both the noise level and signal strength of the image to achieve effective noise reduction. In implementation, this typically involves calculating noise variance and applying Bayesian inference to optimize pixel values through weighted averaging. BM3D (Block-Matching and 3D Filtering) is a block-based denoising method that leverages 3D transformations. Its core principle utilizes similarity between image patches to remove noise. The algorithm operates in two main stages: hard-thresholding for initial estimate and Wiener filtering for final enhancement. Key steps include block grouping, 3D transformation, coefficient thresholding, and inverse transformation. Non-Local Means is a denoising technique based on non-local similarity principles. The method exploits pixel similarity across the entire image rather than just local neighborhoods. Implementation involves calculating weighted averages where weights are determined by similarity between patches. The algorithm compares patches centered around different pixels and assigns higher weights to more similar patches, effectively preserving image structures while reducing noise.