1 概述
对于本次实验,进行了多次方法的更新迭代,最终使用多变量固定窗口二元高斯回归方法,自我测试效果达到:0.8噪音比下,原受损图像距离774.9727,处理后距离33.2362;0.6噪音比下,原受损图像距离671.1107,处理后距离20.1649;与一元线性回归相比提升三分之一以上。效果良好。
Figure 0
从过程来说,依次进行了如下尝试与测试:
按行一元高斯线性回归
整幅图片二元高斯线性回归
增加Phi数量进行整幅图片二元高斯线性回归
将图片均分为10 x10 按区域进行二元高斯线性回归
将图片均分为100x 100 按区域进行二元高斯线性回归
将图片均分为100x 100 按区域进行二元高斯线性回归 利用双边滤波器平滑处理
将图片均分为100x 100 按区域进行二元高斯线性回归 增加sigma维度
将图片分为固定大小5x5区域按区域进行二元高斯线性回归 增加sigma维度
将图片分为固定大小5x5区域按区进行二元高斯线性回归 加sigma维度 并行化
效果如Figure 0 所示。
接下来将依次介绍详细过程及测试效果。
2 算法依次介绍
2.1 按行一元高斯线性回归
这是助教提供的算法。思路是对每一行,根据非噪音进行回归分析,算出权重,然后计算出信息丢失点。其中,根据该点通道值是否为零判断是否是信息丢失点。Phi函数为高斯函数,sigma为0.01,Phi函数数量为50.
Figure 1为测试原图。640x640
在0.6的噪音比下,受损图片与原图的距离为671.1107。在利用按行线性回归后,效果如Figure 3,距离为31.9975。
Figure 1 测试原图
Figure 2 0.6噪音比图
Figure 3
在0.8的噪音比下,图片如Figure 4,距离达到774.9727。利用一元线性回归处理后,效果如Figure 5,距离达到54.2619.
Figure 4
Figure 5
2.2 整幅图片二元高斯线性回归
直接对整幅图片,以行、列为二维变量,其他不变进行二元高斯线性回归。高斯函数参数与按行一元相似。在0.6噪音比下,效果如Figure 6,距离变化为671.1107 - 201.1378。在0.8噪音比下,效果如Figure 7,距离变化为774.9727 - 231.9823。
效果非常差。我认为是在整幅图像下,像素点之间的相关性较弱,难以根据50个参数建立起回归函数。即使将参数扩展到1000时,效果也并未发生较大变化。0.6噪音比下,距离变化为671.1107 - 201.1402;0.8噪音比下,距离变化为774.9727 - 231.9911.
Figure 6
Figure 7
代码:
basisNum = 50; % define the number of basis functions. sigma = 0.01; % define the standard deviation. Phi_mu_x = linspace(1, cols, basisNum)/cols; % set the mean x value of each basis function Phi_mu_y = linspace(1, rows, basisNum)/rows; % set the mean y value of each basis function Phi_mu = [Phi_mu_x(:) Phi_mu_y(:)]; Phi_sigma = sigma * ones(2, basisNum); % here we set the standard deviation to the same value for brevity.
% use pixel index as the independent variable in the regression function x = 1:cols; x = (x - min(x)) / (max(x)-min(x)); y = 1:rows; y = (y - min(y)) / (max(y)-min(y)); [X, Y] = meshgrid(x, y); r = [X(:) Y(:)];
% select the missing pixels randomly resImg = corrImg;
% for each channel for k = 1:channels % select the missing pixels msk = noiseMask(:, :, k); msk = msk(:,:); misId = find(msk<1); |