我正在阅读论文A non-local algorithm for image denoising,它描述了原始的非局部均值算法。他们定义(pdf的第3页)两个像素的两个正方形固定邻域之间的距离为
其中是高斯核的标准差。但是,我不明白这个符号。公式中如何使用高斯核?它与欧几里得距离有什么关系?
如果有更熟悉图像处理和计算机视觉以及所有这些符号的人能给我一个解释,我将不胜感激。
我正在阅读论文A non-local algorithm for image denoising,它描述了原始的非局部均值算法。他们定义(pdf的第3页)两个像素的两个正方形固定邻域之间的距离为
其中是高斯核的标准差。但是,我不明白这个符号。公式中如何使用高斯核?它与欧几里得距离有什么关系?
如果有更熟悉图像处理和计算机视觉以及所有这些符号的人能给我一个解释,我将不胜感激。
所以我们有 2 个邻域(它们是矩阵)和。我们如何计算它们之间的距离?
一种选择是欧几里得距离:
然而,这使邻域窗口中的每个像素具有相同的权重。Non Local Means Denoising Algorithm的作者认为,最好给靠近窗口中心的像素更高的权重。
他们通过将差分窗口乘以高斯函数然后求和来轻松地做到了这一点。就像是:
其中是基于 2D 高斯函数的权重,其中心与邻域窗口的中心对齐,其标准偏差由给出。
在经典的非局部均值实现中,高斯函数用作权重。
假设运算符是向量化运算符(按列),那么对于窗口,以下 MATLAB 代码将定义:
windowRadius = 15;
kernelStd = 3.5;
vX = -windowRadius:windowRadius;
vK = exp(-((vX .^ 2) / (2 * kernelStd * kernelStd)));
vK = vK ./ sum(vK);
mW = vK.' * vK;
vW = mW(:);
figure();
surface(vX, vX, mW);
权重函数由下式给出:
事实上,居中的像素将具有更高的权重。
所以让我们一步一步来:
让我们将定义为标准差
的高斯核定义为:
并结合它你得到:
所以最后被定义为
回到你的最后一个问题:“那么,这个定义 w 的指数函数和高斯核之间有什么区别?”
差异不是正确的问题,以嵌套方式依赖于,因为它是指数函数的参数。
所以正如我在评论中提到的,一切都在文章中,花点时间重点阅读。把它写在纸上,它会帮助你组织你的想法。