EE 4780 Bilateral Filter Bahadir K Gunturk Bilateral
EE 4780 Bilateral Filter Bahadir K. Gunturk
Bilateral Filter K is the normalization constant Intensity (range) proximity Bahadir K. Gunturk Spatial (domain) proximity N is a fixed value used to define the spatial neighborhood of the filter 2
Bilateral Filter – Matlab implementation n=1: 1: 500; % Generate a vector from 1 to 500; the increment is 1. I 0=zeros(size(n)); % Generate a vector of zeros; the size of the vector is equal to the size of n. I 0(1: 250)=15; I 0(251: end)=10; % Set the first 250 values to 15, and the rest to 10. I = I 0 + 0. 5*randn(size(I 0)); % 0. 5 is the standard deviation of the noise figure; subplot(2, 1, 1); plot(n, I 0); axis ([190 310 6 18]); title('Original signal'); subplot(2, 1, 2); plot(n, I); axis ([190 310 6 18]); title('Noisy signal'); Bahadir K. Gunturk 3
Bilateral Filter – Matlab implementation sigma_d=10; N=round(4*sigma_d); % N determines the spatial neighborhood sigma_r=1. 3; d = -N: 1: N; weights_d = exp(-d. *d/(2*sigma_d)); The weights depend on the spatial distance (to the center pixel x) only; therefore, it is calculated once and saved. Bahadir K. Gunturk 4
Bilateral Filter – Matlab implementation sigma_d=10; N=round(4*sigma_d); % N determines the spatial neighborhood sigma_r=1. 3; d = -N: 1: N; weights_d = exp(-d. *d/(2*sigma_d)); x=260; % An example pixels = I(x-N: x+N); % Put the pixels within the neighborhood of the center pixel into a vector. weights = weights_d. * exp(-(pixels-I(x)). *(pixels-I(x))/(2*sigma_r)) + 0. 0001; Add a small number in case weights=0; weights = weights. /sum(weights); Bahadir K. Gunturk 5
Bilateral Filter – Matlab implementation sigma_d=10; N=round(4*sigma_d); % N determines the spatial neighborhood sigma_r=1. 3; d = -N: 1: N; weights_d = exp(-d. *d/(2*sigma_d)); x=260; pixels = I(x-N: x+N); % Put the pixels within the neighborhood of the center pixel into a vector. weights = weights_d. * exp(-(pixels-I(x)). *(pixels-I(x))/(2*sigma_r)) + 0. 0001; weights = weights. /sum(weights); % Normalize the weights so that its sum is equal to 1. I_output(x) = sum(weights. *pixels); Bahadir K. Gunturk 6
Bilateral Filter figure; plot([x-N: x+N], weights) Bahadir K. Gunturk 7
Bilateral Filter – Matlab implementation d = -N: 1: N; weights_d = exp(-d. *d/(2*sigma_d)); % Repeat for all pixels I_output = I; for i=1+N: length(I)-N, % Be careful with the borders; do not exceed the dimensions. pixels = I(i-N: i+N); weights = weights_d. * exp(-(pixels-I(i)). *(pixels-I(i))/(2*sigma_r)) + 0. 0001; weights = weights. /sum(weights); I_output(i) = sum(weights. *pixels); end figure; plot(n, I_output); Bahadir K. Gunturk 8
Bilateral Filter Input Gaussian Bilateral Bahadir K. Gunturk 9
Bilateral Filter vs. Gaussian LPF Gaussian MSE=49. 8 MSE=100. 0 MSE=30. 3 Bahadir K. Gunturk MSE=42. 5 sigma_d=10 MSE=99. 57 10
Wiener Filter Noisy image Original image Noise Wiener Filter Signal variance Noise variance When sigma_x << sigma_w, (noise is very large), X goes to 0. When sigma_x >> sigma_w, (noise is very small), X goes to Y. Bahadir K. Gunturk 11
Wiener Filter is estimated by Estimate manually by looking at the variance in a smooth region. Since variance is nonnegative, it is modified as Estimate signal variance locally: N N Bahadir K. Gunturk 12
Wiener Filter Noisy, =10 Denoised (3 x 3 neighborhood) Mean Squared Error is 56 wiener 2 in Matlab Bahadir K. Gunturk 13
Image Enhancement This is an high-pass filter. It removes low-frequency components. Bahadir K. Gunturk 14
Image Enhancement n High-boost or high-frequency-emphasis filter q Sharpens the image but does not remove the low-frequency components unlike high-pass filtering Bahadir K. Gunturk 15
Image Enhancement n High-boost or high-frequency-emphasis filter q q High pass = Original – low pass High boost = A*(Original) + High pass Part of the low-frequency components are added back to the high frequency components Bahadir K. Gunturk 16
Image Enhancement A high-pass filter Bahadir K. Gunturk A high-boost filter 17
Image Enhancement n High-boost or high-frequency-emphasis filter Bahadir K. Gunturk 18
Spatial Filtering Bahadir K. Gunturk 19
- Slides: 19