我正在尝试使用多种方法对一维信号进行降噪。下面给出的示例是使用
wavelet
使用 scikit-image
.
clean_signal = denoise_wavelet(noisy_signal, rescale_sigma=True, wavelet='sym3', wavelet_levels=3, method='BayesShrink', mode='soft')
接下来我想尝试不同的参数并使用评估指标选择最佳的参数。正如我从
scikit-image
看到的,有很多Hausdorff distance
、normalized root mean-squared
和mean structural similarity
等
我的目标是最大限度地“降噪”,同时保持干净信号和噪声信号之间的结构相似性。我应该使用什么正确的指标?是否可以结合多个指标来实现我的目标。我很欣赏 python 代码的示例。
提前致谢
skimage.restoration.calibrate_denoiser
,它使用概念上类似于 交叉验证 的方法来估计去噪函数的最佳参数。
您可以在 scikit-image 文档中找到完整教程,但要点如下:
什么是噪音?对于某一类(也是最常见的)噪声,它是每个像素与其他像素完全不相关的部分。因此,您可以通过屏蔽每个像素并计算出从其邻域预测它的效果来计算出降噪器的最佳参数。预测为您提供去噪值,而您无法预测的(其余部分)是噪声。
这个方法是基于论文:
Batson, J. 和 Royer, L.. (2019)。 Noise2Self:自我监督盲降噪。 第 36 届国际机器学习会议论文集,于 机器学习研究论文集 97:524-533
也可从 arXiv 获取。