logo

ソルト・アンド・ペッパーノイズ 📂機械学習

ソルト・アンド・ペッパーノイズ

定義

画像に小さな点として白や黒で表されるノイズをソルト・アンド・ペッパーノイズsalt-and pepper noiseという。

例示

theblack.png

例として、上の画像にソルト・アンド・ペッパーノイズが発生するということは、次のように画像全体に小さな点が打たれることである。

theblack_noisy.png

説明

ソルト・アンド・ペッパーノイズは、画像がぼやけて見えるガウシアンノイズとは異なり、周囲のピクセルと無関係に $0$ または $1$ という極端な値が割り当てられて発生する。周囲のピクセルに比べて明るすぎるか暗すぎるため、近隣のピクセルの中で中央値を取るメディアンフィルタで除去するのは容易だが、このような処理がない場合、異常値として機能し、さまざまな処理過程で問題を引き起こす可能性がある。

直感的に、白黒画像に白い粉である塩saltと黒い粉であるコショウpepperを振りかけたように見えるため、ソルト・アンド・ペッパーノイズという名前が付けられたが、数値的にはカラー画像で赤い点、青い点、緑の点など、極端なベクトルが含まれるものもすべてソルト・アンド・ペッパーノイズである。

コード

次はJuliaで画像にソルト・アンド・ペッパーノイズを発生させるコードである。

using Images

img = Gray.(load("theblack.jpg"))

pepper = rand(size(img)...) .> 0.001
salt = rand(size(img)...) .< 0.0001

img = img .* pepper
img = img .+ 255salt

save("theblack_noisy.jpg", img)