ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

事前学習済みのニューラル ネットワークを使用した、カラー イメージからのノイズ除去

この例では、RGB イメージからガウス ノイズを除去する方法を説明します。イメージを個別のカラー チャネルに分割し、事前学習済みのノイズ除去ニューラル ネットワーク DnCNN を使用して各チャネルのノイズを除去します。

カラー イメージをワークスペースに読み取り、データを double に変換します。初期状態のカラー イメージを表示します。

pristineRGB = imread('lighthouse.png');
pristineRGB = im2double(pristineRGB);
imshow(pristineRGB)
title('Pristine Image')

分散 0.01 のゼロ平均ガウス ホワイト ノイズをイメージに追加します。imnoise で各カラー チャネルに対してノイズを個別に追加します。ノイズを含むカラー イメージを表示します。

noisyRGB = imnoise(pristineRGB,'gaussian',0,0.01);
imshow(noisyRGB)
title('Noisy Image')

ノイズを含む RGB イメージを個別のカラー チャネルに分割します。

noisyR = noisyRGB(:,:,1);
noisyG = noisyRGB(:,:,2);
noisyB = noisyRGB(:,:,3);

事前学習済み DnCNN ネットワークを読み込みます。

net = denoisingNetwork('dncnn');

DnCNN ネットワークを使用して各カラー チャネルからノイズを除去します。

denoisedR = denoiseImage(noisyR,net);
denoisedG = denoiseImage(noisyG,net);
denoisedB = denoiseImage(noisyB,net);

ノイズ除去後のカラー チャネルを再度組み合わせてノイズ除去後の RGB イメージを作成します。ノイズ除去後のカラー イメージを表示します。

denoisedRGB = cat(3,denoisedR,denoisedG,denoisedB);
imshow(denoisedRGB)
title('Denoised Image')

ノイズの多いイメージとノイズ除去後のイメージのピーク S/N 比 (PSNR) を計算します。PSNR が大きいほどノイズの相対シグナルが小さく、画質が高くなります。

noisyPSNR = psnr(noisyRGB,pristineRGB);
fprintf('\n The PSNR value of the noisy image is %0.4f.',noisyPSNR);
 The PSNR value of the noisy image is 20.6395.
denoisedPSNR = psnr(denoisedRGB,pristineRGB);
fprintf('\n The PSNR value of the denoised image is %0.4f.',denoisedPSNR);
 The PSNR value of the denoised image is 29.6857.

ノイズの多いイメージとノイズ除去後のイメージの構造類似度 (SSIM) インデックスを計算します。SSIM インデックスが 1 に近いほど参照イメージに合致し、画質が高くなります。

noisySSIM = ssim(noisyRGB,pristineRGB);
fprintf('\n The SSIM value of the noisy image is %0.4f.',noisySSIM);
 The SSIM value of the noisy image is 0.7393.
denoisedSSIM = ssim(denoisedRGB,pristineRGB);
fprintf('\n The SSIM value of the denoised image is %0.4f.',denoisedSSIM);
 The SSIM value of the denoised image is 0.9507.

実際には、イメージのカラー チャネルにはしばしば相関ノイズが存在します。相関イメージ ノイズを除去するには、まず RGB イメージを、L*a*b* 色空間など、輝度チャネルのある色空間に変換します。輝度チャネルのノイズのみを除去し、ノイズ除去後のイメージを変換して RGB 色空間に戻します。

参考

| | | | | |

関連するトピック