當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python cucim.skimage.restoration.calibrate_denoiser用法及代碼示例

用法:

cucim.skimage.restoration.calibrate_denoiser(image, denoise_function, denoise_parameters, *, stride=4, approximate_loss=True, extra_output=False)

校準去噪函數並返回最佳J-invariant版本。

使用為輸入圖像去噪設置的最佳參數值對返回的函數進行部分評估。

參數

imagendarray

要降噪的輸入數據(使用 img_as_float 轉換)。

denoise_function函數

要校準的去噪函數。

denoise_parameters列表的字典

denoise_function 要校準的參數範圍。

stride整數,可選

用於將denoise_function 轉換為J-invariance 的屏蔽過程中使用的步幅。

approximate_loss布爾型,可選

是否通過僅在圖像的一個蒙版版本上計算來近似用於評估降噪器的 self-supervised 損失。如果為 False,則運行時間將是 stride**image.ndim 的一個因子。

extra_output布爾型,可選

如果為 True,則返回除校準去噪函數之外的參數和損失

返回

best_denoise_function函數

denoise_function 的最佳 J-invariant 版本。

如果 extra_output 為 True,則還返回以下元組:
(parameters_tested, losses)元組(dict 列表,int 列表)

denoise_function 測試的參數列表,作為 parameters_tested 中每組參數的 kwargs Self-supervised 損失的字典。

注意

校準過程使用 self-supervised mean-square-error 損失來評估 denoise_function 的 J-invariant 版本的性能。 self-supervised 損失的最小化器也是ground-truth 損失的最小化器(即真正的 MSE 誤差)[1]。返回的函數可用於原始噪聲圖像或具有相似特征的其他圖像。

增加步幅會增加best_denoise_function的性能

以增加其運行時間為代價。它對校準的運行時間沒有影響。

參考

1

J. Batson & L. Royer. Noise2Self: Blind Denoising by Self-Supervision, International Conference on Machine Learning, p. 524-533 (2019).

例子

>>> import cupy as cp
>>> from cucim.skimage import color
>>> from skimage import data
>>> from cucim.skimage.restoration import (denoise_tv_chambolle,
...                                          calibrate_denoiser)
>>> img = color.rgb2gray(cp.array(data.astronaut()[:50, :50]))
>>> noisy = img + 0.5 * img.std() * cp.random.randn(*img.shape)
>>> parameters = {'weight': cp.arange(0.01, 0.5, 0.05)}
>>> denoising_function = calibrate_denoiser(noisy, denoise_tv_chambolle,
...                                         denoise_parameters=parameters)
>>> denoised_img = denoising_function(img)

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cucim.skimage.restoration.calibrate_denoiser。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。